From 3b5fc555a23c484fd3becd03ccd9ddd5692995fc Mon Sep 17 00:00:00 2001 From: mertmit Date: Wed, 11 Oct 2023 22:02:56 +0530 Subject: [PATCH] docs: old links support Signed-off-by: mertmit --- .../noco-docs/dist/0.109.7/FAQs/index.html | 8 +- .../accessing-apis/index.html | 8 +- .../developer-resources/rest-apis/index.html | 8 +- .../developer-resources/sdk/index.html | 8 +- .../upload-via-api/index.html | 8 +- .../developer-resources/webhooks/index.html | 8 +- .../engineering/architecture/index.html | 10 +- .../builds-and-releases/index.html | 8 +- .../engineering/development-setup/index.html | 8 +- .../0.109.7/engineering/playwright/index.html | 8 +- .../repository-structure/index.html | 8 +- .../engineering/translation/index.html | 8 +- .../engineering/unit-testing/index.html | 8 +- .../0.109.7/getting-started/demos/index.html | 8 +- .../environment-variables/index.html | 8 +- .../getting-started/installation/index.html | 8 +- .../getting-started/upgrading/index.html | 8 +- packages/noco-docs/dist/0.109.7/index.html | 8 +- .../account-settings/index.html | 8 +- .../0.109.7/setup-and-usages/audit/index.html | 8 +- .../setup-and-usages/code-snippets/index.html | 8 +- .../column-operations/index.html | 8 +- .../setup-and-usages/column-types/index.html | 8 +- .../setup-and-usages/dashboard/index.html | 8 +- .../setup-and-usages/display-value/index.html | 8 +- .../setup-and-usages/expanded-form/index.html | 8 +- .../setup-and-usages/formulas/index.html | 8 +- .../index.html | 8 +- .../keyboard-maneuver/index.html | 8 +- .../setup-and-usages/languages/index.html | 8 +- .../link-to-another-record/index.html | 8 +- .../0.109.7/setup-and-usages/links/index.html | 8 +- .../setup-and-usages/lookup/index.html | 8 +- .../meta-management/index.html | 8 +- .../setup-and-usages/primary-key/index.html | 8 +- .../project-settings/index.html | 8 +- .../setup-and-usages/rollup/index.html | 8 +- .../setup-and-usages/share-base/index.html | 8 +- .../setup-and-usages/share-view/index.html | 8 +- .../setup-and-usages/sync-schema/index.html | 8 +- .../table-operations/index.html | 8 +- .../setup-and-usages/team-and-auth/index.html | 8 +- .../usage-information/index.html | 8 +- .../0.109.7/setup-and-usages/views/index.html | 8 +- packages/noco-docs/dist/404.html | 8 +- packages/noco-docs/dist/FAQs/index.html | 8 +- .../account-settings/api-tokens/index.html | 8 +- .../oss-specific-details/index.html | 8 +- .../account-settings/profile-page/index.html | 8 +- ...a88f5.ece547d6.js => 00aa88f5.0f19df7e.js} | 2 +- ...320c3.23325e99.js => 023320c3.f640481f.js} | 2 +- ...e2c34.f85ca2b6.js => 037e2c34.b75b8698.js} | 2 +- ...736b6.c43758e0.js => 052736b6.cf533524.js} | 2 +- ...8b333.4c4be206.js => 0908b333.bddbe67a.js} | 2 +- ...c5cbc.cdcb8e4d.js => 0a7c5cbc.a7b6f5b2.js} | 2 +- ...19d8c.0e797db3.js => 0b819d8c.d8f15911.js} | 2 +- ...b3fcc.a26e8fb8.js => 0cab3fcc.d6debd5a.js} | 2 +- .../dist/assets/js/0ecc5e11.5fd94c3e.js | 1 + .../dist/assets/js/0ecc5e11.64d354f8.js | 1 - ...f52c0.8653bf6a.js => 0f4f52c0.9eae8c94.js} | 2 +- ...84c26.62b7c503.js => 11d84c26.7291b9dc.js} | 2 +- ...95bfc.09f9422f.js => 14095bfc.8ed9c7aa.js} | 2 +- ...6025d.cce9c4f9.js => 14d6025d.23023741.js} | 2 +- ...5baaf.80752d89.js => 16d5baaf.f063a0f2.js} | 2 +- ...0c274.334059b6.js => 1970c274.39621580.js} | 2 +- ...98359.49fc3451.js => 1e898359.91dd43d6.js} | 2 +- ...5f022.2932790c.js => 1fb5f022.8028d89a.js} | 2 +- ...10381.8bd204da.js => 20e10381.b9a5a162.js} | 2 +- ...80739.f7eb21e2.js => 22580739.4c5d73de.js} | 2 +- ...ab9a3.c0e16b59.js => 22aab9a3.3ef8c79b.js} | 2 +- ...d7bcb.4e828725.js => 25ad7bcb.7c608320.js} | 2 +- .../dist/assets/js/278121a5.629b0435.js | 1 - .../dist/assets/js/278121a5.a3ba7d92.js | 1 + ...8903d.318320ad.js => 2888903d.f283f8b6.js} | 2 +- ...712de.fd24b7ca.js => 2bb712de.173474b7.js} | 2 +- ...e0325.1df6cf91.js => 2cbe0325.e79f5e87.js} | 2 +- ...4ec02.1f2592f8.js => 2eb4ec02.2e51b9cd.js} | 2 +- ...e5695.606ef121.js => 319e5695.115305d5.js} | 2 +- ...9cd1a.775da14b.js => 31f9cd1a.59ad4f18.js} | 2 +- ...0f401.c4f99129.js => 32e0f401.4e7e381d.js} | 2 +- ...f5afe.be900cd3.js => 35af5afe.a46f1e69.js} | 2 +- .../dist/assets/js/3721b01f.84024fe5.js | 1 - .../dist/assets/js/41a696e1.43fd38a6.js | 1 + ...b5100.4d7693a9.js => 4bab5100.60e426da.js} | 2 +- ...0de40.8614d0f0.js => 4cd0de40.cf1cb2a2.js} | 2 +- ...b7b3c.e1f85cdf.js => 4efb7b3c.56b61c32.js} | 2 +- ...fa7b4.7415cceb.js => 525fa7b4.419b445c.js} | 2 +- ...3a857.77b6f910.js => 5af3a857.8eaf3067.js} | 2 +- ...f3a75.f80b26bd.js => 5eaf3a75.efd2e0c3.js} | 2 +- ...e048e.2cc120ec.js => 603e048e.1ae5f0d2.js} | 2 +- ...8b995.008d5a3e.js => 60b8b995.dacc80e5.js} | 2 +- ...3d417.21e4b83c.js => 61a3d417.957c6142.js} | 2 +- ...a8000.a2b38347.js => 68fa8000.7d98a8ca.js} | 2 +- ...95f00.d201c760.js => 69895f00.587a3067.js} | 2 +- ...ed9e5.d9e8352d.js => 69bed9e5.c1e1ec1f.js} | 2 +- ...ee932.66b73e69.js => 69bee932.04f3d977.js} | 2 +- ...eac6b.e4313a7a.js => 6a0eac6b.28d798be.js} | 2 +- ...f78d9.7e42a82e.js => 6d2f78d9.2ed22396.js} | 2 +- .../dist/assets/js/6f7695df.379c6147.js | 1 - .../dist/assets/js/6f7695df.c3e7637c.js | 1 + ...7aad6.2c994371.js => 7077aad6.93949727.js} | 2 +- ...f8fcb.280a5e25.js => 709f8fcb.b82097a8.js} | 2 +- .../dist/assets/js/70efa42e.177ad6fa.js | 1 - .../dist/assets/js/70efa42e.c7304d68.js | 1 + ...40999.b733bdbe.js => 71540999.b1aa1d6b.js} | 2 +- ...b6d90.1548a3a9.js => 7c4b6d90.7940746c.js} | 2 +- ...e83b4.530372e4.js => 7dce83b4.4aaf8268.js} | 2 +- .../dist/assets/js/7dea24c2.c1b8d382.js | 1 + ...8769a.abb76911.js => 7e18769a.474b1ad4.js} | 2 +- ...a6f17.b9888edf.js => 8a8a6f17.d9ea45c4.js} | 2 +- ...0003c.21ca2128.js => 9040003c.c2e32051.js} | 2 +- ...9f711.4f19abf4.js => 9329f711.df4334d9.js} | 2 +- ...77701.42b2bf38.js => 95677701.19a93d59.js} | 2 +- ...14fd1.51597f7e.js => 95a14fd1.447ca405.js} | 2 +- ...674e5.2881324c.js => 99f674e5.95476f2c.js} | 2 +- ...8149d.29a2e4eb.js => 9c78149d.a83e6eab.js} | 2 +- ...f2535.1d8c54f9.js => a18f2535.ce4459ca.js} | 2 +- ...fc25c.8291f979.js => abbfc25c.6b75ff42.js} | 2 +- ...d161b.b9dc16ef.js => b22d161b.956ab27b.js} | 2 +- ...bf355.93264657.js => b7abf355.bca89a1c.js} | 2 +- .../dist/assets/js/ba1d2c5b.231d6b55.js | 1 - .../dist/assets/js/ba1d2c5b.24c0e578.js | 1 + ...16362.091774e0.js => bb516362.76d0d972.js} | 2 +- ...3f532.4d434c9f.js => bb53f532.072cdd30.js} | 2 +- ...2e23f.e789a668.js => bd02e23f.a1e3fbbd.js} | 2 +- ...34d6e.84dde03c.js => c1a34d6e.06bb989c.js} | 2 +- ...fffdd.09a49a06.js => c1dfffdd.8722fa05.js} | 2 +- ...030df.3cfcfbf0.js => cb2030df.77b2d2cc.js} | 2 +- ...c4207.f4ac9c87.js => cd3c4207.30d0f4d0.js} | 2 +- .../dist/assets/js/cfe1d2b7.e157c52a.js | 1 - .../dist/assets/js/d767d123.35c7072a.js | 1 - .../dist/assets/js/d767d123.e75b1e9e.js | 1 + ...f93ee.15205e4b.js => da4f93ee.87e6ee2b.js} | 2 +- ...49de4.41121548.js => ded49de4.d9e697bc.js} | 2 +- ...b3e19.33ad4247.js => e11b3e19.ce554a5e.js} | 2 +- ...2cfc9.d9580788.js => e302cfc9.7c7be6e0.js} | 2 +- ...67861.d460a6d1.js => e4367861.4f2366a4.js} | 2 +- .../dist/assets/js/e55064b4.d39acb60.js | 1 + .../dist/assets/js/e55064b4.f6b45318.js | 1 - ...54c1b.6ee5594a.js => e5a54c1b.aaecaed0.js} | 2 +- ...614dc.3109c382.js => e68614dc.05254431.js} | 2 +- ...89018.3b279b4e.js => eb689018.734338fd.js} | 2 +- ...99180.69344f2a.js => ebb99180.98caab2e.js} | 2 +- ...905ba.ac350311.js => f7d905ba.edb12578.js} | 2 +- ...0c522.cccea2fd.js => fb60c522.5a98688b.js} | 2 +- ...12e79.e62e8f04.js => fe112e79.398b5097.js} | 2 +- .../noco-docs/dist/assets/js/main.264ef3ee.js | 2 + ...CENSE.txt => main.264ef3ee.js.LICENSE.txt} | 0 .../noco-docs/dist/assets/js/main.ba728574.js | 2 - .../dist/assets/js/runtime~main.780e8979.js | 1 + .../dist/assets/js/runtime~main.f76b80fd.js | 1 - .../webhook/actions-on-webhook/index.html | 8 +- .../webhook/create-webhook/index.html | 8 +- .../webhook/webhook-overview/index.html | 8 +- .../dist/bases/actions-on-base/index.html | 12 +- .../dist/bases/base-collaboration/index.html | 10 +- .../dist/bases/base-overview/index.html | 8 +- .../dist/bases/create-base/index.html | 12 +- .../import-base-from-airtable/index.html | 8 +- .../dist/bases/share-base/index.html | 10 +- .../base-collaboration/index.html | 10 +- .../collaboration-overview/index.html | 8 +- .../oss-specific-details/index.html | 8 +- .../dist/collaboration/share-base/index.html | 8 +- .../dist/collaboration/share-view/index.html | 10 +- .../workspace-collaboration/index.html | 16 +- .../actions-on-data-sources/index.html | 8 +- .../connect-to-data-source/index.html | 8 +- .../data-source-overview/index.html | 8 +- .../sync-with-data-source/index.html | 8 +- .../accessing-apis/index.html | 11 + .../developer-resources/rest-apis/index.html | 11 + .../dist/developer-resources/sdk/index.html | 11 + .../upload-via-api/index.html | 11 + .../developer-resources/webhooks/index.html | 11 + .../dist/engineering/architecture/index.html | 10 +- .../builds-and-releases/index.html | 8 +- .../engineering/development-setup/index.html | 8 +- .../dist/engineering/playwright/index.html | 8 +- .../repository-structure/index.html | 8 +- .../dist/engineering/translation/index.html | 8 +- .../dist/engineering/unit-testing/index.html | 8 +- .../dist/engineering/writing-docs/index.html | 8 +- .../dist/fields/actions-on-field/index.html | 8 +- .../dist/fields/display-value/index.html | 8 +- .../custom-types/QR-code/index.html | 8 +- .../custom-types/attachment/index.html | 8 +- .../custom-types/barcode/index.html | 8 +- .../custom-types/geometry/index.html | 8 +- .../field-types/custom-types/json/index.html | 8 +- .../custom-types/specific-db-type/index.html | 8 +- .../date-time-based/date-time/index.html | 8 +- .../date-time-based/date/index.html | 8 +- .../date-time-based/duration/index.html | 8 +- .../date-time-based/time/index.html | 8 +- .../conditional-expressions/index.html | 8 +- .../formula/date-functions/index.html | 8 +- .../field-types/formula/formula/index.html | 8 +- .../formula/numeric-functions/index.html | 8 +- .../field-types/formula/operators/index.html | 8 +- .../formula/string-functions/index.html | 8 +- .../field-types/links-based/links/index.html | 8 +- .../field-types/links-based/lookup/index.html | 8 +- .../field-types/links-based/rollup/index.html | 8 +- .../field-types/numerical/currency/index.html | 8 +- .../field-types/numerical/decimal/index.html | 8 +- .../field-types/numerical/number/index.html | 8 +- .../field-types/numerical/percent/index.html | 8 +- .../select-based/checkbox/index.html | 8 +- .../select-based/multi-select/index.html | 8 +- .../select-based/rating/index.html | 8 +- .../select-based/single-select/index.html | 8 +- .../field-types/text-based/email/index.html | 8 +- .../text-based/long-text/index.html | 8 +- .../text-based/phonenumber/index.html | 8 +- .../text-based/single-line-text/index.html | 8 +- .../field-types/text-based/url/index.html | 8 +- .../dist/fields/fields-overview/index.html | 8 +- .../fields/multi-fields-editor/index.html | 8 +- .../dist/fields/primary-key/index.html | 8 +- .../dist/getting-started/demos/index.html | 11 + .../environment-variables/index.html | 11 + .../getting-started/installation/index.html | 11 + .../keyboard-shortcuts/index.html | 8 +- .../getting-started/quick-start/index.html | 8 +- .../environment-variables/index.html | 8 +- .../self-hosted/installation/index.html | 8 +- .../self-hosted/upgrading/index.html | 8 +- .../getting-started/terminologies/index.html | 8 +- .../dist/getting-started/upgrading/index.html | 11 + packages/noco-docs/dist/index.html | 8 +- .../dist/records/actions-on-record/index.html | 8 +- .../dist/records/create-record/index.html | 10 +- .../dist/records/expand-record/index.html | 8 +- .../dist/records/records-overview/index.html | 8 +- .../roles-permissions-overview/index.html | 8 +- packages/noco-docs/dist/search/index.html | 8 +- .../account-settings/index.html | 11 + .../dist/setup-and-usages/audit/index.html | 11 + .../setup-and-usages/code-snippets/index.html | 11 + .../column-operations/index.html | 11 + .../setup-and-usages/column-types/index.html | 11 + .../setup-and-usages/dashboard/index.html | 11 + .../setup-and-usages/display-value/index.html | 11 + .../setup-and-usages/expanded-form/index.html | 11 + .../dist/setup-and-usages/formulas/index.html | 11 + .../index.html | 11 + .../keyboard-maneuver/index.html | 11 + .../setup-and-usages/languages/index.html | 11 + .../link-to-another-record/index.html | 11 + .../dist/setup-and-usages/links/index.html | 11 + .../dist/setup-and-usages/lookup/index.html | 11 + .../meta-management/index.html | 11 + .../setup-and-usages/primary-key/index.html | 11 + .../project-settings/index.html | 11 + .../dist/setup-and-usages/rollup/index.html | 11 + .../setup-and-usages/share-base/index.html | 11 + .../setup-and-usages/share-view/index.html | 11 + .../setup-and-usages/sync-schema/index.html | 11 + .../table-operations/index.html | 11 + .../setup-and-usages/team-and-auth/index.html | 11 + .../usage-information/index.html | 11 + .../dist/setup-and-usages/views/index.html | 11 + .../table-details-overview/index.html | 8 +- .../dist/table-operations/download/index.html | 8 +- .../field-operations/index.html | 10 +- .../dist/table-operations/filter/index.html | 8 +- .../dist/table-operations/group-by/index.html | 8 +- .../dist/table-operations/overview/index.html | 8 +- .../table-operations/row-height/index.html | 8 +- .../dist/table-operations/search/index.html | 8 +- .../dist/table-operations/sort/index.html | 8 +- .../dist/tables/actions-on-table/index.html | 12 +- .../tables/create-table-via-import/index.html | 8 +- .../dist/tables/create-table/index.html | 12 +- .../index.html | 8 +- .../dist/tables/table-overview/index.html | 8 +- .../dist/tags/account-settings/index.html | 8 +- .../noco-docs/dist/tags/api-tokens/index.html | 8 +- .../noco-docs/dist/tags/attachment/index.html | 8 +- packages/noco-docs/dist/tags/audit/index.html | 8 +- .../noco-docs/dist/tags/barcode/index.html | 8 +- packages/noco-docs/dist/tags/bases/index.html | 8 +- .../noco-docs/dist/tags/checkbox/index.html | 8 +- .../dist/tags/collaboration/index.html | 8 +- .../noco-docs/dist/tags/comments/index.html | 8 +- .../noco-docs/dist/tags/connect/index.html | 8 +- .../dist/tags/cover-image/index.html | 8 +- .../noco-docs/dist/tags/create/index.html | 8 +- packages/noco-docs/dist/tags/csv/index.html | 8 +- .../noco-docs/dist/tags/currency/index.html | 8 +- .../dist/tags/custom-types/index.html | 8 +- .../noco-docs/dist/tags/dashboard/index.html | 8 +- .../dist/tags/data-sources/index.html | 8 +- .../noco-docs/dist/tags/date-time/index.html | 8 +- .../noco-docs/dist/tags/decimal/index.html | 8 +- .../noco-docs/dist/tags/delete/index.html | 8 +- .../noco-docs/dist/tags/disable/index.html | 8 +- .../dist/tags/display-value/index.html | 8 +- .../noco-docs/dist/tags/download/index.html | 8 +- .../noco-docs/dist/tags/duplicate/index.html | 8 +- packages/noco-docs/dist/tags/edit/index.html | 8 +- packages/noco-docs/dist/tags/email/index.html | 8 +- .../noco-docs/dist/tags/enable/index.html | 8 +- .../dist/tags/engineering/index.html | 8 +- packages/noco-docs/dist/tags/excel/index.html | 8 +- .../dist/tags/expanded-record/index.html | 8 +- .../noco-docs/dist/tags/external/index.html | 8 +- .../dist/tags/field-types/index.html | 8 +- .../dist/tags/field-width/index.html | 8 +- .../noco-docs/dist/tags/fields/index.html | 8 +- .../noco-docs/dist/tags/filter/index.html | 8 +- .../noco-docs/dist/tags/form-view/index.html | 8 +- .../noco-docs/dist/tags/formula/index.html | 8 +- .../dist/tags/gallery-view/index.html | 8 +- .../noco-docs/dist/tags/geometry/index.html | 8 +- .../dist/tags/getting-started/index.html | 8 +- .../noco-docs/dist/tags/grid-view/index.html | 8 +- .../noco-docs/dist/tags/group-by/index.html | 8 +- packages/noco-docs/dist/tags/hide/index.html | 8 +- .../noco-docs/dist/tags/import/index.html | 8 +- packages/noco-docs/dist/tags/index.html | 8 +- .../noco-docs/dist/tags/invite/index.html | 8 +- packages/noco-docs/dist/tags/json/index.html | 8 +- .../dist/tags/kanban-view/index.html | 8 +- .../dist/tags/links-based-types/index.html | 8 +- packages/noco-docs/dist/tags/links/index.html | 8 +- .../noco-docs/dist/tags/long-text/index.html | 8 +- .../noco-docs/dist/tags/lookup/index.html | 8 +- .../noco-docs/dist/tags/member/index.html | 8 +- .../noco-docs/dist/tags/members/index.html | 8 +- .../dist/tags/multi-fields-editor/index.html | 8 +- .../dist/tags/multi-select/index.html | 8 +- .../noco-docs/dist/tags/my-sql/index.html | 8 +- .../noco-docs/dist/tags/number/index.html | 8 +- .../dist/tags/numerical-types/index.html | 8 +- .../dist/tags/open-source/index.html | 8 +- .../noco-docs/dist/tags/overview/index.html | 8 +- .../noco-docs/dist/tags/percent/index.html | 8 +- .../dist/tags/permissions/index.html | 8 +- packages/noco-docs/dist/tags/pg/index.html | 8 +- .../dist/tags/phone-number/index.html | 8 +- .../dist/tags/primary-key/index.html | 8 +- .../dist/tags/productivity-hacks/index.html | 8 +- .../noco-docs/dist/tags/profile/index.html | 8 +- .../noco-docs/dist/tags/qr-code/index.html | 8 +- .../noco-docs/dist/tags/rating/index.html | 8 +- .../dist/tags/record-height/index.html | 8 +- .../noco-docs/dist/tags/records/index.html | 8 +- .../noco-docs/dist/tags/relations/index.html | 8 +- .../noco-docs/dist/tags/remove/index.html | 8 +- .../noco-docs/dist/tags/rename/index.html | 8 +- .../noco-docs/dist/tags/reorder/index.html | 8 +- .../noco-docs/dist/tags/rest-ap-is/index.html | 8 +- packages/noco-docs/dist/tags/roles/index.html | 8 +- .../noco-docs/dist/tags/rollup/index.html | 8 +- .../noco-docs/dist/tags/search/index.html | 8 +- .../dist/tags/select-based-types/index.html | 8 +- .../noco-docs/dist/tags/share-base/index.html | 8 +- packages/noco-docs/dist/tags/share/index.html | 8 +- .../noco-docs/dist/tags/shortcuts/index.html | 8 +- .../noco-docs/dist/tags/show-hide/index.html | 8 +- .../dist/tags/single-line-text/index.html | 8 +- .../dist/tags/single-select/index.html | 8 +- packages/noco-docs/dist/tags/sort/index.html | 8 +- .../dist/tags/specific-db-type/index.html | 8 +- .../noco-docs/dist/tags/swagger/index.html | 8 +- packages/noco-docs/dist/tags/sync/index.html | 8 +- .../dist/tags/table-details/index.html | 8 +- .../dist/tags/table-operations/index.html | 8 +- packages/noco-docs/dist/tags/table/index.html | 8 +- .../noco-docs/dist/tags/tables/index.html | 8 +- .../dist/tags/text-based-types/index.html | 8 +- .../noco-docs/dist/tags/ui-acl/index.html | 8 +- .../noco-docs/dist/tags/upload/index.html | 8 +- packages/noco-docs/dist/tags/url/index.html | 8 +- packages/noco-docs/dist/tags/views/index.html | 8 +- .../noco-docs/dist/tags/visibility/index.html | 8 +- .../noco-docs/dist/tags/webhook/index.html | 8 +- .../noco-docs/dist/tags/workspaces/index.html | 8 +- .../dist/views/actions-on-view/index.html | 8 +- .../dist/views/create-view/index.html | 12 +- .../dist/views/share-view/index.html | 10 +- .../dist/views/view-types/form/index.html | 8 +- .../dist/views/view-types/gallery/index.html | 8 +- .../dist/views/view-types/grid/index.html | 8 +- .../dist/views/view-types/kanban/index.html | 8 +- .../dist/views/views-overview/index.html | 8 +- .../actions-on-workspace/index.html | 12 +- .../workspaces/create-workspace/index.html | 10 +- .../workspace-collaboration/index.html | 10 +- .../workspaces/workspace-overview/index.html | 8 +- packages/noco-docs/docusaurus.config.js | 12 + packages/noco-docs/package-lock.json | 237 ++++++++++++++++++ packages/noco-docs/package.json | 3 +- 395 files changed, 1774 insertions(+), 1139 deletions(-) rename packages/noco-docs/dist/assets/js/{00aa88f5.ece547d6.js => 00aa88f5.0f19df7e.js} (67%) rename packages/noco-docs/dist/assets/js/{023320c3.23325e99.js => 023320c3.f640481f.js} (89%) rename packages/noco-docs/dist/assets/js/{037e2c34.f85ca2b6.js => 037e2c34.b75b8698.js} (81%) rename packages/noco-docs/dist/assets/js/{052736b6.c43758e0.js => 052736b6.cf533524.js} (95%) rename packages/noco-docs/dist/assets/js/{0908b333.4c4be206.js => 0908b333.bddbe67a.js} (98%) rename packages/noco-docs/dist/assets/js/{0a7c5cbc.cdcb8e4d.js => 0a7c5cbc.a7b6f5b2.js} (70%) rename packages/noco-docs/dist/assets/js/{0b819d8c.0e797db3.js => 0b819d8c.d8f15911.js} (84%) rename packages/noco-docs/dist/assets/js/{0cab3fcc.a26e8fb8.js => 0cab3fcc.d6debd5a.js} (57%) create mode 100644 packages/noco-docs/dist/assets/js/0ecc5e11.5fd94c3e.js delete mode 100644 packages/noco-docs/dist/assets/js/0ecc5e11.64d354f8.js rename packages/noco-docs/dist/assets/js/{0f4f52c0.8653bf6a.js => 0f4f52c0.9eae8c94.js} (89%) rename packages/noco-docs/dist/assets/js/{11d84c26.62b7c503.js => 11d84c26.7291b9dc.js} (97%) rename packages/noco-docs/dist/assets/js/{14095bfc.09f9422f.js => 14095bfc.8ed9c7aa.js} (75%) rename packages/noco-docs/dist/assets/js/{14d6025d.cce9c4f9.js => 14d6025d.23023741.js} (98%) rename packages/noco-docs/dist/assets/js/{16d5baaf.80752d89.js => 16d5baaf.f063a0f2.js} (95%) rename packages/noco-docs/dist/assets/js/{1970c274.334059b6.js => 1970c274.39621580.js} (65%) rename packages/noco-docs/dist/assets/js/{1e898359.49fc3451.js => 1e898359.91dd43d6.js} (98%) rename packages/noco-docs/dist/assets/js/{1fb5f022.2932790c.js => 1fb5f022.8028d89a.js} (97%) rename packages/noco-docs/dist/assets/js/{20e10381.8bd204da.js => 20e10381.b9a5a162.js} (98%) rename packages/noco-docs/dist/assets/js/{22580739.f7eb21e2.js => 22580739.4c5d73de.js} (68%) rename packages/noco-docs/dist/assets/js/{22aab9a3.c0e16b59.js => 22aab9a3.3ef8c79b.js} (97%) rename packages/noco-docs/dist/assets/js/{25ad7bcb.4e828725.js => 25ad7bcb.7c608320.js} (94%) delete mode 100644 packages/noco-docs/dist/assets/js/278121a5.629b0435.js create mode 100644 packages/noco-docs/dist/assets/js/278121a5.a3ba7d92.js rename packages/noco-docs/dist/assets/js/{2888903d.318320ad.js => 2888903d.f283f8b6.js} (94%) rename packages/noco-docs/dist/assets/js/{2bb712de.fd24b7ca.js => 2bb712de.173474b7.js} (72%) rename packages/noco-docs/dist/assets/js/{2cbe0325.1df6cf91.js => 2cbe0325.e79f5e87.js} (86%) rename packages/noco-docs/dist/assets/js/{2eb4ec02.1f2592f8.js => 2eb4ec02.2e51b9cd.js} (64%) rename packages/noco-docs/dist/assets/js/{319e5695.606ef121.js => 319e5695.115305d5.js} (75%) rename packages/noco-docs/dist/assets/js/{31f9cd1a.775da14b.js => 31f9cd1a.59ad4f18.js} (96%) rename packages/noco-docs/dist/assets/js/{32e0f401.c4f99129.js => 32e0f401.4e7e381d.js} (93%) rename packages/noco-docs/dist/assets/js/{35af5afe.be900cd3.js => 35af5afe.a46f1e69.js} (75%) delete mode 100644 packages/noco-docs/dist/assets/js/3721b01f.84024fe5.js create mode 100644 packages/noco-docs/dist/assets/js/41a696e1.43fd38a6.js rename packages/noco-docs/dist/assets/js/{4bab5100.4d7693a9.js => 4bab5100.60e426da.js} (96%) rename packages/noco-docs/dist/assets/js/{4cd0de40.8614d0f0.js => 4cd0de40.cf1cb2a2.js} (80%) rename packages/noco-docs/dist/assets/js/{4efb7b3c.e1f85cdf.js => 4efb7b3c.56b61c32.js} (75%) rename packages/noco-docs/dist/assets/js/{525fa7b4.7415cceb.js => 525fa7b4.419b445c.js} (87%) rename packages/noco-docs/dist/assets/js/{5af3a857.77b6f910.js => 5af3a857.8eaf3067.js} (50%) rename packages/noco-docs/dist/assets/js/{5eaf3a75.f80b26bd.js => 5eaf3a75.efd2e0c3.js} (96%) rename packages/noco-docs/dist/assets/js/{603e048e.2cc120ec.js => 603e048e.1ae5f0d2.js} (93%) rename packages/noco-docs/dist/assets/js/{60b8b995.008d5a3e.js => 60b8b995.dacc80e5.js} (97%) rename packages/noco-docs/dist/assets/js/{61a3d417.21e4b83c.js => 61a3d417.957c6142.js} (93%) rename packages/noco-docs/dist/assets/js/{68fa8000.a2b38347.js => 68fa8000.7d98a8ca.js} (97%) rename packages/noco-docs/dist/assets/js/{69895f00.d201c760.js => 69895f00.587a3067.js} (85%) rename packages/noco-docs/dist/assets/js/{69bed9e5.d9e8352d.js => 69bed9e5.c1e1ec1f.js} (87%) rename packages/noco-docs/dist/assets/js/{69bee932.66b73e69.js => 69bee932.04f3d977.js} (98%) rename packages/noco-docs/dist/assets/js/{6a0eac6b.e4313a7a.js => 6a0eac6b.28d798be.js} (97%) rename packages/noco-docs/dist/assets/js/{6d2f78d9.7e42a82e.js => 6d2f78d9.2ed22396.js} (96%) delete mode 100644 packages/noco-docs/dist/assets/js/6f7695df.379c6147.js create mode 100644 packages/noco-docs/dist/assets/js/6f7695df.c3e7637c.js rename packages/noco-docs/dist/assets/js/{7077aad6.2c994371.js => 7077aad6.93949727.js} (58%) rename packages/noco-docs/dist/assets/js/{709f8fcb.280a5e25.js => 709f8fcb.b82097a8.js} (93%) delete mode 100644 packages/noco-docs/dist/assets/js/70efa42e.177ad6fa.js create mode 100644 packages/noco-docs/dist/assets/js/70efa42e.c7304d68.js rename packages/noco-docs/dist/assets/js/{71540999.b733bdbe.js => 71540999.b1aa1d6b.js} (75%) rename packages/noco-docs/dist/assets/js/{7c4b6d90.1548a3a9.js => 7c4b6d90.7940746c.js} (97%) rename packages/noco-docs/dist/assets/js/{7dce83b4.530372e4.js => 7dce83b4.4aaf8268.js} (84%) create mode 100644 packages/noco-docs/dist/assets/js/7dea24c2.c1b8d382.js rename packages/noco-docs/dist/assets/js/{7e18769a.abb76911.js => 7e18769a.474b1ad4.js} (58%) rename packages/noco-docs/dist/assets/js/{8a8a6f17.b9888edf.js => 8a8a6f17.d9ea45c4.js} (91%) rename packages/noco-docs/dist/assets/js/{9040003c.21ca2128.js => 9040003c.c2e32051.js} (79%) rename packages/noco-docs/dist/assets/js/{9329f711.4f19abf4.js => 9329f711.df4334d9.js} (94%) rename packages/noco-docs/dist/assets/js/{95677701.42b2bf38.js => 95677701.19a93d59.js} (68%) rename packages/noco-docs/dist/assets/js/{95a14fd1.51597f7e.js => 95a14fd1.447ca405.js} (92%) rename packages/noco-docs/dist/assets/js/{99f674e5.2881324c.js => 99f674e5.95476f2c.js} (84%) rename packages/noco-docs/dist/assets/js/{9c78149d.29a2e4eb.js => 9c78149d.a83e6eab.js} (97%) rename packages/noco-docs/dist/assets/js/{a18f2535.1d8c54f9.js => a18f2535.ce4459ca.js} (70%) rename packages/noco-docs/dist/assets/js/{abbfc25c.8291f979.js => abbfc25c.6b75ff42.js} (97%) rename packages/noco-docs/dist/assets/js/{b22d161b.b9dc16ef.js => b22d161b.956ab27b.js} (98%) rename packages/noco-docs/dist/assets/js/{b7abf355.93264657.js => b7abf355.bca89a1c.js} (98%) delete mode 100644 packages/noco-docs/dist/assets/js/ba1d2c5b.231d6b55.js create mode 100644 packages/noco-docs/dist/assets/js/ba1d2c5b.24c0e578.js rename packages/noco-docs/dist/assets/js/{bb516362.091774e0.js => bb516362.76d0d972.js} (97%) rename packages/noco-docs/dist/assets/js/{bb53f532.4d434c9f.js => bb53f532.072cdd30.js} (97%) rename packages/noco-docs/dist/assets/js/{bd02e23f.e789a668.js => bd02e23f.a1e3fbbd.js} (98%) rename packages/noco-docs/dist/assets/js/{c1a34d6e.84dde03c.js => c1a34d6e.06bb989c.js} (95%) rename packages/noco-docs/dist/assets/js/{c1dfffdd.09a49a06.js => c1dfffdd.8722fa05.js} (74%) rename packages/noco-docs/dist/assets/js/{cb2030df.3cfcfbf0.js => cb2030df.77b2d2cc.js} (93%) rename packages/noco-docs/dist/assets/js/{cd3c4207.f4ac9c87.js => cd3c4207.30d0f4d0.js} (98%) delete mode 100644 packages/noco-docs/dist/assets/js/cfe1d2b7.e157c52a.js delete mode 100644 packages/noco-docs/dist/assets/js/d767d123.35c7072a.js create mode 100644 packages/noco-docs/dist/assets/js/d767d123.e75b1e9e.js rename packages/noco-docs/dist/assets/js/{da4f93ee.15205e4b.js => da4f93ee.87e6ee2b.js} (91%) rename packages/noco-docs/dist/assets/js/{ded49de4.41121548.js => ded49de4.d9e697bc.js} (98%) rename packages/noco-docs/dist/assets/js/{e11b3e19.33ad4247.js => e11b3e19.ce554a5e.js} (92%) rename packages/noco-docs/dist/assets/js/{e302cfc9.d9580788.js => e302cfc9.7c7be6e0.js} (96%) rename packages/noco-docs/dist/assets/js/{e4367861.d460a6d1.js => e4367861.4f2366a4.js} (94%) create mode 100644 packages/noco-docs/dist/assets/js/e55064b4.d39acb60.js delete mode 100644 packages/noco-docs/dist/assets/js/e55064b4.f6b45318.js rename packages/noco-docs/dist/assets/js/{e5a54c1b.6ee5594a.js => e5a54c1b.aaecaed0.js} (97%) rename packages/noco-docs/dist/assets/js/{e68614dc.3109c382.js => e68614dc.05254431.js} (59%) rename packages/noco-docs/dist/assets/js/{eb689018.3b279b4e.js => eb689018.734338fd.js} (98%) rename packages/noco-docs/dist/assets/js/{ebb99180.69344f2a.js => ebb99180.98caab2e.js} (97%) rename packages/noco-docs/dist/assets/js/{f7d905ba.ac350311.js => f7d905ba.edb12578.js} (64%) rename packages/noco-docs/dist/assets/js/{fb60c522.cccea2fd.js => fb60c522.5a98688b.js} (56%) rename packages/noco-docs/dist/assets/js/{fe112e79.e62e8f04.js => fe112e79.398b5097.js} (73%) create mode 100644 packages/noco-docs/dist/assets/js/main.264ef3ee.js rename packages/noco-docs/dist/assets/js/{main.ba728574.js.LICENSE.txt => main.264ef3ee.js.LICENSE.txt} (100%) delete mode 100644 packages/noco-docs/dist/assets/js/main.ba728574.js create mode 100644 packages/noco-docs/dist/assets/js/runtime~main.780e8979.js delete mode 100644 packages/noco-docs/dist/assets/js/runtime~main.f76b80fd.js create mode 100644 packages/noco-docs/dist/developer-resources/accessing-apis/index.html create mode 100644 packages/noco-docs/dist/developer-resources/rest-apis/index.html create mode 100644 packages/noco-docs/dist/developer-resources/sdk/index.html create mode 100644 packages/noco-docs/dist/developer-resources/upload-via-api/index.html create mode 100644 packages/noco-docs/dist/developer-resources/webhooks/index.html create mode 100644 packages/noco-docs/dist/getting-started/demos/index.html create mode 100644 packages/noco-docs/dist/getting-started/environment-variables/index.html create mode 100644 packages/noco-docs/dist/getting-started/installation/index.html create mode 100644 packages/noco-docs/dist/getting-started/upgrading/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/account-settings/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/audit/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/code-snippets/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/column-operations/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/column-types/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/dashboard/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/display-value/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/expanded-form/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/formulas/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/import-airtable-to-sql-database-within-a-minute-for-free/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/keyboard-maneuver/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/languages/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/link-to-another-record/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/links/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/lookup/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/meta-management/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/primary-key/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/project-settings/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/rollup/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/share-base/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/share-view/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/sync-schema/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/table-operations/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/team-and-auth/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/usage-information/index.html create mode 100644 packages/noco-docs/dist/setup-and-usages/views/index.html diff --git a/packages/noco-docs/dist/0.109.7/FAQs/index.html b/packages/noco-docs/dist/0.109.7/FAQs/index.html index 41c120ac0d..8c763cf75e 100644 --- a/packages/noco-docs/dist/0.109.7/FAQs/index.html +++ b/packages/noco-docs/dist/0.109.7/FAQs/index.html @@ -4,15 +4,15 @@ FAQs | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

FAQs

How to upgrade NocoDB ?

How to export CSV from the grid view ?

How to share the project with read only access ?

  • Either you can invite by email with 'viewer' access control
  • Share the base with publicly accessible link. Available since 0.82.0

How to check my current NocoDB version ?

  • You can hover the NocoDB icon on the top left corner or check PackageVersion in Project info.

image

How to check my Project info ?

  • You can click on top right icon and click Copy Project Info.

image

You should see the similar result as below.

Node: **v16.14.0**
Arch: **arm64**
Platform: **darwin**
Docker: **false**
Database: **mysql2**
ProjectOnRootDB: **true**
RootDB: **mysql2**
PackageVersion: **0.97.0**

What is available in free version ?

  • Detailed comparison of NocoDB's generous CE compared to others is here.
  • NocoDB has just one version that is free & open source.
  • In it you will notice advanced features are all available for free.
    • ACL
    • Collaboration
    • Advanced Views : Form View, Gallery View & Kanban View
    • Share View
    • Embed View
    • Password protected View
    • Automations
    • API Token Support
  • And we would never move these features from free to an enterprise version of NocoDB.
  • There is no limitations to number of projects, rows or columns either.

What is the difference between Auth Token and API Token ?

Auth Token is a JWT Token generated based on the logged-in user. By default, the token is only valid for 10 hours. However, you can change the value by defining it using environment variable NC_JWT_EXPIRES_IN. If you are passing Auth Token, make sure that the header is called xc-auth.

API Token is a Nano ID with a length of 40. If you are passing API Token, make sure that the header is called xc-token.

Do we plan to have an Enterprise Edition?

For features that make sense for enterprises like below - yes

  • SSO, SLA, Organisation wide reports and analytics,
  • Advanced Audit or ACL,
  • Bespoke implementations & integrations,
  • A hosted solution.

And increasing number of our customers are requesting it.

How do we decide if a feature is Enterprise or not ?

  • Depends on the effort and whether the intended users are enterprises.

What are the official socials for NocoDB?

Is NocoDB available on the cloud?

Soon! NocoDB is currently developing cloud infrastructure. To join the upcoming FREE private beta program, fill out this form here and be the first to try it!

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/developer-resources/accessing-apis/index.html b/packages/noco-docs/dist/0.109.7/developer-resources/accessing-apis/index.html index 7add57b6d6..eaf881feb8 100644 --- a/packages/noco-docs/dist/0.109.7/developer-resources/accessing-apis/index.html +++ b/packages/noco-docs/dist/0.109.7/developer-resources/accessing-apis/index.html @@ -4,14 +4,14 @@ Accessing APIs | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Accessing APIs

NocoDB APIs can be authorized by either Auth Token or API Token.

Auth Token

Auth Token is a JWT Token generated based on the logged-in user. By default, the token is only valid for 10 hours. However, you can change the value by defining it using environment variable NC_JWT_EXPIRES_IN. If you are passing Auth Token, make sure that the header is called xc-auth.

  • Go to NocoDB Project, click the rightmost button and click Copy Auth Token.
image

API Token

API tokens allows us to integrate seamlessly with 3rd party apps. See API Tokens Management for more.

Swagger UI

You can interact with the API's resources via Swagger UI.

  • Go to NocoDB Project, click the rightmost button and click Swagger APIs Doc.
image
  • Click Authorize, paste the token you copied in above steps and click Authorize to save.

image

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/developer-resources/rest-apis/index.html b/packages/noco-docs/dist/0.109.7/developer-resources/rest-apis/index.html index a1ef4e29df..ebd4e7fe2f 100644 --- a/packages/noco-docs/dist/0.109.7/developer-resources/rest-apis/index.html +++ b/packages/noco-docs/dist/0.109.7/developer-resources/rest-apis/index.html @@ -4,13 +4,13 @@ REST APIs | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

REST APIs

Once you've created the schemas, you can manipulate the data or invoke actions using the REST APIs. We provide several types of APIs for different usages as below.

API Overview

Here's the overview of all APIs. For the details, please check out NocoDB API Documentation.

You may also interact with the API's resources via Swagger UI.

note

Currently, the default value for {orgs} is noco. Users will be able to change it in the future release.

Auth APIs

CategoryMethodTagFunction NamePath
AuthPostauthsignup/api/v1/auth/user/signup
AuthPostauthsignin/api/v1/auth/user/signin
AuthGetauthme/api/v1/auth/user/me
AuthPostauthpasswordForgot/api/v1/auth/password/forgot
AuthPostauthpasswordChange/api/v1/auth/password/change
AuthPostauthpasswordReset/api/v1/auth/password/reset/{token}
AuthPostauthtokenRefresh/api/v1/auth/token/refresh
AuthPostauthpasswordResetTokenValidate/api/v1/auth/token/validate/{token}
AuthPostauthemailValidate/api/v1/auth/email/validate/{email}

Public APIs

CategoryMethodTagFunction NamePath
PublicGetpublicsharedBaseGet/api/v1/db/public/shared-base/{sharedBaseUuid}/meta
PublicPostpublicdataList/api/v1/db/public/shared-view/{sharedViewUuid}/rows
PublicGetpublicdataNestedList/api/v1/db/public/shared-view/{sharedViewUuid}/rows/{rowId}/{relationType}/{columnName}
PublicPostpublicdataCreate/api/v1/db/public/shared-view/{sharedViewUuid}/rows
PublicGetpubliccsvExport/api/v1/db/public/shared-view/{sharedViewUuid}/rows/export/{type}
PublicGetpublicdataRelationList/api/v1/db/public/shared-view/{sharedViewUuid}/nested/{columnName}
PublicGetpublicsharedViewMetaGet/api/v1/db/public/shared-view/{sharedViewUuid}/meta
PublicGetpublicgroupedDataList/api/v1/db/public/shared-view/{sharedViewUuid}/group/{columnId}

Data APIs

CategoryMethodTagFunction NamePath
DataDeletedbTableRowbulkDelete/api/v1/db/data/bulk/{orgs}/{projectName}/{tableName}/
DataPostdbTableRowbulkCreate/api/v1/db/data/bulk/{orgs}/{projectName}/{tableName}/
DataPatchdbTableRowbulkUpdate/api/v1/db/data/bulk/{orgs}/{projectName}/{tableName}/
DataPatchdbTableRowbulkUpdateAll/api/v1/db/data/bulk/{orgs}/{projectName}/{tableName}/all
DataDeletedbTableRowbulkDeleteAll/api/v1/db/data/bulk/{orgs}/{projectName}/{tableName}/all
DataGetdbTableRowlist/api/v1/db/data/{orgs}/{projectName}/{tableName}
DataGetdbTableRowfindOne/api/v1/db/data/{orgs}/{projectName}/{tableName}/find-one
DataGetdbTableRowgroupBy/api/v1/db/data/{orgs}/{projectName}/{tableName}/groupby
DataGetdbTableRowexist/api/v1/db/data/{orgs}/{projectName}/{tableName}/{rowId}/exist
DataPostdbTableRowcreate/api/v1/db/data/{orgs}/{projectName}/{tableName}
DataGetdbTableRowread/api/v1/db/data/{orgs}/{projectName}/{tableName}/{rowId}
DataPatchdbTableRowupdate/api/v1/db/data/{orgs}/{projectName}/{tableName}/{rowId}
DataDeletedbTableRowdelete/api/v1/db/data/{orgs}/{projectName}/{tableName}/{rowId}
DataGetdbTableRowcount/api/v1/db/data/{orgs}/{projectName}/{tableName}/count
DataGetdbTableRowgroupedDataList/api/v1/db/data/{orgs}/{projectName}/{tableName}/group/{columnId}
DataGetdbViewRowlist/api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}
DataGetdbViewRowfindOne/api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/find-one
DataGetdbViewRowgroupBy/api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/groupby
DataGetdbViewRowexist/api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/{rowId}/exist
DataPostdbViewRowcreate/api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}
DataGetdbViewRowread/api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/{rowId}
DataPatchdbViewRowupdate/api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/{rowId}
DataDeletedbViewRowdelete/api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/{rowId}
DataGetdbViewRowcount/api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/count
DataGetdbViewRowgroupedDataList/api/v1/db/data/{orgs}/{projectName}/{tableName}/views/{viewName}/group/{columnId}

Meta APIs

CategoryMethodTagFunction NamePath
MetaGetapiTokenlist/api/v1/db/meta/projects/{projectId}/api-tokens
MetaPostapiTokencreate/api/v1/db/meta/projects/{projectId}/api-tokens
MetaDeleteapiTokendelete/api/v1/db/meta/projects/{projectId}/api-tokens/{token}
MetaGetauthprojectUserList/api/v1/db/meta/projects/{projectId}/users
MetaPostauthprojectUserAdd/api/v1/db/meta/projects/{projectId}/users
MetaPatchauthprojectUserUpdate/api/v1/db/meta/projects/{projectId}/users/{userId}
MetaDeleteauthprojectUserRemove/api/v1/db/meta/projects/{projectId}/users/{userId}
MetaPostauthprojectUserResendInvite/api/v1/db/meta/projects/{projectId}/users/{userId}/resend-invite
MetaPostdbTablecreate/api/v1/db/meta/projects/{projectId}/tables
MetaGetdbTablelist/api/v1/db/meta/projects/{projectId}/tables
MetaPostdbTableColumncreate/api/v1/db/meta/tables/{tableId}/columns
MetaPatchdbTableColumnupdate/api/v1/db/meta/tables/{tableId}/columns/{columnId}
MetaDeletedbTableColumndelete/api/v1/db/meta/tables/{tableId}/columns/{columnId}
MetaPostdbTableColumnprimaryColumnSet/api/v1/db/meta/tables/{tableId}/columns/{columnId}/primary
MetaGetdbTableFilterget/api/v1/db/meta/filters/{filterId}
MetaPatchdbTableFilterupdate/api/v1/db/meta/filters/{filterId}
MetaDeletedbTableFilterdelete/api/v1/db/meta/filters/{filterId}
MetaGetdbTableFilterread/api/v1/db/meta/views/{viewId}/filters
MetaPostdbTableFiltercreate/api/v1/db/meta/views/{viewId}/filters
MetaGetdbTableFilterget/api/v1/db/meta/filters/{filterId}
MetaPatchdbTableFilterupdate/api/v1/db/meta/filters/{filterId}
MetaDeletedbTableFilterdelete/api/v1/db/meta/filters/{filterId}
MetaGetdbTableFilterchildrenRead/api/v1/db/meta/filters/{filterGroupId}/children
MetaGetdbTableSortlist/api/v1/db/meta/views/{viewId}/sorts
MetaPostdbTableSortcreate/api/v1/db/meta/views/{viewId}/sorts
MetaGetdbTableSortread/api/v1/db/meta/sorts/{sortId}
MetaPatchdbTableSortupdate/api/v1/db/meta/sorts/{sortId}
MetaDeletedbTableSortdelete/api/v1/db/meta/sorts/{sortId}/api/v1/db
MetaPatchdbTableWebhookupdate/api/v1/db/meta/hooks/{hookId}
MetaDeletedbTableWebhookdelete/api/v1/db/meta/hooks/{hookId}
MetaGetdbTableWebhooklist/api/v1/db/meta/tables/{tableId}/hooks
MetaPostdbTableWebhookcreate/api/v1/db/meta/tables/{tableId}/hooks
MetaPostdbTableWebhooktest/api/v1/db/meta/tables/{tableId}/hooks/test
MetaGetdbTableWebhooksamplePayloadGet/api/v1/db/meta/tables/{tableId}/hooks/samplePayload/{operation}
MetaGetdbTableWebhookFilterread/api/v1/db/meta/hooks/{hookId}/filters
MetaPostdbTableWebhookFiltercreate/api/v1/db/meta/hooks/{hookId}/filters
MetaGetdbViewlist/api/v1/db/meta/tables/{tableId}/views
MetaGetdbViewread/api/v1/db/meta/tables/{tableId}
MetaPatchdbViewupdate/api/v1/db/meta/tables/{tableId}
MetaDeletedbViewdelete/api/v1/db/meta/tables/{tableId}
MetaPostdbViewreorder/api/v1/db/meta/tables/{tableId}/reorder
MetaPostdbViewformCreate/api/v1/db/meta/tables/{tableId}/forms
MetaPatchdbViewformUpdate/api/v1/db/meta/forms/{formViewId}
MetaGetdbViewformRead/api/v1/db/meta/forms/{formViewId}
MetaPatchdbViewformColumnUpdate/api/v1/db/meta/form-columns/{formViewColumnId}
MetaPostdbViewgalleryCreate/api/v1/db/meta/tables/{tableId}/galleries
MetaPatchdbViewgalleryUpdate/api/v1/db/meta/galleries/{galleryViewId}
MetaGetdbViewgalleryRead/api/v1/db/meta/galleries/{galleryViewId}
MetaPostdbViewkanbanCreate/api/v1/db/meta/tables/{tableId}/kanbans
MetaPatchdbViewkanbanUpdate/api/v1/db/meta/kanban/{kanbanViewId}
MetaGetdbViewkanbanRead/api/v1/db/meta/kanbans/{kanbanViewId}
MetaPostdbViewmapCreate/api/v1/db/meta/tables/{tableId}/maps
MetaPatchdbViewmapUpdate/api/v1/db/meta/maps/{mapViewId}
MetaGetdbViewmapRead/api/v1/db/meta/maps/{mapViewId}
MetaPostdbViewgridCreate/api/v1/db/meta/tables/{tableId}/grids
MetaGetdbViewgridColumnsList/api/v1/db/meta/grids/{gridId}/grid-columns
MetaPatchdbViewgridColumnUpdate/api/v1/db/meta/grid-columns/{columnId}
MetaPatchdbViewupdate/api/v1/db/meta/views/{viewId}
MetaDeletedbViewdelete/api/v1/db/meta/views/{viewId}
MetaPostdbViewshowAllColumn/api/v1/db/meta/views/{viewId}/show-all
MetaPostdbViewhideAllColumn/api/v1/db/meta/views/{viewId}/hide-all
MetaGetdbViewColumnlist/api/v1/db/meta/views/{viewId}/columns
MetaPostdbViewColumncreate/api/v1/db/meta/views/{viewId}/columns
MetaPatchdbViewColumnupdate/api/v1/db/meta/views/{viewId}/columns/{columnId}
MetaGetdbViewSharelist/api/v1/db/meta/views/{viewId}/share
MetaPostdbViewSharecreate/api/v1/db/meta/views/{viewId}/share
MetaPatchdbViewShareupdate/api/v1/db/meta/views/{viewId}/share
MetaDeletedbViewSharedelete/api/v1/db/meta/views/{viewId}/share
MetaGetpluginlist/api/v1/db/meta/plugins
MetaGetpluginstatus/api/v1/db/meta/plugins/{pluginTitle}/status
MetaPostplugintest/api/v1/db/meta/plugins/test
MetaPATCHpluginupdate/api/v1/db/meta/plugins/{pluginId}
MetaGetpluginread/api/v1/db/meta/plugins/{pluginId}
MetaGetprojectmetaGet/api/v1/db/meta/projects/{projectId}/info
MetaGetprojectmodelVisibilityList/api/v1/db/meta/projects/{projectId}/visibility-rules
MetaPostprojectmodelVisibilitySet/api/v1/db/meta/projects/{projectId}/visibility-rules
MetaGetprojectlist/api/v1/db/meta/projects
MetaPostprojectcreate/api/v1/db/meta/projects
MetaGetprojectread/api/v1/db/meta/projects/{projectId}
MetaDeleteprojectdelete/api/v1/db/meta/projects/{projectId}
MetaGetprojectauditList/api/v1/db/meta/projects/{projectId}/audits
MetaGetprojectmetaDiffGet/api/v1/db/meta/projects/{projectId}/meta-diff
MetaPostprojectmetaDiffSync/api/v1/db/meta/projects/{projectId}/meta-diff
MetaGetprojectsharedBaseGet/api/v1/db/meta/projects/{projectId}/shared
MetaDeleteprojectsharedBaseDisable/api/v1/db/meta/projects/{projectId}/shared
MetaPostprojectsharedBaseCreate/api/v1/db/meta/projects/{projectId}/shared
MetaPatchprojectsharedBaseUpdate/api/v1/db/meta/projects/{projectId}/shared
MetaPoststorageupload/api/v1/db/storage/upload
MetaPoststorageuploadByUrl/api/v1/db/storage/upload-by-url
MetaGetutilscommentList/api/v1/db/meta/audits/comments
MetaPostutilscommentRow/api/v1/db/meta/audits/comments
MetaGetutilscommentCount/api/v1/db/meta/audits/comments/count
MetaPostutilsauditRowUpdate/api/v1/db/meta/audits/update
MetaGetutilscacheGet/api/v1/db/meta/cache
MetaDeleteutilscacheDelete/api/v1/db/meta/cache
MetaPostutilstestConnection/api/v1/db/meta/projects/connection/test
MetaGetutilsappInfo/api/v1/db/meta/nocodb/info
MetaGetutilsappVersion/api/v1/version
MetaGetutilsappHealth/api/v1/health
MetaGetutilsaggregatedMetaInfo/api/v1/aggregated-meta-info
MetaGetorgUserslist/api/v1/users
MetaPostorgUsersadd/api/v1/users
MetaPatchorgUsersupdate/api/v1/users/{userId}
MetaDeleteorgUsersdelete/api/v1/users/{userId}
MetaGetorgTokenslist/api/v1/tokens
MetaPostorgTokenscreate/api/v1/tokens
MetaDeleteorgTokensdelete/api/v1/tokens/{token}
MetaGetorgAppSettingsget/api/v1/app-settings
MetaPostorgAppSettingsset/api/v1/app-settings

Query params

NameAliasUse caseDefault valueExample value
wherewComplicated where conditions(colName,eq,colValue)~or(colName2,gt,colValue2)
Usage: Comparison operators
Usage: Logical operators
limitlNumber of rows to get (SQL limit value)1020
offsetoOffset for pagination (SQL offset value)020
sortsSort by column name, Use - as prefix for descending sortcolumn_name
fieldsfRequired column names in result*column_name1,column_name2
shufflerShuffle the result for pagination01 (Only allow 0 or 1. Other values would see it as 0)

Comparison Operators

OperationMeaningExample
eqequal(colName,eq,colValue)
neqnot equal(colName,neq,colValue)
notnot equal (alias of neq)(colName,not,colValue)
gtgreater than(colName,gt,colValue)
gegreater or equal(colName,ge,colValue)
ltless than(colName,lt,colValue)
leless or equal(colName,le,colValue)
isis(colName,is,true/false/null)
isnotis not(colName,isnot,true/false/null)
inin(colName,in,val1,val2,val3,val4)
btwbetween(colName,btw,val1,val2)
nbtwnot between(colName,nbtw,val1,val2)
likelike(colName,like,%name)
isWithinis Within (Available in Date and DateTime only)(colName,isWithin,sub_op)
allofincludes all of(colName,allof,val1,val2,...)
anyofincludes any of(colName,anyof,val1,val2,...)
nallofdoes not include all of (includes none or some, but not all of)(colName,nallof,val1,val2,...)
nanyofdoes not include any of (includes none of)(colName,nanyof,val1,val2,...)

Comparison Sub-Operators

The following sub-operators are available in Date and DateTime columns.

OperationMeaningExample
todaytoday(colName,eq,today)
tomorrowtomorrow(colName,eq,tomorrow)
yesterdayyesterday(colName,eq,yesterday)
oneWeekAgoone week ago(colName,eq,oneWeekAgo)
oneWeekFromNowone week from now(colName,eq,oneWeekFromNow)
oneMonthAgoone month ago(colName,eq,oneMonthAgo)
oneMonthFromNowone month from now(colName,eq,oneMonthFromNow)
daysAgonumber of days ago(colName,eq,daysAgo,10)
daysFromNownumber of days from now(colName,eq,daysFromNow,10)
exactDateexact date(colName,eq,exactDate,2022-02-02)

For isWithin in Date and DateTime columns, the different set of sub-operators are used.

OperationMeaningExample
pastWeekthe past week(colName,isWithin,pastWeek)
pastMonththe past month(colName,isWithin,pastMonth)
pastYearthe past year(colName,isWithin,pastYear)
nextWeekthe next week(colName,isWithin,nextWeek)
nextMonththe next month(colName,isWithin,nextMonth)
nextYearthe next year(colName,isWithin,nextYear)
nextNumberOfDaysthe next number of days(colName,isWithin,nextNumberOfDays,10)
pastNumberOfDaysthe past number of days(colName,isWithin,pastNumberOfDays,10)

Logical Operators

OperationExample
~or(checkNumber,eq,JM555205)~or((amount, gt, 200)~and(amount, lt, 2000))
~and(checkNumber,eq,JM555205)~and((amount, gt, 200)~and(amount, lt, 2000))
~not~not(checkNumber,eq,JM555205)
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/developer-resources/sdk/index.html b/packages/noco-docs/dist/0.109.7/developer-resources/sdk/index.html index 647dc12fa9..3876d4a344 100644 --- a/packages/noco-docs/dist/0.109.7/developer-resources/sdk/index.html +++ b/packages/noco-docs/dist/0.109.7/developer-resources/sdk/index.html @@ -4,13 +4,13 @@ NocoDB SDK | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

NocoDB SDK

We provide SDK for users to integrate with their applications. Currently only SDK for Javascript is supported.

note

The NocoDB SDK requires authorization token. If you haven't created one, please check out Accessing APIs for details.

SDK For Javascript

Install nocodb-sdk

npm i nocodb-sdk

Import Api

import { Api } from 'nocodb-sdk'

Configure Api

The Api can be authorizated by either Auth Token or API Token.

Example: Auth Token

const api = new Api({
baseURL: 'https://<HOST>:<PORT>',
headers: {
'xc-auth': '<AUTH_TOKEN>'
}
})

Example: API Token

const api = new Api({
baseURL: 'https://<HOST>:<PORT>',
headers: {
'xc-token': '<API_TOKEN>'
}
})

Call Functions

Once you have configured api, you can call different types of APIs by api.<Tag>.<FunctionName>.

note

For Tag and FunctionName, please check out the API table here.

Example: Calling API - /api/v1/db/meta/projects/{projectId}/tables

await api.dbTable.create(params)
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/developer-resources/upload-via-api/index.html b/packages/noco-docs/dist/0.109.7/developer-resources/upload-via-api/index.html index 75408d4d8d..e441e1467b 100644 --- a/packages/noco-docs/dist/0.109.7/developer-resources/upload-via-api/index.html +++ b/packages/noco-docs/dist/0.109.7/developer-resources/upload-via-api/index.html @@ -4,14 +4,14 @@ Upload via API | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Upload via API

Sample code to upload files via API is listed below. Assumes http://localhost:8080/ as the base URL for the API calls.

Upload local file

let axios = require("axios").default;
let FormData = require('form-data');
let fs = require('fs');

// Configurations
//
const project_id = '<Project Identifier>';
const table_id = '<Table Identifier>';
const xc_token = '<Auth Token>';
const file_path = '<Local File Path>';


// Insert Image
// @param image_path : local file path
// @return : JSON object to be used in insert record API for attachment field
//
async function insertImage (path) {
const formData = new FormData();
formData.append("file", fs.createReadStream(path));
const data = await axios({
url: 'http://localhost:8080/api/v1/db/storage/upload',
data: formData,
headers:{
'Content-Type':`multipart/form-data;`,
'xc-auth': xc_token
},
method: 'post',

// Optional : storage file path
params: {"path": "somePath"}
});
return data;
}

// Insert record with attachment
// Assumes a table with two columns :
// 'Title' of type SingleLineText and
// 'Attachment' of type Attachment
//
async function uploadFileExample() {
let response = await insertImage(file_path);

let row = {
"Title": "2",
"Attachment": response.data
};

await axios({
method: 'POST',
url: `http://localhost:8080/api/v1/db/data/noco/${project_id}/${table_id}`,
data: row,
headers: {
'xc-auth': xc_token
}
});
}

(async () => {
await uploadFileExample();
})();

Upload via URL

let axios = require("axios").default;
let FormData = require('form-data');
let fs = require('fs');

// Configurations
//
const project_id = '<Project Identifier>';
const table_id = '<Table Identifier>';
const xc_token = '<Auth Token>';

// URL array : URLs of files to be uploaded
const URLs = [{ url: '<URL1>' }, { url: '<URL2>' }];

// Insert Image
// @param URLs : [] containing public URL for files to be uploaded
// @return : JSON object to be used in insert record API for attachment field
//
async function insertImageByURL (URL_array) {
const data = await axios({
url: 'http://localhost:8080/api/v1/db/storage/upload-by-url',
data: URL_array,
headers: {
'xc-auth': xc_token
},
method: 'post',

// Optional : storage file path
params: {"path": "somePath"}
});
return data;
}

// Insert record with attachment
// Assumes a table with two columns :
// 'Title' of type SingleLineText and
// 'Attachment' of type Attachment
//
async function uploadByUrlExample() {
let response = await insertImageByURL(URLs);

// Update two columns : Title and Attachment
let row = {
"Title": "3",
"Attachment": response.data
};

await axios({
method: 'POST',
url: `http://localhost:8080/api/v1/db/data/noco/${project_id}/${table_id}`,
data: row,
headers: {
'xc-auth': xc_auth
}
});
}

(async () => {
await uploadByUrlExample();
})();
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/developer-resources/webhooks/index.html b/packages/noco-docs/dist/0.109.7/developer-resources/webhooks/index.html index ae6de68d8c..dd8377b53e 100644 --- a/packages/noco-docs/dist/0.109.7/developer-resources/webhooks/index.html +++ b/packages/noco-docs/dist/0.109.7/developer-resources/webhooks/index.html @@ -4,8 +4,8 @@ Webhooks | NocoDB - - + +
@@ -13,7 +13,7 @@ For INSERT/ UPDATE based triggers, use following handlebars to access corresponding data fields.

  • {{ data.id }}
  • {{ data.title }}
  • {{ data.created_at }}
  • {{ data.updated_at }}

Note that, for Update trigger - all the fields in the ROW will be accessible, not just the field updated. For DELETE based triggers, only {{ data.id }} is accessible representing ID of the column deleted.

JSON format

Use {{ json data }} to dump complete data & user information available in JSON format

Additional references:

Handlebar Guide.

Application Guide

Discord

1. Create WebHook

  • On Discord, open your Server Settings and head into the Integrations tab:
  • Click the "Create Webhook" button to create a new webhook!

Screenshot 2022-02-22 at 1 21 59 PM

  • Choose channel to which this webhook will post to.
  • Copy webhook URL

Screenshot 2022-02-22 at 1 23 18 PM

(Sample webhook URL: https://discord.com/api/webhooks/945558283756908644/GNUtiGuzfOky6wZ4ce30XuXc1sbPK3Od7EC-4t6hihh5Fovv6oU9OsdT6mGuoL1QlTzj).
Detailed procedure for discord webhook described here.

2. Install Plugin

  • Open 'App Store' (under Settings), hover over Discord tile. Click 'Install'.

Screenshot 2022-09-14 at 10 47 59 AM

  • Provide a name of your choice (not to be confused with Discord Channel name).
  • Paste Discord Webhook URL copied from Step (1.) above.

Screenshot 2022-09-14 at 10 52 14 AM

3. Configure

  • Open project and choose a table.
  • Click 'More' > 'Webhooks'.
  • Click 'Create webhook'
  • Configure webhook
    • Title: Name of your choice to identify this Webhook.
    • Event: Trigger event. Choose between.
      • After Insert: Trigger event for new ROW insertion.
      • After Update: Trigger event for existing ROW updation.
      • After Delete: Trigger event for ROW deletion
    • On Condition: [Optional] Enable if you wish to associate additional condition/constraint with the trigger configured above.
    • Notification: Select 'Discord'.
    • Select Discord Channels: Select from the drop down list, channel name configured in Step (2). Please click on 'Reload' if drop down list is empty.
    • Body: Message to be posted over Discord channel, via webhooks on trigger of configured event.
      • Body can contain plain text &
      • Handlebars {{ }}

Slack

1. Create WebHook

  • Details to create slack webhook are captured here

2. Install Plugin

  • Procedure remain same as listed for DISCORD channel configuration above

3. Configure Webhook

  • Procedure remain same as listed for DISCORD channel configuration above

Microsoft Teams

1. Create WebHook

  • On Teams, open your channel, click on three-dots menu (far right) and select 'Connectors'
154971352-6912d53b-cf71-4edd-a319-1c85be85f0c5
  • Select incoming webhook & click 'Configure'
154971434-0ced97f7-205a-4e2e-8f88-17092cb7771a- Create webhook, Copy webhook URL ![154971683-db16be7f-4f07-4447-8f2e-ac50e133bef8](https://user-images.githubusercontent.com/86527202/155095733-c339a914-5d78-408c-8f1e-9cd75a7783e8.png)

2. Install Plugin

  • Open 'App Store' (under Settings), hover over 'Microsoft Teams' tile. Click 'Install'.

Screenshot 2022-09-14 at 10 53 22 AM

  • Provide a name of your choice (not to be confused with Teams Channel name).
  • Paste MS Teams Webhook URL copied from Step (1.) above.

Screenshot 2022-09-14 at 10 53 31 AM

3. Configure

  • Open project and choose a table.
  • Click 'More' > 'Webhooks'.
  • Click 'Create webhook'
  • Configure webhook
    • Title: Name of your choice to identify this Webhook.
    • Event: Trigger event. Choose between.
      • After Insert: Trigger event for new ROW insertion.
      • After Update: Trigger event for existing ROW updation.
      • After Delete: Trigger event for ROW deletion
    • On Condition: [Optional] Enable if you wish to associate additional condition/constraint with the trigger configured above.
    • Notification: Select 'Microsoft Teams'.
    • Select Teams Channels: Select from the drop down list, channel name configured in Step (2). Please click on 'Reload' if drop down list is empty.
    • Body: Message to be posted over Teams channel, via webhooks on trigger of configured event.
      • Body can contain plain text &
      • Handlebars {{ }}

Webhook V2

Webhook v2 is available after v0.106.0. Here's the differences.

  • Response Payload has been predefined and cannot configure in Body using Handlebars. The payload can be referenced under Sample Payload in Hook detail page.
  • Support the following bulk operations:
    • AFTER BULK INSERT
    • AFTER BULK UPDATE
    • AFTER BULK DELETE
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/engineering/architecture/index.html b/packages/noco-docs/dist/0.109.7/engineering/architecture/index.html index 726cad687c..6acb9ab775 100644 --- a/packages/noco-docs/dist/0.109.7/engineering/architecture/index.html +++ b/packages/noco-docs/dist/0.109.7/engineering/architecture/index.html @@ -4,13 +4,13 @@ Architecture Overview | NocoDB - - + +
-
Skip to main content
Version: 0.109.7 - Old UI

Architecture Overview

By default, if NC_DB is not specified, then SQLite will be used to store your meta data. We suggest users to separate the meta data and user data in different databases.

image

Project TypeMetadata stored inData stored in
Create new projectNC_DBNC_DB
Create new project with External DatabaseNC_DBExternal Database
Create new project from ExcelNC_DBNC_DB
- - +
Skip to main content
Version: 0.109.7 - Old UI

Architecture Overview

By default, if NC_DB is not specified, then SQLite will be used to store your meta data. We suggest users to separate the meta data and user data in different databases.

image

Project TypeMetadata stored inData stored in
Create new projectNC_DBNC_DB
Create new project with External DatabaseNC_DBExternal Database
Create new project from ExcelNC_DBNC_DB
+ + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/engineering/builds-and-releases/index.html b/packages/noco-docs/dist/0.109.7/engineering/builds-and-releases/index.html index 8d90e3d00e..1587d83fc4 100644 --- a/packages/noco-docs/dist/0.109.7/engineering/builds-and-releases/index.html +++ b/packages/noco-docs/dist/0.109.7/engineering/builds-and-releases/index.html @@ -4,13 +4,13 @@ Releases & Builds | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Releases & Builds

Builds of NocoDB

There are 3 kinds of docker builds in NocoDB

Below is an overview of how to make these builds and what happens behind the scenes.

Release builds

How to make a release build ?

  • Click NocoDB release action

  • You should see the below screen

    image

  • Change Use workflow from to Branch: master. If you choose the wrong branch, the workflow will be ended.

    image

  • Then there would be two cases - you can either leave target tag and pervious tag blank or manually input some values

  • Target Tag means the target deployment version, while Previous Tag means the latest version as of now. Previous Tag is used for Release Note only - showing the file / commit differences between two tags.

Tagging

The naming convention would be following given the actual release tag is 0.100.0

  • 0.100.0-beta.0 (first version of pre-release)
  • 0.100.0-beta.1 (include bug fix changes on top of the previous version)
  • 0.100.0-beta.2(include bug fix changes on top of the previous version)
  • and so on ...
  • 0.100.0 (actual release)
  • 0.100.1 (minor bug fix release)
  • 0.100.2 (minor bug fix release)

Case 1: Leaving inputs blank

  • If Previous Tag is blank, then the value will be fetched from latest
  • If Target Tag is blank, then the value will be Previous Tag plus one. Example: 0.90.11 (Previous Tag) + 0.0.1 = 0.90.12 (Target Tag)

Case 2: Manually Input

Why? Sometimes we may mess up in NPM deployment. As NPM doesn't allow us to redeploy to the same tag again, in this case we cannot just use the previous tag + 1. Therefore, we need to use previous tag + 2 instead and we manually configure it.

  • After that, click Run workflow to start
  • You can see Summary for the overall job status.
  • Once release-draft-note and release-executables is finished, then go to releases, edit the draft note and save as draft for time being.
    • Example: Adding header, update content if necessary, and click Auto-generate release notes to include more info.
  • Once release-docker is finished, then test it locally first. You'll be expected to see Upgrade Available notification in UI as we haven't published the release note. (the version is retrieved from there)
  • Once everything is finished, then publish the release note and the deployment is considered as DONE.

How does release action work ?

validate-branch

To check if github.ref is master. Otherwise, other branches will be not accepted.

process-input

To enrich target tag or previous tag if necessary.

pr-to-master

Automate a PR from develop to master branch so that we know the actual differences between the previous tag and the current tag. We choose master branch for a deployment base.

release-npm

Build frontend and backend and release them to NPM. The changes during built such as version bumping will be committed and pushed to a temporary branch and an automated PR will be created and merged to master branch.

Note that once you publish with a certain tag, you cannot publish with the same tag again.

release-draft-note

Generate a draft release note. Some actions need to be done after this step.

release-docker

Build docker image and publish it to Docker Hub. It may take around 15 - 30 mins.

close-issues

Open issues marked with label Status: Fixed and Status: Resolved will be closed by bot automatically with comment mentioning the fix is included in which version.

Example:

image

publish-docs

Publish Documentations

update-sdk-path

nocodb-sdk is used in frontend and backend. However, in develop branch, the value would be file:../nocodb-sdk for development purpose (so that the changes done in nocodb-sdk in develop will be included in frontend and backend). During the deployment, the value will be changed to the target tag. This job is to update them back.

sync-to-develop

Once the deployment is finished, there would be some new changes being pushed to master branch. This job is to sync the changes back to develop so that both branch won't have any difference.

Daily builds

What are daily builds ?

  • NocoDB creates every 6 hours from develop branches and publishes as nocodb/nocodb-daily
  • This is so that we can easily try what is in the develop branch easily.

Docker images

  • The docker images will be built and pushed to Docker Hub (See nocodb/nocodb-daily for the full list).

Timely builds

What are timely builds ?

NocoDB has github actions which creates docker and binaries for each PR! And these can be found as a comment on the last commit of the PR.

Example shown below

  • Go to a PR and click on the comment.

    Screenshot 2023-01-23 at 15 46 36
  • Click on the link to copy the docker image and run it locally.

    Screenshot 2023-01-23 at 15 46 55

This is to

  • reduce pull request cycle time
  • allow issue reporters / reviewers to verify the fix without setting up their local machines

Docker images

When a non-draft Pull Request is created, reopened or synchronized, a timely build for Docker would be triggered for the changes only included in the following paths.

  • packages/nocodb-sdk/**
  • packages/nc-gui/**
  • packages/nc-plugin/**
  • packages/nocodb/**

The docker images will be built and pushed to Docker Hub (See nocodb/nocodb-timely for the full list). Once the image is ready, Github bot will add a comment with the command in the pull request. The tag would be <NOCODB_CURRENT_VERSION>-pr-<PR_NUMBER>-<YYYYMMDD>-<HHMM>.

image

Executables or Binaries

Similarly, we provide a timely build for executables for non-docker users. The source code will be built, packaged as binary files, and pushed to Github (See nocodb/nocodb-timely for the full list).

Currently, we only support the following targets:

  • node16-linux-arm64
  • node16-macos-arm64
  • node16-win-arm64
  • node16-linux-x64
  • node16-macos-x64
  • node16-win-x64

Once the executables are ready, Github bot will add a comment with the commands in the pull request.

image

NocoDB creates Docker and Binaries for each PR.

This is to

  • reduce pull request cycle time
  • allow issue reporters / reviewers to verify the fix without setting up their local machines
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/engineering/development-setup/index.html b/packages/noco-docs/dist/0.109.7/engineering/development-setup/index.html index c2b5420f29..3b46864fa8 100644 --- a/packages/noco-docs/dist/0.109.7/engineering/development-setup/index.html +++ b/packages/noco-docs/dist/0.109.7/engineering/development-setup/index.html @@ -4,13 +4,13 @@ Development Setup | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Development Setup

Clone the repo

git clone https://github.com/nocodb/nocodb
cd nocodb/packages

Build SDK

# build nocodb-sdk
cd nocodb-sdk
npm install
npm run build

Build Backend

# build backend - runs on port 8080
cd ../nocodb
npm install
npm run watch:run

Build Frontend

# build frontend - runs on port 3000
cd ../nc-gui
npm install
npm run dev

Any changes made to frontend and backend will be automatically reflected in the browser.

Enabling CI-CD for Draft PR

CI-CD will be triggered on moving a PR from draft state to Ready for review state & on pushing changes to Develop. To verify CI-CD before requesting for review, add label trigger-CI on Draft PR.

Accessing CI-CD Failure Screenshots

For Playwright tests, screenshots are captured on the tests. These will provide vital clues for debugging possible issues observed in CI-CD. To access screenshots, Open link associated with CI-CD run & click on Artifacts

Screenshot 2022-09-29 at 12 43 37 PM

Accessing 'Easter egg' menu

Double click twice on empty space between View list & Share button to the left top of Grid view; following options become accessible

  1. Export Cache
  2. Delete Cache
  3. Debug Meta
  4. Toggle Beta Features

Screenshot 2023-05-23 at 8 35 14 PM

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/engineering/playwright/index.html b/packages/noco-docs/dist/0.109.7/engineering/playwright/index.html index 6e11250db9..1507e1f8af 100644 --- a/packages/noco-docs/dist/0.109.7/engineering/playwright/index.html +++ b/packages/noco-docs/dist/0.109.7/engineering/playwright/index.html @@ -4,13 +4,13 @@ Playwright E2E Testing | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Playwright E2E Testing

How to run tests

All the tests reside in tests/playwright folder.

Make sure to install the dependencies(in the playwright folder):

npm install
npx playwright install chromium --with-deps

Run Test Server

Start the backend test server (in packages/nocodb folder):

npm run watch:run:playwright

Start the frontend test server (in packages/nc-gui folder):

NUXT_PAGE_TRANSITION_DISABLE=true npm run dev

Running all tests

For selecting db type, rename .env.example to .env and set E2E_DEV_DB_TYPE to sqlite(default), mysql or pg.

headless mode(without opening browser):

npm run test

with browser:

npm run test:debug

For setting up mysql(sakila):

docker-compose -f ./tests/playwright/scripts/docker-compose-mysql-playwright.yml  up -d

For setting up postgres(sakila):

docker-compose -f ./tests/playwright/scripts/docker-compose-playwright-pg.yml 

Running individual tests

Add .only to the test you want to run:

test.only('should login', async ({ page }) => {
// ...
})
npm run test

Concepts

Independent tests

  • All tests are independent of each other.
  • Each test starts with a fresh project with a fresh sakila database(option to not use sakila db is also there).
  • Each test creates a new user(email as user@nocodb.com) and logs in with that user to the dashboard.

Caveats:

  • Some stuffs are shared i.e, users, plugins etc. So be catious while writing tests touching that. A fix for this is in the works.
  • In test, we prefix email and project with the test id, which will be deleted after the test is done.

What to test

  • UI verification. This includes verifying the state of the UI element, i.e if the element is visible, if the element has a particular text etc.
  • Test should verify all user flow. A test has a default timeout of 60 seconds. If a test is taking more than 60 seconds, it is a sign that the test should be broken down into smaller tests.
  • Test should also verify all the side effects the feature(i.e. On adding a new column type, should verify column deletion as well) will have, and also error cases.
  • Test name should be descriptive. It should be easy to understand what the test is doing by just reading the test name.

Playwright

  • Playwright is a nodejs library for automating chromium, firefox and webkit.
  • For each test, a new browser context is created. This means that each test runs in a new incognito window.
  • For assertion always use expect from @playwright/test library. This library provides a lot of useful assertions, which also has retry logic built in.

Page Objects

  • Page objects are used to abstract over the components/page. This makes the tests more readable and maintainable.
  • All page objects are in tests/playwright/pages folder.
  • All the test related code should be in page objects.
  • Methods should be as thin as possible and its better to have multiple methods than one big method, which improves reusability.

The methods of a page object can be classified into 2 categories:

  • Actions: Performs an UI actions like click, type, select etc. Is also responsible for waiting for the element to be ready and the action to be performed. This included waiting for API calls to complete.
  • Assertions: Asserts the state of the UI element, i.e if the element is visible, if the element has a particular text etc. Use expect from @playwright/test and if not use expect.poll to wait for the assertion to pass.

Writing a test

Let's write a test for testing filter functionality.

For simplicity, we will have DashboardPage implemented, which will have all the methods related to dashboard page and also its child components like Grid, etc.

Create a test suite

Create a new file filter.spec.ts in tests/playwright/tests folder and use setup method to create a new project and user.

import { test, expect } from '@playwright/test';
import setup, { NcContext } from '../setup';

test.describe('Filter', () => {
let context: NcContext;

test.beforeEach(async ({ page }) => {
context = await setup({ page });
})

test('should filter', async ({ page }) => {
// ...
});
});

Create a page object

Since filter is UI wise scoped to a Toolbar , we will add filter page object to ToolbarPage page object.

export class ToolbarPage extends BasePage {
readonly parent: GridPage | GalleryPage | FormPage | KanbanPage;
readonly filter: ToolbarFilterPage;

constructor(parent: GridPage | GalleryPage | FormPage | KanbanPage) {
super(parent.rootPage);
this.parent = parent;
this.filter = new ToolbarFilterPage(this);
}
}

We will create ToolbarFilterPage page object, which will have all the methods related to filter.

export class ToolbarFilterPage extends BasePage {
readonly toolbar: ToolbarPage;

constructor(toolbar: ToolbarPage) {
super(toolbar.rootPage);
this.toolbar = toolbar;
}
}

Here BasePage is an abstract class, which used to enforce structure for all page objects. Thus all page object should inherit BasePage.

  • Helper methods like waitForResponse and getClipboardText (this can be access on any page object, with this.waitForResponse)
  • Provides structure for page objects, enforces all Page objects to have rootPage property, which is the page object created in the test setup.
  • Enforces all pages to have a get method which will return the locator of the main container of that page, hence we can have focused dom selection, i.e.
// This will only select the button inside the container of the concerned page
await this.get().querySelector('button').count();

Writing an action method

This a method which will reset/clear all the filters. Since this is an action method, it will also wait for the delete filter API to return. Ignoring this API call will cause flakiness in the test, down the line.

async resetFilter() {
await this.waitForResponse({
uiAction: () => this.get().locator('.nc-filter-item-remove-btn').click(),
httpMethodsToMatch: ['DELETE'],
requestUrlPathToMatch: '/api/v1/db/meta/filters/',
});
}

Writing an assertion/verification method

Here we use expect from @playwright/test library, which has retry logic built in.

import { expect } from '@playwright/test';

async verifyFilter({ title }: { title: string }) {
await expect(
this.get().locator(`[data-testid="nc-fields-menu-${title}"]`).locator('input[type="checkbox"]')
).toBeChecked();
}

Tips to avoid flakiness

  • If an UI action, causes an API call or the UI state change, then wait for that API call to complete or the UI state to change.
  • What to wait out can be situation specific, but in general, is best to wait for the final state to be reached, i.e. in the case of creating filter, while it seems like waiting for the filter API to complete is enough, but after its return the table rows are reloaded and the UI state changes, so its better to wait for the table rows to be reloaded.

Accessing playwright report in the CI

  • Open Summary tab in the CI workflow in github actions.
  • Scroll down to Artifacts section.
  • Access reports which suffixed with the db type and shard number(corresponding to the CI workerflow name). i.e playwright-report-mysql-2 is for playwright-mysql-2 workflow.
  • Download it and run npm install -D @playwright/test && npx playwright show-report ./ inside the downloaded folder.
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/engineering/repository-structure/index.html b/packages/noco-docs/dist/0.109.7/engineering/repository-structure/index.html index a959b31eea..82e29b252a 100644 --- a/packages/noco-docs/dist/0.109.7/engineering/repository-structure/index.html +++ b/packages/noco-docs/dist/0.109.7/engineering/repository-structure/index.html @@ -4,13 +4,13 @@ Repository structure | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Repository structure

We use Lerna to manage multi-packages. We have the following packages.

  • packages/nc-cli : A CLI to create NocoDB app.

  • packages/nocodb-sdk: API client sdk of nocodb.

  • packages/nc-gui: NocoDB Frontend.

  • packages/nc-lib-gui: The build version of nc-gui which will be used in packages/nocodb.

  • packages/nc-plugin: Plugin template.

  • packages/noco-blog: NocoDB Blog which will be auto-released to nocodb/noco-blog.

  • packages/noco-docs: NocoDB Documentation which will be auto-released to nocodb/noco-docs.

  • packages/nocodb: NocoDB Backend, hosted in NPM.

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/engineering/translation/index.html b/packages/noco-docs/dist/0.109.7/engineering/translation/index.html index 87bcbebc2e..c9aa794a59 100644 --- a/packages/noco-docs/dist/0.109.7/engineering/translation/index.html +++ b/packages/noco-docs/dist/0.109.7/engineering/translation/index.html @@ -4,15 +4,15 @@ i18n translation | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

i18n translation

  • NocoDB supports 30+ foreign languages & community contributions are now simplified via Crowdin.

How to add / edit translations ?

Using Github

  • For English, make changes directly to en.json & commit to develop
  • For any other language, use crowdin option.

Using Crowdin

Screenshot 2022-09-08 at 10 26 23 PM

  • Click the language that you wish to contribute

Screenshot 2022-09-08 at 10 29 56 PM

  • Click the Translate button; this opens up Crowdin Online Editor

Screenshot 2022-09-08 at 10 32 17 PM

  • Select string in English on the left-hand menu bar [1]
  • Propose changes [2]
  • Save [3] Note: Crowdin provides translation recommendation's as in [4]. Click directly if it's apt

Screenshot 2022-09-08 at 10 37 38 PM

A GitHub Pull Request will be automatically triggered (periodicity- 6 hours). We will follow up on remaining integration work items.

Reference

Refer following articles to get additional details about Crowdin Portal usage

How to add a new language ?

GitHub changes

  • Update enumeration in enums.ts [packages/nc-gui/lib/enums.ts]
  • Map JSON path in a.i18n.ts [packages/nc-gui/plugins/a.i18n.ts]

Crowdin changes [admin only]

  • Open NocoDB project
  • Click on Language on the home tab
  • Select target language, Update
  • Update array in tests/playwright/tests/language.spec.ts

Screenshot 2022-09-08 at 10 52 59 PM

Screenshot 2022-09-08 at 10 54 04 PM

String Categories

  • General: simple & common tokens (save, cancel, submit, open, close, home, and such)
  • Objects: objects from NocoDB POV (project, table, field, column, view, page, and such)
  • Title: screen headers (compact) (menu headers, modal headers)
  • Lables: text box/ radio/ field headers (few words) (Labels over textbox, radio buttons, and such)
  • Activity/ actions: work items (few words) (Create Project, Delete Table, Add Row, and such)
  • Tooltip: additional information associated with work items (usually lengthy) (Additional information provided for activity)
  • Placeholder: placeholders associated with various textboxes (Text placeholders)
  • Msg
    • Info: general/success category for everything
    • Error: warnings & errors
    • Toast: pop-up toast messages

Note: string name should be in camelCase. Use above list as priority order in case of ambiguity.

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/engineering/unit-testing/index.html b/packages/noco-docs/dist/0.109.7/engineering/unit-testing/index.html index 6e068b3f2b..2f1966bcbe 100644 --- a/packages/noco-docs/dist/0.109.7/engineering/unit-testing/index.html +++ b/packages/noco-docs/dist/0.109.7/engineering/unit-testing/index.html @@ -4,8 +4,8 @@ Writing Unit Tests | NocoDB - - + +
@@ -13,7 +13,7 @@ DB_PORT : port DB_USER : username DB_PASSWORD : password

Run Tests

npm run test:unit

Folder Structure

The root folder for unit tests is packages/nocodb/tests/unit

  • rest folder contains all the test suites for rest apis.
  • model folder contains all the test suites for models.
  • factory folder contains all the helper functions to create test data.
  • init folder contains helper functions to configure test environment.
  • index.test.ts is the root test suite file which imports all the test suites.
  • TestDbMngr.ts is a helper class to manage test databases (i.e. creating, dropping, etc.).

Factory Pattern

  • Use factories for create/update/delete data. No data should be directly create/updated/deleted in the test.
  • While writing a factory make sure that it can be used with as less parameters as possible and use default values for other parameters.
  • Use named parameters for factories.
    createUser({ email, password})
  • Use one file per factory.

Walk through of writing a Unit Test

We will create an Table test suite as an example.

Configure test

We will configure beforeEach which is called before each test is executed. We will use init function from nocodb/packages/nocodb/tests/unit/init/index.ts, which is a helper function which configures the test environment(i.e resetting state, etc.).

init does the following things -

  • It initializes a Noco instance(reused in all tests).
  • Restores meta and sakila database to its initial state.
  • Creates the root user.
  • Returns context which has auth token for the created user, node server instance(app), and dbConfig.

We will use createProject and createProject factories to create a project and a table.

let context;

beforeEach(async function () {
context = await init();

project = await createProject(context);
table = await createTable(context, project);
});

Test case

We will use it function to create a test case. We will use supertest to make a request to the server. We use expect(chai) to assert the response.

it('Get table list', async function () {
const response = await request(context.app)
.get(`/api/v1/db/meta/projects/${project.id}/tables`)
.set('xc-auth', context.token)
.send({})
.expect(200);

expect(response.body.list).to.be.an('array').not.empty;
});
note

We can also run individual test by using .only in describe or it function and the running the test command.

it.only('Get table list', async () => {

Integrating the New Test Suite

We create a new file table.test.ts in packages/nocodb/tests/unit/rest/tests directory.

import 'mocha';
import request from 'supertest';
import init from '../../init';
import { createTable, getAllTables } from '../../factory/table';
import { createProject } from '../../factory/project';
import { defaultColumns } from '../../factory/column';
import Model from '../../../../src/lib/models/Model';
import { expect } from 'chai';

function tableTest() {
let context;
let project;
let table;

beforeEach(async function () {
context = await init();

project = await createProject(context);
table = await createTable(context, project);
});

it('Get table list', async function () {
const response = await request(context.app)
.get(`/api/v1/db/meta/projects/${project.id}/tables`)
.set('xc-auth', context.token)
.send({})
.expect(200);

expect(response.body.list).to.be.an('array').not.empty;
});
}

export default function () {
describe('Table', tableTests);
}

We can then import the Table test suite to Rest test suite in packages/nocodb/tests/unit/rest/index.test.ts file(Rest test suite is imported in the root test suite file which is packages/nocodb/tests/unit/index.test.ts).

Seeding Sample DB (Sakila)


function tableTest() {
let context;
let sakilaProject: Project;
let customerTable: Model;

beforeEach(async function () {
context = await init();

/******* Start : Seeding sample database **********/
sakilaProject = await createSakilaProject(context);
/******* End : Seeding sample database **********/

customerTable = await getTable({project: sakilaProject, name: 'customer'})
});

it('Get table data list', async function () {
const response = await request(context.app)
.get(`/api/v1/db/data/noco/${sakilaProject.id}/${customerTable.id}`)
.set('xc-auth', context.token)
.send({})
.expect(200);

expect(response.body.list[0]['FirstName']).to.equal('MARY');
});
}
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/getting-started/demos/index.html b/packages/noco-docs/dist/0.109.7/getting-started/demos/index.html index 58a1e24691..b19cb76aab 100644 --- a/packages/noco-docs/dist/0.109.7/getting-started/demos/index.html +++ b/packages/noco-docs/dist/0.109.7/getting-started/demos/index.html @@ -4,13 +4,13 @@ Demos | NocoDB - - + +
Skip to main content
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/getting-started/environment-variables/index.html b/packages/noco-docs/dist/0.109.7/getting-started/environment-variables/index.html index ff5a30a461..58bd78fe6a 100644 --- a/packages/noco-docs/dist/0.109.7/getting-started/environment-variables/index.html +++ b/packages/noco-docs/dist/0.109.7/getting-started/environment-variables/index.html @@ -4,13 +4,13 @@ Environment Variables | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Environment Variables

For production usecases, it is recommended to configure

  • NC_DB,
  • NC_AUTH_JWT_SECRET,
  • NC_PUBLIC_URL,
  • NC_REDIS_URL
VariableCommentsIf absent
NC_DBSee our database URLsA local SQLite will be created in root folder if NC_DB is not provided
NC_DB_JSONCan be used instead of NC_DB and value should be valid knex connection JSON
NC_DB_JSON_FILECan be used instead of NC_DB and value should be a valid path to knex connection JSON
DATABASE_URLJDBC URL Format. Can be used instead of NC_DB.
DATABASE_URL_FILECan be used instead of DATABASE_URL: path to file containing JDBC URL Format.
NC_AUTH_JWT_SECRETJWT secret used for auth and storing other secretsA random secret will be generated
PORTFor setting app running port8080
DB_QUERY_LIMIT_DEFAULTDefault pagination limit25
DB_QUERY_LIMIT_MAXMaximum allowed pagination limit1000
DB_QUERY_LIMIT_MINMinimum allowed pagination limit1
NC_TOOL_DIRApp directory to keep metadata and app related filesDefaults to current working directory. In docker maps to /usr/app/data/ for mounting volume.
NC_PUBLIC_URLUsed for sending Email invitationsBest guess from http request params
NC_JWT_EXPIRES_INJWT token expiry time10h
NC_CONNECT_TO_EXTERNAL_DB_DISABLEDDisable Project creation with external database
NC_INVITE_ONLY_SIGNUPRemoved since version 0.99.0 and now it's recommended to use super admin settings menu. Allow users to signup only via invite url, value should be any non-empty string.
NUXT_PUBLIC_NC_BACKEND_URLCustom Backend URLhttp://localhost:8080 will be used
NC_REQUEST_BODY_SIZERequest body size limit1048576
NC_EXPORT_MAX_TIMEOUTAfter NC_EXPORT_MAX_TIMEOUT csv gets downloaded in batchesDefault value 5000(in millisecond) will be used
NC_DISABLE_TELEDisable telemetry
NC_DASHBOARD_URLCustom dashboard url path/dashboard
NC_GOOGLE_CLIENT_IDGoogle client id to enable google authentication
NC_GOOGLE_CLIENT_SECRETGoogle client secret to enable google authentication
NC_MIGRATIONS_DISABLEDDisable NocoDB migration
NC_MINIf set to any non-empty string the default splash screen(initial welcome animation) and matrix screensaver will disable
NC_SENTRY_DSNFor Sentry monitoring
NC_REDIS_URLCustom Redis URL. Example: redis://:authpassword@127.0.0.1:6380/4Meta data will be stored in memory
NC_DISABLE_ERR_REPORTDisable error reporting
NC_DISABLE_CACHETo be used only while debugging. On setting this to true - meta data be fetched from db instead of redis/cache.false
AWS_ACCESS_KEY_IDFor Litestream - S3 access key idIf Litestream is configured and NC_DB is not present. SQLite gets backed up to S3
AWS_SECRET_ACCESS_KEYFor Litestream - S3 secret access keyIf Litestream is configured and NC_DB is not present. SQLite gets backed up to S3
AWS_BUCKETFor Litestream - S3 bucketIf Litestream is configured and NC_DB is not present. SQLite gets backed up to S3
AWS_BUCKET_PATHFor Litestream - S3 bucket path (like folder within S3 bucket)If Litestream is configured and NC_DB is not present. SQLite gets backed up to S3
NC_SMTP_FROMFor SMTP plugin - Email sender address
NC_SMTP_HOSTFor SMTP plugin - SMTP host value
NC_SMTP_PORTFor SMTP plugin - SMTP port value
NC_SMTP_USERNAMEFor SMTP plugin (Optional) - SMTP username value for authentication
NC_SMTP_PASSWORDFor SMTP plugin (Optional) - SMTP password value for authentication
NC_SMTP_SECUREFor SMTP plugin (Optional) - To enable secure set value as true any other value treated as false
NC_SMTP_IGNORE_TLSFor SMTP plugin (Optional) - To ignore tls set value as true any other value treated as false. For more info visit https://nodemailer.com/smtp/
NC_S3_BUCKET_NAMEFor S3 storage plugin - AWS S3 bucket name
NC_S3_REGIONFor S3 storage plugin - AWS S3 region
NC_S3_ACCESS_KEYFor S3 storage plugin - AWS access key credential for accessing resource
NC_S3_ACCESS_SECRETFor S3 storage plugin - AWS access secret credential for accessing resource
NC_ADMIN_EMAILFor updating/creating super admin with provided email and password
NC_ATTACHMENT_FIELD_SIZEFor setting the attachment field size(in Bytes)Defaults to 20MB
NC_ADMIN_PASSWORDFor updating/creating super admin with provided email and password. Your password should have at least 8 letters with one uppercase, one number and one special letter(Allowed special chars $&+,:;=?@#|'.^*()%!_-" )
NODE_OPTIONSFor passing Node.js options to instance
NC_MINIMAL_DBSCreate a new SQLite file for each project. All the db files are stored in nc_minimal_dbs folder in current working directory. (This option restricts project creation on external sources)
NC_DISABLE_AUDITDisable Audit Logfalse
NC_AUTOMATION_LOG_LEVELPossible Values: OFF, ERROR, ALL. See Webhooks for details.OFF
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/getting-started/installation/index.html b/packages/noco-docs/dist/0.109.7/getting-started/installation/index.html index 7663799062..ad0caf9d92 100644 --- a/packages/noco-docs/dist/0.109.7/getting-started/installation/index.html +++ b/packages/noco-docs/dist/0.109.7/getting-started/installation/index.html @@ -4,8 +4,8 @@ Installation | NocoDB - - + +
@@ -14,7 +14,7 @@

GCP (Cloud Run)

Click to Expand

Pull NocoDB Image on Cloud Shell

Since Cloud Run only supports images from Google Container Registry (GCR) or Artifact Registry, we need to pull NocoDB image, tag it and push it in GCP using Cloud Shell. Here are some sample commands which you can execute in Cloud Shell.

# pull latest NocoDB image
docker pull nocodb/nocodb:latest

# tag the image
docker tag nocodb/nocodb:latest gcr.io/<MY_PROJECT_ID>/nocodb/nocodb:latest

# push the image to GCR
docker push gcr.io/<MY_PROJECT_ID>/nocodb/nocodb:latest

Deploy NocoDB on Cloud Run

gcloud run deploy --image=gcr.io/<MY_PROJECT_ID>/nocodb/nocodb:latest \
--region=us-central1 \
--allow-unauthenticated \
--platform=managed

DigitalOcean (App)

Click to Expand

Create Apps

On Home page, Click on Create icon & Select Apps (Deploy your code).

Screenshot 2022-02-19 at 12 17 43 PM

Choose Source: Docker Hub

Screenshot 2022-02-19 at 12 22 01 PM

Choose Source: Repository

Configure Source Repository as nocodb/nocodb. Optionally you can pick release tag if you are interested in specific NocoDB version.

Screenshot 2022-02-19 at 12 23 11 PM

[Optional] Additional Configurations

Screenshot 2022-02-19 at 12 24 44 PM

Name your web service

Pick a name for your NocoDB application. This name will become part of URL subsequently Pick nearest Region for cloud hosting Screenshot 2022-02-19 at 12 28 11 PM

Finalize and Launch

Cloudron

Click to Expand

Log into Cloudron and select App Store

image

Search NocoDB

image

Click Install

image

Configure NocoDB

image

Go to My App and Launch NocoDB

image

CapRover

Click to Expand

Login and Click One-Click Apps / Databases

image

Search NocoDB

image

Configure NocoDB and Deploy

image

Railway

Click to Expand

Go to Templates, Search NocoDB and click Deploy

image

Configure NocoDB and Deploy

image

FreeBSD / FreeNAS / TrueNAS Jail

See here provided by C. R. Zamana.

Sample Demos

Code Sandbox

Docker deploying with one command

Using NPX

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/getting-started/upgrading/index.html b/packages/noco-docs/dist/0.109.7/getting-started/upgrading/index.html index d5c3c3a7ac..c332dfb2cf 100644 --- a/packages/noco-docs/dist/0.109.7/getting-started/upgrading/index.html +++ b/packages/noco-docs/dist/0.109.7/getting-started/upgrading/index.html @@ -4,13 +4,13 @@ Upgrading | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Upgrading

By default, if NC_DB is not specified upon installation, then SQLite will be used to store metadata. We suggest users to separate the metadata and user data in different databases as pictured in our architecture.

Docker

Find, Stop & Delete NocoDB Docker Container

# find NocoDB container ID
docker ps
# stop NocoDB container
docker stop <YOUR_CONTAINER_ID>
# delete NocoDB container
docker rm <YOUR_CONTAINER_ID>

Note: Deleting your docker container without setting NC_DB or mounting to a persistent volume for a default SQLite database will result in losing your data. See examples below.

Find & Remove NocoDB Docker Image

# find NocoDB image
docker images
# delete NocoDB image
docker rmi <YOUR_IMAGE_ID>

Pull the latest NocoDB image with same environment variables

docker run -d -p 8080:8080 \
-e NC_DB="<YOUR_NC_DB_URL>" \
-e NC_AUTH_JWT_SECRET="<YOUR_NC_AUTH_JWT_SECRET_IF_GIVEN>" \
nocodb/nocodb:latest

Updating nocodb docker container is similar to updating any other docker containers.

Example: Docker Upgrade

Screen Shot 2021-09-16 at 09 23 07

Node

Updating docker container is similar to updating a npm package.

From your root folder

Uninstall NocoDB package

npm uninstall nocodb

Install NocoDB package

npm install --save nocodb

Homebrew

Run following commands to upgrade Homebrew Nocodb version.

# Update the local homebrew formulas
brew update
# Upgrade nocodb package
brew upgrade nocodb
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/index.html b/packages/noco-docs/dist/0.109.7/index.html index b2e586f8d0..8da4de91f8 100644 --- a/packages/noco-docs/dist/0.109.7/index.html +++ b/packages/noco-docs/dist/0.109.7/index.html @@ -4,13 +4,13 @@ Welcome | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Welcome

Welcome!

image

NocoDB is a no-code database platform that allows teams to collaborate and build applications with ease of a familiar and intuitive spreadsheet interface. This allows even non-developers or business users to become software creators.

NocoDB works by connecting to any relational database and transforming them into a smart spreadsheet interface! This allows you to build no-code applications collaboratively with teams. NocoDB currently works with MySQL, PostgreSQL, Microsoft SQL Server, SQLite, Amazon Aurora & MariaDB databases.

Also NocoDB's app store allows you to build business workflows on views with combination of Slack, Microsoft Teams, Discord, Twilio, Whatsapp, Email & any 3rd party APIs too. Plus NocoDB provides programmatic access to APIs so that you can build integrations with Zapier / Integromat and custom applications too.

Features

Rich Spreadsheet Interface

  •  Basic Operations: Create, Read, Update and Delete on Tables, Columns, and Rows
  •  Fields Operations: Sort, Filter, Hide / Unhide Columns
  •  Multiple Views Types: Grid (By default), Gallery, Form View and Kanban View
  •  View Permissions Types: Collaborative Views, & Locked Views
  •  Share Bases / Views: either Public or Private (with Password Protected)
  •  Variant Cell Types: ID, LinkToAnotherRecord, Lookup, Rollup, SingleLineText, Attachement, Currency, Formula and etc
  •  Access Control with Roles : Fine-grained Access Control at different levels
  •  and more ...

App Store for Workflow Automations

We provide different integrations in three main categories. See App Store for details.

  •  Chat : Slack, Discord, Mattermost, and etc
  •  Email : AWS SES, SMTP, MailerSend, and etc
  •  Storage : AWS S3, Google Cloud Storage, Minio, and etc

Programmatic Access

We provide the following ways to let users to invoke actions in a programmatic way. You can use a token (either JWT or Social Auth) to sign your requests for authorization to NocoDB.

  •  REST APIs
  •  NocoDB SDK

Sync Schema

We allow you to sync schema changes if you have made changes outside NocoDB GUI. However, it has to be noted then you will have to bring your own schema migrations for moving from environment to others. See Sync Schema for details.

Audit

We are keeping all the user operation logs under one place. See Audit for details.

Why are we building this?

Most internet businesses equip themselves with either spreadsheet or a database to solve their business needs. Spreadsheets are used by a Billion+ humans collaboratively every single day. However, we are way off working at similar speeds on databases which are way more powerful tools when it comes to computing. Attempts to solve this with SaaS offerings has meant horrible access controls, vendor lockin, data lockin, abrupt price changes & most importantly a glass ceiling on what's possible in future.

Our Mission

Our mission is to provide the most powerful no-code interface for databases which is open source to every single internet business in the world. This would not only democratise access to a powerful computing tool but also bring forth a billion+ people who will have radical tinkering-and-building abilities on internet.

How can I contribute to NocoDB's development ?

Please refer to here for the contribution guidelines.

Where can I join the NocoDB community?

Follow us for daily updates, content, and other activities with our community:

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/account-settings/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/account-settings/index.html index 86967906a6..7d0244baa1 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/account-settings/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/account-settings/index.html @@ -4,15 +4,15 @@ Account Settings | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Account Settings

Overview

Account Settings allow you to manage your account such as your password or tokens.

image

Reset Password

image

Token Management

  • Newly created tokens are associated with the created user and it will have all permissions that particular user has.
  • Existing token will work as it is and only be visible to the super admin.
image

If you are a super admin, you can also manage all user roles in organization level.

User Management

Permissions within NocoDB are divided into two levels: Organisation level and Project level.

Organisation Level Permissions:

  • Org Level Creator: Allows users to create new projects and access invited projects.
  • Org Level Viewer: Allows users to access invited projects but does not permit the creation of new projects.

image

Project Level Permissions:

  • Owner: The user who created the project. A project can have only one owner. The owner persists until the project exists and the role is non-transferable. The owner has access to carry out any operations within the project, including deleting it.
  • Creator: Has access to carry out any operations within the project except deleting the project and removing the "Owner."
  • Editor: Can modify data but cannot modify the schema (add/remove columns, tables, users, and such).
  • Commenter: Can neither modify data nor schema, can only see data and can mark row-level comments.
  • Viewer: Can only see data.

Additional access details for project level permissions can be found here. Please note that the above-mentioned Project Level Permissions are additional to the already defined Organisation Level Permissions. In addition to the previously defined permissions, NocoDB also includes the role of "Super Admin." The "Super Admin" is the first user to sign up on this NocoDB installation. An organisation can have only one "Super Admin" and this role is non-transferable. The "Super Admin" will have the equivalent permissions of an "Org Level Creator" and "Owner" for all projects within the organisation.

Enable / Disable Signup

Signup without an invitation is disabled by default and can be managed from UI by a super admin.

image

App Store

image

We provide different integrations in three main categories.

CategoryApp Name
ChatMicrosoft Teams
Discord
Twilio
Whatsapp Twilio
Mattermost
Slack
EmailSMTP
MailerSend
AWS SES
StorageAWS S3
Minio
Google Cloud Storage
Spaces
Backblaze B2
Vultr Object Storage
OvhCloud Object Storage
Linode Object Storage
UpCloud Object Storage
Scaleway Object Storage

License

You can configure NocoDB Enterprise License key here

Screenshot 2023-01-12 at 2 30 57 PM

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/audit/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/audit/index.html index 1e4c6d419b..18a78b1872 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/audit/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/audit/index.html @@ -4,13 +4,13 @@ Audit | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Audit

Overview

We are keeping all the user operation logs under Audit. To access it, click the down arrow button next to Project Name on the top left side, then select Team & Settings.

info

We can disable audit logs by setting NC_DISABLE_AUDIT to true.

image

Then, under SETTINGS, click Audit.

image
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/code-snippets/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/code-snippets/index.html index 86fce49d1a..350f233238 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/code-snippets/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/code-snippets/index.html @@ -4,13 +4,13 @@ Code Snippets | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Code Snippets

Overview

In the table toolbar, click Table name button and click Get API Snippet.

image

A modal box will be shown with sample code snippet for List API.

image

Supported Snippet

Shell

  • cURL
  • wget

Javascript

  • Axios
  • Fetch
  • jQuery
  • XHR

Node

  • Axios
  • Fetch
  • Request
  • Native
  • Unirest

NocoDB SDK

  • Javascript
  • Node

PHP

Python

  • http.client
  • request

Ruby

Java

C

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/column-operations/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/column-operations/index.html index 1d225865d7..2a87c86519 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/column-operations/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/column-operations/index.html @@ -4,13 +4,13 @@ Column Operations | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Column Operations

Fields

Click Fields to control the visibility of a field.

image

By default, all system fields will be hid. However, you can tick Show system fields to make them visible.

image

Re-order Columns

Column positions can be re-ordered. Open Fields menu, and re-order fields as needed by dragging and dropping the drag icon.

image

Hide / Unhide Columns

To hide / unhide columns, open Fields menu, tick checkbox to keep the column visible, untick checkbox to remove it from the view.

tip

You can create different grid views with different fields shown in each view.

image

Sort

Sorting allows you to order contents alphabetically (A → Z) / (Z → A) (OR) in ascending / descending order. NocoDB allows nested sorting. You can choose column fields & order in which to apply nested sorting. Lookup, Formula, Nested Data are also supported in Sorting.

imageimageimage

Filter

Filters allow you to restrict / organize your data on the view as per your needs. NocoDB allows nested filters. You can choose multiple columns and conditions to apply filter. Between filters, you can opt for either and or or mode operation. Lookup, Formula, Nested Data are also supported in Filtering.

imageimage

You can also group several filters together using Filter Group.

image

Enable NULL and EMPTY Filters

NULL filters (is null & is not null) and EMPTY filters (is empty & is not empty) are hidden by default. If you wish to filter out either one only, you may enable Show NULL and EMPTY Filter in Project Settings.

image

Otherwise, we can use Blank filters to filter out cells with NULL values and EMPTY values.

Supported Filters

Currently we support different types of filters for corresponding columns. Please refer the below matrix for details.

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/column-types/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/column-types/index.html index d3e2daf23a..5449d2053a 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/column-types/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/column-types/index.html @@ -4,15 +4,15 @@ Column Types | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Column Types

Available Column Types

TypeDescription
LinkToAnotherRecordHas Many or Many To Many columns
SingleLineTextFor short text
LongTextFor lengthy string content
AttachmentFile attachment column
CheckboxBoolean value
MultiSelectMultiple options can be selected once
SingleSelectSingle option select
DateDate selector
YearYear selector
TimeTime selector
PhoneNumberPhone number field
EmailEmail field
URLValid URL field
NumberAny type of number
DecimalFractional number
CurrencyCurrency value
PercentPercentage
DurationDuration
RatingRating
FormulaFormula based generated column
RollupPerforms calculations and aggregations
DateTimeDate & Time selector
QR CodeQR Code visualization of another referenced column
BarcodeBarcode visualization of another referenced column
GeometryGeometry column
GeoDataGeoData column
JsonJson column
SpecificDBTypeCustom DB type option

Database Types

LinkToAnotherRecord

For more about Link To Another Record, please visit here.

SingleLineText

Available Database Types

DatabaseTypesDefault Type
MySQLchar, varchar, nchar, text, tinytext, mediumtext, longtextvarchar
PostgreSQLchar, character, character varying, textcharacter varying
SQL Serverchar, ntext, text, varchar, nvarcharvarchar
SQLitecharacter, text, varcharvarchar

LongText

Available Database Types

DatabaseTypesDefault Type
MySQLchar, varchar, nchar, text, tinytext, mediumtext, longtexttext
PostgreSQLchar, character, character varying, texttext
SQL Serverchar, ntext, text, varchar, nvarchartext
SQLitecharacter, text, varchartext

Attachment

Available Database Types

DatabaseTypesDefault Type
MySQLjson, char, varchar, nchar, text, tinytext, mediumtext, longtexttext
PostgreSQLjson, char, character, character varying, texttext
SQL Serverchar, ntext, text, varchar, nvarchartext
SQLitecharacter, text, varchartext

Checkbox

Available Database Types

DatabaseTypesDefault Type
MySQLint, smallint, mediumint, bigint, bit, boolean, serial, tinyinttinyint
PostgreSQLbit, bool, int2, int4, int8, boolean, smallint, int, integer, bigint, bigserial, char, int4range, int8range, serial, serial2, serial8bool
SQL Serverbigint, bit, int, tinyinttinyint
SQLiteint, integer, tinyint, smallint, mediumint, bigint, int2, int8, boolean

MultiSelect

Available Database Types

DatabaseTypesDefault Type
MySQLset, text, tinytext, mediumtext, longtextset
PostgreSQLtexttext
SQL Servertext, ntexttext
SQLitetext, varchartext

SingleSelect

Available Database Types

DatabaseTypesDefault Type
MySQLenum, text, tinytext, mediumtext, longtextenum
PostgreSQLtexttext
SQL Servertext, ntexttext
SQLitetext, varchartext

Date

Available Database Types

DatabaseTypesDefault Type
MySQLdate, datetime, timestamp, varcharvarchar
PostgreSQLdate, timestamp, timestamp without time zone, timestamptz, timestamp with time zone
SQL Serverdatedate
SQLitedate, varcharvarchar

Year

Available Database Types

DatabaseTypesDefault Type
MySQLyearyear
PostgreSQLintint
SQL Serverintint
SQLiteint, integer, tinyint, smallint, mediumint, bigint, int2, int8year

Time

Available Database Types

DatabaseTypesDefault Type
MySQLtimetime
PostgreSQLtime, time without time zone, timestamp, timestamp without time zone, timestamptz, timestamp with time zone, timetz, time with time zonetime
SQL Servertimetime
SQLiteint, integer, tinyint, smallint, mediumint, bigint, int2, int8time

PhoneNumber

Available Database Types

DatabaseTypesDefault Type
MySQLvarcharvarchar
PostgreSQLcharacter varyingcharacter varying
SQL Servervarcharvarchar
SQLitevarchar, textvarchar

Email

Available Database Types

DatabaseTypesDefault Type
MySQLvarcharvarchar
PostgreSQLcharacter varyingcharacter varying
SQL Servervarcharvarchar
SQLitevarchar, textvarchar

URL

Available Database Types

DatabaseTypesDefault Type
MySQLtext, tinytext, mediumtext, longtext, varcharvarchar
PostgreSQLcharacter varying, textcharacter varying
SQL Servervarchar, textvarchar
SQLitevarchar, textvarchar

Number

Available Database Types

DatabaseTypesDefault Type
MySQLint, smallint, mediumint, bigint, bit, float, decimal, double, serialint
PostgreSQLint, integer, bigint, bigserial, int2, int4, int8, serial, serial2, serial8, double precision, float4, float8, smallint, smallserialint8
SQL Serverint, bigint, bit, decimal, float, numeric, real, smallint, tinyintint
SQLiteint, integer, tinyint, smallint, mediumint, bigint, int2, int8, numeric, real, double, double precision, floatinteger

Decimal

Available Database Types

DatabaseTypesDefault Type
MySQLfloat, decimal, double, serialdecimal
PostgreSQLdouble precision,float4,float8decimal
SQL Serverdecimal, floatdecimal
SQLitereal, double, double precision, float, numericdecimal

Currency

Available Database Types

DatabaseTypesDefault Type
MySQLdecimal, float, double, serial', 'int, smallint, mediumint, bigint, bitdecimal
PostgreSQLint, integer, bigint, bigserial, int2, int4, int8, serial, serial2, serial8, double precision, money', 'float4, float8decimal
SQL Serverint, bigint, bit, decimal, float, numeric, real, smallint, tinyintdecimal
SQLitereal, double, double precision, float, int, integer, tinyint, smallint, mediumint, bigint, int2, int8, numericdouble precision

Percent

Available Database Types

DatabaseTypesDefault Type
MySQLdecimal, float, double, serial', 'int, smallint, mediumint, bigint, bitdouble
PostgreSQLint, integer, bigint, bigserial, int2, int4, int8, serial, serial2, serial8, double precision, float4, float8, smallint, smallserialdouble
SQL Serverint, bigint, bit, decimal, float, numeric, real, smallint, tinyintdouble
SQLitereal, double, double precision, float, int, integer, tinyint, smallint, mediumint, bigint, int2, int8, numericdouble

Duration

Available Database Types

DatabaseTypesDefault Type
MySQLdecimal, float, double, serial', 'int, smallint, mediumint, bigint, bitint
PostgreSQLint, integer, bigint, bigserial, int2, int4, int8, serial, serial2, serial8, double precision, float4, float8, smallint, smallserialint8
SQL Serverint, bigint, bit, decimal, float, numeric, real, smallint, tinyintint
SQLiteint, integer, tinyint, smallint, mediumint, bigint, int2, int8integer

Rating

Available Database Types

DatabaseTypesDefault Type
MySQLdecimal, float, double, serial', 'int, smallint, mediumint, bigint, bitfloat
PostgreSQLint, integer, bigint, bigserial, int2, int4, int8, serial, serial2, serial8, double precision, float4, float8, smallint, smallserialfloat8
SQL Serverint, bigint, bit, decimal, float, numeric, real, smallint, tinyintfloat
SQLitereal, double, double precision, float, int, integer, tinyint, smallint, mediumint, bigint, int2, int8, numericfloat

Formula

For more about Formulas, please visit here.

QR-Code

Encodes the value of a reference column as QR code. The following column types are supported for the for reference column:

  • Formula
  • Single Line Text
  • Long Text
  • Phone Number
  • URL
  • Email

Since it's a virtual column, the cell content (QR code) cannot be changed directly.

Barcode

Encodes the value of a reference column as Barcode. Supported barcode formats: CODE128, EAN, EAN-13, EAN-8, EAN-5, EAN-2, UPC (A), CODE39, ITF-14, MSI, Pharmacode, Codabar. The following column types are supported for the for reference column:

  • Formula
  • Single Line Text
  • Long Text
  • Phone Number
  • URL
  • Email

Since it's a virtual column, the cell content (Barcode) cannot be changed directly.

Rollup

For more about Rollup, please visit here.

DateTime

Available Database Types

DatabaseTypesDefault Type
MySQLdatetime, timestamp, varchardatetime
PostgreSQLtimestamp, timestamp without time zone, timestamptz, timestamp with time zonedatetime
SQL Serverdatetime, datetime2, datetimeoffsetdatetime
SQLitedatetime, timestampdatetime

Geometry

Available Database Types

DatabaseTypes
MySQLgeometry, point, linestring, polygon, multipoint, multilinestring, multipolygon
PostgreSQLpolygon, point, circle, box, line, lseg, path, circle
SQL Servergeometry
SQLitetext

GeoData

Encodes a geographic location which consists of a latitude and a longitude. Both are internally stored as one string, where latitude and longitude are separated by ';' Example: "52.2134;29.1442"

Available Database Types

DatabaseTypes
MySQLchar, varchar, nchar, text, tinytext, mediumtext, longtext
PostgreSQLchar, character, character varying, text
SQL Serverdecimal, float
SQLitecharacter, text, varchar

JSON

Available Database Types

DatabaseTypes
MySQLjson
PostgreSQLjson
SQL Servertext, ntext
SQLitetext

SpecificDBType

Available Database Types

DatabaseTypes
MySQLAll types are available
PostgreSQLAll types are available
SQL ServerAll types are available
SQLiteAll types are available
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/dashboard/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/dashboard/index.html index 1a1db65f6f..c060cfe278 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/dashboard/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/dashboard/index.html @@ -4,13 +4,13 @@ Dashboard | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Dashboard

Setup Your First Super Admin

Once you have started NocoDB, you can visit the dashboard via example.com. You will be redirected to example.com/#/signup.

Enter your work email and your password.

image
note

Your password has at least 8 letters. No other constraints on case, numbers or special characters.

Initialize Your First Project

Once you have logged into NocoDB, you should see My Projects.

Screenshot 2022-12-29 at 2 54 43 PM

To create a new project, you can click New Project.

You need to specify the project name. The data will be stored in NC_DB. If it is not specified, a local SQLite will be created and used.

note

NC_DB is an environment variable used to store the meta data in the given database.

Screenshot 2022-12-29 at 2 54 57 PM

Connecting to External Database

Click on three-dot menu adjacent to BASES. Pick required database option from the menu Connect to new datasource.

tip

If you are running NocoDB on Docker and your local DB is running on your host machine, your Host Address would be host.docker.internal instead of localhost.

Screenshot 2022-12-29 at 2 55 39 PM

Above menu is also accessible from Team & Settings > Data Sources. Click on New button to add existing database.

image

You need to specify the project name, API type, and other database parameters.

image

Currently it supports MySQL, Postgres, MSSQL and SQLite.

You can also configure associated SSL & advanced parameters.

image
tip

You can click Edit Connection JSON and modify SSL settings in "ssl".

{
"client": "pg",
"connection": {
"host": "<YOUR_HOST>",
"port": "5432",
"user": "<YOUR_DB_USER>",
"password": "<YOUR_DB_PASSWORD>",
"database": "<YOUR_DB_NAME>",
"ssl": {
"require": true,
"rejectUnauthorized": false,
"sslMode": "no-verify"
}
}
}
tip

You can click Edit Connection JSON and specify the schema you want to use in "searchPath".

{
"client": "pg",
"connection": {
...
},
"searchPath": [ "<YOUR_TARGET_SCHEMA>" ]
}

Click Test Database Connection to see if the connection can be established or not. NocoDB creates a new empty database with specified parameters if the database doesn't exist.

image
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/display-value/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/display-value/index.html index b78b9b5220..a2aadfc9dd 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/display-value/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/display-value/index.html @@ -4,13 +4,13 @@ Display Value | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Display Value

What is a Display Value ?

  • Display Value as the name stands is the primary or main value within a row of a table that you generally associate that row with.
  • It should be usually associated with a column which is uniquely identifiable. However, this uniqueness is not enforced at the database level.
  • Before v0.105.0, Display Value was known as Primary Value.

What is the use of Display Value ?

  • Within a spreadsheet, Display Value are always highlighted so that it is easier to recognise what row we are in.
  • And when LinkToAnotherRecord is created between two tables - it is the Display Value that appears in LinkToAnotheRecord column.

Example : Display Value highlighted in Actor table

image

Example : Display Value highlighted in Film table

image

Example : Display Value associated when LinkToAnotherRecord is created

image

How to set Display Value ?

Click down arrow in the target column. Click Set as Display Value.

image

How is Display Value identfied for existing database tables ?

  • It is usually the first column after the primary key which is not a number.
  • If there is no column which is not a number then the column adjacent to primary key is chosen.

Can I change the Display Value to another column within tables ?

  • Yes, you can use the same way mentioned above to set Display Value.
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/expanded-form/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/expanded-form/index.html index ec6e3e7db2..2e82e21fd8 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/expanded-form/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/expanded-form/index.html @@ -4,13 +4,13 @@ Expanded Form | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Expanded Form

Overview

Expanded Form allows you to edit a row data in a form. It also shows the activity feed such as user comments or revision history. It can be also shared by others by copying the record URL.

image

Expanding a Record

In a grid view, we can hover a row record and a doulbe arrow will be shown. By clicking it, the expanded form will be opened.

image

Alternatively, we can highlight a cell and press the space bar. The expanded form for the correpsonding row will be opened.

Activity Feed

In an expanded form, we can click Toggle Comment View button to show the activity feed where we can optionally filter out comments only.

image

Copy Record URL

In an expanded form, we can click Copy Record URL to share the record form to other authorized users.

image

Save Button Option

By default, when we save the form, the expanded form will be closed, i.e. Save & Exit. However, if we prefer not to close the form even after saving, we can choose Save & Stay mode instead. This is useful when you are editing a long form and you want to save it from time to time.

image

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/formulas/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/formulas/index.html index c3c0328ed8..934d263316 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/formulas/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/formulas/index.html @@ -4,14 +4,14 @@ Formulas | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Formulas

Adding formula column

image

1. Click on '+' (Add column)

2. Populate column Name

3. Select column Type as 'Formula'

4. Insert required formula

  • You can use explicit numerical values/ strings as needed, e.g. 123 (numeric) or "123" (string).
  • You can reference column names in equation with {}, e.g. {column_name}, if the column name conflicts with literals
  • Table below lists supported formula & associated syntax
  • Nested formula (formula equation referring to another formula column) is supported

5. Click on 'Save'

Editing formula column

Unlike other column types, formula cells cannot be modified by double-clicking since the value is generated based on the formula. Instead, the vaule can be changed by updating the formula in the column setting.

image

Available Formula Features

Numeric Functions

NameSyntaxSampleOutput
ABSABS(value)ABS({Column})Absolute value of the input parameter
ADDADD(value1,[value2,...])ADD({Column1}, {Column2})Sum of input parameters
AVGAVG(value1,[value2,...])AVG({Column1}, {Column2})Average of input parameters
CEILINGCEILING(value)CEILING({Column})Rounded next largest integer value of input parameter
EXPEXP(value)EXP({Column})Exponential value of input parameter (e^x)
FLOORFLOOR(value)FLOOR({Column})Rounded largest integer less than or equal to input parameter
INTINT(value)INT({Column})Integer value of input parameter
LOGLOG([base], value)LOG(10, {Column})Logarithm of input parameter to the base (default = e) specified
MAXMAX(value1,[value2,...])MAX({Column1}, {Column2}, {Column3})Maximum value amongst input parameters
MINMIN(value1,[value2,...])MIN({Column1}, {Column2}, {Column3})Minimum value amongst input parameters
MODMOD(value1, value2)MOD({Column}, 2)Remainder after integer division of input parameters
POWERPOWER(base, exponent)POWER({Column}, 3)base to the exponent power, as in base ^ exponent
ROUNDROUND(value, precision)ROUND({Column}, 3)Round input value to decimal place specified by precision (Nearest integer if precision not provided)
SQRTSQRT(value)SQRT({Column})Square root of the input parameter

Numeric Operators

OperatorSampleDescription
+{Column1} + {Column2} + 2Addition of numeric values
-{Column1} - {Column2}Subtraction of numeric values
*{Column1} * {Column2}Multiplication of numeric values
/{Column1} / {Column2}Division of numeric values
tip

To change the order of arithmetic operation, you can use round bracket parantheses ().
Example: ({Column1} + ({Column2} * {Column3}) / (3 - $Column4$ ))

String Functions

NameSyntaxSampleOutput
CONCATCONCAT(str1, [str2,...])CONCAT({Column1}, ' ', {Column2})Concatenated string of input parameters
LEFTLEFT(str1, n)LEFT({Column}, 3)n characters from the beginning of input parameter
LENLEN(str)LEN({Column})Input parameter character length
LOWERLOWER(str)LOWER({Column})Lower case converted string of input parameter
MIDMID(str, position, [count])MID({Column}, 3, 2)Alias for SUBSTR
REPEATREPEAT(str, count)REPEAT({Column}, 2)Specified copies of the input parameter string concatenated together
REPLACEREPLACE(str, srchStr, rplcStr)REPLACE({Column}, 'int', 'num')String, after replacing all occurrences of srchStr with rplcStr
RIGHTRIGHT(str, n)RIGHT({Column}, 3)n characters from the end of input parameter
SEARCHSEARCH(str, srchStr)SEARCH({Column}, 'str')Index of srchStr specified if found, 0 otherwise
SUBSTRSUBTR(str, position, [count])SUBSTR({Column}, 3, 2)Substring of length 'count' of input string, from the postition specified
TRIMTRIM(str)TRIM({Column})Remove trailing and leading whitespaces from input parameter
UPPERUPPER(str)UPPER({Column})Upper case converted string of input parameter
URLURL(str)URL({Column})Convert to a hyperlink if it is a valid URL

Date Functions

NameSyntaxSampleOutputRemark
NOWNOW()NOW()2022-05-19 17:20:43Returns the current time and day
IF(NOW() < {DATE_COL}, "true", "false")IF(NOW() < date, "true", "false")If current date is less than {DATE_COL}, it returns true. Otherwise, it returns false.DateTime columns and negative values are supported.
DATEADDDATEADD(date \| datetime, value, ["day" \| "week" \| "month" \| "year"])DATEADD(date, 1, 'day')Supposing {DATE_COL} is 2022-03-14. The result is 2022-03-15.DateTime columns and negative values are supported. Example: DATEADD(DATE_TIME_COL, -1, 'day')
DATEADD(date, 1, 'week')Supposing {DATE_COL} is 2022-03-14 03:14. The result is 2022-03-21 03:14.DateTime columns and negative values are supported. Example: DATEADD(DATE_TIME_COL, -1, 'week')
DATEADD(date, 1, 'month')Supposing {DATE_COL} is 2022-03-14 03:14. The result is 2022-04-14 03:14.DateTime columns and negative values are supported. Example: DATEADD(DATE_TIME_COL, -1, 'month')
DATEADD(date, 1, 'year')Supposing {DATE_COL} is 2022-03-14 03:14. The result is 2023-03-14 03:14.DateTime columns and negative values are supported. Example: DATEADD(DATE_TIME_COL, -1, 'year')
IF(NOW() < DATEADD(date,10,'day'), "true", "false")If the current date is less than {DATE_COL} plus 10 days, it returns true. Otherwise, it returns false.DateTime columns and negative values are supported.
IF(NOW() < DATEADD(date,10,'day'), "true", "false")If the current date is less than {DATE_COL} plus 10 days, it returns true. Otherwise, it returns false.DateTime columns and negative values are supported.
DATETIME_DIFFDATETIME_DIFF(date, date, ["milliseconds" \| "ms" \| "seconds" \| "s" \| "minutes" \| "m" \| "hours" \| "h" \| "days" \| "d" \| "weeks" \| "w" \| "months" \| "M" \| "quarters" \| "Q" \| "years" \| "y"])DATETIME_DIFF("2022/10/14", "2022/10/15", "second")Supposing {DATE_COL_1} is 2017-08-25 and {DATE_COL_2} is 2011-08-25. The result is 86400.Compares two dates and returns the difference in the unit specified. Positive integers indicate the second date being in the past compared to the first and vice versa for negative ones.
WEEKDAY(NOW(), "sunday")If today is Monday, it returns 1Get the week day of NOW() with the first day set as sunday
WEEKDAYWEEKDAY(date, [startDayOfWeek])WEEKDAY(NOW())If today is Monday, it returns 0Returns the day of the week as an integer between 0 and 6 inclusive starting from Monday by default. You can optionally change the start day of the week by specifying in the second argument
WEEKDAY(NOW(), "sunday")If today is Monday, it returns 1Get the week day of NOW() with the first day set as sunday

Logical Operators

OperatorSampleDescription
<{Column1} < {Column2}Less than
>{Column1} > {Column2}Greater than
<={Column1} <= {Column2}Less than or equal to
>={Column1} >= {Column2}Greater than or equal to
=={Column1} == {Column2}Equal to
!={Column1} != {Column2}Not equal to

Conditional Expressions

NameSyntaxSampleOutput
IFIF(expr, successCase, elseCase)IF({Column} > 1, Value1, Value2)successCase if expr evaluates to TRUE, elseCase otherwise
SWITCHSWITCH(expr, [pattern, value, ..., default])SWITCH({Column}, 1, 'One', 2, 'Two', '--')Switch case value based on expr output
ANDAND(expr1, [expr2,...])AND({Column} > 2, {Column} < 10)TRUE if all expr evaluate to TRUE
OROR(expr1, [expr2,...])OR({Column} > 2, {Column} < 10)TRUE if at least one expr evaluates to TRUE

Logical operators, along with Numerical operators can be used to build conditional expressions.

Examples:

IF({marksSecured} > 80, "GradeA", "GradeB")  
SWITCH({quarterNumber},  
1, 'Jan-Mar',
2, 'Apr-Jun',
3, 'Jul-Sep',
4, 'Oct-Dec',
'INVALID'
)
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/import-airtable-to-sql-database-within-a-minute-for-free/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/import-airtable-to-sql-database-within-a-minute-for-free/index.html index ce8d0d4b93..634c8e3cb5 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/import-airtable-to-sql-database-within-a-minute-for-free/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/import-airtable-to-sql-database-within-a-minute-for-free/index.html @@ -4,15 +4,15 @@ Import Airtable to NocoDB | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Import Airtable to NocoDB

NocoDB allows a complete import of your Airtable to any MySQL, Postgres, SQLite and SQL server databases within minutes.

note

Import from Airtable is in beta version. See Importing Airtable To NocoDB for the migration notes.

Get Airtable Credentials

note

You need to retrieve API key and Shared Base ID / URL from Airtable.

Retrieve API Key

Retrieve Share Base ID / URL

See here for detailed procedures.

  1. Open Share menu in your Project / Base Screenshot 2022-05-16 at 3 47 27 PM

  2. Open tab Share Publicly

  3. Enable Turn on full base access

  4. Copy generated shared base URL Screenshot 2022-05-16 at 3 41 54 PM

Import Airtable to NocoDB

note

Prerequisites:
- A NocoDB Project
- Airtable Credentials

Below are 3 simple steps

  1. Go to your Project, Open Add / Import menu and click Airtable.

Screenshot 2022-09-14 at 9 27 51 AM

  1. Input API key & Shared Base ID / URL (retrieved from Get Airtable Credentials above).
  • <1> API Key
  • <2> Share Base ID
  • <3> Configuration option
    • Import Data: disable this option to import only table & view schema's
    • Import Secondary Views: disable this option to import only primary grid view per table
    • Import Rollup Columns: disable this option to skip Rollup column import
    • Import Lookup Columns: disable this option to skip Lookup column import
    • Import Attachments Columns: disable this option to skip Attachment column import
    • \<Not supported yet> Import Formula Columns: disable this option to skip Formula (computation) column import

Screenshot 2022-09-14 at 9 30 14 AM

  1. Click Import and you will see the status
  2. Wait until Go To Dashboard button is activated on the modal. Import details are captured in log window.

Screenshot 2022-09-14 at 9 33 42 AM

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/keyboard-maneuver/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/keyboard-maneuver/index.html index 9116b780f9..4ff219395c 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/keyboard-maneuver/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/keyboard-maneuver/index.html @@ -4,13 +4,13 @@ Keyboard Maneuver | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Keyboard Maneuver

Shortcuts

KeyBehaviour
ALT tInsert new table
ALT rInsert new row
ALT cInsert new column
ALT fToggle fullscreen mode
ALT iInvite a member to team
ALT ,Open Team & Settings menu

Grid view

KeyBehaviour
Jump to first record in this column (in same page)
Jump to last record in this column (in same page)
CCopy cell contents
EnterSwitch cell in focus to EDIT mode; opens modal/picker if cell is associated with one
EscExit cell EDIT mode
DeleteClear cell
SpaceExpand current row
General cell navigation
TabMove to next cell horizontally; if on last cell, move to next row beginning

Column type specific

DatatypeKeyBehaviour
Text / Numerical cells Move cursor to the left / right
Move cursor to the beginning / end
Single Select Move between options
EnterSelect option
Multi Select Move between options
EnterSelect / deselect option
DateTimeCtrl ;Select current date time
Link Move between options
EnterLink current selection
CheckboxEnterToggle
Rating<0 ~ Max>Enter number to toggle rating

Expanded form

KeyBehaviour
EnterSave current expanded form item
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/languages/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/languages/index.html index 6f7a28c985..3eaa724361 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/languages/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/languages/index.html @@ -4,13 +4,13 @@ Languages | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Languages

NocoDB supports multiple lanuages on dashboard. By default, English will be used. However, if you prefer to display in other languages, you can do the following steps to change the language.

Open Project Menu (click on project name on left top to access Project menu)

image

and select the one you prefer.

If you want to help translate, please check out i18n. If you want to request a new language, please create an issue on Github.

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/link-to-another-record/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/link-to-another-record/index.html index d181566f5b..a093eba72b 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/link-to-another-record/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/link-to-another-record/index.html @@ -4,15 +4,15 @@ Link To Another Record | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Link To Another Record

Relationship types:

  • One to one
    • A Table record in first table is related to only one record of second table.
    • Example: Country has a capital city
  • One to many
    • A Table record in first table is related to more than one record of second table. But second table record maps to only one entry of first table
    • NocoDB refers to this category of relationship as has many
    • For every has many relation defined, NocoDB augments belongs to relationship column in the other table automatically
    • Example: Country has many Cities. (other way mapping > City belongs to Country )
  • Many to many
    • A Table record in first table is related to more than one record of second table; second table record can also map to more than on record of first table.
    • NocoDB refers to this category of relationship as many to many
    • For every many to many relation defined between tables, NocoDB augments many to many relationship column in the other table automatically
    • Example: Film has many Actors. Actor has many Films (works on many films)

Further details of relationship types can be found here

Relationships between table records can be established by using LinkToAnotherRecord column type. Workflow details are captured below

Adding a relationship

image

1. Create column

Click on '+' button at end of column headers

2. Update column name

Input name in the text box provided

3. Select column type

Select Column type as "LinkToAnotherRecord" from the drop-down menu

4. Choose relationship type

  • 'Has Many' corresponds to the 'One-to-many' relationships
  • 'Many To Many' corresponds to the 'Many-to-many' relationships

5. Select child table from drop down menu

6. Click on 'Save'

A new column will get created in both the parent table & child table

Updating linked records

Click on the '+' icon in corresponding row - cell

image

2. Select from the option displayed

Use 'Filter box' to narrow down on search items You can opt to insert a new record as well, using "+ New Record" button

image

3. Column mapping showing "Has Many" relationship

Sheet1 'has many' Sheet2

image

4. Column mapping for "Belongs to" relationship [Automatically updated]

Sheet2 'belongs to' Sheet1

image
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/links/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/links/index.html index 8f7fc8f90c..b80028c72c 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/links/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/links/index.html @@ -4,8 +4,8 @@ Links | NocoDB - - + +
@@ -21,7 +21,7 @@ A new column will get created in both the parent table & child table

You can opt to insert a new record as well, using "+ New Record" button.
You can use ALT + Click to insert multiple options together.

Screenshot 2023-06-27 at 11 08 40 AM

3. Column display for "Has Many" relationship

Country 'has many' City

Screenshot 2023-06-27 at 11 11 50 AM

4. Column display for "Belongs to" relationship [Automatically updated]

City 'belongs to' Country.
Note: Primary value is still used as cell display value for "Belongs to" as it can have only one associated record.

Screenshot 2023-06-27 at 11 12 27 AM

Unlinking records

  1. Click on link count to open Child modal
  2. Click on Unlink icon against required item

Screenshot 2023-06-27 at 11 22 00 AM

Use column edit menu for Links to reconfigure display label

Screenshot 2023-06-27 at 11 16 19 AM

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/lookup/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/lookup/index.html index a8e760666e..8a8dd1f9a0 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/lookup/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/lookup/index.html @@ -4,13 +4,13 @@ Lookup | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Lookup

Lookup

Example organization structure

Consider an organization with

  • 5 departments (company departments), each department has a team name & associated team code. Each Team has many Employees - relationship has been defined using LinkToAnotherRecord or Linkscolumn
  • 5 employees working at different departments

Screenshot 2022-09-09 at 12 57 32 PM

Now, let's explore procedure to retrieve team-code information in Employee table using LOOKUP columns

Configuring a lookup column

1. Add new column : Click on '+' icon to the left of column headers in Employee table

2. Feed column name

3. Select column type as 'Lookup'

4. Choose child table

5. Select child column

6. Click on 'Save'

Screenshot 2022-09-09 at 12 21 13 PM

Required information is now populated in the newly created column

Screenshot 2022-09-09 at 12 26 06 PM

Additional notes

  • Nested 'Lookup' supported: a Lookup field can have its child column datatype as Lookup (or Rollup).
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/meta-management/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/meta-management/index.html index 9ce8870615..f74275d8fb 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/meta-management/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/meta-management/index.html @@ -4,14 +4,14 @@ Data Sources | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Data Sources

Overview

Data Sources sub-menu includes

  • Database Metadata
  • UI Access Control
  • ERD
  • Add/Remove new data source
  • Edit existing data source configuration
  • Edit data source visibility options

Note that, currently only one external data source can be added per project.

Accessing Data Sources

To access it, click the down arrow button next to Project Name on the top left side, then select Team & Settings and clicking Data Sources.

image

image

Sync Metadata

Go to Data Sources, click Sync Metadata, you can see your metadata sync status. If it is out of sync, you can sync the schema. See Sync Schema for more.

image

UI Access Control

Go to Data Sources, click UI ACL, you can control the access to each table by roles.

image

ERD

Go to Data Sources, click ERD, you can see the ERD of your database.

image

Junction table names within ERD

  • Enable Show M2M Tables within Project Settings menu
  • Double click on Show Columns to see additional checkboxes get enabled.
    • Enabling which you should be able to see junction tables and their table names.

image

Edit external database configuration parameters

Go to Data Sources, click Edit, you can re-configure database credentials.
Please make sure database configuration parameters are valid. Any incorrect parameters could lead to schema loss!

image

Go to Data Sources, click Delete against the data source that you wish to un-link.

image

Data source visibility

Go to Data Sources, toggle Radio-button against the data source that you wish to hide/un-hide.

image

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/primary-key/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/primary-key/index.html index 65903d76f4..05cc262c1b 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/primary-key/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/primary-key/index.html @@ -4,14 +4,14 @@ Primary Key | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Primary Key

What is a Primary Key ?

  • A primary key is a special database table column designated to uniquely identify each table record.

What is the use of Primary Key ?

  • As it uniquely identifies an individual record of a table, it is used internally by NocoDB for all operations associated with a record

Primary Key in NocoDB

  • Primary Key that gets defined / used in NocoDB depends on how underlying table was created. Summary is captured below
  1. From UI, Create new table / Import from Excel / Import from CSV
    1. An ID [datatype: Integer] system field created by default during table creation is used as primary key
    2. Additional system fields created-at, updated-at are inserted by default & can be omitted optionally; these fields can be deleted after table creation
  2. Connect to existing external database
    1. Existing primary key field defined for a table is retained as is; NocoDB doesn't insert a new ID field
    2. Additional system fields created-at, updated-at are not inserted by default
  3. Import from Airtable
    1. Airtable record ID is marked as primary key for imported records, and is mapped to field ncRecordId [datatype: varchar]
    2. If a new record is inserted after migration & if ncRecordId field was omitted during record insertion - auto generated string will be inserted by NocoDB
    3. Computed hash value for the entire record is stored in system field ncRecordHash
    4. Additional system fields created-at, updated-at are not inserted by default
  4. Create new table using SDK / API
    1. No default primary key field is introduced by NocoDB. It has to be explicitly specified during table creation (using attribute pk: true)

What if Primary Key was missing?

It is possible to have a table without any primary key.

  • External database table can be created without primary key configuration.
  • New table can be created using SDK / API without primary key In such scenario's, new records can be created in NocoDB for this table, but records can't be updated or deleted [as there is now way for NocoDB to uniquely identify these records]

Example : Primary Key & optional system fields during new table creation

image

Example : Show System Fields

image

Can I change the Primary Key to another column within tables ?

  • You can't update Primary Key from NocoDB UI. You can reconfigure it at database level directly & trigger meta sync explicitly.
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/project-settings/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/project-settings/index.html index aa54f17a8d..98ac8d0bad 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/project-settings/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/project-settings/index.html @@ -4,13 +4,13 @@ Project settings | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Project settings

Overview

Generic project configuration options are retained under Project Settings menu. To access it, click the down arrow button next to Project Name on the top left side, then select Team & Settings.

image

Then, under SETTINGS, click Project Settings.

image

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/rollup/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/rollup/index.html index 2f0e48e8ef..2ffb069032 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/rollup/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/rollup/index.html @@ -4,13 +4,13 @@ Rollup | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Rollup

Rollup

Sample Organization structure:

  • 5 Departments, each department has a team name & associated team code
  • 5 employees working at different Departments
  • Teams has many Employees : relationship has been defined

Screenshot 2022-09-09 at 12 57 32 PM

RollUp AGGREGATION functions supported

  • Count
  • Minimum
  • Maximum
  • Average
  • Sum
  • Count Distinct
  • Sum Distinct
  • Average Distinct

Now, we can explore how to extract employee count information per team using "ROLLUP" columns

Adding a rollup column

1. Add new column

Click on '+' icon to the left of column headers in Departments table

2. Feed column name

3. Select Column type as 'Rollup'

4. Choose Child Table

Table Employee in our example

5. Choose on ​Child column

Pick appropriate column for aggreagation

6. Select ​Aggregate function

Aggregate function will be "count" in our case

7. Click on Save

Screenshot 2022-09-09 at 1 03 49 PM

Column Employee Count is populated with appropriate information

image

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/share-base/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/share-base/index.html index 382b1080d9..7342f12da7 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/share-base/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/share-base/index.html @@ -4,13 +4,13 @@ Share Base | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Share Base

Generate Share base

  • Open Project
  • Click on Invite Team button on bottom left tool bar

image

  • Under Shared base link tab and toggle from Disabled Share base to Anyone with the link

image

  • Share base link generated is displayed over & can be used to share this project to others in the team [Selection (2) in the image below]

Screenshot 2022-02-19 at 12 01 58 PM

Modify Share base

Modifying Share base will invalidate the Share base link generated previously and will generate a new link.

  • Open Project base
  • Click on 'Share' button on top right tool bar
  • Click on 'Reload' button on Quick menu (next to Shared base link)

Disable Share base

Disabling Share base will invalidate the generated Share base link

  • Open Project base
  • Click on 'Share' button on top right tool bar
  • Under Shared base link and toggle from Anyone with the link to Disable Share base

Share base Access Permissions

Shared base can be configured as

  • Viewer - User with the link will get READ ONLY access to the project data.
  • Editor - User with the link will get READ & WRITE access to the project data.

Embeddable Frame

NocoDB interface can be embedded into existing applications easily by making use of HTML IFRAME) attribute.

Generate embeddable HTML code

  • Open Project base
  • Click on 'Share' button on top right tool bar
  • Under 'Shared base link' tab
    • Click on button to copy 'Embeddable HTML code'

Example:

<iframe
class="nc-embed"
src="https://nocodb-nocodb-rsyir.ondigitalocean.app/dashboard/#/nc/base/e3bba9df-4fc1-4d11-b7ce-41c4a3ad6810?embed"
frameBorder="0"
width="100%"
height="700"
style="background: transparent; border: 1px solid #ddd"
>
</iframe>

Embed into application's HTML Body

Sample code with embedded iframe generated above

<!DOCTYPE html>
<html>
<body>
<iframe
class="nc-embed"
src="http://localhost:3000/#/nc/base/7d4b551c-b5e0-41c9-a87b-f3984c21d2c7?embed"
frameBorder="0"
width="100%"
height="700"
style="background: transparent; "
></iframe>
</body>
</html>
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/share-view/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/share-view/index.html index ab098310f6..0bb6ffd837 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/share-view/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/share-view/index.html @@ -4,13 +4,13 @@ Share View | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Share View

Generate Share View

  • Open a table or a view

  • Click Share View on the toolbar

image

  • Copy the link and share to someone

image

  • Optionally you can enable Use Theme to select the share view theme (Only Form View is supported currently)

image

  • or you can enable Restrict access with a password if you want a password-protected view

image

  • or you can Download allowed if you want the people with this link can download the data

image

Access Share View

  • Access the link. If it is password-protected, enter the password to unlock.

image

  • Otherwise, you should see the share view.

image

- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/sync-schema/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/sync-schema/index.html index e122420982..47108fdc3d 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/sync-schema/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/sync-schema/index.html @@ -4,13 +4,13 @@ Sync Schema | NocoDB - - + +
Skip to main content
Version: 0.109.7 - Old UI

Sync Schema

How to sync schema changes to NocoDB

NocoDB allows you to sync schema changes if you have made changes outside NocoDB GUI. However, it has to be noted then you will have to bring your own schema migrations for moving from one environment to other.

Below are the steps to sync schema changes.

1. From the Project menu, click Team & Settings

image

2. Click Data Source under SETTINGS, click Sync Metadata on the target base

image

image

3. Changes carried outside GUI, identified by NocoDB are listed under Sync state

  • If changes made to the database are not visible, click Reload
  • Identified schema changes are identified for each table in red
  • Sync now button gets activated, if Schema changes are identified by NocoDB

image

4. Click Sync Now to complete Schema sync procedure

Notes

  1. Column rename operation will be treated like column delete & column create operation.
  2. Only table schema changes identified will be listed under Sync state. Any changes to records are automatically synchronized.
- - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/table-operations/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/table-operations/index.html index 8b2ebfa05b..ee9a457d7e 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/table-operations/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/table-operations/index.html @@ -4,8 +4,8 @@ Table Operations | NocoDB - - + +
@@ -14,7 +14,7 @@ image
  • Click Import to start importing process. The table will be created and the data will be imported. image
  • Import Excel data into an Existing Project

    • Hover Add new table button in table menu, click three dots, and click Microsoft Excel
    • Drag & drop or select file (at most 1 file) to upload or specify Excel file URL and Click Import.
      • Auto-Select Field Types: If it is checked, column types will be detected. Otherwise, it will default to SingleLineText.
      • Use First Row as Headers: If it is checked, the first row will be treated as header row.
      • Import Data: If it is checked, all data will be imported. Otherwise, only table will be created. image
    • You can revise the table name, column name and column type. By default, the first column will be chosen as Display Value and cannot be deleted.
    note

    If your Excel file contains multiple sheets, each sheet will be stored in a separate table.

    image
    • Click Import to start importing process. The table(s) will be created and the data will be imported to the corresponding table(s).

      image

    Export Data

    You can export your data from a table as a CSV file by clicking the down arrow next to Table name and hover on Download. Currently only CSV and XLSX formats are supported for export.

    image

    Import Data

    You can import your data in CSV format to a table by clicking the down arrow next to Table name and hover on Upload. Currently only CSV format is supported for upload.

    image
    - - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/team-and-auth/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/team-and-auth/index.html index 2bd87fca1b..1cf774ced8 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/team-and-auth/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/team-and-auth/index.html @@ -4,13 +4,13 @@ Team & Auth | NocoDB - - + +
    Skip to main content
    Version: 0.109.7 - Old UI

    Team & Auth

    Accessing Team & Auth

    • Click on Team & Settings from the Project Menu
    • Access Team & Auth under Settings
    image

    User Management

    How to Add a User

    1. Go to Team & Auth, click on Invite Team

    image

    1. Enter the user's E-mail. Select User Role, and Click Invite.
    tip

    You can add multiple comma (,) seperated emails

    Screenshot 2022-09-13 at 10 54 39 AM

    If you do not have an SMTP sender configured, make sure to copy the invite link and manually send it to your collaborator.

    Screenshot 2022-09-13 at 10 54 22 AM

    How to Update user permissions

    1. Use Edit <1> menu to assign a different role to existing user
    2. Use Delete <2> menu to remove a user from accessing current project

    image


    User Role Permissions

    Advanced Options & Configurations

                                                           Owner        Creator        Editor    Commenter    Viewer    
    Audit
    App Store
    Team & Auth
    Project Metadata
    New user: Add Owner
    New user: Add Creator
    New user: Add Editor
    New user: Add Commenter
    New user: Add Viewer
    View existing users
    Preview mode

    Schema Options

                                                           Owner        Creator        Editor    Commenter    Viewer    
    Add table
    Delete table
    Modify table
    Add column
    Delete column
    Modify column

    Record Options

                                                           Owner        Creator        Editor    Commenter    Viewer    
    Add row
    Delete row
    Modify row/ cell
    Expand row
    Right click on cell (add/edit row)
    View table data (cell) contents

    Comments

                                                           Owner        Creator        Editor    Commenter    Viewer    
    View comments from others
    Add comments

    Views

                                                           Owner        Creator        Editor    Commenter    Viewer    
    Create new view
    Share view

    Project Generals

                                                           Owner        Creator        Editor    Commenter    Viewer    
    Created views access
    Filter fields/ Column
    Filter fields/ Query
    Sort fields
    Theme
    Auth token
    Project Info
    Swagger API

    API Tokens Management

    NocoDB allows creating API tokens which allow it to be integrated seamlessly with 3rd party apps. API Token is a Nano ID with a length of 40. If you are passing API Token, make sure that the header is called xc-token.

    • Open Project Menu, click on Team & Settings
    image
    • Click API Tokens Management tab under Team & Auth section

    • Click Add New Token

    image

    • Type an recognizable name for your token and click Generate

    Screenshot 2022-09-14 at 10 20 10 AM

    • Copy API token to your clipboard; use action menu to the right of token list
    - - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/usage-information/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/usage-information/index.html index a0e1dfc988..5cc3d9abbd 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/usage-information/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/usage-information/index.html @@ -4,8 +4,8 @@ Usage Information | NocoDB - - + +
    @@ -15,7 +15,7 @@ To that end, NocoDB contains a feature in which anonymous and otherwise non-sens This anonymous and non-sensitive data gives a better understanding of how users are interacting and using the product.

    Context

    We will always continue to do hands-on UI/UX testing, surveys, issue tracking and roadmap. Otherwise talk with the Community while striving to understand and deliver what is being asked for and what is needed, by any means available.

    However, these above actions alone are often insufficient

    • To maintain an overall picture of the product usage.
    • Prioritising the efforts.
    • Impact of any breaking changes.
    • To understand whether UI improvements are helpful to users.

    What we collect ?

    We collect actions made on models (project, table, view, sharedView, user, hook, image, sharedBase etc) periodically with :

    • System information (OS, node version, docker or npm)
    • Environment (dev, staging, production)
    • Instance information (Unique machine ID, database type, count of projects and users)
    • Failures.

    Our UI Dashboard is a Vuejs-Nuxtjs app. Actions taken on UI with completely anonymized route names are sent as payload.

    What we DO NOT collect ?

    We do not collect any private or sensitive information, such as:

    • Personally identifiable information
    • Credential information (endpoints, ports, DB connections, username/password)
    • Database/User data

    Opt-out

    To disable usage information collection please set following environment variable.

    NC_DISABLE_TELE=true

    - - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/0.109.7/setup-and-usages/views/index.html b/packages/noco-docs/dist/0.109.7/setup-and-usages/views/index.html index c03b04832f..bf25e1612a 100644 --- a/packages/noco-docs/dist/0.109.7/setup-and-usages/views/index.html +++ b/packages/noco-docs/dist/0.109.7/setup-and-usages/views/index.html @@ -4,13 +4,13 @@ Views | NocoDB - - + +
    Skip to main content
    Version: 0.109.7 - Old UI

    Views

    What's a View?

    In a table, you can use different views to display your data. You can show specific fields in a View. You can also apply Sorting or Filtering to the View. Each View is independent, which means the configuration applying to View 1 will not apply to View 2.

    To navigate different views, we can select the target one in the view sidebar. By default, Grid View will be created for you after creating the table. You can create multiple views of a type, as long as they have unique View names.

    View Menu Bar

    To work with Views, use View menu-bar on the right hand side -

    • <1> Toggle View menu-bar.
    • <2> Displays created view-list for the selected table
      • Currently active view is high-lighted
    • <3> Add new view to the list

    image

    View Types

    Grid View

    Grid View, as a default type of view, allows you to display your data in a spreadsheet-like interface.

    1010-2 Grid

    Form View

    Form View allows you to arrange fields in a form to input data.

    1010-2 Form

    You can drag-drop columns from the form to form-field-menu-bar as requried.

    Gallery View allows you to display images as thumbnails with other fields just like a gallery.

    1010-2 Gallery

    Kanban View

    Kanban View allows you to visualise your data using cards at various stacks.

    1010-2 Kanban

    View Permission Types

    We can apply permission to each View. By default, Collaborative Views will be used. To see or change the view type, expand view-tool-bar-menu as shown below.

    Screenshot 2022-09-09 at 3 46 33 PM

    Collaborative Views (default)

    • Collaborators with edit permissions or higher can change the view configurations

    Locked Views

    • No one can edit view configurations until it is Unlocked
    • All collaborators can only READ data from such views

    Personal Views

    • Only you can edit the view configuration.
    • Your personal views are hidden for other collaborators
    • Are not available currently; will be enabled in future release

    View Operations

    Screenshot 2022-09-09 at 3 27 46 PM

    Create a View

    Click '+' in View-menu sidebar, as shown in <3>.

    Rename a View

    Double click on view-name, edit, .

    Delete a View

    Hover the target View and click the delete icon, as shown in <2>.

    note

    You cannot delete the very first Grid View (termed as Default view).

    Duplicate a View

    Hover the target View and click the copy icon, as shown in <2>.

    Reorder a View

    Hover the target View and re-order it as needed by drag-drop the drag icon, as shown in <1>.

    - - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/404.html b/packages/noco-docs/dist/404.html index 0905baa4e3..36c0478cd5 100644 --- a/packages/noco-docs/dist/404.html +++ b/packages/noco-docs/dist/404.html @@ -4,13 +4,13 @@ Page Not Found | NocoDB - - + +
    Skip to main content

    Page Not Found

    We could not find what you were looking for.

    Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

    - - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/FAQs/index.html b/packages/noco-docs/dist/FAQs/index.html index 9a9b608504..61e918921c 100644 --- a/packages/noco-docs/dist/FAQs/index.html +++ b/packages/noco-docs/dist/FAQs/index.html @@ -4,15 +4,15 @@ FAQs | NocoDB - - + +
    Skip to main content
    Version: Latest

    FAQs

    How to upgrade NocoDB ?

    How to export CSV from the grid view ?

    How to share the project with read only access ?

    • Either you can invite by email with 'viewer' access control
    • Share the base with publicly accessible link. Available since 0.82.0

    How to check my Project info ?

    • You can open Project context menu and click Copy Project Info.

    image

    You should see the similar result as below.

    Node: **v18.16.4**
    Arch: **arm64**
    Platform: **linux**
    Docker: **true**
    RootDB: **sqlite3**
    PackageVersion: **0.111.0**

    What is available in free version ?

    • Detailed comparison of NocoDB's generous CE compared to others is here.
    • NocoDB has just one version that is free & open source.
    • In it you will notice advanced features are all available for free.
      • ACL
      • Collaboration
      • Advanced Views : Form View, Gallery View & Kanban View
      • Share View
      • Embed View
      • Password protected View
      • Automations
      • API Token Support
    • And we would never move these features from free to an enterprise version of NocoDB.
    • There is no limitations to number of projects, records or fields either.

    What is the difference between Auth Token and API Token ?

    Auth Token is a JWT Token generated based on the logged-in user. By default, the token is only valid for 10 hours. However, you can change the value by defining it using environment variable NC_JWT_EXPIRES_IN. If you are passing Auth Token, make sure that the header is called xc-auth.

    API Token is a Nano ID with a length of 40. If you are passing API Token, make sure that the header is called xc-token.

    Do we plan to have an Enterprise Edition?

    For features that make sense for enterprises like below - yes

    • SSO, SLA, Organisation wide reports and analytics,
    • Advanced Audit or ACL,
    • Bespoke implementations & integrations,
    • A hosted solution.

    And increasing number of our customers are requesting it.

    How do we decide if a feature is Enterprise or not ?

    • Depends on the effort and whether the intended users are enterprises.

    What are the official socials for NocoDB?

    Is NocoDB available on the cloud?

    Soon! NocoDB is currently developing cloud infrastructure. To join the upcoming FREE private beta program, fill out this form here and be the first to try it!

    - - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/account-settings/api-tokens/index.html b/packages/noco-docs/dist/account-settings/api-tokens/index.html index 4a11c7abb5..ab9d41b733 100644 --- a/packages/noco-docs/dist/account-settings/api-tokens/index.html +++ b/packages/noco-docs/dist/account-settings/api-tokens/index.html @@ -4,13 +4,13 @@ API tokens | NocoDB - - + +
    Skip to main content
    Version: Latest

    API tokens

    Create API Token

    Open Account Settings page from the user menu in the bottom left corner of the sidebar.

    1. Click on User menu in the bottom left corner of the sidebar,
    2. Select Account Settings from the dropdown

    profile page

    Follow the steps below to create API Token

    1. Click on Tokens tab in the Account Settings page
    2. Click on Add New API Token
    3. Enter the name for the API Token
    4. Click on Save button to save the changes

    Create API Token

    Create API Token

    danger

    Only one token can be created per user

    API Token created will get added to the list. Copy API token by clicking on Copy button displayed under Actions menu

    Create API Token

    Delete API Token

    Open Account Settings page from the user menu in the bottom left corner of the sidebar.

    1. Click on User menu in the bottom left corner of the sidebar,
    2. Select Account Settings from the dropdown

    profile page

    1. Click on Tokens tab in the Account Settings page
    2. From the Actions menu, click on Delete button associated with the API Token to be deleted

    Delete API Token

    danger

    Note that, all the services using the API Token will stop working once the API Token is deleted.

    - - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/account-settings/oss-specific-details/index.html b/packages/noco-docs/dist/account-settings/oss-specific-details/index.html index c2846e9dda..0b155917e7 100644 --- a/packages/noco-docs/dist/account-settings/oss-specific-details/index.html +++ b/packages/noco-docs/dist/account-settings/oss-specific-details/index.html @@ -4,14 +4,14 @@ In Open Source | NocoDB - - + +
    Skip to main content
    Version: Latest

    In Open Source

    Some of the Account settings features are available only in Open Source NocoDB. This article explains details about such specifics.

    Enable / Disable Signup

    Signup without an invitation is disabled by default and can be managed from UI by a super admin.

    Invite only signup

    App Store

    App store lists available integrations for NocoDB. You can install and configure these integrations from the App store.

    Screenshot 2023-08-22 at 5 02 26 PM We provide different integrations in three main categories.

    CategoryApp Name
    ChatMicrosoft Teams
    Discord
    Twilio
    Whatsapp Twilio
    Mattermost
    Slack
    EmailSMTP
    MailerSend
    AWS SES
    StorageAWS S3
    Minio
    Google Cloud Storage
    Spaces
    Backblaze B2
    Vultr Object Storage
    OvhCloud Object Storage
    Linode Object Storage
    UpCloud Object Storage
    Scaleway Object Storage
    - - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/account-settings/profile-page/index.html b/packages/noco-docs/dist/account-settings/profile-page/index.html index 95ff8c7582..0297f5adfd 100644 --- a/packages/noco-docs/dist/account-settings/profile-page/index.html +++ b/packages/noco-docs/dist/account-settings/profile-page/index.html @@ -4,13 +4,13 @@ Profile page | NocoDB - - + +
    Skip to main content
    Version: Latest

    Profile page

    Profile page is the place where you can manage your profile information. Currently, only a custom username can be setup as part of profile configuration. To access your profile page,

    1. Click on User menu in the bottom left corner of the sidebar,
    2. Select Account Settings from the dropdown
    3. Change Profile name
    4. Click on Save button to save the changes

    profile page

    profile page

    - - + + \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/00aa88f5.ece547d6.js b/packages/noco-docs/dist/assets/js/00aa88f5.0f19df7e.js similarity index 67% rename from packages/noco-docs/dist/assets/js/00aa88f5.ece547d6.js rename to packages/noco-docs/dist/assets/js/00aa88f5.0f19df7e.js index 5a03a12b53..eabcc56eb7 100644 --- a/packages/noco-docs/dist/assets/js/00aa88f5.ece547d6.js +++ b/packages/noco-docs/dist/assets/js/00aa88f5.0f19df7e.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1185],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>g});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),s=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},b=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(n),b=a,g=u["".concat(c,".").concat(b)]||u[b]||d[b]||o;return n?r.createElement(g,i(i({ref:t},p),{},{components:n})):r.createElement(g,i({ref:t},p))}));function g(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=b;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:a,i[1]=l;for(var s=2;s{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>s});var r=n(87462),a=(n(67294),n(3905));const o={title:"In Open Source",description:"This article explains Account settings specifics in Open source NocoDB.",tags:["Account settings","Open Source"],keywords:["Account settings","Open Source"]},i=void 0,l={unversionedId:"account-settings/oss-specific-details",id:"account-settings/oss-specific-details",title:"In Open Source",description:"This article explains Account settings specifics in Open source NocoDB.",source:"@site/docs/140.account-settings/030.oss-specific-details.md",sourceDirName:"140.account-settings",slug:"/account-settings/oss-specific-details",permalink:"/account-settings/oss-specific-details",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/140.account-settings/030.oss-specific-details.md",tags:[{label:"Account settings",permalink:"/tags/account-settings"},{label:"Open Source",permalink:"/tags/open-source"}],version:"current",sidebarPosition:30,frontMatter:{title:"In Open Source",description:"This article explains Account settings specifics in Open source NocoDB.",tags:["Account settings","Open Source"],keywords:["Account settings","Open Source"]},sidebar:"tutorialSidebar",previous:{title:"API tokens",permalink:"/account-settings/api-tokens"},next:{title:"Architecture overview",permalink:"/engineering/architecture"}},c={},s=[{value:"Enable / Disable Signup",id:"enable--disable-signup",level:2},{value:"App Store",id:"app-store",level:2}],p={toc:s},u="wrapper";function d(e){let{components:t,...o}=e;return(0,a.kt)(u,(0,r.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Some of the Account settings features are available only in Open Source NocoDB. This article explains details about such specifics."),(0,a.kt)("h2",{id:"enable--disable-signup"},"Enable / Disable Signup"),(0,a.kt)("p",null,"Signup without an invitation is disabled by default and can be managed from UI by a super admin."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Invite only signup",src:n(6340).Z,width:"2872",height:"890"})),(0,a.kt)("h2",{id:"app-store"},"App Store"),(0,a.kt)("p",null,"App store lists available integrations for NocoDB. You can install and configure these integrations from the App store."),(0,a.kt)("p",null,(0,a.kt)("img",{parentName:"p",src:"https://github.com/nocodb/nocodb/assets/86527202/e739a4b6-6ab6-4ee7-aac3-073d3aaf20ac",alt:"Screenshot 2023-08-22 at 5 02 26 PM"}),"\nWe provide different integrations in three main categories."),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Category"),(0,a.kt)("th",{parentName:"tr",align:null},"App Name"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("strong",{parentName:"td"},"Chat")),(0,a.kt)("td",{parentName:"tr",align:null},"Microsoft Teams ",(0,a.kt)("br",null)," Discord ",(0,a.kt)("br",null)," Twilio ",(0,a.kt)("br",null)," Whatsapp Twilio",(0,a.kt)("br",null)," Mattermost",(0,a.kt)("br",null)," Slack")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("strong",{parentName:"td"},"Email")),(0,a.kt)("td",{parentName:"tr",align:null},"SMTP",(0,a.kt)("br",null)," MailerSend",(0,a.kt)("br",null)," AWS SES")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("strong",{parentName:"td"},"Storage")),(0,a.kt)("td",{parentName:"tr",align:null},"AWS S3 ",(0,a.kt)("br",null)," Minio ",(0,a.kt)("br",null)," Google Cloud Storage ",(0,a.kt)("br",null)," Spaces ",(0,a.kt)("br",null)," Backblaze B2 ",(0,a.kt)("br",null)," Vultr Object Storage ",(0,a.kt)("br",null)," OvhCloud Object Storage ",(0,a.kt)("br",null)," Linode Object Storage ",(0,a.kt)("br",null)," UpCloud Object Storage ",(0,a.kt)("br",null)," Scaleway Object Storage")))))}d.isMDXComponent=!0},6340:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/invite-only-sign-up-a9a36ba0e96b88ac229b92889b471ae9.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1185],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>g});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),s=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},b=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(n),b=a,g=u["".concat(c,".").concat(b)]||u[b]||d[b]||o;return n?r.createElement(g,i(i({ref:t},p),{},{components:n})):r.createElement(g,i({ref:t},p))}));function g(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=b;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:a,i[1]=l;for(var s=2;s{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>s});var r=n(87462),a=(n(67294),n(3905));const o={title:"In Open Source",description:"This article explains Account settings specifics in Open source NocoDB.",tags:["Account settings","Open Source"],keywords:["Account settings","Open Source"]},i=void 0,l={unversionedId:"account-settings/oss-specific-details",id:"account-settings/oss-specific-details",title:"In Open Source",description:"This article explains Account settings specifics in Open source NocoDB.",source:"@site/docs/140.account-settings/030.oss-specific-details.md",sourceDirName:"140.account-settings",slug:"/account-settings/oss-specific-details",permalink:"/account-settings/oss-specific-details",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/140.account-settings/030.oss-specific-details.md",tags:[{label:"Account settings",permalink:"/tags/account-settings"},{label:"Open Source",permalink:"/tags/open-source"}],version:"current",sidebarPosition:30,frontMatter:{title:"In Open Source",description:"This article explains Account settings specifics in Open source NocoDB.",tags:["Account settings","Open Source"],keywords:["Account settings","Open Source"]},sidebar:"tutorialSidebar",previous:{title:"API tokens",permalink:"/account-settings/api-tokens"},next:{title:"Architecture overview",permalink:"/engineering/architecture"}},c={},s=[{value:"Enable / Disable Signup",id:"enable--disable-signup",level:2},{value:"App Store",id:"app-store",level:2}],p={toc:s},u="wrapper";function d(e){let{components:t,...o}=e;return(0,a.kt)(u,(0,r.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Some of the Account settings features are available only in Open Source NocoDB. This article explains details about such specifics."),(0,a.kt)("h2",{id:"enable--disable-signup"},"Enable / Disable Signup"),(0,a.kt)("p",null,"Signup without an invitation is disabled by default and can be managed from UI by a super admin."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Invite only signup",src:n(55746).Z,width:"2872",height:"890"})),(0,a.kt)("h2",{id:"app-store"},"App Store"),(0,a.kt)("p",null,"App store lists available integrations for NocoDB. You can install and configure these integrations from the App store."),(0,a.kt)("p",null,(0,a.kt)("img",{parentName:"p",src:"https://github.com/nocodb/nocodb/assets/86527202/e739a4b6-6ab6-4ee7-aac3-073d3aaf20ac",alt:"Screenshot 2023-08-22 at 5 02 26 PM"}),"\nWe provide different integrations in three main categories."),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Category"),(0,a.kt)("th",{parentName:"tr",align:null},"App Name"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("strong",{parentName:"td"},"Chat")),(0,a.kt)("td",{parentName:"tr",align:null},"Microsoft Teams ",(0,a.kt)("br",null)," Discord ",(0,a.kt)("br",null)," Twilio ",(0,a.kt)("br",null)," Whatsapp Twilio",(0,a.kt)("br",null)," Mattermost",(0,a.kt)("br",null)," Slack")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("strong",{parentName:"td"},"Email")),(0,a.kt)("td",{parentName:"tr",align:null},"SMTP",(0,a.kt)("br",null)," MailerSend",(0,a.kt)("br",null)," AWS SES")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("strong",{parentName:"td"},"Storage")),(0,a.kt)("td",{parentName:"tr",align:null},"AWS S3 ",(0,a.kt)("br",null)," Minio ",(0,a.kt)("br",null)," Google Cloud Storage ",(0,a.kt)("br",null)," Spaces ",(0,a.kt)("br",null)," Backblaze B2 ",(0,a.kt)("br",null)," Vultr Object Storage ",(0,a.kt)("br",null)," OvhCloud Object Storage ",(0,a.kt)("br",null)," Linode Object Storage ",(0,a.kt)("br",null)," UpCloud Object Storage ",(0,a.kt)("br",null)," Scaleway Object Storage")))))}d.isMDXComponent=!0},55746:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/invite-only-sign-up-a9a36ba0e96b88ac229b92889b471ae9.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/023320c3.23325e99.js b/packages/noco-docs/dist/assets/js/023320c3.f640481f.js similarity index 89% rename from packages/noco-docs/dist/assets/js/023320c3.23325e99.js rename to packages/noco-docs/dist/assets/js/023320c3.f640481f.js index 02ae9ae716..1ee6de8a33 100644 --- a/packages/noco-docs/dist/assets/js/023320c3.23325e99.js +++ b/packages/noco-docs/dist/assets/js/023320c3.f640481f.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1484],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var o=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function r(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=o.createContext({}),s=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},p=function(e){var t=s(e.components);return o.createElement(c.Provider,{value:t},e.children)},k="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},u=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),k=s(n),u=i,m=k["".concat(c,".").concat(u)]||k[u]||d[u]||a;return n?o.createElement(m,r(r({ref:t},p),{},{components:n})):o.createElement(m,r({ref:t},p))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,r=new Array(a);r[0]=u;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[k]="string"==typeof e?e:i,r[1]=l;for(var s=2;s{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var o=n(87462),i=(n(67294),n(3905));const a={title:"API tokens",description:"This article explains how to create and work with API Tokens.",tags:["Account Settings","Api Tokens"],keywords:["api tokens","create api token","delete api token"]},r=void 0,l={unversionedId:"account-settings/api-tokens",id:"account-settings/api-tokens",title:"API tokens",description:"This article explains how to create and work with API Tokens.",source:"@site/docs/140.account-settings/020.api-tokens.md",sourceDirName:"140.account-settings",slug:"/account-settings/api-tokens",permalink:"/account-settings/api-tokens",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/140.account-settings/020.api-tokens.md",tags:[{label:"Account Settings",permalink:"/tags/account-settings"},{label:"Api Tokens",permalink:"/tags/api-tokens"}],version:"current",sidebarPosition:20,frontMatter:{title:"API tokens",description:"This article explains how to create and work with API Tokens.",tags:["Account Settings","Api Tokens"],keywords:["api tokens","create api token","delete api token"]},sidebar:"tutorialSidebar",previous:{title:"Profile page",permalink:"/account-settings/profile-page"},next:{title:"In Open Source",permalink:"/account-settings/oss-specific-details"}},c={},s=[{value:"Create API Token",id:"create-api-token",level:2},{value:"Delete API Token",id:"delete-api-token",level:2}],p={toc:s},k="wrapper";function d(e){let{components:t,...a}=e;return(0,i.kt)(k,(0,o.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"create-api-token"},"Create API Token"),(0,i.kt)("p",null,"Open Account Settings page from the user menu in the bottom left corner of the sidebar. "),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"User menu")," in the bottom left corner of the sidebar,"),(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Account Settings")," from the dropdown")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"profile page",src:n(80992).Z,width:"2432",height:"1388"})),(0,i.kt)("p",null,"Follow the steps below to create API Token"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Tokens")," tab in the ",(0,i.kt)("inlineCode",{parentName:"li"},"Account Settings")," page"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Add New API Token")),(0,i.kt)("li",{parentName:"ol"},"Enter the name for the API Token"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Save")," button to save the changes")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Create API Token",src:n(31725).Z,width:"2866",height:"1068"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Create API Token",src:n(31220).Z,width:"2862",height:"1054"})),(0,i.kt)("admonition",{type:"warning"},(0,i.kt)("p",{parentName:"admonition"},"Only one token can be created per user")),(0,i.kt)("p",null,"API Token created will get added to the list. Copy API token by clicking on ",(0,i.kt)("inlineCode",{parentName:"p"},"Copy")," button displayed under ",(0,i.kt)("inlineCode",{parentName:"p"},"Actions")," menu"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Create API Token",src:n(70988).Z,width:"2870",height:"1050"})),(0,i.kt)("h2",{id:"delete-api-token"},"Delete API Token"),(0,i.kt)("p",null,"Open Account Settings page from the user menu in the bottom left corner of the sidebar."),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"User menu")," in the bottom left corner of the sidebar,"),(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Account Settings")," from the dropdown")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"profile page",src:n(80992).Z,width:"2432",height:"1388"})),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Tokens")," tab in the ",(0,i.kt)("inlineCode",{parentName:"li"},"Account Settings")," page"),(0,i.kt)("li",{parentName:"ol"},"From the ",(0,i.kt)("inlineCode",{parentName:"li"},"Actions")," menu, click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Delete")," button associated with the API Token to be deleted")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Delete API Token",src:n(47996).Z,width:"2870",height:"1050"})),(0,i.kt)("admonition",{type:"warning"},(0,i.kt)("p",{parentName:"admonition"},"Note that, all the services using the API Token will stop working once the API Token is deleted.")))}d.isMDXComponent=!0},80992:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/account-settings-3f8b281c933be2349ddb19f0fa8660e8.png"},31725:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/api-token-1-6806c5ece8a92717e786e0fa4e824081.png"},31220:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/api-token-2-378e04140d53a68be86d17d3561c8591.png"},70988:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/api-token-3-493d6baa74b64ec5d6a00c20d6806fd4.png"},47996:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/api-token-4-1a6120f496ccdfca799987a4dc8f9027.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1484],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var o=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function r(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=o.createContext({}),s=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},p=function(e){var t=s(e.components);return o.createElement(c.Provider,{value:t},e.children)},k="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},u=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),k=s(n),u=i,m=k["".concat(c,".").concat(u)]||k[u]||d[u]||a;return n?o.createElement(m,r(r({ref:t},p),{},{components:n})):o.createElement(m,r({ref:t},p))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,r=new Array(a);r[0]=u;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[k]="string"==typeof e?e:i,r[1]=l;for(var s=2;s{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var o=n(87462),i=(n(67294),n(3905));const a={title:"API tokens",description:"This article explains how to create and work with API Tokens.",tags:["Account Settings","Api Tokens"],keywords:["api tokens","create api token","delete api token"]},r=void 0,l={unversionedId:"account-settings/api-tokens",id:"account-settings/api-tokens",title:"API tokens",description:"This article explains how to create and work with API Tokens.",source:"@site/docs/140.account-settings/020.api-tokens.md",sourceDirName:"140.account-settings",slug:"/account-settings/api-tokens",permalink:"/account-settings/api-tokens",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/140.account-settings/020.api-tokens.md",tags:[{label:"Account Settings",permalink:"/tags/account-settings"},{label:"Api Tokens",permalink:"/tags/api-tokens"}],version:"current",sidebarPosition:20,frontMatter:{title:"API tokens",description:"This article explains how to create and work with API Tokens.",tags:["Account Settings","Api Tokens"],keywords:["api tokens","create api token","delete api token"]},sidebar:"tutorialSidebar",previous:{title:"Profile page",permalink:"/account-settings/profile-page"},next:{title:"In Open Source",permalink:"/account-settings/oss-specific-details"}},c={},s=[{value:"Create API Token",id:"create-api-token",level:2},{value:"Delete API Token",id:"delete-api-token",level:2}],p={toc:s},k="wrapper";function d(e){let{components:t,...a}=e;return(0,i.kt)(k,(0,o.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"create-api-token"},"Create API Token"),(0,i.kt)("p",null,"Open Account Settings page from the user menu in the bottom left corner of the sidebar. "),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"User menu")," in the bottom left corner of the sidebar,"),(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Account Settings")," from the dropdown")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"profile page",src:n(22504).Z,width:"2432",height:"1388"})),(0,i.kt)("p",null,"Follow the steps below to create API Token"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Tokens")," tab in the ",(0,i.kt)("inlineCode",{parentName:"li"},"Account Settings")," page"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Add New API Token")),(0,i.kt)("li",{parentName:"ol"},"Enter the name for the API Token"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Save")," button to save the changes")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Create API Token",src:n(31237).Z,width:"2866",height:"1068"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Create API Token",src:n(36779).Z,width:"2862",height:"1054"})),(0,i.kt)("admonition",{type:"warning"},(0,i.kt)("p",{parentName:"admonition"},"Only one token can be created per user")),(0,i.kt)("p",null,"API Token created will get added to the list. Copy API token by clicking on ",(0,i.kt)("inlineCode",{parentName:"p"},"Copy")," button displayed under ",(0,i.kt)("inlineCode",{parentName:"p"},"Actions")," menu"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Create API Token",src:n(51959).Z,width:"2870",height:"1050"})),(0,i.kt)("h2",{id:"delete-api-token"},"Delete API Token"),(0,i.kt)("p",null,"Open Account Settings page from the user menu in the bottom left corner of the sidebar."),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"User menu")," in the bottom left corner of the sidebar,"),(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Account Settings")," from the dropdown")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"profile page",src:n(22504).Z,width:"2432",height:"1388"})),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Tokens")," tab in the ",(0,i.kt)("inlineCode",{parentName:"li"},"Account Settings")," page"),(0,i.kt)("li",{parentName:"ol"},"From the ",(0,i.kt)("inlineCode",{parentName:"li"},"Actions")," menu, click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Delete")," button associated with the API Token to be deleted")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Delete API Token",src:n(51126).Z,width:"2870",height:"1050"})),(0,i.kt)("admonition",{type:"warning"},(0,i.kt)("p",{parentName:"admonition"},"Note that, all the services using the API Token will stop working once the API Token is deleted.")))}d.isMDXComponent=!0},22504:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/account-settings-3f8b281c933be2349ddb19f0fa8660e8.png"},31237:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/api-token-1-6806c5ece8a92717e786e0fa4e824081.png"},36779:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/api-token-2-378e04140d53a68be86d17d3561c8591.png"},51959:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/api-token-3-493d6baa74b64ec5d6a00c20d6806fd4.png"},51126:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/api-token-4-1a6120f496ccdfca799987a4dc8f9027.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/037e2c34.f85ca2b6.js b/packages/noco-docs/dist/assets/js/037e2c34.b75b8698.js similarity index 81% rename from packages/noco-docs/dist/assets/js/037e2c34.f85ca2b6.js rename to packages/noco-docs/dist/assets/js/037e2c34.b75b8698.js index 6c615edd90..6774f10d51 100644 --- a/packages/noco-docs/dist/assets/js/037e2c34.f85ca2b6.js +++ b/packages/noco-docs/dist/assets/js/037e2c34.b75b8698.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7820],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>m});var n=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var s=n.createContext({}),c=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},d="mdxType",b={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,r=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=c(a),h=o,m=d["".concat(s,".").concat(h)]||d[h]||b[h]||r;return a?n.createElement(m,i(i({ref:t},p),{},{components:a})):n.createElement(m,i({ref:t},p))}));function m(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=a.length,i=new Array(r);i[0]=h;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:o,i[1]=l;for(var c=2;c{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>b,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var n=a(87462),o=(a(67294),a(3905));const r={title:"Share base",description:"Procedures to share a base publicly & generating embedded iframe",tags:["Collaboration","Bases","Share"],keywords:["NocoDB base","share base","base collaboration","base actions","base settings"]},i=void 0,l={unversionedId:"collaboration/share-base",id:"collaboration/share-base",title:"Share base",description:"Procedures to share a base publicly & generating embedded iframe",source:"@site/docs/120.collaboration/030.share-base.md",sourceDirName:"120.collaboration",slug:"/collaboration/share-base",permalink:"/collaboration/share-base",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/120.collaboration/030.share-base.md",tags:[{label:"Collaboration",permalink:"/tags/collaboration"},{label:"Bases",permalink:"/tags/bases"},{label:"Share",permalink:"/tags/share"}],version:"current",sidebarPosition:30,frontMatter:{title:"Share base",description:"Procedures to share a base publicly & generating embedded iframe",tags:["Collaboration","Bases","Share"],keywords:["NocoDB base","share base","base collaboration","base actions","base settings"]},sidebar:"tutorialSidebar",previous:{title:"Base collaboration",permalink:"/collaboration/base-collaboration"},next:{title:"Share view",permalink:"/collaboration/share-view"}},s={},c=[{value:"Copy base",id:"copy-base",level:2},{value:"Modify Share base",id:"modify-share-base",level:2},{value:"Disable Share base",id:"disable-share-base",level:2},{value:"Share base Access Permissions",id:"share-base-access-permissions",level:2},{value:"Embeddable Frame",id:"embeddable-frame",level:2},{value:"Embed into application's HTML Body",id:"embed-into-applications-html-body",level:3}],p={toc:c},d="wrapper";function b(e){let{components:t,...r}=e;return(0,o.kt)(d,(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"To share a base, follow the steps below:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Navigate to the top right corner of the top navigation bar and click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"Share")," button."),(0,o.kt)("li",{parentName:"ol"},"In the ",(0,o.kt)("inlineCode",{parentName:"li"},"Shared base")," section, toggle the switch to ",(0,o.kt)("inlineCode",{parentName:"li"},"Enable public access")," in order to activate the shared base feature."),(0,o.kt)("li",{parentName:"ol"},"The generated link for the shared base will be displayed above and can be utilized to share this project with others. To copy the URL, simply click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"Copy Link")," option.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Share base",src:a(3132).Z,width:"2898",height:"1216"})),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Share base",src:a(43320).Z,width:"2876",height:"1324"})),(0,o.kt)("h2",{id:"copy-base"},"Copy base"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"Copy base")," feature allows users to create a copy of the base (import base) into their own Workspace. This feature is also useful for users who wish to utilize a base as a template for future projects. To copy a base, follow the steps below:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Access shared base URL that you wish to copy."),(0,o.kt)("li",{parentName:"ol"},"Click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"Copy base")," button located in the top right corner of the toolbar."),(0,o.kt)("li",{parentName:"ol"},"A modal will appear, prompting you to select the Workspace you wish to copy the base to. Select the desired Workspace "),(0,o.kt)("li",{parentName:"ol"},"Configure if you wish to copy the base with or without data / views."),(0,o.kt)("li",{parentName:"ol"},"Click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"Copy base")," button to complete the process.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Copy base",src:a(86636).Z,width:"2876",height:"1038"}),"\n",(0,o.kt)("img",{alt:"Copy base",src:a(78986).Z,width:"2876",height:"1422"})),(0,o.kt)("h2",{id:"modify-share-base"},"Modify Share base"),(0,o.kt)("p",null,"Amending the ",(0,o.kt)("inlineCode",{parentName:"p"},"Share base")," setting will render the previously generated ",(0,o.kt)("inlineCode",{parentName:"p"},"Share base")," link invalid and generate a new link in its place.\nHere are the steps to modify it:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"Share")," button located in the top right corner of the toolbar."),(0,o.kt)("li",{parentName:"ol"},"Toggle the option labeled ",(0,o.kt)("inlineCode",{parentName:"li"},"Enable public access")," to deactivate the base share."),(0,o.kt)("li",{parentName:"ol"},"Toggle the same option, ",(0,o.kt)("inlineCode",{parentName:"li"},"Enable public access,")," to reactivate the base share, subsequently generating a new link.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Enable public access",src:a(78830).Z,width:"2874",height:"1790"})),(0,o.kt)("h2",{id:"disable-share-base"},"Disable Share base"),(0,o.kt)("p",null,"Disabling ",(0,o.kt)("inlineCode",{parentName:"p"},"Share base")," will render the previously generated ",(0,o.kt)("inlineCode",{parentName:"p"},"Share base")," link invalid\nHere are the steps to disable it:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on the 'Share' button located in the top right corner of the toolbar."),(0,o.kt)("li",{parentName:"ol"},"Toggle the option labeled ",(0,o.kt)("inlineCode",{parentName:"li"},"Enable public access")," to deactivate the base share.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Enable public access",src:a(78830).Z,width:"2874",height:"1790"})),(0,o.kt)("h2",{id:"share-base-access-permissions"},"Share base Access Permissions"),(0,o.kt)("p",null,'The "Shared base" can be configured in two modes:'),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Viewer")," - Users with the provided link will have ",(0,o.kt)("strong",{parentName:"li"},"read-only")," access to the base data."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Editor")," - Users with the provided link will have ",(0,o.kt)("strong",{parentName:"li"},"read and write")," access to the base data.")),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("ul",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ul"},"The default access permission is set to ",(0,o.kt)("inlineCode",{parentName:"li"},"Viewer")),(0,o.kt)("li",{parentName:"ul"},"Shared base with ",(0,o.kt)("inlineCode",{parentName:"li"},"Editor")," access permission is only available in Self-hosted version currently"))),(0,o.kt)("p",null,"Toggle ",(0,o.kt)("inlineCode",{parentName:"p"},"Enable Editor Access")," button to configure permissions as desired\n",(0,o.kt)("img",{alt:"Share base edit access",src:a(82630).Z,width:"2874",height:"1790"})),(0,o.kt)("h2",{id:"embeddable-frame"},"Embeddable Frame"),(0,o.kt)("p",null,"The NocoDB interface can be seamlessly integrated into existing applications through the utilization of the ",(0,o.kt)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe"},"HTML IFRAME")," attribute. This feature empowers users to embed the NocoDB interface into their applications, allowing for a unified user experience. To generate the embeddable HTML code, follow these steps:"),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"To Generate Embeddable HTML Code:")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click the ",(0,o.kt)("inlineCode",{parentName:"li"},"Share")," button located in the top right corner of the toolbar."),(0,o.kt)("li",{parentName:"ol"},"Within the ",(0,o.kt)("inlineCode",{parentName:"li"},"Shared base link")," tab, select the button to copy the ",(0,o.kt)("inlineCode",{parentName:"li"},"Embeddable HTML code")," to your clipboard.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Share base iFrame",src:a(41464).Z,width:"2874",height:"1790"})),(0,o.kt)("p",null,"Example:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-html"},'\n\n')),(0,o.kt)("h3",{id:"embed-into-applications-html-body"},"Embed into application's HTML Body"),(0,o.kt)("p",null,"Sample code with embedded iframe generated above"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-html"},'\n\n\n\n\n\n')))}b.isMDXComponent=!0},3132:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/share-base-1-b9c4bddb603c184a16da76c4e1e08edb.png"},43320:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/share-base-2-07354533111aa13a608996b10640f468.png"},78986:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/share-base-copy-base-2-6284b3e7a0c196202d52377af31abae0.png"},86636:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/share-base-copy-base-d3104cd78770d32c4c70d8a585ec3d00.png"},82630:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/share-base-edit-access-b293bc0349998853d6de8a9784ae9e54.png"},78830:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/share-base-enable-public-access-70567245aad03d619b620d838cbdb21a.png"},41464:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/share-base-iframe-5cf906c782389e1cf39b132cd1ab62ac.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7820],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>m});var n=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var s=n.createContext({}),c=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},d="mdxType",b={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,r=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=c(a),h=o,m=d["".concat(s,".").concat(h)]||d[h]||b[h]||r;return a?n.createElement(m,i(i({ref:t},p),{},{components:a})):n.createElement(m,i({ref:t},p))}));function m(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=a.length,i=new Array(r);i[0]=h;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:o,i[1]=l;for(var c=2;c{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>b,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var n=a(87462),o=(a(67294),a(3905));const r={title:"Share base",description:"Procedures to share a base publicly & generating embedded iframe",tags:["Collaboration","Bases","Share"],keywords:["NocoDB base","share base","base collaboration","base actions","base settings"]},i=void 0,l={unversionedId:"collaboration/share-base",id:"collaboration/share-base",title:"Share base",description:"Procedures to share a base publicly & generating embedded iframe",source:"@site/docs/120.collaboration/030.share-base.md",sourceDirName:"120.collaboration",slug:"/collaboration/share-base",permalink:"/collaboration/share-base",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/120.collaboration/030.share-base.md",tags:[{label:"Collaboration",permalink:"/tags/collaboration"},{label:"Bases",permalink:"/tags/bases"},{label:"Share",permalink:"/tags/share"}],version:"current",sidebarPosition:30,frontMatter:{title:"Share base",description:"Procedures to share a base publicly & generating embedded iframe",tags:["Collaboration","Bases","Share"],keywords:["NocoDB base","share base","base collaboration","base actions","base settings"]},sidebar:"tutorialSidebar",previous:{title:"Base collaboration",permalink:"/collaboration/base-collaboration"},next:{title:"Share view",permalink:"/collaboration/share-view"}},s={},c=[{value:"Copy base",id:"copy-base",level:2},{value:"Modify Share base",id:"modify-share-base",level:2},{value:"Disable Share base",id:"disable-share-base",level:2},{value:"Share base Access Permissions",id:"share-base-access-permissions",level:2},{value:"Embeddable Frame",id:"embeddable-frame",level:2},{value:"Embed into application's HTML Body",id:"embed-into-applications-html-body",level:3}],p={toc:c},d="wrapper";function b(e){let{components:t,...r}=e;return(0,o.kt)(d,(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"To share a base, follow the steps below:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Navigate to the top right corner of the top navigation bar and click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"Share")," button."),(0,o.kt)("li",{parentName:"ol"},"In the ",(0,o.kt)("inlineCode",{parentName:"li"},"Shared base")," section, toggle the switch to ",(0,o.kt)("inlineCode",{parentName:"li"},"Enable public access")," in order to activate the shared base feature."),(0,o.kt)("li",{parentName:"ol"},"The generated link for the shared base will be displayed above and can be utilized to share this project with others. To copy the URL, simply click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"Copy Link")," option.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Share base",src:a(50299).Z,width:"2898",height:"1216"})),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Share base",src:a(92901).Z,width:"2876",height:"1324"})),(0,o.kt)("h2",{id:"copy-base"},"Copy base"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"Copy base")," feature allows users to create a copy of the base (import base) into their own Workspace. This feature is also useful for users who wish to utilize a base as a template for future projects. To copy a base, follow the steps below:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Access shared base URL that you wish to copy."),(0,o.kt)("li",{parentName:"ol"},"Click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"Copy base")," button located in the top right corner of the toolbar."),(0,o.kt)("li",{parentName:"ol"},"A modal will appear, prompting you to select the Workspace you wish to copy the base to. Select the desired Workspace "),(0,o.kt)("li",{parentName:"ol"},"Configure if you wish to copy the base with or without data / views."),(0,o.kt)("li",{parentName:"ol"},"Click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"Copy base")," button to complete the process.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Copy base",src:a(2620).Z,width:"2876",height:"1038"}),"\n",(0,o.kt)("img",{alt:"Copy base",src:a(59296).Z,width:"2876",height:"1422"})),(0,o.kt)("h2",{id:"modify-share-base"},"Modify Share base"),(0,o.kt)("p",null,"Amending the ",(0,o.kt)("inlineCode",{parentName:"p"},"Share base")," setting will render the previously generated ",(0,o.kt)("inlineCode",{parentName:"p"},"Share base")," link invalid and generate a new link in its place.\nHere are the steps to modify it:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"Share")," button located in the top right corner of the toolbar."),(0,o.kt)("li",{parentName:"ol"},"Toggle the option labeled ",(0,o.kt)("inlineCode",{parentName:"li"},"Enable public access")," to deactivate the base share."),(0,o.kt)("li",{parentName:"ol"},"Toggle the same option, ",(0,o.kt)("inlineCode",{parentName:"li"},"Enable public access,")," to reactivate the base share, subsequently generating a new link.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Enable public access",src:a(93794).Z,width:"2874",height:"1790"})),(0,o.kt)("h2",{id:"disable-share-base"},"Disable Share base"),(0,o.kt)("p",null,"Disabling ",(0,o.kt)("inlineCode",{parentName:"p"},"Share base")," will render the previously generated ",(0,o.kt)("inlineCode",{parentName:"p"},"Share base")," link invalid\nHere are the steps to disable it:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on the 'Share' button located in the top right corner of the toolbar."),(0,o.kt)("li",{parentName:"ol"},"Toggle the option labeled ",(0,o.kt)("inlineCode",{parentName:"li"},"Enable public access")," to deactivate the base share.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Enable public access",src:a(93794).Z,width:"2874",height:"1790"})),(0,o.kt)("h2",{id:"share-base-access-permissions"},"Share base Access Permissions"),(0,o.kt)("p",null,'The "Shared base" can be configured in two modes:'),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Viewer")," - Users with the provided link will have ",(0,o.kt)("strong",{parentName:"li"},"read-only")," access to the base data."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Editor")," - Users with the provided link will have ",(0,o.kt)("strong",{parentName:"li"},"read and write")," access to the base data.")),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("ul",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ul"},"The default access permission is set to ",(0,o.kt)("inlineCode",{parentName:"li"},"Viewer")),(0,o.kt)("li",{parentName:"ul"},"Shared base with ",(0,o.kt)("inlineCode",{parentName:"li"},"Editor")," access permission is only available in Self-hosted version currently"))),(0,o.kt)("p",null,"Toggle ",(0,o.kt)("inlineCode",{parentName:"p"},"Enable Editor Access")," button to configure permissions as desired\n",(0,o.kt)("img",{alt:"Share base edit access",src:a(92435).Z,width:"2874",height:"1790"})),(0,o.kt)("h2",{id:"embeddable-frame"},"Embeddable Frame"),(0,o.kt)("p",null,"The NocoDB interface can be seamlessly integrated into existing applications through the utilization of the ",(0,o.kt)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe"},"HTML IFRAME")," attribute. This feature empowers users to embed the NocoDB interface into their applications, allowing for a unified user experience. To generate the embeddable HTML code, follow these steps:"),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"To Generate Embeddable HTML Code:")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click the ",(0,o.kt)("inlineCode",{parentName:"li"},"Share")," button located in the top right corner of the toolbar."),(0,o.kt)("li",{parentName:"ol"},"Within the ",(0,o.kt)("inlineCode",{parentName:"li"},"Shared base link")," tab, select the button to copy the ",(0,o.kt)("inlineCode",{parentName:"li"},"Embeddable HTML code")," to your clipboard.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Share base iFrame",src:a(43919).Z,width:"2874",height:"1790"})),(0,o.kt)("p",null,"Example:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-html"},'\n\n')),(0,o.kt)("h3",{id:"embed-into-applications-html-body"},"Embed into application's HTML Body"),(0,o.kt)("p",null,"Sample code with embedded iframe generated above"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-html"},'\n\n\n\n\n\n')))}b.isMDXComponent=!0},50299:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/share-base-1-b9c4bddb603c184a16da76c4e1e08edb.png"},92901:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/share-base-2-07354533111aa13a608996b10640f468.png"},59296:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/share-base-copy-base-2-6284b3e7a0c196202d52377af31abae0.png"},2620:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/share-base-copy-base-d3104cd78770d32c4c70d8a585ec3d00.png"},92435:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/share-base-edit-access-b293bc0349998853d6de8a9784ae9e54.png"},93794:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/share-base-enable-public-access-70567245aad03d619b620d838cbdb21a.png"},43919:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/share-base-iframe-5cf906c782389e1cf39b132cd1ab62ac.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/052736b6.c43758e0.js b/packages/noco-docs/dist/assets/js/052736b6.cf533524.js similarity index 95% rename from packages/noco-docs/dist/assets/js/052736b6.c43758e0.js rename to packages/noco-docs/dist/assets/js/052736b6.cf533524.js index eb32e2f179..9aef0f1127 100644 --- a/packages/noco-docs/dist/assets/js/052736b6.c43758e0.js +++ b/packages/noco-docs/dist/assets/js/052736b6.cf533524.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7657],{3905:(e,t,o)=>{o.d(t,{Zo:()=>k,kt:()=>u});var n=o(67294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function l(e){for(var t=1;t=0||(a[o]=e[o]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var b=n.createContext({}),c=function(e){var t=n.useContext(b),o=t;return e&&(o="function"==typeof e?e(t):l(l({},t),e)),o},k=function(e){var t=c(e.components);return n.createElement(b.Provider,{value:t},e.children)},p="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var o=e.components,a=e.mdxType,i=e.originalType,b=e.parentName,k=r(e,["components","mdxType","originalType","parentName"]),p=c(o),d=a,u=p["".concat(b,".").concat(d)]||p[d]||s[d]||i;return o?n.createElement(u,l(l({ref:t},k),{},{components:o})):n.createElement(u,l({ref:t},k))}));function u(e,t){var o=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=o.length,l=new Array(i);l[0]=d;var r={};for(var b in t)hasOwnProperty.call(t,b)&&(r[b]=t[b]);r.originalType=e,r[p]="string"==typeof e?e:a,l[1]=r;for(var c=2;c{o.r(t),o.d(t,{assets:()=>b,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var n=o(87462),a=(o(67294),o(3905));const i={title:"Actions on webhook",description:"Learn how to enable/disable, duplicate and delete webhooks.",tags:["Webhook","Delete","Duplicate","Disable","Enable"],keywords:["Webhook overview","NocoDB webhook","create webhook","modify webhook","delete webhook"]},l=void 0,r={unversionedId:"automation/webhook/actions-on-webhook",id:"automation/webhook/actions-on-webhook",title:"Actions on webhook",description:"Learn how to enable/disable, duplicate and delete webhooks.",source:"@site/docs/130.automation/020.webhook/040.actions-on-webhook.md",sourceDirName:"130.automation/020.webhook",slug:"/automation/webhook/actions-on-webhook",permalink:"/automation/webhook/actions-on-webhook",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/130.automation/020.webhook/040.actions-on-webhook.md",tags:[{label:"Webhook",permalink:"/tags/webhook"},{label:"Delete",permalink:"/tags/delete"},{label:"Duplicate",permalink:"/tags/duplicate"},{label:"Disable",permalink:"/tags/disable"},{label:"Enable",permalink:"/tags/enable"}],version:"current",sidebarPosition:40,frontMatter:{title:"Actions on webhook",description:"Learn how to enable/disable, duplicate and delete webhooks.",tags:["Webhook","Delete","Duplicate","Disable","Enable"],keywords:["Webhook overview","NocoDB webhook","create webhook","modify webhook","delete webhook"]},sidebar:"tutorialSidebar",previous:{title:"Create webhook",permalink:"/automation/webhook/create-webhook"},next:{title:"Profile page",permalink:"/account-settings/profile-page"}},b={},c=[{value:"Enable/disable Webhook",id:"enabledisable-webhook",level:3},{value:"Edit Webhook",id:"edit-webhook",level:3},{value:"Duplicate Webhook",id:"duplicate-webhook",level:3},{value:"Delete Webhook",id:"delete-webhook",level:3}],k={toc:c},p="wrapper";function s(e){let{components:t,...i}=e;return(0,a.kt)(p,(0,n.Z)({},k,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h3",{id:"enabledisable-webhook"},"Enable/disable Webhook"),(0,a.kt)("p",null,"To disable a Webhook"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Open ",(0,a.kt)("inlineCode",{parentName:"li"},"Webhook")," tab to find list of webhooks created"),(0,a.kt)("li",{parentName:"ul"},"Toggle ",(0,a.kt)("inlineCode",{parentName:"li"},"Activate")," button to enable/disable")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Webhook List",src:o(31218).Z,width:"2362",height:"1050"})),(0,a.kt)("h3",{id:"edit-webhook"},"Edit Webhook"),(0,a.kt)("p",null,"To edit a Webhook"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Open ",(0,a.kt)("inlineCode",{parentName:"li"},"Webhook")," tab to find list of webhooks created"),(0,a.kt)("li",{parentName:"ul"},"Click on webhook to be edited"),(0,a.kt)("li",{parentName:"ul"},"This will open up the webhook configuration page, which is similar to the page used for ",(0,a.kt)("a",{parentName:"li",href:"/automation/webhook/create-webhook"},"creating webhook"),". Reconfigure the webhook as required"),(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Save")," button to save the changes")),(0,a.kt)("h3",{id:"duplicate-webhook"},"Duplicate Webhook"),(0,a.kt)("p",null,"To duplicate a Webhook"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Open ",(0,a.kt)("inlineCode",{parentName:"li"},"Webhook")," tab to find list of webhooks created"),(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"...")," actions button associated with the webhook to be duplicate"),(0,a.kt)("li",{parentName:"ul"},"Select ",(0,a.kt)("inlineCode",{parentName:"li"},"Duplicate"))),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Webhook context menu",src:o(87210).Z,width:"2362",height:"1050"})),(0,a.kt)("p",null,"A copy of the webhook will be created (disabled by default) with a suffix ",(0,a.kt)("inlineCode",{parentName:"p"}," - Copy")),(0,a.kt)("h3",{id:"delete-webhook"},"Delete Webhook"),(0,a.kt)("p",null,"To delete a Webhook"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Open ",(0,a.kt)("inlineCode",{parentName:"li"},"Webhook")," tab to find list of webhooks created"),(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"...")," actions button associated with the webhook to be deleted"),(0,a.kt)("li",{parentName:"ul"},"Select ",(0,a.kt)("inlineCode",{parentName:"li"},"Delete"))),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Webhook context menu",src:o(87210).Z,width:"2362",height:"1050"})))}s.isMDXComponent=!0},31218:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/webhook-list-2-1381dc40997897385408c827bacaa94b.png"},87210:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/webhook-list-3-725c177d503d2d4fa90ec9599610c8e1.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7657],{3905:(e,t,o)=>{o.d(t,{Zo:()=>k,kt:()=>u});var n=o(67294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function l(e){for(var t=1;t=0||(a[o]=e[o]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var b=n.createContext({}),c=function(e){var t=n.useContext(b),o=t;return e&&(o="function"==typeof e?e(t):l(l({},t),e)),o},k=function(e){var t=c(e.components);return n.createElement(b.Provider,{value:t},e.children)},p="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var o=e.components,a=e.mdxType,i=e.originalType,b=e.parentName,k=r(e,["components","mdxType","originalType","parentName"]),p=c(o),d=a,u=p["".concat(b,".").concat(d)]||p[d]||s[d]||i;return o?n.createElement(u,l(l({ref:t},k),{},{components:o})):n.createElement(u,l({ref:t},k))}));function u(e,t){var o=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=o.length,l=new Array(i);l[0]=d;var r={};for(var b in t)hasOwnProperty.call(t,b)&&(r[b]=t[b]);r.originalType=e,r[p]="string"==typeof e?e:a,l[1]=r;for(var c=2;c{o.r(t),o.d(t,{assets:()=>b,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var n=o(87462),a=(o(67294),o(3905));const i={title:"Actions on webhook",description:"Learn how to enable/disable, duplicate and delete webhooks.",tags:["Webhook","Delete","Duplicate","Disable","Enable"],keywords:["Webhook overview","NocoDB webhook","create webhook","modify webhook","delete webhook"]},l=void 0,r={unversionedId:"automation/webhook/actions-on-webhook",id:"automation/webhook/actions-on-webhook",title:"Actions on webhook",description:"Learn how to enable/disable, duplicate and delete webhooks.",source:"@site/docs/130.automation/020.webhook/040.actions-on-webhook.md",sourceDirName:"130.automation/020.webhook",slug:"/automation/webhook/actions-on-webhook",permalink:"/automation/webhook/actions-on-webhook",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/130.automation/020.webhook/040.actions-on-webhook.md",tags:[{label:"Webhook",permalink:"/tags/webhook"},{label:"Delete",permalink:"/tags/delete"},{label:"Duplicate",permalink:"/tags/duplicate"},{label:"Disable",permalink:"/tags/disable"},{label:"Enable",permalink:"/tags/enable"}],version:"current",sidebarPosition:40,frontMatter:{title:"Actions on webhook",description:"Learn how to enable/disable, duplicate and delete webhooks.",tags:["Webhook","Delete","Duplicate","Disable","Enable"],keywords:["Webhook overview","NocoDB webhook","create webhook","modify webhook","delete webhook"]},sidebar:"tutorialSidebar",previous:{title:"Create webhook",permalink:"/automation/webhook/create-webhook"},next:{title:"Profile page",permalink:"/account-settings/profile-page"}},b={},c=[{value:"Enable/disable Webhook",id:"enabledisable-webhook",level:3},{value:"Edit Webhook",id:"edit-webhook",level:3},{value:"Duplicate Webhook",id:"duplicate-webhook",level:3},{value:"Delete Webhook",id:"delete-webhook",level:3}],k={toc:c},p="wrapper";function s(e){let{components:t,...i}=e;return(0,a.kt)(p,(0,n.Z)({},k,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h3",{id:"enabledisable-webhook"},"Enable/disable Webhook"),(0,a.kt)("p",null,"To disable a Webhook"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Open ",(0,a.kt)("inlineCode",{parentName:"li"},"Webhook")," tab to find list of webhooks created"),(0,a.kt)("li",{parentName:"ul"},"Toggle ",(0,a.kt)("inlineCode",{parentName:"li"},"Activate")," button to enable/disable")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Webhook List",src:o(65553).Z,width:"2362",height:"1050"})),(0,a.kt)("h3",{id:"edit-webhook"},"Edit Webhook"),(0,a.kt)("p",null,"To edit a Webhook"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Open ",(0,a.kt)("inlineCode",{parentName:"li"},"Webhook")," tab to find list of webhooks created"),(0,a.kt)("li",{parentName:"ul"},"Click on webhook to be edited"),(0,a.kt)("li",{parentName:"ul"},"This will open up the webhook configuration page, which is similar to the page used for ",(0,a.kt)("a",{parentName:"li",href:"/automation/webhook/create-webhook"},"creating webhook"),". Reconfigure the webhook as required"),(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Save")," button to save the changes")),(0,a.kt)("h3",{id:"duplicate-webhook"},"Duplicate Webhook"),(0,a.kt)("p",null,"To duplicate a Webhook"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Open ",(0,a.kt)("inlineCode",{parentName:"li"},"Webhook")," tab to find list of webhooks created"),(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"...")," actions button associated with the webhook to be duplicate"),(0,a.kt)("li",{parentName:"ul"},"Select ",(0,a.kt)("inlineCode",{parentName:"li"},"Duplicate"))),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Webhook context menu",src:o(89792).Z,width:"2362",height:"1050"})),(0,a.kt)("p",null,"A copy of the webhook will be created (disabled by default) with a suffix ",(0,a.kt)("inlineCode",{parentName:"p"}," - Copy")),(0,a.kt)("h3",{id:"delete-webhook"},"Delete Webhook"),(0,a.kt)("p",null,"To delete a Webhook"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Open ",(0,a.kt)("inlineCode",{parentName:"li"},"Webhook")," tab to find list of webhooks created"),(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"...")," actions button associated with the webhook to be deleted"),(0,a.kt)("li",{parentName:"ul"},"Select ",(0,a.kt)("inlineCode",{parentName:"li"},"Delete"))),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Webhook context menu",src:o(89792).Z,width:"2362",height:"1050"})))}s.isMDXComponent=!0},65553:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/webhook-list-2-1381dc40997897385408c827bacaa94b.png"},89792:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/webhook-list-3-725c177d503d2d4fa90ec9599610c8e1.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/0908b333.4c4be206.js b/packages/noco-docs/dist/assets/js/0908b333.bddbe67a.js similarity index 98% rename from packages/noco-docs/dist/assets/js/0908b333.4c4be206.js rename to packages/noco-docs/dist/assets/js/0908b333.bddbe67a.js index 6e78b43ebf..f9d73a7809 100644 --- a/packages/noco-docs/dist/assets/js/0908b333.4c4be206.js +++ b/packages/noco-docs/dist/assets/js/0908b333.bddbe67a.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[6187],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>m});var i=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);r&&(i=i.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,i)}return t}function n(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=i.createContext({}),d=function(e){var r=i.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):n(n({},r),e)),t},p=function(e){var r=d(e.components);return i.createElement(s.Provider,{value:r},e.children)},c="mdxType",w={inlineCode:"code",wrapper:function(e){var r=e.children;return i.createElement(i.Fragment,{},r)}},v=i.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=d(t),v=a,m=c["".concat(s,".").concat(v)]||c[v]||w[v]||o;return t?i.createElement(m,n(n({ref:r},p),{},{components:t})):i.createElement(m,n({ref:r},p))}));function m(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,n=new Array(o);n[0]=v;var l={};for(var s in r)hasOwnProperty.call(r,s)&&(l[s]=r[s]);l.originalType=e,l[c]="string"==typeof e?e:a,n[1]=l;for(var d=2;d{t.r(r),t.d(r,{assets:()=>s,contentTitle:()=>n,default:()=>w,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var i=t(87462),a=(t(67294),t(3905));const o={title:"Grid",description:"Learn how to work with grid view in NocoDB.",tags:["Views","Grid view"],keywords:["NocoDB grid","grid view","grid"]},n=void 0,l={unversionedId:"views/view-types/grid",id:"views/view-types/grid",title:"Grid",description:"Learn how to work with grid view in NocoDB.",source:"@site/docs/090.views/040.view-types/010.grid.md",sourceDirName:"090.views/040.view-types",slug:"/views/view-types/grid",permalink:"/views/view-types/grid",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/040.view-types/010.grid.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Grid view",permalink:"/tags/grid-view"}],version:"current",sidebarPosition:10,frontMatter:{title:"Grid",description:"Learn how to work with grid view in NocoDB.",tags:["Views","Grid view"],keywords:["NocoDB grid","grid view","grid"]},sidebar:"tutorialSidebar",previous:{title:"Share view",permalink:"/views/share-view"},next:{title:"Gallery",permalink:"/views/view-types/gallery"}},s={},d=[{value:"Grid View Actions",id:"grid-view-actions",level:2},{value:"Grid View Operations",id:"grid-view-operations",level:2},{value:"Grid View Record Operations",id:"grid-view-record-operations",level:2},{value:"Related articles",id:"related-articles",level:2}],p={toc:d},c="wrapper";function w(e){let{components:r,...o}=e;return(0,a.kt)(c,(0,i.Z)({},p,o,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Grid View, as a default type of view, allows you to display your data in a spreadsheet-like interface using rows and columns. Rows are as referred to as records and columns as fields in NocoDB."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"1010-2 Grid",src:t(47546).Z,width:"2880",height:"1800"})),(0,a.kt)("p",null,"Grid view is the default view type for all tables. This view type is ideal for viewing and editing data in a spreadsheet-like interface. You can also perform various operations on the grid view, such as sorting, filtering, grouping, and searching. You can also export the data in the grid view to CSV or Excel format. This section will cover all the operations that can be performed on the grid view."),(0,a.kt)("h2",{id:"grid-view-actions"},"Grid View Actions"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/create-view/#create-new-view"},"Create a New Grid View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/actions-on-view#rename-view"},"Rename an Existing Grid View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/actions-on-view#duplicate-view"},"Duplicate a Grid View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/actions-on-view#delete-view"},"Remove a Grid View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/share-view"},"Share a Grid View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/views-overview#view-permission-types"},"Lock Grid View for Edits"))),(0,a.kt)("h2",{id:"grid-view-operations"},"Grid View Operations"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/field-operations#rearranging-fields"},"Rearrange Fields Within the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/field-operations#showhide-fields"},"Show or Hide Fields Within the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/filter"},"Apply Filters to Display Specific Records on the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/sort"},"Sort Records on the Grid by One or More Criteria")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/group-by"},"Group Records Horizontally on the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/search"},"Search for Specific Data Within Fields")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/download#download-data"},"Export Data to CSV or Excel Format")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/row-height"},"Adjust Record Height on the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/fields/actions-on-field"},"Customize Field Width")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/field-operations#showhide-fields"},"Toggle Field Visibility on the Grid"))),(0,a.kt)("h2",{id:"grid-view-record-operations"},"Grid View Record Operations"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/records/create-record"},"Add a New Record to the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/records/actions-on-record#row-edit"},"Edit an Existing Record on the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/records/actions-on-record#delete-record-single"},"Delete a Single Record from the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/records/actions-on-record#delete-record-bulk"},"Delete Multiple Records in Bulk from the Grid"))),(0,a.kt)("h2",{id:"related-articles"},"Related articles"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"/views/view-types/gallery"},"Gallery View"),(0,a.kt)("br",{parentName:"p"}),"\n",(0,a.kt)("a",{parentName:"p",href:"/views/view-types/form"},"Form View"),(0,a.kt)("br",{parentName:"p"}),"\n",(0,a.kt)("a",{parentName:"p",href:"/views/view-types/kanban"},"Kanban View")))}w.isMDXComponent=!0},47546:(e,r,t)=>{t.d(r,{Z:()=>i});const i=t.p+"assets/images/grid-a278b184ce772b6c7263abc105f09a76.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[6187],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>m});var i=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);r&&(i=i.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,i)}return t}function n(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=i.createContext({}),d=function(e){var r=i.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):n(n({},r),e)),t},p=function(e){var r=d(e.components);return i.createElement(s.Provider,{value:r},e.children)},c="mdxType",w={inlineCode:"code",wrapper:function(e){var r=e.children;return i.createElement(i.Fragment,{},r)}},v=i.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=d(t),v=a,m=c["".concat(s,".").concat(v)]||c[v]||w[v]||o;return t?i.createElement(m,n(n({ref:r},p),{},{components:t})):i.createElement(m,n({ref:r},p))}));function m(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,n=new Array(o);n[0]=v;var l={};for(var s in r)hasOwnProperty.call(r,s)&&(l[s]=r[s]);l.originalType=e,l[c]="string"==typeof e?e:a,n[1]=l;for(var d=2;d{t.r(r),t.d(r,{assets:()=>s,contentTitle:()=>n,default:()=>w,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var i=t(87462),a=(t(67294),t(3905));const o={title:"Grid",description:"Learn how to work with grid view in NocoDB.",tags:["Views","Grid view"],keywords:["NocoDB grid","grid view","grid"]},n=void 0,l={unversionedId:"views/view-types/grid",id:"views/view-types/grid",title:"Grid",description:"Learn how to work with grid view in NocoDB.",source:"@site/docs/090.views/040.view-types/010.grid.md",sourceDirName:"090.views/040.view-types",slug:"/views/view-types/grid",permalink:"/views/view-types/grid",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/040.view-types/010.grid.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Grid view",permalink:"/tags/grid-view"}],version:"current",sidebarPosition:10,frontMatter:{title:"Grid",description:"Learn how to work with grid view in NocoDB.",tags:["Views","Grid view"],keywords:["NocoDB grid","grid view","grid"]},sidebar:"tutorialSidebar",previous:{title:"Share view",permalink:"/views/share-view"},next:{title:"Gallery",permalink:"/views/view-types/gallery"}},s={},d=[{value:"Grid View Actions",id:"grid-view-actions",level:2},{value:"Grid View Operations",id:"grid-view-operations",level:2},{value:"Grid View Record Operations",id:"grid-view-record-operations",level:2},{value:"Related articles",id:"related-articles",level:2}],p={toc:d},c="wrapper";function w(e){let{components:r,...o}=e;return(0,a.kt)(c,(0,i.Z)({},p,o,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Grid View, as a default type of view, allows you to display your data in a spreadsheet-like interface using rows and columns. Rows are as referred to as records and columns as fields in NocoDB."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"1010-2 Grid",src:t(44103).Z,width:"2880",height:"1800"})),(0,a.kt)("p",null,"Grid view is the default view type for all tables. This view type is ideal for viewing and editing data in a spreadsheet-like interface. You can also perform various operations on the grid view, such as sorting, filtering, grouping, and searching. You can also export the data in the grid view to CSV or Excel format. This section will cover all the operations that can be performed on the grid view."),(0,a.kt)("h2",{id:"grid-view-actions"},"Grid View Actions"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/create-view/#create-new-view"},"Create a New Grid View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/actions-on-view#rename-view"},"Rename an Existing Grid View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/actions-on-view#duplicate-view"},"Duplicate a Grid View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/actions-on-view#delete-view"},"Remove a Grid View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/share-view"},"Share a Grid View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/views-overview#view-permission-types"},"Lock Grid View for Edits"))),(0,a.kt)("h2",{id:"grid-view-operations"},"Grid View Operations"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/field-operations#rearranging-fields"},"Rearrange Fields Within the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/field-operations#showhide-fields"},"Show or Hide Fields Within the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/filter"},"Apply Filters to Display Specific Records on the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/sort"},"Sort Records on the Grid by One or More Criteria")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/group-by"},"Group Records Horizontally on the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/search"},"Search for Specific Data Within Fields")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/download#download-data"},"Export Data to CSV or Excel Format")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/row-height"},"Adjust Record Height on the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/fields/actions-on-field"},"Customize Field Width")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/table-operations/field-operations#showhide-fields"},"Toggle Field Visibility on the Grid"))),(0,a.kt)("h2",{id:"grid-view-record-operations"},"Grid View Record Operations"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/records/create-record"},"Add a New Record to the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/records/actions-on-record#row-edit"},"Edit an Existing Record on the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/records/actions-on-record#delete-record-single"},"Delete a Single Record from the Grid")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/records/actions-on-record#delete-record-bulk"},"Delete Multiple Records in Bulk from the Grid"))),(0,a.kt)("h2",{id:"related-articles"},"Related articles"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"/views/view-types/gallery"},"Gallery View"),(0,a.kt)("br",{parentName:"p"}),"\n",(0,a.kt)("a",{parentName:"p",href:"/views/view-types/form"},"Form View"),(0,a.kt)("br",{parentName:"p"}),"\n",(0,a.kt)("a",{parentName:"p",href:"/views/view-types/kanban"},"Kanban View")))}w.isMDXComponent=!0},44103:(e,r,t)=>{t.d(r,{Z:()=>i});const i=t.p+"assets/images/grid-a278b184ce772b6c7263abc105f09a76.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/0a7c5cbc.cdcb8e4d.js b/packages/noco-docs/dist/assets/js/0a7c5cbc.a7b6f5b2.js similarity index 70% rename from packages/noco-docs/dist/assets/js/0a7c5cbc.cdcb8e4d.js rename to packages/noco-docs/dist/assets/js/0a7c5cbc.a7b6f5b2.js index 683d4694a6..f16e32a20d 100644 --- a/packages/noco-docs/dist/assets/js/0a7c5cbc.cdcb8e4d.js +++ b/packages/noco-docs/dist/assets/js/0a7c5cbc.a7b6f5b2.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[809],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>c});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=a.createContext({}),u=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},d=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),p=u(r),m=n,c=p["".concat(s,".").concat(m)]||p[m]||f[m]||i;return r?a.createElement(c,l(l({ref:t},d),{},{components:r})):a.createElement(c,l({ref:t},d))}));function c(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,l=new Array(i);l[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[p]="string"==typeof e?e:n,l[1]=o;for(var u=2;u{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>f,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var a=r(87462),n=(r(67294),r(3905));const i={title:"Formula",description:"This article explains how to create & work with a Formula field.",tags:["Fields","Field types","Formula"],keywords:["Fields","Field types","Formula","Create formula field"]},l=void 0,o={unversionedId:"fields/field-types/formula/formula",id:"fields/field-types/formula/formula",title:"Formula",description:"This article explains how to create & work with a Formula field.",source:"@site/docs/070.fields/040.field-types/060.formula/010.formula.md",sourceDirName:"070.fields/040.field-types/060.formula",slug:"/fields/field-types/formula/formula",permalink:"/fields/field-types/formula/formula",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/060.formula/010.formula.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Formula",permalink:"/tags/formula"}],version:"current",sidebarPosition:10,frontMatter:{title:"Formula",description:"This article explains how to create & work with a Formula field.",tags:["Fields","Field types","Formula"],keywords:["Fields","Field types","Formula","Create formula field"]},sidebar:"tutorialSidebar",previous:{title:"JSON",permalink:"/fields/field-types/custom-types/json"},next:{title:"Numeric and Logical Operators",permalink:"/fields/field-types/formula/operators"}},s={},u=[{value:"Create a formula field",id:"create-a-formula-field",level:2},{value:"Supported formula functions",id:"supported-formula-functions",level:2}],d={toc:u},p="wrapper";function f(e){let{components:t,...i}=e;return(0,n.kt)(p,(0,a.Z)({},d,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"create-a-formula-field"},"Create a formula field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Formula")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Insert required formula "),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:r(43369).Z,width:"2880",height:"1800"})),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"You can use explicit numerical values/ strings as needed, e.g. ",(0,n.kt)("inlineCode",{parentName:"li"},"123")," (numeric) or ",(0,n.kt)("inlineCode",{parentName:"li"},'"123"')," (string)."),(0,n.kt)("li",{parentName:"ul"},"You can reference field names in equation with ",(0,n.kt)("inlineCode",{parentName:"li"},"{}"),", e.g. ",(0,n.kt)("inlineCode",{parentName:"li"},"{field name}")),(0,n.kt)("li",{parentName:"ul"},"Nested formula (formula equation referring to another formula field) is supported"))),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"Unlike other field types, formula cells cannot be modified by double-clicking since the value is generated based on the formula."),(0,n.kt)("img",{width:"253",alt:"image",src:"https://user-images.githubusercontent.com/35857179/189109486-4d41f2b7-0a19-46ef-8bb4-a8d1aabd3592.png"})),(0,n.kt)("h2",{id:"supported-formula-functions"},"Supported formula functions"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/formula/operators"},"Numeric and Logical Operators")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/formula/numeric-functions"},"Numeric Functions")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/formula/string-functions"},"String Functions")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/formula/date-functions"},"Date Functions")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/formula/conditional-expressions"},"Conditional Expressions"))))}f.isMDXComponent=!0},43369:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/formula-f6e9e22e90579dd9f7307338dde8ec07.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[809],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>c});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=a.createContext({}),u=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},d=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),p=u(r),m=n,c=p["".concat(s,".").concat(m)]||p[m]||f[m]||i;return r?a.createElement(c,l(l({ref:t},d),{},{components:r})):a.createElement(c,l({ref:t},d))}));function c(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,l=new Array(i);l[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[p]="string"==typeof e?e:n,l[1]=o;for(var u=2;u{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>f,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var a=r(87462),n=(r(67294),r(3905));const i={title:"Formula",description:"This article explains how to create & work with a Formula field.",tags:["Fields","Field types","Formula"],keywords:["Fields","Field types","Formula","Create formula field"]},l=void 0,o={unversionedId:"fields/field-types/formula/formula",id:"fields/field-types/formula/formula",title:"Formula",description:"This article explains how to create & work with a Formula field.",source:"@site/docs/070.fields/040.field-types/060.formula/010.formula.md",sourceDirName:"070.fields/040.field-types/060.formula",slug:"/fields/field-types/formula/formula",permalink:"/fields/field-types/formula/formula",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/060.formula/010.formula.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Formula",permalink:"/tags/formula"}],version:"current",sidebarPosition:10,frontMatter:{title:"Formula",description:"This article explains how to create & work with a Formula field.",tags:["Fields","Field types","Formula"],keywords:["Fields","Field types","Formula","Create formula field"]},sidebar:"tutorialSidebar",previous:{title:"JSON",permalink:"/fields/field-types/custom-types/json"},next:{title:"Numeric and Logical Operators",permalink:"/fields/field-types/formula/operators"}},s={},u=[{value:"Create a formula field",id:"create-a-formula-field",level:2},{value:"Supported formula functions",id:"supported-formula-functions",level:2}],d={toc:u},p="wrapper";function f(e){let{components:t,...i}=e;return(0,n.kt)(p,(0,a.Z)({},d,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"create-a-formula-field"},"Create a formula field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Formula")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Insert required formula "),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:r(1885).Z,width:"2880",height:"1800"})),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"You can use explicit numerical values/ strings as needed, e.g. ",(0,n.kt)("inlineCode",{parentName:"li"},"123")," (numeric) or ",(0,n.kt)("inlineCode",{parentName:"li"},'"123"')," (string)."),(0,n.kt)("li",{parentName:"ul"},"You can reference field names in equation with ",(0,n.kt)("inlineCode",{parentName:"li"},"{}"),", e.g. ",(0,n.kt)("inlineCode",{parentName:"li"},"{field name}")),(0,n.kt)("li",{parentName:"ul"},"Nested formula (formula equation referring to another formula field) is supported"))),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"Unlike other field types, formula cells cannot be modified by double-clicking since the value is generated based on the formula."),(0,n.kt)("img",{width:"253",alt:"image",src:"https://user-images.githubusercontent.com/35857179/189109486-4d41f2b7-0a19-46ef-8bb4-a8d1aabd3592.png"})),(0,n.kt)("h2",{id:"supported-formula-functions"},"Supported formula functions"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/formula/operators"},"Numeric and Logical Operators")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/formula/numeric-functions"},"Numeric Functions")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/formula/string-functions"},"String Functions")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/formula/date-functions"},"Date Functions")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/formula/conditional-expressions"},"Conditional Expressions"))))}f.isMDXComponent=!0},1885:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/formula-f6e9e22e90579dd9f7307338dde8ec07.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/0b819d8c.0e797db3.js b/packages/noco-docs/dist/assets/js/0b819d8c.d8f15911.js similarity index 84% rename from packages/noco-docs/dist/assets/js/0b819d8c.0e797db3.js rename to packages/noco-docs/dist/assets/js/0b819d8c.d8f15911.js index 76cb5232d8..e0720e6043 100644 --- a/packages/noco-docs/dist/assets/js/0b819d8c.0e797db3.js +++ b/packages/noco-docs/dist/assets/js/0b819d8c.d8f15911.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[757],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>y});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function c(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var i=n.createContext({}),l=function(e){var t=n.useContext(i),a=t;return e&&(a="function"==typeof e?e(t):c(c({},t),e)),a},d=function(e){var t=l(e.components);return n.createElement(i.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=l(a),m=r,y=u["".concat(i,".").concat(m)]||u[m]||p[m]||o;return a?n.createElement(y,c(c({ref:t},d),{},{components:a})):n.createElement(y,c({ref:t},d))}));function y(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=a.length,c=new Array(o);c[0]=m;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s[u]="string"==typeof e?e:r,c[1]=s;for(var l=2;l{a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var n=a(87462),r=(a(67294),a(3905));const o={title:"Sync with Data source",description:"Learn how to sync changes done in external data source with NocoDB.",tags:["Data Sources","Sync","External","PG","MySQL"],keywords:["NocoDB data source","connect data source","external data source","PG data source","MySQL data source"]},c=void 0,s={unversionedId:"data-sources/sync-with-data-source",id:"data-sources/sync-with-data-source",title:"Sync with Data source",description:"Learn how to sync changes done in external data source with NocoDB.",source:"@site/docs/100.data-sources/030.sync-with-data-source.md",sourceDirName:"100.data-sources",slug:"/data-sources/sync-with-data-source",permalink:"/data-sources/sync-with-data-source",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/100.data-sources/030.sync-with-data-source.md",tags:[{label:"Data Sources",permalink:"/tags/data-sources"},{label:"Sync",permalink:"/tags/sync"},{label:"External",permalink:"/tags/external"},{label:"PG",permalink:"/tags/pg"},{label:"MySQL",permalink:"/tags/my-sql"}],version:"current",sidebarPosition:30,frontMatter:{title:"Sync with Data source",description:"Learn how to sync changes done in external data source with NocoDB.",tags:["Data Sources","Sync","External","PG","MySQL"],keywords:["NocoDB data source","connect data source","external data source","PG data source","MySQL data source"]},sidebar:"tutorialSidebar",previous:{title:"Connect to a Data source",permalink:"/data-sources/connect-to-data-source"},next:{title:"Actions on Data sources",permalink:"/data-sources/actions-on-data-sources"}},i={},l=[],d={toc:l},u="wrapper";function p(e){let{components:t,...o}=e;return(0,r.kt)(u,(0,n.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,r.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,r.kt)("li",{parentName:"ol"},"Select ",(0,r.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab"),(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Sync Metadata")," button listed under ",(0,r.kt)("inlineCode",{parentName:"li"},"Actions")," column for the data source that you wish to sync metadata for"),(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Reload")," button to refresh Sync state (Optional)"),(0,r.kt)("li",{parentName:"ol"},"Any changes to the metadata identified will be listed in the ",(0,r.kt)("inlineCode",{parentName:"li"},"Sync State")," column"),(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Sync Now")," button to sync the metadata changes")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"sync metadata",src:a(40247).Z,width:"2876",height:"928"})),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"sync metadata",src:a(94500).Z,width:"2880",height:"1800"})),(0,r.kt)("p",null,"After the sync is complete, you can see the updated state in the ",(0,r.kt)("inlineCode",{parentName:"p"},"Sync State")," column.",(0,r.kt)("br",{parentName:"p"}),"\n","Sync modal also marks ",(0,r.kt)("inlineCode",{parentName:"p"},"Tables metadata is in Sync")," in the header."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"post sync",src:a(68696).Z,width:"2880",height:"1800"})))}p.isMDXComponent=!0},40247:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-2-85c6555101f32ed24b6ad18937e62f96.png"},94500:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-meta-sync-04cd020f9b20939911dab34bb2a85820.png"},68696:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-post-sync-82f4dc6812378d0f4b119efaa7761735.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[757],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>y});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function c(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var i=n.createContext({}),l=function(e){var t=n.useContext(i),a=t;return e&&(a="function"==typeof e?e(t):c(c({},t),e)),a},d=function(e){var t=l(e.components);return n.createElement(i.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=l(a),m=r,y=u["".concat(i,".").concat(m)]||u[m]||p[m]||o;return a?n.createElement(y,c(c({ref:t},d),{},{components:a})):n.createElement(y,c({ref:t},d))}));function y(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=a.length,c=new Array(o);c[0]=m;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s[u]="string"==typeof e?e:r,c[1]=s;for(var l=2;l{a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var n=a(87462),r=(a(67294),a(3905));const o={title:"Sync with Data source",description:"Learn how to sync changes done in external data source with NocoDB.",tags:["Data Sources","Sync","External","PG","MySQL"],keywords:["NocoDB data source","connect data source","external data source","PG data source","MySQL data source"]},c=void 0,s={unversionedId:"data-sources/sync-with-data-source",id:"data-sources/sync-with-data-source",title:"Sync with Data source",description:"Learn how to sync changes done in external data source with NocoDB.",source:"@site/docs/100.data-sources/030.sync-with-data-source.md",sourceDirName:"100.data-sources",slug:"/data-sources/sync-with-data-source",permalink:"/data-sources/sync-with-data-source",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/100.data-sources/030.sync-with-data-source.md",tags:[{label:"Data Sources",permalink:"/tags/data-sources"},{label:"Sync",permalink:"/tags/sync"},{label:"External",permalink:"/tags/external"},{label:"PG",permalink:"/tags/pg"},{label:"MySQL",permalink:"/tags/my-sql"}],version:"current",sidebarPosition:30,frontMatter:{title:"Sync with Data source",description:"Learn how to sync changes done in external data source with NocoDB.",tags:["Data Sources","Sync","External","PG","MySQL"],keywords:["NocoDB data source","connect data source","external data source","PG data source","MySQL data source"]},sidebar:"tutorialSidebar",previous:{title:"Connect to a Data source",permalink:"/data-sources/connect-to-data-source"},next:{title:"Actions on Data sources",permalink:"/data-sources/actions-on-data-sources"}},i={},l=[],d={toc:l},u="wrapper";function p(e){let{components:t,...o}=e;return(0,r.kt)(u,(0,n.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,r.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,r.kt)("li",{parentName:"ol"},"Select ",(0,r.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab"),(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Sync Metadata")," button listed under ",(0,r.kt)("inlineCode",{parentName:"li"},"Actions")," column for the data source that you wish to sync metadata for"),(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Reload")," button to refresh Sync state (Optional)"),(0,r.kt)("li",{parentName:"ol"},"Any changes to the metadata identified will be listed in the ",(0,r.kt)("inlineCode",{parentName:"li"},"Sync State")," column"),(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Sync Now")," button to sync the metadata changes")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"sync metadata",src:a(63880).Z,width:"2876",height:"928"})),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"sync metadata",src:a(3532).Z,width:"2880",height:"1800"})),(0,r.kt)("p",null,"After the sync is complete, you can see the updated state in the ",(0,r.kt)("inlineCode",{parentName:"p"},"Sync State")," column.",(0,r.kt)("br",{parentName:"p"}),"\n","Sync modal also marks ",(0,r.kt)("inlineCode",{parentName:"p"},"Tables metadata is in Sync")," in the header."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"post sync",src:a(23227).Z,width:"2880",height:"1800"})))}p.isMDXComponent=!0},63880:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-2-85c6555101f32ed24b6ad18937e62f96.png"},3532:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-meta-sync-04cd020f9b20939911dab34bb2a85820.png"},23227:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-post-sync-82f4dc6812378d0f4b119efaa7761735.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/0cab3fcc.a26e8fb8.js b/packages/noco-docs/dist/assets/js/0cab3fcc.d6debd5a.js similarity index 57% rename from packages/noco-docs/dist/assets/js/0cab3fcc.a26e8fb8.js rename to packages/noco-docs/dist/assets/js/0cab3fcc.d6debd5a.js index ae1babfa09..6db6007c4f 100644 --- a/packages/noco-docs/dist/assets/js/0cab3fcc.a26e8fb8.js +++ b/packages/noco-docs/dist/assets/js/0cab3fcc.d6debd5a.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3479],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>k});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=a.createContext({}),c=function(e){var t=a.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},s=function(e){var t=c(e.components);return a.createElement(d.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},b=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,d=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),p=c(n),b=r,k=p["".concat(d,".").concat(b)]||p[b]||m[b]||o;return n?a.createElement(k,l(l({ref:t},s),{},{components:n})):a.createElement(k,l({ref:t},s))}));function k(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,l=new Array(o);l[0]=b;var i={};for(var d in t)hasOwnProperty.call(t,d)&&(i[d]=t[d]);i.originalType=e,i[p]="string"==typeof e?e:r,l[1]=i;for(var c=2;c{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=n(87462),r=(n(67294),n(3905));const o={title:"Create webhook",description:"Learn how to create a webhook in NocoDB.",tags:["Webhook","Create"],keywords:["NocoDB webhook","create webhook"]},l=void 0,i={unversionedId:"automation/webhook/create-webhook",id:"automation/webhook/create-webhook",title:"Create webhook",description:"Learn how to create a webhook in NocoDB.",source:"@site/docs/130.automation/020.webhook/020.create-webhook.md",sourceDirName:"130.automation/020.webhook",slug:"/automation/webhook/create-webhook",permalink:"/automation/webhook/create-webhook",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/130.automation/020.webhook/020.create-webhook.md",tags:[{label:"Webhook",permalink:"/tags/webhook"},{label:"Create",permalink:"/tags/create"}],version:"current",sidebarPosition:20,frontMatter:{title:"Create webhook",description:"Learn how to create a webhook in NocoDB.",tags:["Webhook","Create"],keywords:["NocoDB webhook","create webhook"]},sidebar:"tutorialSidebar",previous:{title:"Webhook overview",permalink:"/automation/webhook/webhook-overview"},next:{title:"Actions on webhook",permalink:"/automation/webhook/actions-on-webhook"}},d={},c=[{value:"Create Webhook",id:"create-webhook",level:2},{value:"Accessing webhook page",id:"accessing-webhook-page",level:3},{value:"Configuring webhook",id:"configuring-webhook",level:3},{value:"Webhook Response Sample",id:"webhook-response-sample",level:3}],s=e=>function(t){return console.warn("Component "+e+" was not imported, exported, or provided by MDXProvider as global scope"),(0,r.kt)("div",t)},p=s("Tabs"),m=s("TabItem"),b={toc:c},k="wrapper";function u(e){let{components:t,...o}=e;return(0,r.kt)(k,(0,a.Z)({},b,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"create-webhook"},"Create Webhook"),(0,r.kt)("h3",{id:"accessing-webhook-page"},"Accessing webhook page"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Click on table for which webhook needs to be configured on the left sidebar"),(0,r.kt)("li",{parentName:"ol"},"Open ",(0,r.kt)("inlineCode",{parentName:"li"},"Details")," tab in topbar,"),(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Webhooks")," tab"),(0,r.kt)("li",{parentName:"ol"},"Click ",(0,r.kt)("inlineCode",{parentName:"li"},"Add New Webhook"))),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Accessing webhook",src:n(89999).Z,width:"2872",height:"1584"})),(0,r.kt)("h3",{id:"configuring-webhook"},"Configuring webhook"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Name of the webhook"),(0,r.kt)("li",{parentName:"ol"},"Select the event for which webhook needs to be triggered")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Trigger"),(0,r.kt)("th",{parentName:"tr",align:null},"Details"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"After Insert"),(0,r.kt)("td",{parentName:"tr",align:null},"After a single record is inserted")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"After Update"),(0,r.kt)("td",{parentName:"tr",align:null},"After a single record is updated")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"After Delete"),(0,r.kt)("td",{parentName:"tr",align:null},"After a single record is deleted")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"After Bulk Insert"),(0,r.kt)("td",{parentName:"tr",align:null},"After bulk records are inserted")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"After Bulk Update"),(0,r.kt)("td",{parentName:"tr",align:null},"After bulk records are updated")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"After Bulk Delete"),(0,r.kt)("td",{parentName:"tr",align:null},"After bulk records are deleted")))),(0,r.kt)("ol",{start:3},(0,r.kt)("li",{parentName:"ol"},"Method & URL: Configure the endpoint to which webhook needs to be triggered. Supported methods are GET, POST, DELETE, PUT, HEAD, PATCH"),(0,r.kt)("li",{parentName:"ol"},"Headers & Parameters: Configure Request headers & parameters (optional)"),(0,r.kt)("li",{parentName:"ol"},"Condition: Only records meeting the configured criteria will trigger webhook (optional)"),(0,r.kt)("li",{parentName:"ol"},"Test webhook (with sample payload) to verify if parameter are configured appropriately (optional)"),(0,r.kt)("li",{parentName:"ol"},"Save the webhook")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Configuring webhook",src:n(3896).Z,width:"2872",height:"1790"})),(0,r.kt)("h3",{id:"webhook-response-sample"},"Webhook Response Sample"),(0,r.kt)(p,{mdxType:"Tabs"},(0,r.kt)(m,{value:"After Insert",label:"After Insert",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'{\n "type": "records.after.insert",\n "id": "9dac1c54-b3be-49a1-a676-af388145fa8c",\n "data": {\n "table_id": "md_xzru7dcqrecc60",\n "table_name": "Film",\n "view_id": "vw_736wrpoas7tr0c",\n "view_name": "Film",\n "records": [\n {\n "FilmId": 1011,\n "Title": "FOO",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n },\n }\n ]\n }\n}\n'))),(0,r.kt)(m,{value:"After Update",label:"After Update",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'{\n "type": "records.after.update",\n "id": "6a6ebfe4-b0b5-434e-b5d6-5212adbf82fa",\n "data": {\n "table_id": "md_xzru7dcqrecc60",\n "table_name": "Film",\n "view_id": "vw_736wrpoas7tr0c",\n "view_name": "Film",\n "previous_records": [\n {\n "FilmId": 1,\n "Title": "ACADEMY DINOSAUR",\n "Description": "A Epic Drama of a Feminist in The Canadian Rockies",\n "Actor List": [\n {\n "ActorId": 10,\n "FirstName": "CHRISTIAN"\n }\n ],\n }\n ],\n "records": [\n {\n "FilmId": 1,\n "Title": "ACADEMY DINOSAUR (Edited)",\n "Actor List": [\n {\n "ActorId": 10,\n "FirstName": "CHRISTIAN"\n }\n ],\n }\n ]\n }\n}\n'))),(0,r.kt)(m,{value:"After Delete",label:"After Delete",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'{\n "type": "records.after.delete",\n "id": "e593079f-70e5-4965-8944-5ff7aeed005c",\n "data": {\n "table_id": "md_xzru7dcqrecc60",\n "table_name": "Film",\n "view_id": "vw_736wrpoas7tr0c",\n "view_name": "Film",\n "records": [\n {\n "FilmId": 1010,\n "Title": "ALL-EDITED",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n },\n }\n ]\n }\n}\n'))),(0,r.kt)(m,{value:"After Bulk Insert",label:"After Bulk Insert",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'{\n "type": "records.after.bulkInsert",\n "id": "f8397b06-a399-4a3a-b6b0-6d1c0c2f7578",\n "data": {\n "table_id": "md_xzru7dcqrecc60",\n "table_name": "Film",\n "view_id": "vw_3fq2e9q8drkblw",\n "view_name": "GridView",\n "records_inserted": 2\n }\n}\n'))),(0,r.kt)(m,{value:"After Bulk Update",label:"After Bulk Update",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'{\n "type": "records.after.bulkUpdate",\n "id": "e983cea5-8e38-438e-96a0-048751f6830b",\n "data": {\n "table_id": "md_xzru7dcqrecc60",\n "table_name": "Film",\n "view_id": "vw_3fq2e9q8drkblw",\n "view_name": "Sheet-1",\n "previous_records": [\n [\n {\n "FilmId": 1005,\n "Title": "Q",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n },\n },\n {\n "FilmId": 1004,\n "Title": "P",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n }\n }\n ]\n ],\n "records": [\n [\n {\n "FilmId": 1005,\n "Title": "Q-EDITED",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n }\n },\n {\n "FilmId": 1004,\n "Title": "P-EDITED",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n },\n }\n ]\n ]\n }\n}\n'))),(0,r.kt)(m,{value:"After Bulk Delete",label:"After Bulk Delete",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'{\n "type": "records.after.bulkDelete",\n "id": "e7f1f4e5-7052-4ca2-9355-241ceb836f43",\n "data": {\n "table_id": "md_xzru7dcqrecc60",\n "table_name": "Film",\n "view_id": "vw_3fq2e9q8drkblw",\n "view_name": "Sheet-1",\n "records": [\n [\n {\n "FilmId": 1022,\n "Title": "x",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n },\n },\n {\n "FilmId": 1023,\n "Title": "x",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n },\n }\n ]\n ]\n }\n}\n')))))}u.isMDXComponent=!0},89999:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/create-webhook-1-be523f2a91b6829cd8d82915d07e92e4.png"},3896:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/create-webhook-2-ae6af25bd288d16427ddbcd283a32eb2.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3479],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>k});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=a.createContext({}),c=function(e){var t=a.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},s=function(e){var t=c(e.components);return a.createElement(d.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},b=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,d=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),p=c(n),b=r,k=p["".concat(d,".").concat(b)]||p[b]||m[b]||o;return n?a.createElement(k,l(l({ref:t},s),{},{components:n})):a.createElement(k,l({ref:t},s))}));function k(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,l=new Array(o);l[0]=b;var i={};for(var d in t)hasOwnProperty.call(t,d)&&(i[d]=t[d]);i.originalType=e,i[p]="string"==typeof e?e:r,l[1]=i;for(var c=2;c{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=n(87462),r=(n(67294),n(3905));const o={title:"Create webhook",description:"Learn how to create a webhook in NocoDB.",tags:["Webhook","Create"],keywords:["NocoDB webhook","create webhook"]},l=void 0,i={unversionedId:"automation/webhook/create-webhook",id:"automation/webhook/create-webhook",title:"Create webhook",description:"Learn how to create a webhook in NocoDB.",source:"@site/docs/130.automation/020.webhook/020.create-webhook.md",sourceDirName:"130.automation/020.webhook",slug:"/automation/webhook/create-webhook",permalink:"/automation/webhook/create-webhook",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/130.automation/020.webhook/020.create-webhook.md",tags:[{label:"Webhook",permalink:"/tags/webhook"},{label:"Create",permalink:"/tags/create"}],version:"current",sidebarPosition:20,frontMatter:{title:"Create webhook",description:"Learn how to create a webhook in NocoDB.",tags:["Webhook","Create"],keywords:["NocoDB webhook","create webhook"]},sidebar:"tutorialSidebar",previous:{title:"Webhook overview",permalink:"/automation/webhook/webhook-overview"},next:{title:"Actions on webhook",permalink:"/automation/webhook/actions-on-webhook"}},d={},c=[{value:"Create Webhook",id:"create-webhook",level:2},{value:"Accessing webhook page",id:"accessing-webhook-page",level:3},{value:"Configuring webhook",id:"configuring-webhook",level:3},{value:"Webhook Response Sample",id:"webhook-response-sample",level:3}],s=e=>function(t){return console.warn("Component "+e+" was not imported, exported, or provided by MDXProvider as global scope"),(0,r.kt)("div",t)},p=s("Tabs"),m=s("TabItem"),b={toc:c},k="wrapper";function u(e){let{components:t,...o}=e;return(0,r.kt)(k,(0,a.Z)({},b,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"create-webhook"},"Create Webhook"),(0,r.kt)("h3",{id:"accessing-webhook-page"},"Accessing webhook page"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Click on table for which webhook needs to be configured on the left sidebar"),(0,r.kt)("li",{parentName:"ol"},"Open ",(0,r.kt)("inlineCode",{parentName:"li"},"Details")," tab in topbar,"),(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Webhooks")," tab"),(0,r.kt)("li",{parentName:"ol"},"Click ",(0,r.kt)("inlineCode",{parentName:"li"},"Add New Webhook"))),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Accessing webhook",src:n(99806).Z,width:"2872",height:"1584"})),(0,r.kt)("h3",{id:"configuring-webhook"},"Configuring webhook"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Name of the webhook"),(0,r.kt)("li",{parentName:"ol"},"Select the event for which webhook needs to be triggered")),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Trigger"),(0,r.kt)("th",{parentName:"tr",align:null},"Details"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"After Insert"),(0,r.kt)("td",{parentName:"tr",align:null},"After a single record is inserted")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"After Update"),(0,r.kt)("td",{parentName:"tr",align:null},"After a single record is updated")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"After Delete"),(0,r.kt)("td",{parentName:"tr",align:null},"After a single record is deleted")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"After Bulk Insert"),(0,r.kt)("td",{parentName:"tr",align:null},"After bulk records are inserted")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"After Bulk Update"),(0,r.kt)("td",{parentName:"tr",align:null},"After bulk records are updated")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"After Bulk Delete"),(0,r.kt)("td",{parentName:"tr",align:null},"After bulk records are deleted")))),(0,r.kt)("ol",{start:3},(0,r.kt)("li",{parentName:"ol"},"Method & URL: Configure the endpoint to which webhook needs to be triggered. Supported methods are GET, POST, DELETE, PUT, HEAD, PATCH"),(0,r.kt)("li",{parentName:"ol"},"Headers & Parameters: Configure Request headers & parameters (optional)"),(0,r.kt)("li",{parentName:"ol"},"Condition: Only records meeting the configured criteria will trigger webhook (optional)"),(0,r.kt)("li",{parentName:"ol"},"Test webhook (with sample payload) to verify if parameter are configured appropriately (optional)"),(0,r.kt)("li",{parentName:"ol"},"Save the webhook")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Configuring webhook",src:n(38525).Z,width:"2872",height:"1790"})),(0,r.kt)("h3",{id:"webhook-response-sample"},"Webhook Response Sample"),(0,r.kt)(p,{mdxType:"Tabs"},(0,r.kt)(m,{value:"After Insert",label:"After Insert",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'{\n "type": "records.after.insert",\n "id": "9dac1c54-b3be-49a1-a676-af388145fa8c",\n "data": {\n "table_id": "md_xzru7dcqrecc60",\n "table_name": "Film",\n "view_id": "vw_736wrpoas7tr0c",\n "view_name": "Film",\n "records": [\n {\n "FilmId": 1011,\n "Title": "FOO",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n },\n }\n ]\n }\n}\n'))),(0,r.kt)(m,{value:"After Update",label:"After Update",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'{\n "type": "records.after.update",\n "id": "6a6ebfe4-b0b5-434e-b5d6-5212adbf82fa",\n "data": {\n "table_id": "md_xzru7dcqrecc60",\n "table_name": "Film",\n "view_id": "vw_736wrpoas7tr0c",\n "view_name": "Film",\n "previous_records": [\n {\n "FilmId": 1,\n "Title": "ACADEMY DINOSAUR",\n "Description": "A Epic Drama of a Feminist in The Canadian Rockies",\n "Actor List": [\n {\n "ActorId": 10,\n "FirstName": "CHRISTIAN"\n }\n ],\n }\n ],\n "records": [\n {\n "FilmId": 1,\n "Title": "ACADEMY DINOSAUR (Edited)",\n "Actor List": [\n {\n "ActorId": 10,\n "FirstName": "CHRISTIAN"\n }\n ],\n }\n ]\n }\n}\n'))),(0,r.kt)(m,{value:"After Delete",label:"After Delete",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'{\n "type": "records.after.delete",\n "id": "e593079f-70e5-4965-8944-5ff7aeed005c",\n "data": {\n "table_id": "md_xzru7dcqrecc60",\n "table_name": "Film",\n "view_id": "vw_736wrpoas7tr0c",\n "view_name": "Film",\n "records": [\n {\n "FilmId": 1010,\n "Title": "ALL-EDITED",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n },\n }\n ]\n }\n}\n'))),(0,r.kt)(m,{value:"After Bulk Insert",label:"After Bulk Insert",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'{\n "type": "records.after.bulkInsert",\n "id": "f8397b06-a399-4a3a-b6b0-6d1c0c2f7578",\n "data": {\n "table_id": "md_xzru7dcqrecc60",\n "table_name": "Film",\n "view_id": "vw_3fq2e9q8drkblw",\n "view_name": "GridView",\n "records_inserted": 2\n }\n}\n'))),(0,r.kt)(m,{value:"After Bulk Update",label:"After Bulk Update",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'{\n "type": "records.after.bulkUpdate",\n "id": "e983cea5-8e38-438e-96a0-048751f6830b",\n "data": {\n "table_id": "md_xzru7dcqrecc60",\n "table_name": "Film",\n "view_id": "vw_3fq2e9q8drkblw",\n "view_name": "Sheet-1",\n "previous_records": [\n [\n {\n "FilmId": 1005,\n "Title": "Q",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n },\n },\n {\n "FilmId": 1004,\n "Title": "P",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n }\n }\n ]\n ],\n "records": [\n [\n {\n "FilmId": 1005,\n "Title": "Q-EDITED",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n }\n },\n {\n "FilmId": 1004,\n "Title": "P-EDITED",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n },\n }\n ]\n ]\n }\n}\n'))),(0,r.kt)(m,{value:"After Bulk Delete",label:"After Bulk Delete",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'{\n "type": "records.after.bulkDelete",\n "id": "e7f1f4e5-7052-4ca2-9355-241ceb836f43",\n "data": {\n "table_id": "md_xzru7dcqrecc60",\n "table_name": "Film",\n "view_id": "vw_3fq2e9q8drkblw",\n "view_name": "Sheet-1",\n "records": [\n [\n {\n "FilmId": 1022,\n "Title": "x",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n },\n },\n {\n "FilmId": 1023,\n "Title": "x",\n "Language": {\n "LanguageId": 1,\n "Name": "English"\n },\n }\n ]\n ]\n }\n}\n')))))}u.isMDXComponent=!0},99806:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/create-webhook-1-be523f2a91b6829cd8d82915d07e92e4.png"},38525:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/create-webhook-2-ae6af25bd288d16427ddbcd283a32eb2.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/0ecc5e11.5fd94c3e.js b/packages/noco-docs/dist/assets/js/0ecc5e11.5fd94c3e.js new file mode 100644 index 0000000000..e2c5061f59 --- /dev/null +++ b/packages/noco-docs/dist/assets/js/0ecc5e11.5fd94c3e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[117],{3905:(t,e,n)=>{n.d(e,{Zo:()=>m,kt:()=>N});var a=n(67294);function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function l(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var d=a.createContext({}),p=function(t){var e=a.useContext(d),n=e;return t&&(n="function"==typeof t?t(e):l(l({},e),t)),n},m=function(t){var e=p(t.components);return a.createElement(d.Provider,{value:e},t.children)},k="mdxType",s={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},c=a.forwardRef((function(t,e){var n=t.components,r=t.mdxType,i=t.originalType,d=t.parentName,m=o(t,["components","mdxType","originalType","parentName"]),k=p(n),c=r,N=k["".concat(d,".").concat(c)]||k[c]||s[c]||i;return n?a.createElement(N,l(l({ref:e},m),{},{components:n})):a.createElement(N,l({ref:e},m))}));function N(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var i=n.length,l=new Array(i);l[0]=c;var o={};for(var d in e)hasOwnProperty.call(e,d)&&(o[d]=e[d]);o.originalType=t,o[k]="string"==typeof t?t:r,l[1]=o;for(var p=2;p{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>o,toc:()=>p});var a=n(87462),r=(n(67294),n(3905));const i={title:"Keyboard shortcuts",tags:["Getting Started","Shortcuts","Productivity hacks"],keywords:["keyboard shortcuts","shortcuts","keyboard"]},l=void 0,o={unversionedId:"getting-started/keyboard-shortcuts",id:"getting-started/keyboard-shortcuts",title:"Keyboard shortcuts",description:"Quick Actions",source:"@site/docs/020.getting-started/040.keyboard-shortcuts.md",sourceDirName:"020.getting-started",slug:"/getting-started/keyboard-shortcuts",permalink:"/getting-started/keyboard-shortcuts",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/020.getting-started/040.keyboard-shortcuts.md",tags:[{label:"Getting Started",permalink:"/tags/getting-started"},{label:"Shortcuts",permalink:"/tags/shortcuts"},{label:"Productivity hacks",permalink:"/tags/productivity-hacks"}],version:"current",sidebarPosition:40,frontMatter:{title:"Keyboard shortcuts",tags:["Getting Started","Shortcuts","Productivity hacks"],keywords:["keyboard shortcuts","shortcuts","keyboard"]},sidebar:"tutorialSidebar",previous:{title:"NocoDB terminologies",permalink:"/getting-started/terminologies"},next:{title:"Installation",permalink:"/getting-started/self-hosted/installation"}},d={},p=[{value:"Quick Actions",id:"quick-actions",level:2},{value:"Recent Views",id:"recent-views",level:2},{value:"Search in Docs",id:"search-in-docs",level:2},{value:"General shortcuts",id:"general-shortcuts",level:2},{value:"Grid view shortcuts",id:"grid-view-shortcuts",level:2},{value:"Field type specific shortcuts",id:"field-type-specific-shortcuts",level:2},{value:"Expanded form shortcuts",id:"expanded-form-shortcuts",level:2}],m={toc:p},k="wrapper";function s(t){let{components:e,...i}=t;return(0,r.kt)(k,(0,a.Z)({},m,i,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"quick-actions"},"Quick Actions"),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"This feature is available only in NocoDB Cloud hosted version.")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"p"},"K")," (or ",(0,r.kt)("inlineCode",{parentName:"p"},"Ctrl")," + ",(0,r.kt)("inlineCode",{parentName:"p"},"K"),' on Windows) is a keyboard shortcut to quickly navigate between different workspace, table, view, or a menu items. For example, if you want to quickly navigate to the "API Tokens" page, you can open Quick Actions menu using \u2318+K, type "Token" in the search box and press enter.'),(0,r.kt)("p",null,"This shortcut is often referred to as \"Command-K\". It's a great way to save time when you're navigating around NocoDB."),(0,r.kt)("p",null,'Command-K menu can also be accessed via the "Quick Actions" button in the top left corner of the screen.'),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Quick Actions",src:n(48649).Z,width:"2880",height:"1800"})),(0,r.kt)("p",null,"To navigate within \u2318+K menu, "),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"li"},"\u2193")," to navigate between listed items"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Enter")," to select an item"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Backspace")," to move to parent menu"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Esc")," to close the menu")),(0,r.kt)("h2",{id:"recent-views"},"Recent Views"),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"This feature is available only in NocoDB Cloud hosted version.")),(0,r.kt)("p",null,"Access recently visited views quickly using ",(0,r.kt)("inlineCode",{parentName:"p"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"p"},"L")," (or ",(0,r.kt)("inlineCode",{parentName:"p"},"Ctrl")," + ",(0,r.kt)("inlineCode",{parentName:"p"},"L")," on Windows). Search results will be displayed in a modal window; click on the result to open the view. "),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Recent Views",src:n(9053).Z,width:"2880",height:"1800"})),(0,r.kt)("p",null,"To navigate within \u2318+K menu,"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"li"},"\u2193")," to navigate between listed items"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Enter")," to select an item"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Backspace")," to move to parent menu"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Esc")," to close the menu")),(0,r.kt)("h2",{id:"search-in-docs"},"Search in Docs"),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"This feature is available only in NocoDB Cloud hosted version.")),(0,r.kt)("p",null,"Quickly search through docs from within NocoDB UI using ",(0,r.kt)("inlineCode",{parentName:"p"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"p"},"J")," (or ",(0,r.kt)("inlineCode",{parentName:"p"},"Ctrl")," + ",(0,r.kt)("inlineCode",{parentName:"p"},"J")," on Windows). Search results will be displayed in a modal window; click on the result to open the page in a new tab."),(0,r.kt)("p",null,"To navigate within \u2318+K menu,"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"li"},"\u2193")," to navigate between listed items"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Enter")," to select an item"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Backspace")," to move to parent menu"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Esc")," to close the menu")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Search in Docs",src:n(58632).Z,width:"2880",height:"1800"})),(0,r.kt)("h2",{id:"general-shortcuts"},"General shortcuts"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"right"},"Key"),(0,r.kt)("th",{parentName:"tr",align:"left"},"Behaviour"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"t")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Opens new table modal")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"c")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Opens new field modal")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"f")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Toggles fullscreen mode")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"i")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Opens share button modal")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"k")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Opens Quick Actions modal")))),(0,r.kt)("h2",{id:"grid-view-shortcuts"},"Grid view shortcuts"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"right"},"Key"),(0,r.kt)("th",{parentName:"tr",align:"left"},"Behaviour"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2190")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2192")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,r.kt)("td",{parentName:"tr",align:"left"},"General cell navigation")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Delete")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Clear cell")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Space")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Expand current record")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Tab")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Move to next cell horizontally; if on last cell, move to beginning of next record")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Esc")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Exit cell EDIT mode")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Enter")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Switch cell in focus to EDIT mode; opens modal/picker if cell is associated with one")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2191")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Jump to first record in this field (in same page)")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Jump to last record in this field (in same page)")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2190")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Jump to first field in this record")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2192")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Jump to last field in this record")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"c")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Copy cell contents")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"v")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Paste copied contents")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"r")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Inserts new record in grid view")))),(0,r.kt)("h2",{id:"field-type-specific-shortcuts"},"Field type specific shortcuts"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"center"},"Datatype"),(0,r.kt)("th",{parentName:"tr",align:"right"},"Key"),(0,r.kt)("th",{parentName:"tr",align:"left"},"Behaviour"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"},"Text & Numerical cells"),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2190")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2192")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Move cursor to the left / right")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"}),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Move cursor to the beginning / end")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"},"Single Select"),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Move between options")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"}),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Enter")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Select option")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"},"Multi Select"),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Move between options")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"}),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Enter")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Select / deselect option")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"},"Link"),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Move between options")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"}),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Enter")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Link current selection")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"},"Checkbox"),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Enter")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Toggle")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"},"Rating"),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"<0 ~ Max>")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Enter number to toggle rating")))),(0,r.kt)("h2",{id:"expanded-form-shortcuts"},"Expanded form shortcuts"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"right"},"Key"),(0,r.kt)("th",{parentName:"tr",align:"left"},"Behaviour"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"Enter")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Save current expanded form item")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2192")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Switch to next record")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2190")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Switch to previous record")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"S")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Save current expanded form record")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"N")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Create a new record")))))}s.isMDXComponent=!0},58632:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/cmd-j-267d51c21c4e2eff6b1b92fbf33910ff.png"},48649:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/cmd-k-1f005c4c3352fd997c5f7861a8c8d503.png"},9053:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/cmd-l-d77ac9514673c96a734aed572ec2d636.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/0ecc5e11.64d354f8.js b/packages/noco-docs/dist/assets/js/0ecc5e11.64d354f8.js deleted file mode 100644 index 6cec13967c..0000000000 --- a/packages/noco-docs/dist/assets/js/0ecc5e11.64d354f8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[117],{3905:(t,e,n)=>{n.d(e,{Zo:()=>m,kt:()=>N});var a=n(67294);function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function l(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var d=a.createContext({}),p=function(t){var e=a.useContext(d),n=e;return t&&(n="function"==typeof t?t(e):l(l({},e),t)),n},m=function(t){var e=p(t.components);return a.createElement(d.Provider,{value:e},t.children)},k="mdxType",s={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},c=a.forwardRef((function(t,e){var n=t.components,r=t.mdxType,i=t.originalType,d=t.parentName,m=o(t,["components","mdxType","originalType","parentName"]),k=p(n),c=r,N=k["".concat(d,".").concat(c)]||k[c]||s[c]||i;return n?a.createElement(N,l(l({ref:e},m),{},{components:n})):a.createElement(N,l({ref:e},m))}));function N(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var i=n.length,l=new Array(i);l[0]=c;var o={};for(var d in e)hasOwnProperty.call(e,d)&&(o[d]=e[d]);o.originalType=t,o[k]="string"==typeof t?t:r,l[1]=o;for(var p=2;p{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>o,toc:()=>p});var a=n(87462),r=(n(67294),n(3905));const i={title:"Keyboard shortcuts",tags:["Getting Started","Shortcuts","Productivity hacks"],keywords:["keyboard shortcuts","shortcuts","keyboard"]},l=void 0,o={unversionedId:"getting-started/keyboard-shortcuts",id:"getting-started/keyboard-shortcuts",title:"Keyboard shortcuts",description:"Quick Actions",source:"@site/docs/020.getting-started/040.keyboard-shortcuts.md",sourceDirName:"020.getting-started",slug:"/getting-started/keyboard-shortcuts",permalink:"/getting-started/keyboard-shortcuts",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/020.getting-started/040.keyboard-shortcuts.md",tags:[{label:"Getting Started",permalink:"/tags/getting-started"},{label:"Shortcuts",permalink:"/tags/shortcuts"},{label:"Productivity hacks",permalink:"/tags/productivity-hacks"}],version:"current",sidebarPosition:40,frontMatter:{title:"Keyboard shortcuts",tags:["Getting Started","Shortcuts","Productivity hacks"],keywords:["keyboard shortcuts","shortcuts","keyboard"]},sidebar:"tutorialSidebar",previous:{title:"NocoDB terminologies",permalink:"/getting-started/terminologies"},next:{title:"Installation",permalink:"/getting-started/self-hosted/installation"}},d={},p=[{value:"Quick Actions",id:"quick-actions",level:2},{value:"Recent Views",id:"recent-views",level:2},{value:"Search in Docs",id:"search-in-docs",level:2},{value:"General shortcuts",id:"general-shortcuts",level:2},{value:"Grid view shortcuts",id:"grid-view-shortcuts",level:2},{value:"Field type specific shortcuts",id:"field-type-specific-shortcuts",level:2},{value:"Expanded form shortcuts",id:"expanded-form-shortcuts",level:2}],m={toc:p},k="wrapper";function s(t){let{components:e,...i}=t;return(0,r.kt)(k,(0,a.Z)({},m,i,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"quick-actions"},"Quick Actions"),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"This feature is available only in NocoDB Cloud hosted version.")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"p"},"K")," (or ",(0,r.kt)("inlineCode",{parentName:"p"},"Ctrl")," + ",(0,r.kt)("inlineCode",{parentName:"p"},"K"),' on Windows) is a keyboard shortcut to quickly navigate between different workspace, table, view, or a menu items. For example, if you want to quickly navigate to the "API Tokens" page, you can open Quick Actions menu using \u2318+K, type "Token" in the search box and press enter.'),(0,r.kt)("p",null,"This shortcut is often referred to as \"Command-K\". It's a great way to save time when you're navigating around NocoDB."),(0,r.kt)("p",null,'Command-K menu can also be accessed via the "Quick Actions" button in the top left corner of the screen.'),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Quick Actions",src:n(97204).Z,width:"2880",height:"1800"})),(0,r.kt)("p",null,"To navigate within \u2318+K menu, "),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"li"},"\u2193")," to navigate between listed items"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Enter")," to select an item"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Backspace")," to move to parent menu"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Esc")," to close the menu")),(0,r.kt)("h2",{id:"recent-views"},"Recent Views"),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"This feature is available only in NocoDB Cloud hosted version.")),(0,r.kt)("p",null,"Access recently visited views quickly using ",(0,r.kt)("inlineCode",{parentName:"p"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"p"},"L")," (or ",(0,r.kt)("inlineCode",{parentName:"p"},"Ctrl")," + ",(0,r.kt)("inlineCode",{parentName:"p"},"L")," on Windows). Search results will be displayed in a modal window; click on the result to open the view. "),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Recent Views",src:n(83971).Z,width:"2880",height:"1800"})),(0,r.kt)("p",null,"To navigate within \u2318+K menu,"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"li"},"\u2193")," to navigate between listed items"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Enter")," to select an item"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Backspace")," to move to parent menu"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Esc")," to close the menu")),(0,r.kt)("h2",{id:"search-in-docs"},"Search in Docs"),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"This feature is available only in NocoDB Cloud hosted version.")),(0,r.kt)("p",null,"Quickly search through docs from within NocoDB UI using ",(0,r.kt)("inlineCode",{parentName:"p"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"p"},"J")," (or ",(0,r.kt)("inlineCode",{parentName:"p"},"Ctrl")," + ",(0,r.kt)("inlineCode",{parentName:"p"},"J")," on Windows). Search results will be displayed in a modal window; click on the result to open the page in a new tab."),(0,r.kt)("p",null,"To navigate within \u2318+K menu,"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"li"},"\u2193")," to navigate between listed items"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Enter")," to select an item"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Backspace")," to move to parent menu"),(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"Esc")," to close the menu")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Search in Docs",src:n(99526).Z,width:"2880",height:"1800"})),(0,r.kt)("h2",{id:"general-shortcuts"},"General shortcuts"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"right"},"Key"),(0,r.kt)("th",{parentName:"tr",align:"left"},"Behaviour"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"t")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Opens new table modal")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"c")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Opens new field modal")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"f")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Toggles fullscreen mode")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"i")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Opens share button modal")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"k")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Opens Quick Actions modal")))),(0,r.kt)("h2",{id:"grid-view-shortcuts"},"Grid view shortcuts"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"right"},"Key"),(0,r.kt)("th",{parentName:"tr",align:"left"},"Behaviour"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2190")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2192")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,r.kt)("td",{parentName:"tr",align:"left"},"General cell navigation")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Delete")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Clear cell")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Space")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Expand current record")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Tab")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Move to next cell horizontally; if on last cell, move to beginning of next record")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Esc")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Exit cell EDIT mode")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Enter")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Switch cell in focus to EDIT mode; opens modal/picker if cell is associated with one")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2191")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Jump to first record in this field (in same page)")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Jump to last record in this field (in same page)")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2190")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Jump to first field in this record")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2192")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Jump to last field in this record")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"c")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Copy cell contents")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"v")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Paste copied contents")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"r")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Inserts new record in grid view")))),(0,r.kt)("h2",{id:"field-type-specific-shortcuts"},"Field type specific shortcuts"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"center"},"Datatype"),(0,r.kt)("th",{parentName:"tr",align:"right"},"Key"),(0,r.kt)("th",{parentName:"tr",align:"left"},"Behaviour"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"},"Text & Numerical cells"),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2190")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2192")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Move cursor to the left / right")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"}),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Move cursor to the beginning / end")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"},"Single Select"),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Move between options")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"}),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Enter")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Select option")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"},"Multi Select"),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Move between options")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"}),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Enter")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Select / deselect option")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"},"Link"),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2191")," ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Move between options")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"}),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Enter")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Link current selection")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"},"Checkbox"),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"Enter")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Toggle")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"center"},"Rating"),(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"<0 ~ Max>")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Enter number to toggle rating")))),(0,r.kt)("h2",{id:"expanded-form-shortcuts"},"Expanded form shortcuts"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:"right"},"Key"),(0,r.kt)("th",{parentName:"tr",align:"left"},"Behaviour"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"\u2318")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"Enter")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Save current expanded form item")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2192")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Switch to next record")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"\u2190")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Switch to previous record")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"S")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Save current expanded form record")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:"right"},(0,r.kt)("inlineCode",{parentName:"td"},"alt")," + ",(0,r.kt)("inlineCode",{parentName:"td"},"N")),(0,r.kt)("td",{parentName:"tr",align:"left"},"Create a new record")))))}s.isMDXComponent=!0},99526:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/cmd-j-267d51c21c4e2eff6b1b92fbf33910ff.png"},97204:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/cmd-k-1f005c4c3352fd997c5f7861a8c8d503.png"},83971:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/cmd-l-d77ac9514673c96a734aed572ec2d636.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/0f4f52c0.8653bf6a.js b/packages/noco-docs/dist/assets/js/0f4f52c0.9eae8c94.js similarity index 89% rename from packages/noco-docs/dist/assets/js/0f4f52c0.8653bf6a.js rename to packages/noco-docs/dist/assets/js/0f4f52c0.9eae8c94.js index 20a99e4b48..71106c4c10 100644 --- a/packages/noco-docs/dist/assets/js/0f4f52c0.8653bf6a.js +++ b/packages/noco-docs/dist/assets/js/0f4f52c0.9eae8c94.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5822],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>u});var n=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var c=n.createContext({}),s=function(e){var t=n.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},p=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},b="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,l=e.mdxType,i=e.originalType,c=e.parentName,p=r(e,["components","mdxType","originalType","parentName"]),b=s(a),m=l,u=b["".concat(c,".").concat(m)]||b[m]||d[m]||i;return a?n.createElement(u,o(o({ref:t},p),{},{components:a})):n.createElement(u,o({ref:t},p))}));function u(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var i=a.length,o=new Array(i);o[0]=m;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r[b]="string"==typeof e?e:l,o[1]=r;for(var s=2;s{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>s});var n=a(87462),l=(a(67294),a(3905));const i={title:"Actions on table",description:"Learn how to rename, duplicate, and delete a table in NocoDB.",tags:["Tables","Rename","Duplicate","Delete"],keywords:["NocoDB table","rename table","duplicate table","delete table"]},o=void 0,r={unversionedId:"tables/actions-on-table",id:"tables/actions-on-table",title:"Actions on table",description:"Learn how to rename, duplicate, and delete a table in NocoDB.",source:"@site/docs/050.tables/060.actions-on-table.md",sourceDirName:"050.tables",slug:"/tables/actions-on-table",permalink:"/tables/actions-on-table",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/050.tables/060.actions-on-table.md",tags:[{label:"Tables",permalink:"/tags/tables"},{label:"Rename",permalink:"/tags/rename"},{label:"Duplicate",permalink:"/tags/duplicate"},{label:"Delete",permalink:"/tags/delete"}],version:"current",sidebarPosition:60,frontMatter:{title:"Actions on table",description:"Learn how to rename, duplicate, and delete a table in NocoDB.",tags:["Tables","Rename","Duplicate","Delete"],keywords:["NocoDB table","rename table","duplicate table","delete table"]},sidebar:"tutorialSidebar",previous:{title:"Import data into an existing table",permalink:"/tables/import-data-into-existing-table"},next:{title:"Table operations overview",permalink:"/table-operations/overview"}},c={},s=[{value:"Rename table",id:"rename-table",level:2},{value:"Change table icon",id:"change-table-icon",level:2},{value:"Duplicate table",id:"duplicate-table",level:2},{value:"Delete table",id:"delete-table",level:2},{value:"Related articles",id:"related-articles",level:2}],p={toc:s},b="wrapper";function d(e){let{components:t,...i}=e;return(0,l.kt)(b,(0,n.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h2",{id:"rename-table"},"Rename table"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Access the contextual menu for the table by clicking on the ellipsis symbol (",(0,l.kt)("inlineCode",{parentName:"li"},"..."),") located in the left sidebar."),(0,l.kt)("li",{parentName:"ol"},"Click on the ",(0,l.kt)("inlineCode",{parentName:"li"},"Rename")," option from the context menu."),(0,l.kt)("li",{parentName:"ol"},"Enter the desired new table name into the provided field."),(0,l.kt)("li",{parentName:"ol"},"To finalize the renaming process, click on the ",(0,l.kt)("inlineCode",{parentName:"li"},"Rename")," button.")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(92097).Z,width:"2878",height:"1176"})),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(75270).Z,width:"2876",height:"1188"})),(0,l.kt)("h2",{id:"change-table-icon"},"Change table icon"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Click on the existing table icon to the left of the table name in the left sidebar."),(0,l.kt)("li",{parentName:"ol"},"Select the desired icon from the list of available options.")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(75291).Z,width:"2878",height:"1796"})),(0,l.kt)("h2",{id:"duplicate-table"},"Duplicate table"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Access the contextual menu for the table by clicking on the ellipsis symbol (",(0,l.kt)("inlineCode",{parentName:"li"},"..."),") located in the left sidebar."),(0,l.kt)("li",{parentName:"ol"},"Click on the ",(0,l.kt)("inlineCode",{parentName:"li"},"Duplicate")," option from the context menu."),(0,l.kt)("li",{parentName:"ol"},"For additional customization (Optional)\na) Under ",(0,l.kt)("inlineCode",{parentName:"li"},"Include data"),", you have the flexibility to choose whether to replicate the table with or without its data.\nb) Regarding ",(0,l.kt)("inlineCode",{parentName:"li"},"Include views")," you can select whether to duplicate the table with or without its associated views."),(0,l.kt)("li",{parentName:"ol"},"Proceed by clicking the ",(0,l.kt)("inlineCode",{parentName:"li"},"Duplicate Table")," button found in the confirmation dialog.")),(0,l.kt)("p",null,"A new table will be generated, mirroring the original table's schema and content, in accordance with the configurations specified in step 3."),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(92097).Z,width:"2878",height:"1176"})),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(84905).Z,width:"2878",height:"1210"})),(0,l.kt)("admonition",{type:"info"},(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},"Duplicate table will be created in the same base as the original table"),(0,l.kt)("li",{parentName:"ul"},"Duplicate table will carry suffix ",(0,l.kt)("inlineCode",{parentName:"li"}," Copy")," in its name."),(0,l.kt)("li",{parentName:"ul"},"Duplicate table option is not available for ",(0,l.kt)("inlineCode",{parentName:"li"},"External DB")," projects"))),(0,l.kt)("h2",{id:"delete-table"},"Delete table"),(0,l.kt)("admonition",{type:"danger"},(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("strong",{parentName:"p"},"This action cannot be undone."))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Access the contextual menu for the table by clicking on the ellipsis symbol (",(0,l.kt)("inlineCode",{parentName:"li"},"..."),") located in the left sidebar."),(0,l.kt)("li",{parentName:"ol"},"Click on the ",(0,l.kt)("inlineCode",{parentName:"li"},"Delete")," option from the context menu."),(0,l.kt)("li",{parentName:"ol"},"To finalize the deletion process, click on the ",(0,l.kt)("inlineCode",{parentName:"li"},"Delete")," button in the confirmation dialog.")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(92097).Z,width:"2878",height:"1176"})),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(72746).Z,width:"2878",height:"1178"})),(0,l.kt)("h2",{id:"related-articles"},"Related articles"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/tables/create-table"},"Create a new table")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/tables/create-table-via-import"},"Create a table using a CSV, Excel or a JSON")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/tables/import-data-into-existing-table"},"Import data from Csv/Xlsx into existing table")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/tables/actions-on-table#rename-table"},"Rename a table")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/tables/actions-on-table#duplicate-table"},"Duplicate a table")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/tables/actions-on-table#delete-table"},"Delete a table"))))}d.isMDXComponent=!0},75291:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/table-change-icon-baccebee8b06d0948a88ecfcb9b728db.png"},92097:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/table-context-menu-4350d219274600ef6608abe0543fd679.png"},72746:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/table-delete-67882c51f591ee24a8a664a1f56bfdb4.png"},84905:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/table-duplicate-63649061c6e13ea404b6d030f393b7ef.png"},75270:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/table-rename-61e86ff470760b4ac119d328ceb6e767.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5822],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>u});var n=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var c=n.createContext({}),s=function(e){var t=n.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},p=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},b="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,l=e.mdxType,i=e.originalType,c=e.parentName,p=r(e,["components","mdxType","originalType","parentName"]),b=s(a),m=l,u=b["".concat(c,".").concat(m)]||b[m]||d[m]||i;return a?n.createElement(u,o(o({ref:t},p),{},{components:a})):n.createElement(u,o({ref:t},p))}));function u(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var i=a.length,o=new Array(i);o[0]=m;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r[b]="string"==typeof e?e:l,o[1]=r;for(var s=2;s{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>s});var n=a(87462),l=(a(67294),a(3905));const i={title:"Actions on table",description:"Learn how to rename, duplicate, and delete a table in NocoDB.",tags:["Tables","Rename","Duplicate","Delete"],keywords:["NocoDB table","rename table","duplicate table","delete table"]},o=void 0,r={unversionedId:"tables/actions-on-table",id:"tables/actions-on-table",title:"Actions on table",description:"Learn how to rename, duplicate, and delete a table in NocoDB.",source:"@site/docs/050.tables/060.actions-on-table.md",sourceDirName:"050.tables",slug:"/tables/actions-on-table",permalink:"/tables/actions-on-table",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/050.tables/060.actions-on-table.md",tags:[{label:"Tables",permalink:"/tags/tables"},{label:"Rename",permalink:"/tags/rename"},{label:"Duplicate",permalink:"/tags/duplicate"},{label:"Delete",permalink:"/tags/delete"}],version:"current",sidebarPosition:60,frontMatter:{title:"Actions on table",description:"Learn how to rename, duplicate, and delete a table in NocoDB.",tags:["Tables","Rename","Duplicate","Delete"],keywords:["NocoDB table","rename table","duplicate table","delete table"]},sidebar:"tutorialSidebar",previous:{title:"Import data into an existing table",permalink:"/tables/import-data-into-existing-table"},next:{title:"Table operations overview",permalink:"/table-operations/overview"}},c={},s=[{value:"Rename table",id:"rename-table",level:2},{value:"Change table icon",id:"change-table-icon",level:2},{value:"Duplicate table",id:"duplicate-table",level:2},{value:"Delete table",id:"delete-table",level:2},{value:"Related articles",id:"related-articles",level:2}],p={toc:s},b="wrapper";function d(e){let{components:t,...i}=e;return(0,l.kt)(b,(0,n.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h2",{id:"rename-table"},"Rename table"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Access the contextual menu for the table by clicking on the ellipsis symbol (",(0,l.kt)("inlineCode",{parentName:"li"},"..."),") located in the left sidebar."),(0,l.kt)("li",{parentName:"ol"},"Click on the ",(0,l.kt)("inlineCode",{parentName:"li"},"Rename")," option from the context menu."),(0,l.kt)("li",{parentName:"ol"},"Enter the desired new table name into the provided field."),(0,l.kt)("li",{parentName:"ol"},"To finalize the renaming process, click on the ",(0,l.kt)("inlineCode",{parentName:"li"},"Rename")," button.")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(70181).Z,width:"2880",height:"1800"})),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(28241).Z,width:"2880",height:"1800"})),(0,l.kt)("h2",{id:"change-table-icon"},"Change table icon"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Click on the existing table icon to the left of the table name in the left sidebar."),(0,l.kt)("li",{parentName:"ol"},"Select the desired icon from the list of available options.")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(55318).Z,width:"2880",height:"1800"})),(0,l.kt)("h2",{id:"duplicate-table"},"Duplicate table"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Access the contextual menu for the table by clicking on the ellipsis symbol (",(0,l.kt)("inlineCode",{parentName:"li"},"..."),") located in the left sidebar."),(0,l.kt)("li",{parentName:"ol"},"Click on the ",(0,l.kt)("inlineCode",{parentName:"li"},"Duplicate")," option from the context menu."),(0,l.kt)("li",{parentName:"ol"},"For additional customization (Optional)\na) Under ",(0,l.kt)("inlineCode",{parentName:"li"},"Include data"),", you have the flexibility to choose whether to replicate the table with or without its data.\nb) Regarding ",(0,l.kt)("inlineCode",{parentName:"li"},"Include views")," you can select whether to duplicate the table with or without its associated views."),(0,l.kt)("li",{parentName:"ol"},"Proceed by clicking the ",(0,l.kt)("inlineCode",{parentName:"li"},"Duplicate Table")," button found in the confirmation dialog.")),(0,l.kt)("p",null,"A new table will be generated, mirroring the original table's schema and content, in accordance with the configurations specified in step 3."),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(70181).Z,width:"2880",height:"1800"})),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(82002).Z,width:"2880",height:"1800"})),(0,l.kt)("admonition",{type:"info"},(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},"Duplicate table will be created in the same base as the original table"),(0,l.kt)("li",{parentName:"ul"},"Duplicate table will carry suffix ",(0,l.kt)("inlineCode",{parentName:"li"}," Copy")," in its name."),(0,l.kt)("li",{parentName:"ul"},"Duplicate table option is not available for ",(0,l.kt)("inlineCode",{parentName:"li"},"External DB")," projects"))),(0,l.kt)("h2",{id:"delete-table"},"Delete table"),(0,l.kt)("admonition",{type:"danger"},(0,l.kt)("p",{parentName:"admonition"},(0,l.kt)("strong",{parentName:"p"},"This action cannot be undone."))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Access the contextual menu for the table by clicking on the ellipsis symbol (",(0,l.kt)("inlineCode",{parentName:"li"},"..."),") located in the left sidebar."),(0,l.kt)("li",{parentName:"ol"},"Click on the ",(0,l.kt)("inlineCode",{parentName:"li"},"Delete")," option from the context menu."),(0,l.kt)("li",{parentName:"ol"},"To finalize the deletion process, click on the ",(0,l.kt)("inlineCode",{parentName:"li"},"Delete")," button in the confirmation dialog.")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(70181).Z,width:"2880",height:"1800"})),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(73755).Z,width:"2880",height:"1800"})),(0,l.kt)("h2",{id:"related-articles"},"Related articles"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/tables/create-table"},"Create a new table")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/tables/create-table-via-import"},"Create a table using a CSV, Excel or a JSON")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/tables/import-data-into-existing-table"},"Import data from Csv/Xlsx into existing table")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/tables/actions-on-table#rename-table"},"Rename a table")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/tables/actions-on-table#duplicate-table"},"Duplicate a table")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/tables/actions-on-table#delete-table"},"Delete a table"))))}d.isMDXComponent=!0},55318:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/table-change-icon-baccebee8b06d0948a88ecfcb9b728db.png"},70181:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/table-context-menu-4350d219274600ef6608abe0543fd679.png"},73755:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/table-delete-67882c51f591ee24a8a664a1f56bfdb4.png"},82002:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/table-duplicate-63649061c6e13ea404b6d030f393b7ef.png"},28241:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/table-rename-61e86ff470760b4ac119d328ceb6e767.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/11d84c26.62b7c503.js b/packages/noco-docs/dist/assets/js/11d84c26.7291b9dc.js similarity index 97% rename from packages/noco-docs/dist/assets/js/11d84c26.62b7c503.js rename to packages/noco-docs/dist/assets/js/11d84c26.7291b9dc.js index 327ff376c1..b51602df6c 100644 --- a/packages/noco-docs/dist/assets/js/11d84c26.62b7c503.js +++ b/packages/noco-docs/dist/assets/js/11d84c26.7291b9dc.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5336],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>u});var l=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function r(e){for(var t=1;t=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var s=l.createContext({}),d=function(e){var t=l.useContext(s),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},p=function(e){var t=d(e.components);return l.createElement(s.Provider,{value:t},e.children)},c="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},f=l.forwardRef((function(e,t){var i=e.components,a=e.mdxType,n=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=d(i),f=a,u=c["".concat(s,".").concat(f)]||c[f]||m[f]||n;return i?l.createElement(u,r(r({ref:t},p),{},{components:i})):l.createElement(u,r({ref:t},p))}));function u(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=i.length,r=new Array(n);r[0]=f;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:a,r[1]=o;for(var d=2;d{i.r(t),i.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>m,frontMatter:()=>n,metadata:()=>o,toc:()=>d});var l=i(87462),a=(i(67294),i(3905));const n={title:"Email",description:"This article explains how to create & work with an Email field.",tags:["Fields","Field types","Text based types","Email"],keywords:["Fields","Field types","Text based types","Email","Create email field"]},r=void 0,o={unversionedId:"fields/field-types/text-based/email",id:"fields/field-types/text-based/email",title:"Email",description:"This article explains how to create & work with an Email field.",source:"@site/docs/070.fields/040.field-types/010.text-based/030.email.md",sourceDirName:"070.fields/040.field-types/010.text-based",slug:"/fields/field-types/text-based/email",permalink:"/fields/field-types/text-based/email",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/010.text-based/030.email.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Text based types",permalink:"/tags/text-based-types"},{label:"Email",permalink:"/tags/email"}],version:"current",sidebarPosition:30,frontMatter:{title:"Email",description:"This article explains how to create & work with an Email field.",tags:["Fields","Field types","Text based types","Email"],keywords:["Fields","Field types","Text based types","Email","Create email field"]},sidebar:"tutorialSidebar",previous:{title:"Long text",permalink:"/fields/field-types/text-based/long-text"},next:{title:"Phone Number",permalink:"/fields/field-types/text-based/phonenumber"}},s={},d=[{value:"Create an Email field",id:"create-an-email-field",level:2},{value:"Similar text based fields",id:"similar-text-based-fields",level:2}],p={toc:d},c="wrapper";function m(e){let{components:t,...n}=e;return(0,a.kt)(c,(0,l.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Email")," field is text based field custom-built for storing E-mail IDs. It is a special type of ",(0,a.kt)("inlineCode",{parentName:"p"},"Single line text")," field with"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Optional validation for Email ID"),(0,a.kt)("li",{parentName:"ul"},"Cell display as clickable link")),(0,a.kt)("h2",{id:"create-an-email-field"},"Create an ",(0,a.kt)("inlineCode",{parentName:"h2"},"Email")," field"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,a.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,a.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,a.kt)("li",{parentName:"ol"},"Select the field type as ",(0,a.kt)("inlineCode",{parentName:"li"},"Email")," from the dropdown."),(0,a.kt)("li",{parentName:"ol"},"Enable validation by toggling the ",(0,a.kt)("inlineCode",{parentName:"li"},"Validate Email")," checkbox (Optional)."),(0,a.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:i(49737).Z,width:"2878",height:"1398"})),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("ul",{parentName:"admonition"},(0,a.kt)("li",{parentName:"ul"},"Specify default value without quotes."),(0,a.kt)("li",{parentName:"ul"},"Validation only ensures that the value entered is a valid email ID. It does not check if the email ID exists."))),(0,a.kt)("h2",{id:"similar-text-based-fields"},"Similar text based fields"),(0,a.kt)("p",null,"Following are the other text based fields available in NocoDB, custom-built for specific use cases."),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/single-line-text"},"Single line text")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/long-text"},"Long text")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/url"},"URL")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/phonenumber"},"Phone"))))}m.isMDXComponent=!0},49737:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/email-764cb45f6208ba575ca2b5c1dabded86.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5336],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>u});var l=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function r(e){for(var t=1;t=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var s=l.createContext({}),d=function(e){var t=l.useContext(s),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},p=function(e){var t=d(e.components);return l.createElement(s.Provider,{value:t},e.children)},c="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},f=l.forwardRef((function(e,t){var i=e.components,a=e.mdxType,n=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=d(i),f=a,u=c["".concat(s,".").concat(f)]||c[f]||m[f]||n;return i?l.createElement(u,r(r({ref:t},p),{},{components:i})):l.createElement(u,r({ref:t},p))}));function u(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=i.length,r=new Array(n);r[0]=f;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:a,r[1]=o;for(var d=2;d{i.r(t),i.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>m,frontMatter:()=>n,metadata:()=>o,toc:()=>d});var l=i(87462),a=(i(67294),i(3905));const n={title:"Email",description:"This article explains how to create & work with an Email field.",tags:["Fields","Field types","Text based types","Email"],keywords:["Fields","Field types","Text based types","Email","Create email field"]},r=void 0,o={unversionedId:"fields/field-types/text-based/email",id:"fields/field-types/text-based/email",title:"Email",description:"This article explains how to create & work with an Email field.",source:"@site/docs/070.fields/040.field-types/010.text-based/030.email.md",sourceDirName:"070.fields/040.field-types/010.text-based",slug:"/fields/field-types/text-based/email",permalink:"/fields/field-types/text-based/email",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/010.text-based/030.email.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Text based types",permalink:"/tags/text-based-types"},{label:"Email",permalink:"/tags/email"}],version:"current",sidebarPosition:30,frontMatter:{title:"Email",description:"This article explains how to create & work with an Email field.",tags:["Fields","Field types","Text based types","Email"],keywords:["Fields","Field types","Text based types","Email","Create email field"]},sidebar:"tutorialSidebar",previous:{title:"Long text",permalink:"/fields/field-types/text-based/long-text"},next:{title:"Phone Number",permalink:"/fields/field-types/text-based/phonenumber"}},s={},d=[{value:"Create an Email field",id:"create-an-email-field",level:2},{value:"Similar text based fields",id:"similar-text-based-fields",level:2}],p={toc:d},c="wrapper";function m(e){let{components:t,...n}=e;return(0,a.kt)(c,(0,l.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Email")," field is text based field custom-built for storing E-mail IDs. It is a special type of ",(0,a.kt)("inlineCode",{parentName:"p"},"Single line text")," field with"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Optional validation for Email ID"),(0,a.kt)("li",{parentName:"ul"},"Cell display as clickable link")),(0,a.kt)("h2",{id:"create-an-email-field"},"Create an ",(0,a.kt)("inlineCode",{parentName:"h2"},"Email")," field"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,a.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,a.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,a.kt)("li",{parentName:"ol"},"Select the field type as ",(0,a.kt)("inlineCode",{parentName:"li"},"Email")," from the dropdown."),(0,a.kt)("li",{parentName:"ol"},"Enable validation by toggling the ",(0,a.kt)("inlineCode",{parentName:"li"},"Validate Email")," checkbox (Optional)."),(0,a.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:i(63829).Z,width:"2878",height:"1398"})),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("ul",{parentName:"admonition"},(0,a.kt)("li",{parentName:"ul"},"Specify default value without quotes."),(0,a.kt)("li",{parentName:"ul"},"Validation only ensures that the value entered is a valid email ID. It does not check if the email ID exists."))),(0,a.kt)("h2",{id:"similar-text-based-fields"},"Similar text based fields"),(0,a.kt)("p",null,"Following are the other text based fields available in NocoDB, custom-built for specific use cases."),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/single-line-text"},"Single line text")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/long-text"},"Long text")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/url"},"URL")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/phonenumber"},"Phone"))))}m.isMDXComponent=!0},63829:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/email-764cb45f6208ba575ca2b5c1dabded86.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/14095bfc.09f9422f.js b/packages/noco-docs/dist/assets/js/14095bfc.8ed9c7aa.js similarity index 75% rename from packages/noco-docs/dist/assets/js/14095bfc.09f9422f.js rename to packages/noco-docs/dist/assets/js/14095bfc.8ed9c7aa.js index 7d79afcc63..4fc9265928 100644 --- a/packages/noco-docs/dist/assets/js/14095bfc.09f9422f.js +++ b/packages/noco-docs/dist/assets/js/14095bfc.8ed9c7aa.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5922],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var i=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function a(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=i.createContext({}),d=function(e){var t=i.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},c=function(e){var t=d(e.components);return i.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},f=i.forwardRef((function(e,t){var n=e.components,o=e.mdxType,l=e.originalType,s=e.parentName,c=r(e,["components","mdxType","originalType","parentName"]),p=d(n),f=o,m=p["".concat(s,".").concat(f)]||p[f]||u[f]||l;return n?i.createElement(m,a(a({ref:t},c),{},{components:n})):i.createElement(m,a({ref:t},c))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var l=n.length,a=new Array(l);a[0]=f;var r={};for(var s in t)hasOwnProperty.call(t,s)&&(r[s]=t[s]);r.originalType=e,r[p]="string"==typeof e?e:o,a[1]=r;for(var d=2;d{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>d});var i=n(87462),o=(n(67294),n(3905));const l={title:"Single Select",description:"This article explains how to create & work with a Single select field.",tags:["Fields","Field types","Select based types","Single select"],keywords:["Fields","Field types","Select based types","Single select","Create single select field"]},a=void 0,r={unversionedId:"fields/field-types/select-based/single-select",id:"fields/field-types/select-based/single-select",title:"Single Select",description:"This article explains how to create & work with a Single select field.",source:"@site/docs/070.fields/040.field-types/030.select-based/010.single-select.md",sourceDirName:"070.fields/040.field-types/030.select-based",slug:"/fields/field-types/select-based/single-select",permalink:"/fields/field-types/select-based/single-select",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/030.select-based/010.single-select.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Select based types",permalink:"/tags/select-based-types"},{label:"Single select",permalink:"/tags/single-select"}],version:"current",sidebarPosition:10,frontMatter:{title:"Single Select",description:"This article explains how to create & work with a Single select field.",tags:["Fields","Field types","Select based types","Single select"],keywords:["Fields","Field types","Select based types","Single select","Create single select field"]},sidebar:"tutorialSidebar",previous:{title:"Currency",permalink:"/fields/field-types/numerical/currency"},next:{title:"Checkbox",permalink:"/fields/field-types/select-based/checkbox"}},s={},d=[{value:"Create a single select field",id:"create-a-single-select-field",level:2},{value:"Edit options",id:"edit-options",level:2},{value:"Rename options",id:"rename-options",level:3},{value:"Configure color for options",id:"configure-color-for-options",level:3},{value:"Re-order options",id:"re-order-options",level:3},{value:"Edit options",id:"edit-options-1",level:3},{value:"Delete options",id:"delete-options",level:3}],c={toc:d},p="wrapper";function u(e){let{components:t,...l}=e;return(0,o.kt)(p,(0,i.Z)({},c,l,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"Single select")," fields allow you to select a single option from a list of options. The options can be defined in the field configuration."),(0,o.kt)("h2",{id:"create-a-single-select-field"},"Create a single select field"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,o.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,o.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Select the field type as ",(0,o.kt)("inlineCode",{parentName:"li"},"SingleSelect")," from the dropdown."),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Add option")," button to add options."),(0,o.kt)("li",{parentName:"ol"},"Set default value for the field. The options are populated in the dropdown (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:n(35994).Z,width:"2878",height:"1538"})),(0,o.kt)("h2",{id:"edit-options"},"Edit options"),(0,o.kt)("h3",{id:"rename-options"},"Rename options"),(0,o.kt)("p",null,"You can rename options by clicking on the associated option text box. Click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button to save the changes."),(0,o.kt)("h3",{id:"configure-color-for-options"},"Configure color for options"),(0,o.kt)("p",null,"You can re-configure background color for each option. This is useful when you want to highlight certain options. For example, you can configure ",(0,o.kt)("inlineCode",{parentName:"p"},"High")," option to have ",(0,o.kt)("inlineCode",{parentName:"p"},"red")," background color.\nTo configure, click on the ",(0,o.kt)("inlineCode",{parentName:"p"},"color")," icon next to the option. Select the color from the color picker and click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:n(71343).Z,width:"2876",height:"1506"})),(0,o.kt)("h3",{id:"re-order-options"},"Re-order options"),(0,o.kt)("p",null,"You can re-order options by dragging and dropping the options. To re-order, click on the ",(0,o.kt)("inlineCode",{parentName:"p"},"drag")," icon next to the option and drag it to the desired position. Click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button to save the order."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:n(3176).Z,width:"2874",height:"1554"})),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The order defined for the options will be used in cells dropdown as well.")),(0,o.kt)("h3",{id:"edit-options-1"},"Edit options"),(0,o.kt)("p",null,"You can rename options by clicking on the associated option text box. Click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button to save the changes."),(0,o.kt)("h3",{id:"delete-options"},"Delete options"),(0,o.kt)("p",null,"You can delete options by clicking on the ",(0,o.kt)("inlineCode",{parentName:"p"},"x")," icon next to the option. You can undo the delete by clicking on the ",(0,o.kt)("inlineCode",{parentName:"p"},"undo")," icon next to the option. Click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button to save the changes."),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("ul",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ul"},"On removing an option, the option value will be removed from all the cells."),(0,o.kt)("li",{parentName:"ul"},"If the option value is set as default value for the field, then the default value will be removed.\n:::")),(0,o.kt)("p",{parentName:"admonition"},(0,o.kt)("img",{alt:"image",src:n(54381).Z,width:"2878",height:"1550"})),(0,o.kt)("h2",{parentName:"admonition",id:"similar-select-based-fields"},"Similar select based fields"),(0,o.kt)("ul",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/fields/field-types/select-based/multi-select"},"Multi select")))))}u.isMDXComponent=!0},71343:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/options-change-colour-08270506854710a13f2945a006fd3779.png"},54381:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/options-remove-9e5b6dcf0682be419ac34c21db0b5716.png"},3176:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/options-reorder-1ee3cf6240593e4055bd781a0c116949.png"},35994:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/singleselect-0d82c6b862285fa9b33214680b7e6787.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5922],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var i=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function a(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=i.createContext({}),d=function(e){var t=i.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},c=function(e){var t=d(e.components);return i.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},f=i.forwardRef((function(e,t){var n=e.components,o=e.mdxType,l=e.originalType,s=e.parentName,c=r(e,["components","mdxType","originalType","parentName"]),p=d(n),f=o,m=p["".concat(s,".").concat(f)]||p[f]||u[f]||l;return n?i.createElement(m,a(a({ref:t},c),{},{components:n})):i.createElement(m,a({ref:t},c))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var l=n.length,a=new Array(l);a[0]=f;var r={};for(var s in t)hasOwnProperty.call(t,s)&&(r[s]=t[s]);r.originalType=e,r[p]="string"==typeof e?e:o,a[1]=r;for(var d=2;d{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>d});var i=n(87462),o=(n(67294),n(3905));const l={title:"Single Select",description:"This article explains how to create & work with a Single select field.",tags:["Fields","Field types","Select based types","Single select"],keywords:["Fields","Field types","Select based types","Single select","Create single select field"]},a=void 0,r={unversionedId:"fields/field-types/select-based/single-select",id:"fields/field-types/select-based/single-select",title:"Single Select",description:"This article explains how to create & work with a Single select field.",source:"@site/docs/070.fields/040.field-types/030.select-based/010.single-select.md",sourceDirName:"070.fields/040.field-types/030.select-based",slug:"/fields/field-types/select-based/single-select",permalink:"/fields/field-types/select-based/single-select",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/030.select-based/010.single-select.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Select based types",permalink:"/tags/select-based-types"},{label:"Single select",permalink:"/tags/single-select"}],version:"current",sidebarPosition:10,frontMatter:{title:"Single Select",description:"This article explains how to create & work with a Single select field.",tags:["Fields","Field types","Select based types","Single select"],keywords:["Fields","Field types","Select based types","Single select","Create single select field"]},sidebar:"tutorialSidebar",previous:{title:"Currency",permalink:"/fields/field-types/numerical/currency"},next:{title:"Checkbox",permalink:"/fields/field-types/select-based/checkbox"}},s={},d=[{value:"Create a single select field",id:"create-a-single-select-field",level:2},{value:"Edit options",id:"edit-options",level:2},{value:"Rename options",id:"rename-options",level:3},{value:"Configure color for options",id:"configure-color-for-options",level:3},{value:"Re-order options",id:"re-order-options",level:3},{value:"Edit options",id:"edit-options-1",level:3},{value:"Delete options",id:"delete-options",level:3}],c={toc:d},p="wrapper";function u(e){let{components:t,...l}=e;return(0,o.kt)(p,(0,i.Z)({},c,l,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"Single select")," fields allow you to select a single option from a list of options. The options can be defined in the field configuration."),(0,o.kt)("h2",{id:"create-a-single-select-field"},"Create a single select field"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,o.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,o.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Select the field type as ",(0,o.kt)("inlineCode",{parentName:"li"},"SingleSelect")," from the dropdown."),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Add option")," button to add options."),(0,o.kt)("li",{parentName:"ol"},"Set default value for the field. The options are populated in the dropdown (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:n(78384).Z,width:"2878",height:"1538"})),(0,o.kt)("h2",{id:"edit-options"},"Edit options"),(0,o.kt)("h3",{id:"rename-options"},"Rename options"),(0,o.kt)("p",null,"You can rename options by clicking on the associated option text box. Click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button to save the changes."),(0,o.kt)("h3",{id:"configure-color-for-options"},"Configure color for options"),(0,o.kt)("p",null,"You can re-configure background color for each option. This is useful when you want to highlight certain options. For example, you can configure ",(0,o.kt)("inlineCode",{parentName:"p"},"High")," option to have ",(0,o.kt)("inlineCode",{parentName:"p"},"red")," background color.\nTo configure, click on the ",(0,o.kt)("inlineCode",{parentName:"p"},"color")," icon next to the option. Select the color from the color picker and click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:n(92777).Z,width:"2876",height:"1506"})),(0,o.kt)("h3",{id:"re-order-options"},"Re-order options"),(0,o.kt)("p",null,"You can re-order options by dragging and dropping the options. To re-order, click on the ",(0,o.kt)("inlineCode",{parentName:"p"},"drag")," icon next to the option and drag it to the desired position. Click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button to save the order."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:n(48379).Z,width:"2874",height:"1554"})),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The order defined for the options will be used in cells dropdown as well.")),(0,o.kt)("h3",{id:"edit-options-1"},"Edit options"),(0,o.kt)("p",null,"You can rename options by clicking on the associated option text box. Click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button to save the changes."),(0,o.kt)("h3",{id:"delete-options"},"Delete options"),(0,o.kt)("p",null,"You can delete options by clicking on the ",(0,o.kt)("inlineCode",{parentName:"p"},"x")," icon next to the option. You can undo the delete by clicking on the ",(0,o.kt)("inlineCode",{parentName:"p"},"undo")," icon next to the option. Click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button to save the changes."),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("ul",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ul"},"On removing an option, the option value will be removed from all the cells."),(0,o.kt)("li",{parentName:"ul"},"If the option value is set as default value for the field, then the default value will be removed.\n:::")),(0,o.kt)("p",{parentName:"admonition"},(0,o.kt)("img",{alt:"image",src:n(81756).Z,width:"2878",height:"1550"})),(0,o.kt)("h2",{parentName:"admonition",id:"similar-select-based-fields"},"Similar select based fields"),(0,o.kt)("ul",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/fields/field-types/select-based/multi-select"},"Multi select")))))}u.isMDXComponent=!0},92777:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/options-change-colour-08270506854710a13f2945a006fd3779.png"},81756:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/options-remove-9e5b6dcf0682be419ac34c21db0b5716.png"},48379:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/options-reorder-1ee3cf6240593e4055bd781a0c116949.png"},78384:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/singleselect-0d82c6b862285fa9b33214680b7e6787.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/14d6025d.cce9c4f9.js b/packages/noco-docs/dist/assets/js/14d6025d.23023741.js similarity index 98% rename from packages/noco-docs/dist/assets/js/14d6025d.cce9c4f9.js rename to packages/noco-docs/dist/assets/js/14d6025d.23023741.js index eceb322f67..dfb87635fd 100644 --- a/packages/noco-docs/dist/assets/js/14d6025d.cce9c4f9.js +++ b/packages/noco-docs/dist/assets/js/14d6025d.23023741.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7539],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),p=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},s=function(e){var t=p(e.components);return r.createElement(o.Provider,{value:t},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},c=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,s=d(e,["components","mdxType","originalType","parentName"]),m=p(a),c=n,u=m["".concat(o,".").concat(c)]||m[c]||f[c]||l;return a?r.createElement(u,i(i({ref:t},s),{},{components:a})):r.createElement(u,i({ref:t},s))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=c;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d[m]="string"==typeof e?e:n,i[1]=d;for(var p=2;p{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>f,frontMatter:()=>l,metadata:()=>d,toc:()=>p});var r=a(87462),n=(a(67294),a(3905));const l={title:"Date",description:"This article explains how to create & work with a Date field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create date field"]},i=void 0,d={unversionedId:"fields/field-types/date-time-based/date",id:"fields/field-types/date-time-based/date",title:"Date",description:"This article explains how to create & work with a Date field.",source:"@site/docs/070.fields/040.field-types/070.date-time-based/020.date.md",sourceDirName:"070.fields/040.field-types/070.date-time-based",slug:"/fields/field-types/date-time-based/date",permalink:"/fields/field-types/date-time-based/date",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/070.date-time-based/020.date.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Date & Time",permalink:"/tags/date-time"}],version:"current",sidebarPosition:20,frontMatter:{title:"Date",description:"This article explains how to create & work with a Date field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create date field"]},sidebar:"tutorialSidebar",previous:{title:"Date Time",permalink:"/fields/field-types/date-time-based/date-time"},next:{title:"Time",permalink:"/fields/field-types/date-time-based/time"}},o={},p=[{value:"Create a date field",id:"create-a-date-field",level:2},{value:"Supported date formats",id:"supported-date-formats",level:3},{value:"Related fields",id:"related-fields",level:2}],s={toc:p},m="wrapper";function f(e){let{components:t,...l}=e;return(0,n.kt)(m,(0,r.Z)({},s,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Date")," field type is used to store date values. NocoDB supports a wide range of date formats, as detailed in the table below."),(0,n.kt)("h2",{id:"create-a-date-field"},"Create a date field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Date")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Configure ",(0,n.kt)("inlineCode",{parentName:"li"},"Date Format")),(0,n.kt)("li",{parentName:"ol"},"Configure default value (Optional)"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:a(24176).Z,width:"2876",height:"1336"})),(0,n.kt)("h3",{id:"supported-date-formats"},"Supported date formats"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Format"),(0,n.kt)("th",{parentName:"tr",align:null},"Example"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"YYYY-MM-DD"),(0,n.kt)("td",{parentName:"tr",align:null},"2023-09-22")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"YYYY/MM/DD"),(0,n.kt)("td",{parentName:"tr",align:null},"2023/09/22")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"DD-MM-YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"22-09-2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"MM-DD-YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"09-22-2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"DD/MM/YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"22/09/2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"MM/DD/YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"09/22/2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"DD MM YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"22 09 2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"MM DD YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"09 22 2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"YYYY MM DD"),(0,n.kt)("td",{parentName:"tr",align:null},"2023 09 22")))),(0,n.kt)("h2",{id:"related-fields"},"Related fields"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/date-time"},"DateTime")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/time"},"Time")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/duration"},"Duration"))))}f.isMDXComponent=!0},24176:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/date-f31bd796ffe546c4ad5c3bd0def5df03.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7539],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),p=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},s=function(e){var t=p(e.components);return r.createElement(o.Provider,{value:t},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},c=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,s=d(e,["components","mdxType","originalType","parentName"]),m=p(a),c=n,u=m["".concat(o,".").concat(c)]||m[c]||f[c]||l;return a?r.createElement(u,i(i({ref:t},s),{},{components:a})):r.createElement(u,i({ref:t},s))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=c;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d[m]="string"==typeof e?e:n,i[1]=d;for(var p=2;p{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>f,frontMatter:()=>l,metadata:()=>d,toc:()=>p});var r=a(87462),n=(a(67294),a(3905));const l={title:"Date",description:"This article explains how to create & work with a Date field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create date field"]},i=void 0,d={unversionedId:"fields/field-types/date-time-based/date",id:"fields/field-types/date-time-based/date",title:"Date",description:"This article explains how to create & work with a Date field.",source:"@site/docs/070.fields/040.field-types/070.date-time-based/020.date.md",sourceDirName:"070.fields/040.field-types/070.date-time-based",slug:"/fields/field-types/date-time-based/date",permalink:"/fields/field-types/date-time-based/date",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/070.date-time-based/020.date.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Date & Time",permalink:"/tags/date-time"}],version:"current",sidebarPosition:20,frontMatter:{title:"Date",description:"This article explains how to create & work with a Date field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create date field"]},sidebar:"tutorialSidebar",previous:{title:"Date Time",permalink:"/fields/field-types/date-time-based/date-time"},next:{title:"Time",permalink:"/fields/field-types/date-time-based/time"}},o={},p=[{value:"Create a date field",id:"create-a-date-field",level:2},{value:"Supported date formats",id:"supported-date-formats",level:3},{value:"Related fields",id:"related-fields",level:2}],s={toc:p},m="wrapper";function f(e){let{components:t,...l}=e;return(0,n.kt)(m,(0,r.Z)({},s,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Date")," field type is used to store date values. NocoDB supports a wide range of date formats, as detailed in the table below."),(0,n.kt)("h2",{id:"create-a-date-field"},"Create a date field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Date")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Configure ",(0,n.kt)("inlineCode",{parentName:"li"},"Date Format")),(0,n.kt)("li",{parentName:"ol"},"Configure default value (Optional)"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:a(70777).Z,width:"2876",height:"1336"})),(0,n.kt)("h3",{id:"supported-date-formats"},"Supported date formats"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Format"),(0,n.kt)("th",{parentName:"tr",align:null},"Example"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"YYYY-MM-DD"),(0,n.kt)("td",{parentName:"tr",align:null},"2023-09-22")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"YYYY/MM/DD"),(0,n.kt)("td",{parentName:"tr",align:null},"2023/09/22")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"DD-MM-YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"22-09-2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"MM-DD-YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"09-22-2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"DD/MM/YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"22/09/2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"MM/DD/YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"09/22/2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"DD MM YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"22 09 2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"MM DD YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"09 22 2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"YYYY MM DD"),(0,n.kt)("td",{parentName:"tr",align:null},"2023 09 22")))),(0,n.kt)("h2",{id:"related-fields"},"Related fields"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/date-time"},"DateTime")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/time"},"Time")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/duration"},"Duration"))))}f.isMDXComponent=!0},70777:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/date-f31bd796ffe546c4ad5c3bd0def5df03.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/16d5baaf.80752d89.js b/packages/noco-docs/dist/assets/js/16d5baaf.f063a0f2.js similarity index 95% rename from packages/noco-docs/dist/assets/js/16d5baaf.80752d89.js rename to packages/noco-docs/dist/assets/js/16d5baaf.f063a0f2.js index 91424165df..cdb46e0ec3 100644 --- a/packages/noco-docs/dist/assets/js/16d5baaf.80752d89.js +++ b/packages/noco-docs/dist/assets/js/16d5baaf.f063a0f2.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[65],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>u});var i=n(67294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function r(e){for(var t=1;t=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var d=i.createContext({}),s=function(e){var t=i.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},p=function(e){var t=s(e.components);return i.createElement(d.Provider,{value:t},e.children)},k="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,l=e.mdxType,a=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),k=s(n),m=l,u=k["".concat(d,".").concat(m)]||k[m]||c[m]||a;return n?i.createElement(u,r(r({ref:t},p),{},{components:n})):i.createElement(u,r({ref:t},p))}));function u(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var a=n.length,r=new Array(a);r[0]=m;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[k]="string"==typeof e?e:l,r[1]=o;for(var s=2;s{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>c,frontMatter:()=>a,metadata:()=>o,toc:()=>s});var i=n(87462),l=(n(67294),n(3905));const a={title:"Links",description:"This article explains how to create & work with a Links field.",tags:["Fields","Field types","Links based types","Links"],keywords:["Fields","Field types","Links based types","Links","Create links field"]},r=void 0,o={unversionedId:"fields/field-types/links-based/links",id:"fields/field-types/links-based/links",title:"Links",description:"This article explains how to create & work with a Links field.",source:"@site/docs/070.fields/040.field-types/040.links-based/010.links.md",sourceDirName:"070.fields/040.field-types/040.links-based",slug:"/fields/field-types/links-based/links",permalink:"/fields/field-types/links-based/links",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/040.links-based/010.links.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Links based types",permalink:"/tags/links-based-types"},{label:"Links",permalink:"/tags/links"}],version:"current",sidebarPosition:10,frontMatter:{title:"Links",description:"This article explains how to create & work with a Links field.",tags:["Fields","Field types","Links based types","Links"],keywords:["Fields","Field types","Links based types","Links","Create links field"]},sidebar:"tutorialSidebar",previous:{title:"Rating",permalink:"/fields/field-types/select-based/rating"},next:{title:"Lookup",permalink:"/fields/field-types/links-based/lookup"}},d={},s=[{value:"Create a link field",id:"create-a-link-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"List linked records",id:"list-linked-records",level:3},{value:"Link new records",id:"link-new-records",level:3},{value:"Unlink records",id:"unlink-records",level:3},{value:"Related fields",id:"related-fields",level:3}],p={toc:s},k="wrapper";function c(e){let{components:t,...a}=e;return(0,l.kt)(k,(0,i.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"Links")," field type is used to establish relationship between tables & create links to other records.\nNocoDB supports following types of relations:"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Has-Many")," - A record in one table can have multiple records in another table. ",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Example: A ",(0,l.kt)("inlineCode",{parentName:"li"},"Country")," can have multiple ",(0,l.kt)("inlineCode",{parentName:"li"},"Cities"),"."))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Belongs-to")," - Multiple records in one table can have a single record in another table. ",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Example: A ",(0,l.kt)("inlineCode",{parentName:"li"},"City")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Belongs-to")," a ",(0,l.kt)("inlineCode",{parentName:"li"},"Country"),"."))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Many-to-Many")," - Multiple records in one table can have multiple records in another table. ",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Example: A ",(0,l.kt)("inlineCode",{parentName:"li"},"Student")," can have multiple ",(0,l.kt)("inlineCode",{parentName:"li"},"Subjects")," & a ",(0,l.kt)("inlineCode",{parentName:"li"},"Subject")," can have multiple ",(0,l.kt)("inlineCode",{parentName:"li"},"Students"),". ")))),(0,l.kt)("admonition",{type:"note"},(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},"Links can be created only between tables in the same database."),(0,l.kt)("li",{parentName:"ul"},"Self-referencing links are supported. (Link to the same table)"),(0,l.kt)("li",{parentName:"ul"},"For every ",(0,l.kt)("inlineCode",{parentName:"li"},"Has-Many")," relation defined, NocoDB augments ",(0,l.kt)("inlineCode",{parentName:"li"},"Belongs-to")," relationship field in the adjacent table automatically"))),(0,l.kt)("h2",{id:"create-a-link-field"},"Create a link field"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Click on ",(0,l.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,l.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,l.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,l.kt)("li",{parentName:"ol"},"Select the field type as ",(0,l.kt)("inlineCode",{parentName:"li"},"Links")," from the dropdown."),(0,l.kt)("li",{parentName:"ol"},"Select the relation type : Either ",(0,l.kt)("inlineCode",{parentName:"li"},"Has-Many")," or ",(0,l.kt)("inlineCode",{parentName:"li"},"Many-to-Many"),"."),(0,l.kt)("li",{parentName:"ol"},"Select the table to which the relation is to be established with."),(0,l.kt)("li",{parentName:"ol"},"Configure label to be used for display in the cell. Defaults to ",(0,l.kt)("inlineCode",{parentName:"li"},"Link"),", ",(0,l.kt)("inlineCode",{parentName:"li"},"Links")," (Optional)."),(0,l.kt)("li",{parentName:"ol"},"Click on ",(0,l.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:n(94296).Z,width:"2872",height:"1546"})),(0,l.kt)("h3",{id:"cell-display"},"Cell display"),(0,l.kt)("p",null,"The cell will display number of links for a record to the related table. "),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:n(54082).Z,width:"1269",height:"512"})),(0,l.kt)("p",null,"Clicking on the link-text will open a ",(0,l.kt)("inlineCode",{parentName:"p"},"Linked Records")," modal with the list of links & associated additional information."),(0,l.kt)("h3",{id:"list-linked-records"},"List linked records"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:n(56509).Z,width:"1321",height:"868"})),(0,l.kt)("p",null,"A brief note about the modal components:"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"This modal is displaying linked records for ",(0,l.kt)("inlineCode",{parentName:"li"},"PENELOPE")),(0,l.kt)("li",{parentName:"ol"},"Icon represents ",(0,l.kt)("inlineCode",{parentName:"li"},"Many-to-Many")," relation"),(0,l.kt)("li",{parentName:"ol"},"Linked records belong to ",(0,l.kt)("inlineCode",{parentName:"li"},"Film")," table"),(0,l.kt)("li",{parentName:"ol"},"Search bar, to narrow down the list of linked records displayed"),(0,l.kt)("li",{parentName:"ol"},"List (cards) of linked records"),(0,l.kt)("li",{parentName:"ol"},"To view additional information (expanded record), hover on the card & click on the ",(0,l.kt)("inlineCode",{parentName:"li"},"<>")," icon"),(0,l.kt)("li",{parentName:"ol"},"Indicates total records linked"),(0,l.kt)("li",{parentName:"ol"},"Pagination bar"),(0,l.kt)("li",{parentName:"ol"},"Click on ",(0,l.kt)("inlineCode",{parentName:"li"},"+ Link more Records")," button to add new links : ",(0,l.kt)("a",{parentName:"li",href:"#link-new-records"},"Read more"))),(0,l.kt)("h3",{id:"link-new-records"},"Link new records"),(0,l.kt)("p",null,"Modal to add new links can be opened by"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Clicking on ",(0,l.kt)("inlineCode",{parentName:"li"},"+ Link more Records")," button in the ",(0,l.kt)("inlineCode",{parentName:"li"},"Linked Records")," modal"),(0,l.kt)("li",{parentName:"ul"},"Clicking on the ",(0,l.kt)("inlineCode",{parentName:"li"},"+")," icon in the cell (appears on clicking on the cell)")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:n(14115).Z,width:"791",height:"655"})),(0,l.kt)("p",null,"A brief note about the modal components:"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Links being created are for ",(0,l.kt)("inlineCode",{parentName:"li"},"PENELOPE")),(0,l.kt)("li",{parentName:"ol"},"Icon represents ",(0,l.kt)("inlineCode",{parentName:"li"},"Many-to-Many")," relation"),(0,l.kt)("li",{parentName:"ol"},"Linked records belong to ",(0,l.kt)("inlineCode",{parentName:"li"},"Film")," table"),(0,l.kt)("li",{parentName:"ol"},"Search bar, to narrow down the list of records displayed"),(0,l.kt)("li",{parentName:"ol"},"Linked record card is displayed in blue color"),(0,l.kt)("li",{parentName:"ol"},"Records available for link are displayed in white color; use expand icon on the cord to view additional information"),(0,l.kt)("li",{parentName:"ol"},"Indicates total records linked (including the ones being linked)"),(0,l.kt)("li",{parentName:"ol"},"Pagination bar")),(0,l.kt)("admonition",{type:"info"},(0,l.kt)("p",{parentName:"admonition"},"Multiple records can be linked at once.")),(0,l.kt)("h3",{id:"unlink-records"},"Unlink records"),(0,l.kt)("p",null,"To unlink a record, open the ",(0,l.kt)("inlineCode",{parentName:"p"},"Linked Records")," modal & click on the card of the record to be unlinked."),(0,l.kt)("admonition",{type:"info"},(0,l.kt)("p",{parentName:"admonition"},"Multiple records can be unlinked at once.")),(0,l.kt)("h3",{id:"related-fields"},"Related fields"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/fields/field-types/links-based/lookup"},"Lookup")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/fields/field-types/links-based/rollup"},"Rollup"))))}c.isMDXComponent=!0},14115:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/add-link-modal-fde55380d59bdd5d597bd38e3330dbbd.png"},56509:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/linked-record-modal-3e57fdb38dfa9be609959b9843ec65b4.png"},54082:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/links-cell-display-11ef22c835684c116f159598247e9b5d.png"},94296:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/links-66d99647e69bf8d24e49ec0bd0b72714.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[65],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>u});var i=n(67294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function r(e){for(var t=1;t=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var d=i.createContext({}),s=function(e){var t=i.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},p=function(e){var t=s(e.components);return i.createElement(d.Provider,{value:t},e.children)},k="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,l=e.mdxType,a=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),k=s(n),m=l,u=k["".concat(d,".").concat(m)]||k[m]||c[m]||a;return n?i.createElement(u,r(r({ref:t},p),{},{components:n})):i.createElement(u,r({ref:t},p))}));function u(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var a=n.length,r=new Array(a);r[0]=m;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[k]="string"==typeof e?e:l,r[1]=o;for(var s=2;s{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>c,frontMatter:()=>a,metadata:()=>o,toc:()=>s});var i=n(87462),l=(n(67294),n(3905));const a={title:"Links",description:"This article explains how to create & work with a Links field.",tags:["Fields","Field types","Links based types","Links"],keywords:["Fields","Field types","Links based types","Links","Create links field"]},r=void 0,o={unversionedId:"fields/field-types/links-based/links",id:"fields/field-types/links-based/links",title:"Links",description:"This article explains how to create & work with a Links field.",source:"@site/docs/070.fields/040.field-types/040.links-based/010.links.md",sourceDirName:"070.fields/040.field-types/040.links-based",slug:"/fields/field-types/links-based/links",permalink:"/fields/field-types/links-based/links",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/040.links-based/010.links.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Links based types",permalink:"/tags/links-based-types"},{label:"Links",permalink:"/tags/links"}],version:"current",sidebarPosition:10,frontMatter:{title:"Links",description:"This article explains how to create & work with a Links field.",tags:["Fields","Field types","Links based types","Links"],keywords:["Fields","Field types","Links based types","Links","Create links field"]},sidebar:"tutorialSidebar",previous:{title:"Rating",permalink:"/fields/field-types/select-based/rating"},next:{title:"Lookup",permalink:"/fields/field-types/links-based/lookup"}},d={},s=[{value:"Create a link field",id:"create-a-link-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"List linked records",id:"list-linked-records",level:3},{value:"Link new records",id:"link-new-records",level:3},{value:"Unlink records",id:"unlink-records",level:3},{value:"Related fields",id:"related-fields",level:3}],p={toc:s},k="wrapper";function c(e){let{components:t,...a}=e;return(0,l.kt)(k,(0,i.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"Links")," field type is used to establish relationship between tables & create links to other records.\nNocoDB supports following types of relations:"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Has-Many")," - A record in one table can have multiple records in another table. ",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Example: A ",(0,l.kt)("inlineCode",{parentName:"li"},"Country")," can have multiple ",(0,l.kt)("inlineCode",{parentName:"li"},"Cities"),"."))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Belongs-to")," - Multiple records in one table can have a single record in another table. ",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Example: A ",(0,l.kt)("inlineCode",{parentName:"li"},"City")," ",(0,l.kt)("inlineCode",{parentName:"li"},"Belongs-to")," a ",(0,l.kt)("inlineCode",{parentName:"li"},"Country"),"."))),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("inlineCode",{parentName:"li"},"Many-to-Many")," - Multiple records in one table can have multiple records in another table. ",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"Example: A ",(0,l.kt)("inlineCode",{parentName:"li"},"Student")," can have multiple ",(0,l.kt)("inlineCode",{parentName:"li"},"Subjects")," & a ",(0,l.kt)("inlineCode",{parentName:"li"},"Subject")," can have multiple ",(0,l.kt)("inlineCode",{parentName:"li"},"Students"),". ")))),(0,l.kt)("admonition",{type:"note"},(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},"Links can be created only between tables in the same database."),(0,l.kt)("li",{parentName:"ul"},"Self-referencing links are supported. (Link to the same table)"),(0,l.kt)("li",{parentName:"ul"},"For every ",(0,l.kt)("inlineCode",{parentName:"li"},"Has-Many")," relation defined, NocoDB augments ",(0,l.kt)("inlineCode",{parentName:"li"},"Belongs-to")," relationship field in the adjacent table automatically"))),(0,l.kt)("h2",{id:"create-a-link-field"},"Create a link field"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Click on ",(0,l.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,l.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,l.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,l.kt)("li",{parentName:"ol"},"Select the field type as ",(0,l.kt)("inlineCode",{parentName:"li"},"Links")," from the dropdown."),(0,l.kt)("li",{parentName:"ol"},"Select the relation type : Either ",(0,l.kt)("inlineCode",{parentName:"li"},"Has-Many")," or ",(0,l.kt)("inlineCode",{parentName:"li"},"Many-to-Many"),"."),(0,l.kt)("li",{parentName:"ol"},"Select the table to which the relation is to be established with."),(0,l.kt)("li",{parentName:"ol"},"Configure label to be used for display in the cell. Defaults to ",(0,l.kt)("inlineCode",{parentName:"li"},"Link"),", ",(0,l.kt)("inlineCode",{parentName:"li"},"Links")," (Optional)."),(0,l.kt)("li",{parentName:"ol"},"Click on ",(0,l.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:n(74923).Z,width:"2872",height:"1546"})),(0,l.kt)("h3",{id:"cell-display"},"Cell display"),(0,l.kt)("p",null,"The cell will display number of links for a record to the related table. "),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:n(16829).Z,width:"1269",height:"512"})),(0,l.kt)("p",null,"Clicking on the link-text will open a ",(0,l.kt)("inlineCode",{parentName:"p"},"Linked Records")," modal with the list of links & associated additional information."),(0,l.kt)("h3",{id:"list-linked-records"},"List linked records"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:n(21673).Z,width:"1321",height:"868"})),(0,l.kt)("p",null,"A brief note about the modal components:"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"This modal is displaying linked records for ",(0,l.kt)("inlineCode",{parentName:"li"},"PENELOPE")),(0,l.kt)("li",{parentName:"ol"},"Icon represents ",(0,l.kt)("inlineCode",{parentName:"li"},"Many-to-Many")," relation"),(0,l.kt)("li",{parentName:"ol"},"Linked records belong to ",(0,l.kt)("inlineCode",{parentName:"li"},"Film")," table"),(0,l.kt)("li",{parentName:"ol"},"Search bar, to narrow down the list of linked records displayed"),(0,l.kt)("li",{parentName:"ol"},"List (cards) of linked records"),(0,l.kt)("li",{parentName:"ol"},"To view additional information (expanded record), hover on the card & click on the ",(0,l.kt)("inlineCode",{parentName:"li"},"<>")," icon"),(0,l.kt)("li",{parentName:"ol"},"Indicates total records linked"),(0,l.kt)("li",{parentName:"ol"},"Pagination bar"),(0,l.kt)("li",{parentName:"ol"},"Click on ",(0,l.kt)("inlineCode",{parentName:"li"},"+ Link more Records")," button to add new links : ",(0,l.kt)("a",{parentName:"li",href:"#link-new-records"},"Read more"))),(0,l.kt)("h3",{id:"link-new-records"},"Link new records"),(0,l.kt)("p",null,"Modal to add new links can be opened by"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Clicking on ",(0,l.kt)("inlineCode",{parentName:"li"},"+ Link more Records")," button in the ",(0,l.kt)("inlineCode",{parentName:"li"},"Linked Records")," modal"),(0,l.kt)("li",{parentName:"ul"},"Clicking on the ",(0,l.kt)("inlineCode",{parentName:"li"},"+")," icon in the cell (appears on clicking on the cell)")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:n(34177).Z,width:"791",height:"655"})),(0,l.kt)("p",null,"A brief note about the modal components:"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Links being created are for ",(0,l.kt)("inlineCode",{parentName:"li"},"PENELOPE")),(0,l.kt)("li",{parentName:"ol"},"Icon represents ",(0,l.kt)("inlineCode",{parentName:"li"},"Many-to-Many")," relation"),(0,l.kt)("li",{parentName:"ol"},"Linked records belong to ",(0,l.kt)("inlineCode",{parentName:"li"},"Film")," table"),(0,l.kt)("li",{parentName:"ol"},"Search bar, to narrow down the list of records displayed"),(0,l.kt)("li",{parentName:"ol"},"Linked record card is displayed in blue color"),(0,l.kt)("li",{parentName:"ol"},"Records available for link are displayed in white color; use expand icon on the cord to view additional information"),(0,l.kt)("li",{parentName:"ol"},"Indicates total records linked (including the ones being linked)"),(0,l.kt)("li",{parentName:"ol"},"Pagination bar")),(0,l.kt)("admonition",{type:"info"},(0,l.kt)("p",{parentName:"admonition"},"Multiple records can be linked at once.")),(0,l.kt)("h3",{id:"unlink-records"},"Unlink records"),(0,l.kt)("p",null,"To unlink a record, open the ",(0,l.kt)("inlineCode",{parentName:"p"},"Linked Records")," modal & click on the card of the record to be unlinked."),(0,l.kt)("admonition",{type:"info"},(0,l.kt)("p",{parentName:"admonition"},"Multiple records can be unlinked at once.")),(0,l.kt)("h3",{id:"related-fields"},"Related fields"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/fields/field-types/links-based/lookup"},"Lookup")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/fields/field-types/links-based/rollup"},"Rollup"))))}c.isMDXComponent=!0},34177:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/add-link-modal-fde55380d59bdd5d597bd38e3330dbbd.png"},21673:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/linked-record-modal-3e57fdb38dfa9be609959b9843ec65b4.png"},16829:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/links-cell-display-11ef22c835684c116f159598247e9b5d.png"},74923:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/links-66d99647e69bf8d24e49ec0bd0b72714.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/1970c274.334059b6.js b/packages/noco-docs/dist/assets/js/1970c274.39621580.js similarity index 65% rename from packages/noco-docs/dist/assets/js/1970c274.334059b6.js rename to packages/noco-docs/dist/assets/js/1970c274.39621580.js index 54c6cfb7ce..fea4a5c998 100644 --- a/packages/noco-docs/dist/assets/js/1970c274.334059b6.js +++ b/packages/noco-docs/dist/assets/js/1970c274.39621580.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1140],{3905:(e,a,t)=>{t.d(a,{Zo:()=>c,kt:()=>h});var n=t(67294);function i(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function o(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function r(e){for(var a=1;a=0||(i[t]=e[t]);return i}(e,a);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var d=n.createContext({}),s=function(e){var a=n.useContext(d),t=a;return e&&(t="function"==typeof e?e(a):r(r({},a),e)),t},c=function(e){var a=s(e.components);return n.createElement(d.Provider,{value:a},e.children)},p="mdxType",k={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},b=n.forwardRef((function(e,a){var t=e.components,i=e.mdxType,o=e.originalType,d=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=s(t),b=i,h=p["".concat(d,".").concat(b)]||p[b]||k[b]||o;return t?n.createElement(h,r(r({ref:a},c),{},{components:t})):n.createElement(h,r({ref:a},c))}));function h(e,a){var t=arguments,i=a&&a.mdxType;if("string"==typeof e||i){var o=t.length,r=new Array(o);r[0]=b;var l={};for(var d in a)hasOwnProperty.call(a,d)&&(l[d]=a[d]);l.originalType=e,l[p]="string"==typeof e?e:i,r[1]=l;for(var s=2;s{t.r(a),t.d(a,{assets:()=>d,contentTitle:()=>r,default:()=>k,frontMatter:()=>o,metadata:()=>l,toc:()=>s});var n=t(87462),i=(t(67294),t(3905));const o={title:"Kanban",description:"Learn how to work with kanban view in NocoDB.",tags:["Views","Kanban View"],keywords:["NocoDB kanban","kanban view","kanban board","kanban view operations"]},r=void 0,l={unversionedId:"views/view-types/kanban",id:"views/view-types/kanban",title:"Kanban",description:"Learn how to work with kanban view in NocoDB.",source:"@site/docs/090.views/040.view-types/040.kanban.md",sourceDirName:"090.views/040.view-types",slug:"/views/view-types/kanban",permalink:"/views/view-types/kanban",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/040.view-types/040.kanban.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Kanban View",permalink:"/tags/kanban-view"}],version:"current",sidebarPosition:40,frontMatter:{title:"Kanban",description:"Learn how to work with kanban view in NocoDB.",tags:["Views","Kanban View"],keywords:["NocoDB kanban","kanban view","kanban board","kanban view operations"]},sidebar:"tutorialSidebar",previous:{title:"Form",permalink:"/views/view-types/form"},next:{title:"Actions on view",permalink:"/views/actions-on-view"}},d={},s=[{value:"Kanban View Actions",id:"kanban-view-actions",level:2},{value:"Kanban View Operations",id:"kanban-view-operations",level:2},{value:"Kanban View Stacked-by field Operations",id:"kanban-view-stacked-by-field-operations",level:2},{value:"Change Stacked by Field",id:"change-stacked-by-field",level:3},{value:"Add/modify Stacked-by Field Options",id:"addmodify-stacked-by-field-options",level:3},{value:"Collapse Stack",id:"collapse-stack",level:3},{value:"Delete Stack",id:"delete-stack",level:3},{value:"Reorder Stacks",id:"reorder-stacks",level:3},{value:"Kanban View Record Operations",id:"kanban-view-record-operations",level:2},{value:"Move Records within Stacks",id:"move-records-within-stacks",level:3},{value:"Add a New Record to the Kanban",id:"add-a-new-record-to-the-kanban",level:3},{value:"Edit an Existing Record on the Kanban",id:"edit-an-existing-record-on-the-kanban",level:3},{value:"Delete a Single Record from the Kanban",id:"delete-a-single-record-from-the-kanban",level:3},{value:"Related articles",id:"related-articles",level:2}],c={toc:s},p="wrapper";function k(e){let{components:a,...o}=e;return(0,i.kt)(p,(0,n.Z)({},c,o,{components:a,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"Kanban View allows you to visualise your data using cards as part of various stacks on the board. You can easily rearrange the cards by dragging and dropping them to different stacks. This section will cover all the operations that can be performed on the Kanban view."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"1010-2 Kanban",src:t(24427).Z,width:"2880",height:"1800"})),(0,i.kt)("h2",{id:"kanban-view-actions"},"Kanban View Actions"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/create-view/#create-new-view"},"Create a New Kanban View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/actions-on-view#rename-view"},"Rename an Existing Kanban View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/actions-on-view#duplicate-view"},"Duplicate a Kanban View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/actions-on-view#delete-view"},"Remove a Kanban View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/share-view"},"Share a Kanban View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/views-overview#view-permission-types"},"Lock Kanban View for Edits"))),(0,i.kt)("h2",{id:"kanban-view-operations"},"Kanban View Operations"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/field-operations#rearranging-fields"},"Rearrange Fields Within the Kanban")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/field-operations#showhide-fields"},"Show or Hide Fields Within the Kanban")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/filter"},"Apply Filters to Display Specific Records on the Kanban")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/sort"},"Sort Records on the Kanban by One or More Criteria")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/search"},"Perform Quick Searches for Specific Data Within Fields")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/download#download-data"},"Export Data to CSV or Excel Format")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/field-operations#change-cover-field-kanbankanban-view"},"Change Cover Image"))),(0,i.kt)("h2",{id:"kanban-view-stacked-by-field-operations"},"Kanban View Stacked-by field Operations"),(0,i.kt)("h3",{id:"change-stacked-by-field"},"Change Stacked by Field"),(0,i.kt)("p",null,"You can change the field by which the records are stacked on the kanban view by following the steps below:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Stacked by")," menu in the toolbar. "),(0,i.kt)("li",{parentName:"ol"},"Click on field name that is currently selected as the stacked-by field. "),(0,i.kt)("li",{parentName:"ol"},"From the dropdown, select the new field by which you want to stack the records. ")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Change Stacked by Field",src:t(20865).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"addmodify-stacked-by-field-options"},"Add/modify Stacked-by Field Options"),(0,i.kt)("p",null,"You can add/modify options on the stacked-by single select field by following the steps below:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Stacked by")," menu in the toolbar. Dropdown lists all ",(0,i.kt)("inlineCode",{parentName:"li"},"Select Options")," that are available on this field. "),(0,i.kt)("li",{parentName:"ol"},"Add/modify as required."),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Save")," to save the changes.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Add/modify option on the stacked-by single select field",src:t(9440).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"collapse-stack"},"Collapse Stack"),(0,i.kt)("p",null,"To ease the view of the kanban, you can collapse the stack by following the steps below:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on the dropdown icon on the stack header."),(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Collapse Stack")," from the dropdown."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("inlineCode",{parentName:"li"},"Collapsed Stack")," will be displayed as vertical bars on the kanban view as displayed below.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Collapse Stack",src:t(63472).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"delete-stack"},"Delete Stack"),(0,i.kt)("p",null,"To delete a stack from the kanban view, follow the steps below:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on the dropdown icon on the stack header."),(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Delete Stack")," from the dropdown."),(0,i.kt)("li",{parentName:"ol"},"A confirmation dialog will be displayed. Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Delete")," to delete the stack.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Delete Stack",src:t(38357).Z,width:"2880",height:"1800"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Delete Stack Confirmation",src:t(65656).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"reorder-stacks"},"Reorder Stacks"),(0,i.kt)("p",null,"You can reorder the stacks on the kanban view by dragging and dropping the stack to the desired position."),(0,i.kt)("h2",{id:"kanban-view-record-operations"},"Kanban View Record Operations"),(0,i.kt)("h3",{id:"move-records-within-stacks"},"Move Records within Stacks"),(0,i.kt)("p",null,"You can move records within a stack by dragging and dropping the card to the desired position within the stack."),(0,i.kt)("h3",{id:"add-a-new-record-to-the-kanban"},"Add a New Record to the Kanban"),(0,i.kt)("p",null,"On kanban, you can add a new record directly to a particular stack by using ",(0,i.kt)("inlineCode",{parentName:"p"},"Add Record")," button on the stack footer. This opens up an expanded record view where you can enter the data for the new record. Once you save the record, it will be displayed on the kanban view. You can also add a new record to the table, and it will be displayed on the kanban view. "),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Add Record",src:t(42950).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"edit-an-existing-record-on-the-kanban"},"Edit an Existing Record on the Kanban"),(0,i.kt)("p",null,"Click on the card on the kanban view to open the record in the expanded record view. You can edit the record in the expanded record view and save it."),(0,i.kt)("h3",{id:"delete-a-single-record-from-the-kanban"},"Delete a Single Record from the Kanban"),(0,i.kt)("p",null,"Right-click on the card to access the context menu and select the ",(0,i.kt)("inlineCode",{parentName:"p"},"Delete")," option."),(0,i.kt)("h2",{id:"related-articles"},"Related articles"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"/views/view-types/grid"},"Grid View"),(0,i.kt)("br",{parentName:"p"}),"\n",(0,i.kt)("a",{parentName:"p",href:"/views/view-types/kanban"},"Kanban View"),(0,i.kt)("br",{parentName:"p"}),"\n",(0,i.kt)("a",{parentName:"p",href:"/views/view-types/form"},"Form View")))}k.isMDXComponent=!0},42950:(e,a,t)=>{t.d(a,{Z:()=>n});const n=t.p+"assets/images/kanban-add-record-6d53ed410a1ee0323790496461b53aff.png"},20865:(e,a,t)=>{t.d(a,{Z:()=>n});const n=t.p+"assets/images/kanban-change-stack-a8d26dff838ea4b480a30e2db1d0624f.png"},63472:(e,a,t)=>{t.d(a,{Z:()=>n});const n=t.p+"assets/images/kanban-collapse-stack-8ec03d704b55aba7bbc1510efd0f746d.png"},65656:(e,a,t)=>{t.d(a,{Z:()=>n});const n=t.p+"assets/images/kanban-delete-stack-confirmation-e4b55be5361259d84852953931f63f8c.png"},38357:(e,a,t)=>{t.d(a,{Z:()=>n});const n=t.p+"assets/images/kanban-delete-stack-b51611d8427f1a16a295861c0c91eb94.png"},9440:(e,a,t)=>{t.d(a,{Z:()=>n});const n=t.p+"assets/images/kanban-edit-stack-options-7f9e0324e6068956dae0268031c712f7.png"},24427:(e,a,t)=>{t.d(a,{Z:()=>n});const n=t.p+"assets/images/kanban-e00b90c6413259b626deeeb6659281ea.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1140],{3905:(e,a,t)=>{t.d(a,{Zo:()=>c,kt:()=>h});var n=t(67294);function i(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function o(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function r(e){for(var a=1;a=0||(i[t]=e[t]);return i}(e,a);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var d=n.createContext({}),s=function(e){var a=n.useContext(d),t=a;return e&&(t="function"==typeof e?e(a):r(r({},a),e)),t},c=function(e){var a=s(e.components);return n.createElement(d.Provider,{value:a},e.children)},p="mdxType",k={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},b=n.forwardRef((function(e,a){var t=e.components,i=e.mdxType,o=e.originalType,d=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=s(t),b=i,h=p["".concat(d,".").concat(b)]||p[b]||k[b]||o;return t?n.createElement(h,r(r({ref:a},c),{},{components:t})):n.createElement(h,r({ref:a},c))}));function h(e,a){var t=arguments,i=a&&a.mdxType;if("string"==typeof e||i){var o=t.length,r=new Array(o);r[0]=b;var l={};for(var d in a)hasOwnProperty.call(a,d)&&(l[d]=a[d]);l.originalType=e,l[p]="string"==typeof e?e:i,r[1]=l;for(var s=2;s{t.r(a),t.d(a,{assets:()=>d,contentTitle:()=>r,default:()=>k,frontMatter:()=>o,metadata:()=>l,toc:()=>s});var n=t(87462),i=(t(67294),t(3905));const o={title:"Kanban",description:"Learn how to work with kanban view in NocoDB.",tags:["Views","Kanban View"],keywords:["NocoDB kanban","kanban view","kanban board","kanban view operations"]},r=void 0,l={unversionedId:"views/view-types/kanban",id:"views/view-types/kanban",title:"Kanban",description:"Learn how to work with kanban view in NocoDB.",source:"@site/docs/090.views/040.view-types/040.kanban.md",sourceDirName:"090.views/040.view-types",slug:"/views/view-types/kanban",permalink:"/views/view-types/kanban",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/040.view-types/040.kanban.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Kanban View",permalink:"/tags/kanban-view"}],version:"current",sidebarPosition:40,frontMatter:{title:"Kanban",description:"Learn how to work with kanban view in NocoDB.",tags:["Views","Kanban View"],keywords:["NocoDB kanban","kanban view","kanban board","kanban view operations"]},sidebar:"tutorialSidebar",previous:{title:"Form",permalink:"/views/view-types/form"},next:{title:"Actions on view",permalink:"/views/actions-on-view"}},d={},s=[{value:"Kanban View Actions",id:"kanban-view-actions",level:2},{value:"Kanban View Operations",id:"kanban-view-operations",level:2},{value:"Kanban View Stacked-by field Operations",id:"kanban-view-stacked-by-field-operations",level:2},{value:"Change Stacked by Field",id:"change-stacked-by-field",level:3},{value:"Add/modify Stacked-by Field Options",id:"addmodify-stacked-by-field-options",level:3},{value:"Collapse Stack",id:"collapse-stack",level:3},{value:"Delete Stack",id:"delete-stack",level:3},{value:"Reorder Stacks",id:"reorder-stacks",level:3},{value:"Kanban View Record Operations",id:"kanban-view-record-operations",level:2},{value:"Move Records within Stacks",id:"move-records-within-stacks",level:3},{value:"Add a New Record to the Kanban",id:"add-a-new-record-to-the-kanban",level:3},{value:"Edit an Existing Record on the Kanban",id:"edit-an-existing-record-on-the-kanban",level:3},{value:"Delete a Single Record from the Kanban",id:"delete-a-single-record-from-the-kanban",level:3},{value:"Related articles",id:"related-articles",level:2}],c={toc:s},p="wrapper";function k(e){let{components:a,...o}=e;return(0,i.kt)(p,(0,n.Z)({},c,o,{components:a,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"Kanban View allows you to visualise your data using cards as part of various stacks on the board. You can easily rearrange the cards by dragging and dropping them to different stacks. This section will cover all the operations that can be performed on the Kanban view."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"1010-2 Kanban",src:t(56390).Z,width:"2880",height:"1800"})),(0,i.kt)("h2",{id:"kanban-view-actions"},"Kanban View Actions"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/create-view/#create-new-view"},"Create a New Kanban View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/actions-on-view#rename-view"},"Rename an Existing Kanban View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/actions-on-view#duplicate-view"},"Duplicate a Kanban View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/actions-on-view#delete-view"},"Remove a Kanban View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/share-view"},"Share a Kanban View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/views-overview#view-permission-types"},"Lock Kanban View for Edits"))),(0,i.kt)("h2",{id:"kanban-view-operations"},"Kanban View Operations"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/field-operations#rearranging-fields"},"Rearrange Fields Within the Kanban")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/field-operations#showhide-fields"},"Show or Hide Fields Within the Kanban")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/filter"},"Apply Filters to Display Specific Records on the Kanban")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/sort"},"Sort Records on the Kanban by One or More Criteria")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/search"},"Perform Quick Searches for Specific Data Within Fields")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/download#download-data"},"Export Data to CSV or Excel Format")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/field-operations#change-cover-field-kanbankanban-view"},"Change Cover Image"))),(0,i.kt)("h2",{id:"kanban-view-stacked-by-field-operations"},"Kanban View Stacked-by field Operations"),(0,i.kt)("h3",{id:"change-stacked-by-field"},"Change Stacked by Field"),(0,i.kt)("p",null,"You can change the field by which the records are stacked on the kanban view by following the steps below:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Stacked by")," menu in the toolbar. "),(0,i.kt)("li",{parentName:"ol"},"Click on field name that is currently selected as the stacked-by field. "),(0,i.kt)("li",{parentName:"ol"},"From the dropdown, select the new field by which you want to stack the records. ")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Change Stacked by Field",src:t(82585).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"addmodify-stacked-by-field-options"},"Add/modify Stacked-by Field Options"),(0,i.kt)("p",null,"You can add/modify options on the stacked-by single select field by following the steps below:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Stacked by")," menu in the toolbar. Dropdown lists all ",(0,i.kt)("inlineCode",{parentName:"li"},"Select Options")," that are available on this field. "),(0,i.kt)("li",{parentName:"ol"},"Add/modify as required."),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Save")," to save the changes.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Add/modify option on the stacked-by single select field",src:t(55874).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"collapse-stack"},"Collapse Stack"),(0,i.kt)("p",null,"To ease the view of the kanban, you can collapse the stack by following the steps below:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on the dropdown icon on the stack header."),(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Collapse Stack")," from the dropdown."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("inlineCode",{parentName:"li"},"Collapsed Stack")," will be displayed as vertical bars on the kanban view as displayed below.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Collapse Stack",src:t(56087).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"delete-stack"},"Delete Stack"),(0,i.kt)("p",null,"To delete a stack from the kanban view, follow the steps below:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on the dropdown icon on the stack header."),(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Delete Stack")," from the dropdown."),(0,i.kt)("li",{parentName:"ol"},"A confirmation dialog will be displayed. Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Delete")," to delete the stack.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Delete Stack",src:t(99644).Z,width:"2880",height:"1800"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Delete Stack Confirmation",src:t(15645).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"reorder-stacks"},"Reorder Stacks"),(0,i.kt)("p",null,"You can reorder the stacks on the kanban view by dragging and dropping the stack to the desired position."),(0,i.kt)("h2",{id:"kanban-view-record-operations"},"Kanban View Record Operations"),(0,i.kt)("h3",{id:"move-records-within-stacks"},"Move Records within Stacks"),(0,i.kt)("p",null,"You can move records within a stack by dragging and dropping the card to the desired position within the stack."),(0,i.kt)("h3",{id:"add-a-new-record-to-the-kanban"},"Add a New Record to the Kanban"),(0,i.kt)("p",null,"On kanban, you can add a new record directly to a particular stack by using ",(0,i.kt)("inlineCode",{parentName:"p"},"Add Record")," button on the stack footer. This opens up an expanded record view where you can enter the data for the new record. Once you save the record, it will be displayed on the kanban view. You can also add a new record to the table, and it will be displayed on the kanban view. "),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Add Record",src:t(64542).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"edit-an-existing-record-on-the-kanban"},"Edit an Existing Record on the Kanban"),(0,i.kt)("p",null,"Click on the card on the kanban view to open the record in the expanded record view. You can edit the record in the expanded record view and save it."),(0,i.kt)("h3",{id:"delete-a-single-record-from-the-kanban"},"Delete a Single Record from the Kanban"),(0,i.kt)("p",null,"Right-click on the card to access the context menu and select the ",(0,i.kt)("inlineCode",{parentName:"p"},"Delete")," option."),(0,i.kt)("h2",{id:"related-articles"},"Related articles"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"/views/view-types/grid"},"Grid View"),(0,i.kt)("br",{parentName:"p"}),"\n",(0,i.kt)("a",{parentName:"p",href:"/views/view-types/kanban"},"Kanban View"),(0,i.kt)("br",{parentName:"p"}),"\n",(0,i.kt)("a",{parentName:"p",href:"/views/view-types/form"},"Form View")))}k.isMDXComponent=!0},64542:(e,a,t)=>{t.d(a,{Z:()=>n});const n=t.p+"assets/images/kanban-add-record-6d53ed410a1ee0323790496461b53aff.png"},82585:(e,a,t)=>{t.d(a,{Z:()=>n});const n=t.p+"assets/images/kanban-change-stack-a8d26dff838ea4b480a30e2db1d0624f.png"},56087:(e,a,t)=>{t.d(a,{Z:()=>n});const n=t.p+"assets/images/kanban-collapse-stack-8ec03d704b55aba7bbc1510efd0f746d.png"},15645:(e,a,t)=>{t.d(a,{Z:()=>n});const n=t.p+"assets/images/kanban-delete-stack-confirmation-e4b55be5361259d84852953931f63f8c.png"},99644:(e,a,t)=>{t.d(a,{Z:()=>n});const n=t.p+"assets/images/kanban-delete-stack-b51611d8427f1a16a295861c0c91eb94.png"},55874:(e,a,t)=>{t.d(a,{Z:()=>n});const n=t.p+"assets/images/kanban-edit-stack-options-7f9e0324e6068956dae0268031c712f7.png"},56390:(e,a,t)=>{t.d(a,{Z:()=>n});const n=t.p+"assets/images/kanban-e00b90c6413259b626deeeb6659281ea.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/1e898359.49fc3451.js b/packages/noco-docs/dist/assets/js/1e898359.91dd43d6.js similarity index 98% rename from packages/noco-docs/dist/assets/js/1e898359.49fc3451.js rename to packages/noco-docs/dist/assets/js/1e898359.91dd43d6.js index 0663109f4b..22901085e0 100644 --- a/packages/noco-docs/dist/assets/js/1e898359.49fc3451.js +++ b/packages/noco-docs/dist/assets/js/1e898359.91dd43d6.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[8704],{3905:(e,t,o)=>{o.d(t,{Zo:()=>u,kt:()=>h});var a=o(67294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,a)}return o}function i(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var s=a.createContext({}),c=function(e){var t=a.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},u=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var o=e.components,n=e.mdxType,r=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(o),m=n,h=d["".concat(s,".").concat(m)]||d[m]||p[m]||r;return o?a.createElement(h,i(i({ref:t},u),{},{components:o})):a.createElement(h,i({ref:t},u))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=o.length,i=new Array(r);i[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:n,i[1]=l;for(var c=2;c{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var a=o(87462),n=(o(67294),o(3905));const r={title:"Welcome",description:"NocoDB Documentation",slug:"/"},i=void 0,l={unversionedId:"index",id:"version-0.109.7/index",title:"Welcome",description:"NocoDB Documentation",source:"@site/versioned_docs/version-0.109.7/010.index.md",sourceDirName:".",slug:"/",permalink:"/0.109.7/",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/versioned_docs/version-0.109.7/010.index.md",tags:[],version:"0.109.7",sidebarPosition:10,frontMatter:{title:"Welcome",description:"NocoDB Documentation",slug:"/"},sidebar:"tutorialSidebar",next:{title:"Installation",permalink:"/0.109.7/getting-started/installation"}},s={},c=[{value:"Welcome!",id:"welcome",level:2},{value:"Features",id:"features",level:2},{value:"Rich Spreadsheet Interface",id:"rich-spreadsheet-interface",level:3},{value:"App Store for Workflow Automations",id:"app-store-for-workflow-automations",level:3},{value:"Programmatic Access",id:"programmatic-access",level:3},{value:"Sync Schema",id:"sync-schema",level:3},{value:"Audit",id:"audit",level:3},{value:"Why are we building this?",id:"why-are-we-building-this",level:2},{value:"Our Mission",id:"our-mission",level:2},{value:"How can I contribute to NocoDB's development ?",id:"how-can-i-contribute-to-nocodbs-development-",level:2},{value:"Where can I join the NocoDB community?",id:"where-can-i-join-the-nocodb-community",level:2}],u={toc:c},d="wrapper";function p(e){let{components:t,...r}=e;return(0,n.kt)(d,(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"welcome"},"Welcome!"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:o(36562).Z,width:"1584",height:"396"})),(0,n.kt)("p",null,"NocoDB is a no-code database platform that allows teams to collaborate and build applications with ease of a familiar and intuitive spreadsheet interface. This allows even non-developers or business users to become software creators."),(0,n.kt)("p",null,"NocoDB works by connecting to any relational database and transforming them into a smart spreadsheet interface! This allows you to build no-code applications collaboratively with teams. NocoDB currently works with MySQL, PostgreSQL, Microsoft SQL Server, SQLite, Amazon Aurora & MariaDB databases."),(0,n.kt)("p",null,"Also NocoDB's app store allows you to build business workflows on views with combination of Slack, Microsoft Teams, Discord, Twilio, Whatsapp, Email & any 3rd party APIs too. Plus NocoDB provides programmatic access to APIs so that you can build integrations with Zapier / Integromat and custom applications too."),(0,n.kt)("h2",{id:"features"},"Features"),(0,n.kt)("h3",{id:"rich-spreadsheet-interface"},"Rich Spreadsheet Interface"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Basic Operations: Create, Read, Update and Delete on Tables, Columns, and Rows"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Fields Operations: Sort, Filter, Hide / Unhide Columns"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Multiple Views Types: Grid (By default), Gallery, Form View and Kanban View"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","View Permissions Types: Collaborative Views, & Locked Views "),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Share Bases / Views: either Public or Private (with Password Protected)"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Variant Cell Types: ID, LinkToAnotherRecord, Lookup, Rollup, SingleLineText, Attachement, Currency, Formula and etc"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Access Control with Roles : Fine-grained Access Control at different levels"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","and more ...")),(0,n.kt)("h3",{id:"app-store-for-workflow-automations"},"App Store for Workflow Automations"),(0,n.kt)("p",null,"We provide different integrations in three main categories. See ",(0,n.kt)("a",{href:"/0.109.7/setup-and-usages/account-settings#app-store",target:"_blank"},"App Store")," for details."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Chat : Slack, Discord, Mattermost, and etc"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Email : AWS SES, SMTP, MailerSend, and etc"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Storage : AWS S3, Google Cloud Storage, Minio, and etc")),(0,n.kt)("h3",{id:"programmatic-access"},"Programmatic Access"),(0,n.kt)("p",null,"We provide the following ways to let users to invoke actions in a programmatic way. You can use a token (either JWT or Social Auth) to sign your requests for authorization to NocoDB. "),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","REST APIs"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","NocoDB SDK")),(0,n.kt)("h3",{id:"sync-schema"},"Sync Schema"),(0,n.kt)("p",null,"We allow you to sync schema changes if you have made changes outside NocoDB GUI. However, it has to be noted then you will have to bring your own schema migrations for moving from environment to others. See ",(0,n.kt)("a",{href:"/0.109.7/setup-and-usages/sync-schema",target:"_blank"},"Sync Schema")," for details."),(0,n.kt)("h3",{id:"audit"},"Audit"),(0,n.kt)("p",null,"We are keeping all the user operation logs under one place. See ",(0,n.kt)("a",{href:"/0.109.7/setup-and-usages/audit",target:"_blank"},"Audit")," for details."),(0,n.kt)("h2",{id:"why-are-we-building-this"},"Why are we building this?"),(0,n.kt)("p",null,"Most internet businesses equip themselves with either spreadsheet or a database to solve their business needs. Spreadsheets are used by a Billion+ humans collaboratively every single day. However, we are way off working at similar speeds on databases which are way more powerful tools when it comes to computing. Attempts to solve this with SaaS offerings has meant horrible access controls, vendor lockin, data lockin, abrupt price changes & most importantly a glass ceiling on what's possible in future."),(0,n.kt)("h2",{id:"our-mission"},"Our Mission"),(0,n.kt)("p",null,"Our mission is to provide the most powerful no-code interface for databases which is open source to every single internet business in the world. This would not only democratise access to a powerful computing tool but also bring forth a billion+ people who will have radical tinkering-and-building abilities on internet. "),(0,n.kt)("h2",{id:"how-can-i-contribute-to-nocodbs-development-"},"How can I contribute to NocoDB's development ?"),(0,n.kt)("p",null,"Please refer to ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/nocodb/nocodb/blob/develop/.github/CONTRIBUTING.md"},"here")," for the contribution guidelines."),(0,n.kt)("img",{src:"https://static.scarf.sh/a.png?x-pxid=c12a77cc-855e-4602-8a0f-614b2d0da56a",style:{margin:"0px"}}),(0,n.kt)("h2",{id:"where-can-i-join-the-nocodb-community"},"Where can I join the NocoDB community?"),(0,n.kt)("p",null,"Follow us for daily updates, content, and other activities with our community:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.youtube.com/@nocodb"},"Youtube")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://twitter.com/nocodb"},"Twitter")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"http://discord.nocodb.com/"},"Discord")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://github.com/nocodb/nocodb"},"GitHub")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://community.nocodb.com/"},"Community Forums")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.linkedin.com/company/nocodb"},"LinkedIn")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.reddit.com/r/NocoDB/"},"Reddit"))))}p.isMDXComponent=!0},36562:(e,t,o)=>{o.d(t,{Z:()=>a});const a=o.p+"assets/images/banner-0a7a485798fc16881259280a1227725d.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[8704],{3905:(e,t,o)=>{o.d(t,{Zo:()=>u,kt:()=>h});var a=o(67294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,a)}return o}function i(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var s=a.createContext({}),c=function(e){var t=a.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},u=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var o=e.components,n=e.mdxType,r=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(o),m=n,h=d["".concat(s,".").concat(m)]||d[m]||p[m]||r;return o?a.createElement(h,i(i({ref:t},u),{},{components:o})):a.createElement(h,i({ref:t},u))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=o.length,i=new Array(r);i[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:n,i[1]=l;for(var c=2;c{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var a=o(87462),n=(o(67294),o(3905));const r={title:"Welcome",description:"NocoDB Documentation",slug:"/"},i=void 0,l={unversionedId:"index",id:"version-0.109.7/index",title:"Welcome",description:"NocoDB Documentation",source:"@site/versioned_docs/version-0.109.7/010.index.md",sourceDirName:".",slug:"/",permalink:"/0.109.7/",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/versioned_docs/version-0.109.7/010.index.md",tags:[],version:"0.109.7",sidebarPosition:10,frontMatter:{title:"Welcome",description:"NocoDB Documentation",slug:"/"},sidebar:"tutorialSidebar",next:{title:"Installation",permalink:"/0.109.7/getting-started/installation"}},s={},c=[{value:"Welcome!",id:"welcome",level:2},{value:"Features",id:"features",level:2},{value:"Rich Spreadsheet Interface",id:"rich-spreadsheet-interface",level:3},{value:"App Store for Workflow Automations",id:"app-store-for-workflow-automations",level:3},{value:"Programmatic Access",id:"programmatic-access",level:3},{value:"Sync Schema",id:"sync-schema",level:3},{value:"Audit",id:"audit",level:3},{value:"Why are we building this?",id:"why-are-we-building-this",level:2},{value:"Our Mission",id:"our-mission",level:2},{value:"How can I contribute to NocoDB's development ?",id:"how-can-i-contribute-to-nocodbs-development-",level:2},{value:"Where can I join the NocoDB community?",id:"where-can-i-join-the-nocodb-community",level:2}],u={toc:c},d="wrapper";function p(e){let{components:t,...r}=e;return(0,n.kt)(d,(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"welcome"},"Welcome!"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:o(31082).Z,width:"1584",height:"396"})),(0,n.kt)("p",null,"NocoDB is a no-code database platform that allows teams to collaborate and build applications with ease of a familiar and intuitive spreadsheet interface. This allows even non-developers or business users to become software creators."),(0,n.kt)("p",null,"NocoDB works by connecting to any relational database and transforming them into a smart spreadsheet interface! This allows you to build no-code applications collaboratively with teams. NocoDB currently works with MySQL, PostgreSQL, Microsoft SQL Server, SQLite, Amazon Aurora & MariaDB databases."),(0,n.kt)("p",null,"Also NocoDB's app store allows you to build business workflows on views with combination of Slack, Microsoft Teams, Discord, Twilio, Whatsapp, Email & any 3rd party APIs too. Plus NocoDB provides programmatic access to APIs so that you can build integrations with Zapier / Integromat and custom applications too."),(0,n.kt)("h2",{id:"features"},"Features"),(0,n.kt)("h3",{id:"rich-spreadsheet-interface"},"Rich Spreadsheet Interface"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Basic Operations: Create, Read, Update and Delete on Tables, Columns, and Rows"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Fields Operations: Sort, Filter, Hide / Unhide Columns"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Multiple Views Types: Grid (By default), Gallery, Form View and Kanban View"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","View Permissions Types: Collaborative Views, & Locked Views "),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Share Bases / Views: either Public or Private (with Password Protected)"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Variant Cell Types: ID, LinkToAnotherRecord, Lookup, Rollup, SingleLineText, Attachement, Currency, Formula and etc"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Access Control with Roles : Fine-grained Access Control at different levels"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","and more ...")),(0,n.kt)("h3",{id:"app-store-for-workflow-automations"},"App Store for Workflow Automations"),(0,n.kt)("p",null,"We provide different integrations in three main categories. See ",(0,n.kt)("a",{href:"/0.109.7/setup-and-usages/account-settings#app-store",target:"_blank"},"App Store")," for details."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Chat : Slack, Discord, Mattermost, and etc"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Email : AWS SES, SMTP, MailerSend, and etc"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Storage : AWS S3, Google Cloud Storage, Minio, and etc")),(0,n.kt)("h3",{id:"programmatic-access"},"Programmatic Access"),(0,n.kt)("p",null,"We provide the following ways to let users to invoke actions in a programmatic way. You can use a token (either JWT or Social Auth) to sign your requests for authorization to NocoDB. "),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","REST APIs"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","NocoDB SDK")),(0,n.kt)("h3",{id:"sync-schema"},"Sync Schema"),(0,n.kt)("p",null,"We allow you to sync schema changes if you have made changes outside NocoDB GUI. However, it has to be noted then you will have to bring your own schema migrations for moving from environment to others. See ",(0,n.kt)("a",{href:"/0.109.7/setup-and-usages/sync-schema",target:"_blank"},"Sync Schema")," for details."),(0,n.kt)("h3",{id:"audit"},"Audit"),(0,n.kt)("p",null,"We are keeping all the user operation logs under one place. See ",(0,n.kt)("a",{href:"/0.109.7/setup-and-usages/audit",target:"_blank"},"Audit")," for details."),(0,n.kt)("h2",{id:"why-are-we-building-this"},"Why are we building this?"),(0,n.kt)("p",null,"Most internet businesses equip themselves with either spreadsheet or a database to solve their business needs. Spreadsheets are used by a Billion+ humans collaboratively every single day. However, we are way off working at similar speeds on databases which are way more powerful tools when it comes to computing. Attempts to solve this with SaaS offerings has meant horrible access controls, vendor lockin, data lockin, abrupt price changes & most importantly a glass ceiling on what's possible in future."),(0,n.kt)("h2",{id:"our-mission"},"Our Mission"),(0,n.kt)("p",null,"Our mission is to provide the most powerful no-code interface for databases which is open source to every single internet business in the world. This would not only democratise access to a powerful computing tool but also bring forth a billion+ people who will have radical tinkering-and-building abilities on internet. "),(0,n.kt)("h2",{id:"how-can-i-contribute-to-nocodbs-development-"},"How can I contribute to NocoDB's development ?"),(0,n.kt)("p",null,"Please refer to ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/nocodb/nocodb/blob/develop/.github/CONTRIBUTING.md"},"here")," for the contribution guidelines."),(0,n.kt)("img",{src:"https://static.scarf.sh/a.png?x-pxid=c12a77cc-855e-4602-8a0f-614b2d0da56a",style:{margin:"0px"}}),(0,n.kt)("h2",{id:"where-can-i-join-the-nocodb-community"},"Where can I join the NocoDB community?"),(0,n.kt)("p",null,"Follow us for daily updates, content, and other activities with our community:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.youtube.com/@nocodb"},"Youtube")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://twitter.com/nocodb"},"Twitter")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"http://discord.nocodb.com/"},"Discord")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://github.com/nocodb/nocodb"},"GitHub")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://community.nocodb.com/"},"Community Forums")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.linkedin.com/company/nocodb"},"LinkedIn")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.reddit.com/r/NocoDB/"},"Reddit"))))}p.isMDXComponent=!0},31082:(e,t,o)=>{o.d(t,{Z:()=>a});const a=o.p+"assets/images/banner-0a7a485798fc16881259280a1227725d.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/1fb5f022.2932790c.js b/packages/noco-docs/dist/assets/js/1fb5f022.8028d89a.js similarity index 97% rename from packages/noco-docs/dist/assets/js/1fb5f022.2932790c.js rename to packages/noco-docs/dist/assets/js/1fb5f022.8028d89a.js index b69141d9a5..7ce0fae565 100644 --- a/packages/noco-docs/dist/assets/js/1fb5f022.2932790c.js +++ b/packages/noco-docs/dist/assets/js/1fb5f022.8028d89a.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[9020],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>v});var r=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function c(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var i=r.createContext({}),l=function(e){var t=r.useContext(i),a=t;return e&&(a="function"==typeof e?e(t):c(c({},t),e)),a},u=function(e){var t=l(e.components);return r.createElement(i.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,o=e.mdxType,n=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=l(a),m=o,v=d["".concat(i,".").concat(m)]||d[m]||p[m]||n;return a?r.createElement(v,c(c({ref:t},u),{},{components:a})):r.createElement(v,c({ref:t},u))}));function v(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=a.length,c=new Array(n);c[0]=m;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s[d]="string"==typeof e?e:o,c[1]=s;for(var l=2;l{a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>p,frontMatter:()=>n,metadata:()=>s,toc:()=>l});var r=a(87462),o=(a(67294),a(3905));const n={title:"Data sources overview",description:"NocoDB Data-Source sync, access control & re-config",tags:["Data Sources","Overview"],keywords:["Data Sources overview","Data Sources sync","Data Sources access control","Data Sources re-config"]},c=void 0,s={unversionedId:"data-sources/data-source-overview",id:"data-sources/data-source-overview",title:"Data sources overview",description:"NocoDB Data-Source sync, access control & re-config",source:"@site/docs/100.data-sources/010.data-source-overview.md",sourceDirName:"100.data-sources",slug:"/data-sources/data-source-overview",permalink:"/data-sources/data-source-overview",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/100.data-sources/010.data-source-overview.md",tags:[{label:"Data Sources",permalink:"/tags/data-sources"},{label:"Overview",permalink:"/tags/overview"}],version:"current",sidebarPosition:10,frontMatter:{title:"Data sources overview",description:"NocoDB Data-Source sync, access control & re-config",tags:["Data Sources","Overview"],keywords:["Data Sources overview","Data Sources sync","Data Sources access control","Data Sources re-config"]},sidebar:"tutorialSidebar",previous:{title:"Actions on view",permalink:"/views/actions-on-view"},next:{title:"Connect to a Data source",permalink:"/data-sources/connect-to-data-source"}},i={},l=[{value:"Overview",id:"overview",level:2},{value:"Accessing Data Sources",id:"accessing-data-sources",level:2}],u={toc:l},d="wrapper";function p(e){let{components:t,...n}=e;return(0,o.kt)(d,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"overview"},"Overview"),(0,o.kt)("p",null,"NocoDB allows you to connect to external data sources and get a unified spreadsheet view of your data. Activities related to external data sources can be managed from ",(0,o.kt)("inlineCode",{parentName:"p"},"Data Sources")," tab in ",(0,o.kt)("inlineCode",{parentName:"p"},"Base dashboard"),"."),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"Data Sources")," tab includes following functionalities"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Connect/manage external data source"),(0,o.kt)("li",{parentName:"ol"},"UI Access Control"),(0,o.kt)("li",{parentName:"ol"},"Relations"),(0,o.kt)("li",{parentName:"ol"},"Audit logs")),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"Currently only one external data source can be added per project.")),(0,o.kt)("h2",{id:"accessing-data-sources"},"Accessing ",(0,o.kt)("inlineCode",{parentName:"h2"},"Data Sources")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,o.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"data source",src:a(46515).Z,width:"2876",height:"928"})),(0,o.kt)("p",null,"Learn more about working with Data sources in the following sections:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/connect-to-data-source"},"Connect to a Data source")," "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/sync-with-data-source"},"Sync changes externally made to data source")," "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/actions-on-data-sources#edit-external-database-configuration-parameters"},"Edit external database configuration parameters")," "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/actions-on-data-sources#remove-external-data-source"},"Remove Data source")," "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/actions-on-data-sources#data-source-visibility"},"Hide Data source")," ")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/actions-on-data-sources#relations"},"Relations within a data source")," "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/actions-on-data-sources#audit-logs"},"Audit logs")," "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/actions-on-data-sources#ui-access-control"},"UI Access Control"))))}p.isMDXComponent=!0},46515:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/data-source-a136125c9bc5031ada9df69ba6484d5a.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[9020],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>v});var r=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function c(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var i=r.createContext({}),l=function(e){var t=r.useContext(i),a=t;return e&&(a="function"==typeof e?e(t):c(c({},t),e)),a},u=function(e){var t=l(e.components);return r.createElement(i.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,o=e.mdxType,n=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=l(a),m=o,v=d["".concat(i,".").concat(m)]||d[m]||p[m]||n;return a?r.createElement(v,c(c({ref:t},u),{},{components:a})):r.createElement(v,c({ref:t},u))}));function v(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=a.length,c=new Array(n);c[0]=m;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s[d]="string"==typeof e?e:o,c[1]=s;for(var l=2;l{a.r(t),a.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>p,frontMatter:()=>n,metadata:()=>s,toc:()=>l});var r=a(87462),o=(a(67294),a(3905));const n={title:"Data sources overview",description:"NocoDB Data-Source sync, access control & re-config",tags:["Data Sources","Overview"],keywords:["Data Sources overview","Data Sources sync","Data Sources access control","Data Sources re-config"]},c=void 0,s={unversionedId:"data-sources/data-source-overview",id:"data-sources/data-source-overview",title:"Data sources overview",description:"NocoDB Data-Source sync, access control & re-config",source:"@site/docs/100.data-sources/010.data-source-overview.md",sourceDirName:"100.data-sources",slug:"/data-sources/data-source-overview",permalink:"/data-sources/data-source-overview",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/100.data-sources/010.data-source-overview.md",tags:[{label:"Data Sources",permalink:"/tags/data-sources"},{label:"Overview",permalink:"/tags/overview"}],version:"current",sidebarPosition:10,frontMatter:{title:"Data sources overview",description:"NocoDB Data-Source sync, access control & re-config",tags:["Data Sources","Overview"],keywords:["Data Sources overview","Data Sources sync","Data Sources access control","Data Sources re-config"]},sidebar:"tutorialSidebar",previous:{title:"Actions on view",permalink:"/views/actions-on-view"},next:{title:"Connect to a Data source",permalink:"/data-sources/connect-to-data-source"}},i={},l=[{value:"Overview",id:"overview",level:2},{value:"Accessing Data Sources",id:"accessing-data-sources",level:2}],u={toc:l},d="wrapper";function p(e){let{components:t,...n}=e;return(0,o.kt)(d,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"overview"},"Overview"),(0,o.kt)("p",null,"NocoDB allows you to connect to external data sources and get a unified spreadsheet view of your data. Activities related to external data sources can be managed from ",(0,o.kt)("inlineCode",{parentName:"p"},"Data Sources")," tab in ",(0,o.kt)("inlineCode",{parentName:"p"},"Base dashboard"),"."),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"Data Sources")," tab includes following functionalities"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Connect/manage external data source"),(0,o.kt)("li",{parentName:"ol"},"UI Access Control"),(0,o.kt)("li",{parentName:"ol"},"Relations"),(0,o.kt)("li",{parentName:"ol"},"Audit logs")),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"Currently only one external data source can be added per project.")),(0,o.kt)("h2",{id:"accessing-data-sources"},"Accessing ",(0,o.kt)("inlineCode",{parentName:"h2"},"Data Sources")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,o.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"data source",src:a(66012).Z,width:"2876",height:"928"})),(0,o.kt)("p",null,"Learn more about working with Data sources in the following sections:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/connect-to-data-source"},"Connect to a Data source")," "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/sync-with-data-source"},"Sync changes externally made to data source")," "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/actions-on-data-sources#edit-external-database-configuration-parameters"},"Edit external database configuration parameters")," "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/actions-on-data-sources#remove-external-data-source"},"Remove Data source")," "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/actions-on-data-sources#data-source-visibility"},"Hide Data source")," ")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/actions-on-data-sources#relations"},"Relations within a data source")," "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/actions-on-data-sources#audit-logs"},"Audit logs")," "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/data-sources/actions-on-data-sources#ui-access-control"},"UI Access Control"))))}p.isMDXComponent=!0},66012:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/data-source-a136125c9bc5031ada9df69ba6484d5a.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/20e10381.8bd204da.js b/packages/noco-docs/dist/assets/js/20e10381.b9a5a162.js similarity index 98% rename from packages/noco-docs/dist/assets/js/20e10381.8bd204da.js rename to packages/noco-docs/dist/assets/js/20e10381.b9a5a162.js index 3559d67385..b76ff44466 100644 --- a/packages/noco-docs/dist/assets/js/20e10381.8bd204da.js +++ b/packages/noco-docs/dist/assets/js/20e10381.b9a5a162.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[405],{3905:(e,t,o)=>{o.d(t,{Zo:()=>p,kt:()=>m});var n=o(67294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var c=n.createContext({}),s=function(e){var t=n.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},p=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=s(o),h=r,m=d["".concat(c,".").concat(h)]||d[h]||u[h]||a;return o?n.createElement(m,i(i({ref:t},p),{},{components:o})):n.createElement(m,i({ref:t},p))}));function m(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=o.length,i=new Array(a);i[0]=h;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[d]="string"==typeof e?e:r,i[1]=l;for(var s=2;s{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var n=o(87462),r=(o(67294),o(3905));const a={title:"FAQs",description:"General FAQs"},i=void 0,l={unversionedId:"FAQs",id:"FAQs",title:"FAQs",description:"General FAQs",source:"@site/docs/990.FAQs.md",sourceDirName:".",slug:"/FAQs",permalink:"/FAQs",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/990.FAQs.md",tags:[],version:"current",sidebarPosition:990,frontMatter:{title:"FAQs",description:"General FAQs"},sidebar:"tutorialSidebar",previous:{title:"Writing docs",permalink:"/engineering/writing-docs"}},c={},s=[{value:"How to upgrade NocoDB ?",id:"how-to-upgrade-nocodb-",level:2},{value:"How to export CSV from the grid view ?",id:"how-to-export-csv-from-the-grid-view-",level:2},{value:"How to share the project with read only access ?",id:"how-to-share-the-project-with-read-only-access-",level:2},{value:"How to check my Project info ?",id:"how-to-check-my-project-info-",level:2},{value:"What is available in free version ?",id:"what-is-available-in-free-version-",level:2},{value:"What is the difference between Auth Token and API Token ?",id:"what-is-the-difference-between-auth-token-and-api-token-",level:2},{value:"Do we plan to have an Enterprise Edition?",id:"do-we-plan-to-have-an-enterprise-edition",level:2},{value:"How do we decide if a feature is Enterprise or not ?",id:"how-do-we-decide-if-a-feature-is-enterprise-or-not-",level:2},{value:"What are the official socials for NocoDB?",id:"what-are-the-official-socials-for-nocodb",level:2},{value:"Is NocoDB available on the cloud?",id:"is-nocodb-available-on-the-cloud",level:2}],p={toc:s},d="wrapper";function u(e){let{components:t,...a}=e;return(0,r.kt)(d,(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"how-to-upgrade-nocodb-"},"How to upgrade NocoDB ?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Please see ",(0,r.kt)("a",{parentName:"li",href:"https://docs.nocodb.com/getting-started/upgrading"},"here")," ")),(0,r.kt)("h2",{id:"how-to-export-csv-from-the-grid-view-"},"How to export CSV from the grid view ?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Available since ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/nocodb/nocodb/releases/tag/0.81.1"},"0.81.1"))),(0,r.kt)("h2",{id:"how-to-share-the-project-with-read-only-access-"},"How to share the project with read only access ?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Either you can invite by email with 'viewer' access control"),(0,r.kt)("li",{parentName:"ul"},"Share the base with publicly accessible link. Available since ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/nocodb/nocodb/releases/tag/0.82.0"},"0.82.0")," ")),(0,r.kt)("h2",{id:"how-to-check-my-project-info-"},"How to check my Project info ?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"You can open ",(0,r.kt)("inlineCode",{parentName:"li"},"Project context menu")," and click ",(0,r.kt)("inlineCode",{parentName:"li"},"Copy Project Info"),".")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image",src:o(43523).Z,width:"824",height:"511"})),(0,r.kt)("p",null,"You should see the similar result as below."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Node: **v18.16.4**\nArch: **arm64**\nPlatform: **linux**\nDocker: **true**\nRootDB: **sqlite3**\nPackageVersion: **0.111.0**\n")),(0,r.kt)("h2",{id:"what-is-available-in-free-version-"},"What is available in free version ?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/orgs/nocodb/projects/13"},"Detailed comparison of NocoDB's generous CE compared to others is here"),"."),(0,r.kt)("li",{parentName:"ul"},"NocoDB has just one version that is free & open source."),(0,r.kt)("li",{parentName:"ul"},"In it you will notice advanced features are all available for free.",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"ACL"),(0,r.kt)("li",{parentName:"ul"},"Collaboration"),(0,r.kt)("li",{parentName:"ul"},"Advanced Views : Form View, Gallery View & Kanban View"),(0,r.kt)("li",{parentName:"ul"},"Share View"),(0,r.kt)("li",{parentName:"ul"},"Embed View "),(0,r.kt)("li",{parentName:"ul"},"Password protected View"),(0,r.kt)("li",{parentName:"ul"},"Automations"),(0,r.kt)("li",{parentName:"ul"},"API Token Support"))),(0,r.kt)("li",{parentName:"ul"},"And we would never move these features from free to an enterprise version of NocoDB."),(0,r.kt)("li",{parentName:"ul"},"There is no limitations to number of projects, records or fields either.")),(0,r.kt)("h2",{id:"what-is-the-difference-between-auth-token-and-api-token-"},"What is the difference between Auth Token and API Token ?"),(0,r.kt)("p",null,"Auth Token is a JWT Token generated based on the logged-in user. By default, the token is only valid for 10 hours. However, you can change the value by defining it using environment variable ",(0,r.kt)("inlineCode",{parentName:"p"},"NC_JWT_EXPIRES_IN"),". If you are passing Auth Token, make sure that the header is called ",(0,r.kt)("inlineCode",{parentName:"p"},"xc-auth"),"."),(0,r.kt)("p",null,"API Token is a Nano ID with a length of 40. If you are passing API Token, make sure that the header is called ",(0,r.kt)("inlineCode",{parentName:"p"},"xc-token"),"."),(0,r.kt)("h2",{id:"do-we-plan-to-have-an-enterprise-edition"},"Do we plan to have an Enterprise Edition?"),(0,r.kt)("p",null,"For features that make sense for enterprises like below - yes "),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"SSO, SLA, Organisation wide reports and analytics, "),(0,r.kt)("li",{parentName:"ul"},"Advanced Audit or ACL, "),(0,r.kt)("li",{parentName:"ul"},"Bespoke implementations & integrations,"),(0,r.kt)("li",{parentName:"ul"},"A hosted solution.\n")),(0,r.kt)("p",null,"And increasing number of our customers are requesting it. "),(0,r.kt)("h2",{id:"how-do-we-decide-if-a-feature-is-enterprise-or-not-"},"How do we decide if a feature is Enterprise or not ?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Depends on the effort and whether the intended users are enterprises.")),(0,r.kt)("h2",{id:"what-are-the-official-socials-for-nocodb"},"What are the official socials for NocoDB?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Youtube: ",(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/@nocodb"},"https://www.youtube.com/@nocodb")),(0,r.kt)("li",{parentName:"ul"},"Twitter: ",(0,r.kt)("a",{parentName:"li",href:"https://twitter.com/nocodb"},"https://twitter.com/nocodb")),(0,r.kt)("li",{parentName:"ul"},"Discord: ",(0,r.kt)("a",{parentName:"li",href:"http://discord.nocodb.com/"},"http://discord.nocodb.com/")),(0,r.kt)("li",{parentName:"ul"},"GitHub: ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/nocodb/nocodb"},"https://github.com/nocodb/nocodb")),(0,r.kt)("li",{parentName:"ul"},"Community Forums: ",(0,r.kt)("a",{parentName:"li",href:"https://community.nocodb.com/"},"https://community.nocodb.com/")),(0,r.kt)("li",{parentName:"ul"},"LinkedIn: ",(0,r.kt)("a",{parentName:"li",href:"https://www.linkedin.com/company/nocodb"},"https://www.linkedin.com/company/nocodb")),(0,r.kt)("li",{parentName:"ul"},"Reddit: ",(0,r.kt)("a",{parentName:"li",href:"https://www.reddit.com/r/NocoDB/"},"https://www.reddit.com/r/NocoDB/"))),(0,r.kt)("h2",{id:"is-nocodb-available-on-the-cloud"},"Is NocoDB available on the cloud?"),(0,r.kt)("p",null,"Soon! NocoDB is currently developing cloud infrastructure.\nTo join the upcoming FREE private beta program, ",(0,r.kt)("a",{parentName:"p",href:"https://docs.google.com/forms/d/e/1FAIpQLSfKLe8Rcrq0uo2_jM5W1kbVBbzDiQ3IvlP8Iov61FTekVAvzA/viewform"},"fill out this form here")," and be the first to try it!"))}u.isMDXComponent=!0},43523:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/copy-proj-info-f059b5a1330cd599d89ba88d6714883c.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[405],{3905:(e,t,o)=>{o.d(t,{Zo:()=>p,kt:()=>m});var n=o(67294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var c=n.createContext({}),s=function(e){var t=n.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},p=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=s(o),h=r,m=d["".concat(c,".").concat(h)]||d[h]||u[h]||a;return o?n.createElement(m,i(i({ref:t},p),{},{components:o})):n.createElement(m,i({ref:t},p))}));function m(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=o.length,i=new Array(a);i[0]=h;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[d]="string"==typeof e?e:r,i[1]=l;for(var s=2;s{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var n=o(87462),r=(o(67294),o(3905));const a={title:"FAQs",description:"General FAQs"},i=void 0,l={unversionedId:"FAQs",id:"FAQs",title:"FAQs",description:"General FAQs",source:"@site/docs/990.FAQs.md",sourceDirName:".",slug:"/FAQs",permalink:"/FAQs",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/990.FAQs.md",tags:[],version:"current",sidebarPosition:990,frontMatter:{title:"FAQs",description:"General FAQs"},sidebar:"tutorialSidebar",previous:{title:"Writing docs",permalink:"/engineering/writing-docs"}},c={},s=[{value:"How to upgrade NocoDB ?",id:"how-to-upgrade-nocodb-",level:2},{value:"How to export CSV from the grid view ?",id:"how-to-export-csv-from-the-grid-view-",level:2},{value:"How to share the project with read only access ?",id:"how-to-share-the-project-with-read-only-access-",level:2},{value:"How to check my Project info ?",id:"how-to-check-my-project-info-",level:2},{value:"What is available in free version ?",id:"what-is-available-in-free-version-",level:2},{value:"What is the difference between Auth Token and API Token ?",id:"what-is-the-difference-between-auth-token-and-api-token-",level:2},{value:"Do we plan to have an Enterprise Edition?",id:"do-we-plan-to-have-an-enterprise-edition",level:2},{value:"How do we decide if a feature is Enterprise or not ?",id:"how-do-we-decide-if-a-feature-is-enterprise-or-not-",level:2},{value:"What are the official socials for NocoDB?",id:"what-are-the-official-socials-for-nocodb",level:2},{value:"Is NocoDB available on the cloud?",id:"is-nocodb-available-on-the-cloud",level:2}],p={toc:s},d="wrapper";function u(e){let{components:t,...a}=e;return(0,r.kt)(d,(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"how-to-upgrade-nocodb-"},"How to upgrade NocoDB ?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Please see ",(0,r.kt)("a",{parentName:"li",href:"https://docs.nocodb.com/getting-started/upgrading"},"here")," ")),(0,r.kt)("h2",{id:"how-to-export-csv-from-the-grid-view-"},"How to export CSV from the grid view ?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Available since ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/nocodb/nocodb/releases/tag/0.81.1"},"0.81.1"))),(0,r.kt)("h2",{id:"how-to-share-the-project-with-read-only-access-"},"How to share the project with read only access ?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Either you can invite by email with 'viewer' access control"),(0,r.kt)("li",{parentName:"ul"},"Share the base with publicly accessible link. Available since ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/nocodb/nocodb/releases/tag/0.82.0"},"0.82.0")," ")),(0,r.kt)("h2",{id:"how-to-check-my-project-info-"},"How to check my Project info ?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"You can open ",(0,r.kt)("inlineCode",{parentName:"li"},"Project context menu")," and click ",(0,r.kt)("inlineCode",{parentName:"li"},"Copy Project Info"),".")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image",src:o(12136).Z,width:"824",height:"511"})),(0,r.kt)("p",null,"You should see the similar result as below."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Node: **v18.16.4**\nArch: **arm64**\nPlatform: **linux**\nDocker: **true**\nRootDB: **sqlite3**\nPackageVersion: **0.111.0**\n")),(0,r.kt)("h2",{id:"what-is-available-in-free-version-"},"What is available in free version ?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/orgs/nocodb/projects/13"},"Detailed comparison of NocoDB's generous CE compared to others is here"),"."),(0,r.kt)("li",{parentName:"ul"},"NocoDB has just one version that is free & open source."),(0,r.kt)("li",{parentName:"ul"},"In it you will notice advanced features are all available for free.",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"ACL"),(0,r.kt)("li",{parentName:"ul"},"Collaboration"),(0,r.kt)("li",{parentName:"ul"},"Advanced Views : Form View, Gallery View & Kanban View"),(0,r.kt)("li",{parentName:"ul"},"Share View"),(0,r.kt)("li",{parentName:"ul"},"Embed View "),(0,r.kt)("li",{parentName:"ul"},"Password protected View"),(0,r.kt)("li",{parentName:"ul"},"Automations"),(0,r.kt)("li",{parentName:"ul"},"API Token Support"))),(0,r.kt)("li",{parentName:"ul"},"And we would never move these features from free to an enterprise version of NocoDB."),(0,r.kt)("li",{parentName:"ul"},"There is no limitations to number of projects, records or fields either.")),(0,r.kt)("h2",{id:"what-is-the-difference-between-auth-token-and-api-token-"},"What is the difference between Auth Token and API Token ?"),(0,r.kt)("p",null,"Auth Token is a JWT Token generated based on the logged-in user. By default, the token is only valid for 10 hours. However, you can change the value by defining it using environment variable ",(0,r.kt)("inlineCode",{parentName:"p"},"NC_JWT_EXPIRES_IN"),". If you are passing Auth Token, make sure that the header is called ",(0,r.kt)("inlineCode",{parentName:"p"},"xc-auth"),"."),(0,r.kt)("p",null,"API Token is a Nano ID with a length of 40. If you are passing API Token, make sure that the header is called ",(0,r.kt)("inlineCode",{parentName:"p"},"xc-token"),"."),(0,r.kt)("h2",{id:"do-we-plan-to-have-an-enterprise-edition"},"Do we plan to have an Enterprise Edition?"),(0,r.kt)("p",null,"For features that make sense for enterprises like below - yes "),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"SSO, SLA, Organisation wide reports and analytics, "),(0,r.kt)("li",{parentName:"ul"},"Advanced Audit or ACL, "),(0,r.kt)("li",{parentName:"ul"},"Bespoke implementations & integrations,"),(0,r.kt)("li",{parentName:"ul"},"A hosted solution.\n")),(0,r.kt)("p",null,"And increasing number of our customers are requesting it. "),(0,r.kt)("h2",{id:"how-do-we-decide-if-a-feature-is-enterprise-or-not-"},"How do we decide if a feature is Enterprise or not ?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Depends on the effort and whether the intended users are enterprises.")),(0,r.kt)("h2",{id:"what-are-the-official-socials-for-nocodb"},"What are the official socials for NocoDB?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Youtube: ",(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/@nocodb"},"https://www.youtube.com/@nocodb")),(0,r.kt)("li",{parentName:"ul"},"Twitter: ",(0,r.kt)("a",{parentName:"li",href:"https://twitter.com/nocodb"},"https://twitter.com/nocodb")),(0,r.kt)("li",{parentName:"ul"},"Discord: ",(0,r.kt)("a",{parentName:"li",href:"http://discord.nocodb.com/"},"http://discord.nocodb.com/")),(0,r.kt)("li",{parentName:"ul"},"GitHub: ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/nocodb/nocodb"},"https://github.com/nocodb/nocodb")),(0,r.kt)("li",{parentName:"ul"},"Community Forums: ",(0,r.kt)("a",{parentName:"li",href:"https://community.nocodb.com/"},"https://community.nocodb.com/")),(0,r.kt)("li",{parentName:"ul"},"LinkedIn: ",(0,r.kt)("a",{parentName:"li",href:"https://www.linkedin.com/company/nocodb"},"https://www.linkedin.com/company/nocodb")),(0,r.kt)("li",{parentName:"ul"},"Reddit: ",(0,r.kt)("a",{parentName:"li",href:"https://www.reddit.com/r/NocoDB/"},"https://www.reddit.com/r/NocoDB/"))),(0,r.kt)("h2",{id:"is-nocodb-available-on-the-cloud"},"Is NocoDB available on the cloud?"),(0,r.kt)("p",null,"Soon! NocoDB is currently developing cloud infrastructure.\nTo join the upcoming FREE private beta program, ",(0,r.kt)("a",{parentName:"p",href:"https://docs.google.com/forms/d/e/1FAIpQLSfKLe8Rcrq0uo2_jM5W1kbVBbzDiQ3IvlP8Iov61FTekVAvzA/viewform"},"fill out this form here")," and be the first to try it!"))}u.isMDXComponent=!0},12136:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/copy-proj-info-f059b5a1330cd599d89ba88d6714883c.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/22580739.f7eb21e2.js b/packages/noco-docs/dist/assets/js/22580739.4c5d73de.js similarity index 68% rename from packages/noco-docs/dist/assets/js/22580739.f7eb21e2.js rename to packages/noco-docs/dist/assets/js/22580739.4c5d73de.js index f811b04dae..57afe26b8d 100644 --- a/packages/noco-docs/dist/assets/js/22580739.f7eb21e2.js +++ b/packages/noco-docs/dist/assets/js/22580739.4c5d73de.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1796],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>m});var r=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function o(e){for(var t=1;t=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var d=r.createContext({}),s=function(e){var t=r.useContext(d),i=t;return e&&(i="function"==typeof e?e(t):o(o({},t),e)),i},p=function(e){var t=s(e.components);return r.createElement(d.Provider,{value:t},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var i=e.components,a=e.mdxType,n=e.originalType,d=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=s(i),h=a,m=c["".concat(d,".").concat(h)]||c[h]||f[h]||n;return i?r.createElement(m,o(o({ref:t},p),{},{components:i})):r.createElement(m,o({ref:t},p))}));function m(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=i.length,o=new Array(n);o[0]=h;var l={};for(var d in t)hasOwnProperty.call(t,d)&&(l[d]=t[d]);l.originalType=e,l[c]="string"==typeof e?e:a,o[1]=l;for(var s=2;s{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>f,frontMatter:()=>n,metadata:()=>l,toc:()=>s});var r=i(87462),a=(i(67294),i(3905));const n={title:"Hide & reorder fields",description:"Learn how to hide and reorder fields in NocoDB.",tags:["Table operations","Reorder","Show/hide","Cover image","Gallery view","Kanban view","Grid view"],keywords:["hide field","show field","reorder field","cover image"]},o=void 0,l={unversionedId:"table-operations/field-operations",id:"table-operations/field-operations",title:"Hide & reorder fields",description:"Learn how to hide and reorder fields in NocoDB.",source:"@site/docs/060.table-operations/020.field-operations.md",sourceDirName:"060.table-operations",slug:"/table-operations/field-operations",permalink:"/table-operations/field-operations",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/060.table-operations/020.field-operations.md",tags:[{label:"Table operations",permalink:"/tags/table-operations"},{label:"Reorder",permalink:"/tags/reorder"},{label:"Show/hide",permalink:"/tags/show-hide"},{label:"Cover image",permalink:"/tags/cover-image"},{label:"Gallery view",permalink:"/tags/gallery-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Grid view",permalink:"/tags/grid-view"}],version:"current",sidebarPosition:20,frontMatter:{title:"Hide & reorder fields",description:"Learn how to hide and reorder fields in NocoDB.",tags:["Table operations","Reorder","Show/hide","Cover image","Gallery view","Kanban view","Grid view"],keywords:["hide field","show field","reorder field","cover image"]},sidebar:"tutorialSidebar",previous:{title:"Table operations overview",permalink:"/table-operations/overview"},next:{title:"Filtering records",permalink:"/table-operations/filter"}},d={},s=[{value:"Rearranging Fields",id:"rearranging-fields",level:3},{value:"Show/Hide Fields",id:"showhide-fields",level:3},{value:"Change cover field (Gallery/Kanban View)",id:"change-cover-field-gallerykanban-view",level:3},{value:"Related topics",id:"related-topics",level:3}],p={toc:s},c="wrapper";function f(e){let{components:t,...n}=e;return(0,a.kt)(c,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Utilize the ",(0,a.kt)("inlineCode",{parentName:"p"},"Fields")," button in the toolbar to manage the visibility of fields within the system. By default, all system-related fields are concealed, but you have the option to enable them by selecting ",(0,a.kt)("inlineCode",{parentName:"p"},"Show system fields"),"."),(0,a.kt)("admonition",{type:"info"},(0,a.kt)("p",{parentName:"admonition"},"For Gallery View & Kanban View, the ",(0,a.kt)("inlineCode",{parentName:"p"},"Fields")," menu is available on the toolbar as ",(0,a.kt)("inlineCode",{parentName:"p"},"Edit Cards"),".")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Show system fields",src:i(86404).Z,width:"2876",height:"1032"})),(0,a.kt)("h3",{id:"rearranging-fields"},"Rearranging Fields"),(0,a.kt)("p",null,"You have the flexibility to rearrange field positions. Access the ",(0,a.kt)("inlineCode",{parentName:"p"},"Fields")," menu and reorder fields effortlessly by dragging and dropping the associated field using the provided ",(0,a.kt)("inlineCode",{parentName:"p"},"drag icon"),"."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Reorder Fields",src:i(74432).Z,width:"2876",height:"1032"})),(0,a.kt)("h3",{id:"showhide-fields"},"Show/Hide Fields"),(0,a.kt)("p",null,"For showing or hiding fields, navigate to the ",(0,a.kt)("inlineCode",{parentName:"p"},"Fields")," menu and simply click the toggle button associated with the respective field to hide or un-hide it."),(0,a.kt)("admonition",{type:"tip"},(0,a.kt)("p",{parentName:"admonition"},"Consider creating different grid views with distinct sets of fields displayed in each view for enhanced customization.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Show/Hide Fields",src:i(42778).Z,width:"2876",height:"1032"})),(0,a.kt)("h3",{id:"change-cover-field-gallerykanban-view"},"Change cover field (Gallery/Kanban View)"),(0,a.kt)("p",null,"For Gallery View & Kanban View, you can change the cover field by clicking on the ",(0,a.kt)("inlineCode",{parentName:"p"},"Change cover field")," button in the ",(0,a.kt)("inlineCode",{parentName:"p"},"Edit Cards")," menu. You can select any field of type ",(0,a.kt)("inlineCode",{parentName:"p"},"Attachment")," as the cover field."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Change cover field",src:i(21038).Z,width:"2874",height:"1414"})),(0,a.kt)("h3",{id:"related-topics"},"Related topics"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"filter"},"Filter")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"sort"},"Sort")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"group-by"},"GroupBy")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"row-height"},"Row height")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"search"},"Quick Search")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"download"},"Download"))))}f.isMDXComponent=!0},21038:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/change-cover-image-ab1e220f3d9f8ccba648546c2f0e9b22.png"},42778:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/fields-hide-5d148bab6699773742b9bfed3c0fce87.png"},74432:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/fields-reorder-f25c546ea11fd8df6d4d0eafc1d4e5ae.png"},86404:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/fields-show-system-fields-2eb0f4e0a0c16c6b46c38f243709e581.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1796],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>m});var r=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function o(e){for(var t=1;t=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var d=r.createContext({}),s=function(e){var t=r.useContext(d),i=t;return e&&(i="function"==typeof e?e(t):o(o({},t),e)),i},p=function(e){var t=s(e.components);return r.createElement(d.Provider,{value:t},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var i=e.components,a=e.mdxType,n=e.originalType,d=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=s(i),h=a,m=c["".concat(d,".").concat(h)]||c[h]||f[h]||n;return i?r.createElement(m,o(o({ref:t},p),{},{components:i})):r.createElement(m,o({ref:t},p))}));function m(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=i.length,o=new Array(n);o[0]=h;var l={};for(var d in t)hasOwnProperty.call(t,d)&&(l[d]=t[d]);l.originalType=e,l[c]="string"==typeof e?e:a,o[1]=l;for(var s=2;s{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>f,frontMatter:()=>n,metadata:()=>l,toc:()=>s});var r=i(87462),a=(i(67294),i(3905));const n={title:"Hide & reorder fields",description:"Learn how to hide and reorder fields in NocoDB.",tags:["Table operations","Reorder","Show/hide","Cover image","Gallery view","Kanban view","Grid view"],keywords:["hide field","show field","reorder field","cover image"]},o=void 0,l={unversionedId:"table-operations/field-operations",id:"table-operations/field-operations",title:"Hide & reorder fields",description:"Learn how to hide and reorder fields in NocoDB.",source:"@site/docs/060.table-operations/020.field-operations.md",sourceDirName:"060.table-operations",slug:"/table-operations/field-operations",permalink:"/table-operations/field-operations",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/060.table-operations/020.field-operations.md",tags:[{label:"Table operations",permalink:"/tags/table-operations"},{label:"Reorder",permalink:"/tags/reorder"},{label:"Show/hide",permalink:"/tags/show-hide"},{label:"Cover image",permalink:"/tags/cover-image"},{label:"Gallery view",permalink:"/tags/gallery-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Grid view",permalink:"/tags/grid-view"}],version:"current",sidebarPosition:20,frontMatter:{title:"Hide & reorder fields",description:"Learn how to hide and reorder fields in NocoDB.",tags:["Table operations","Reorder","Show/hide","Cover image","Gallery view","Kanban view","Grid view"],keywords:["hide field","show field","reorder field","cover image"]},sidebar:"tutorialSidebar",previous:{title:"Table operations overview",permalink:"/table-operations/overview"},next:{title:"Filtering records",permalink:"/table-operations/filter"}},d={},s=[{value:"Rearranging Fields",id:"rearranging-fields",level:3},{value:"Show/Hide Fields",id:"showhide-fields",level:3},{value:"Change cover field (Gallery/Kanban View)",id:"change-cover-field-gallerykanban-view",level:3},{value:"Related topics",id:"related-topics",level:3}],p={toc:s},c="wrapper";function f(e){let{components:t,...n}=e;return(0,a.kt)(c,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Utilize the ",(0,a.kt)("inlineCode",{parentName:"p"},"Fields")," button in the toolbar to manage the visibility of fields within the system. By default, all system-related fields are concealed, but you have the option to enable them by selecting ",(0,a.kt)("inlineCode",{parentName:"p"},"Show system fields"),"."),(0,a.kt)("admonition",{type:"info"},(0,a.kt)("p",{parentName:"admonition"},"For Gallery View & Kanban View, the ",(0,a.kt)("inlineCode",{parentName:"p"},"Fields")," menu is available on the toolbar as ",(0,a.kt)("inlineCode",{parentName:"p"},"Edit Cards"),".")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Show system fields",src:i(92305).Z,width:"2880",height:"1800"})),(0,a.kt)("h3",{id:"rearranging-fields"},"Rearranging Fields"),(0,a.kt)("p",null,"You have the flexibility to rearrange field positions. Access the ",(0,a.kt)("inlineCode",{parentName:"p"},"Fields")," menu and reorder fields effortlessly by dragging and dropping the associated field using the provided ",(0,a.kt)("inlineCode",{parentName:"p"},"drag icon"),"."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Reorder Fields",src:i(8351).Z,width:"2880",height:"1800"})),(0,a.kt)("h3",{id:"showhide-fields"},"Show/Hide Fields"),(0,a.kt)("p",null,"For showing or hiding fields, navigate to the ",(0,a.kt)("inlineCode",{parentName:"p"},"Fields")," menu and simply click the toggle button associated with the respective field to hide or un-hide it."),(0,a.kt)("admonition",{type:"tip"},(0,a.kt)("p",{parentName:"admonition"},"Consider creating different grid views with distinct sets of fields displayed in each view for enhanced customization.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Show/Hide Fields",src:i(38499).Z,width:"2880",height:"1800"})),(0,a.kt)("h3",{id:"change-cover-field-gallerykanban-view"},"Change cover field (Gallery/Kanban View)"),(0,a.kt)("p",null,"For Gallery View & Kanban View, you can change the cover field by clicking on the ",(0,a.kt)("inlineCode",{parentName:"p"},"Change cover field")," button in the ",(0,a.kt)("inlineCode",{parentName:"p"},"Edit Cards")," menu. You can select any field of type ",(0,a.kt)("inlineCode",{parentName:"p"},"Attachment")," as the cover field."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Change cover field",src:i(72077).Z,width:"2880",height:"1800"})),(0,a.kt)("h3",{id:"related-topics"},"Related topics"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"filter"},"Filter")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"sort"},"Sort")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"group-by"},"GroupBy")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"row-height"},"Row height")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"search"},"Quick Search")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"download"},"Download"))))}f.isMDXComponent=!0},72077:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/change-cover-image-ab1e220f3d9f8ccba648546c2f0e9b22.png"},38499:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/fields-hide-5d148bab6699773742b9bfed3c0fce87.png"},8351:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/fields-reorder-f25c546ea11fd8df6d4d0eafc1d4e5ae.png"},92305:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/fields-show-system-fields-2eb0f4e0a0c16c6b46c38f243709e581.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/22aab9a3.c0e16b59.js b/packages/noco-docs/dist/assets/js/22aab9a3.3ef8c79b.js similarity index 97% rename from packages/noco-docs/dist/assets/js/22aab9a3.c0e16b59.js rename to packages/noco-docs/dist/assets/js/22aab9a3.3ef8c79b.js index 71e49ce710..167b37ebf0 100644 --- a/packages/noco-docs/dist/assets/js/22aab9a3.c0e16b59.js +++ b/packages/noco-docs/dist/assets/js/22aab9a3.3ef8c79b.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[6907],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>m});var l=i(67294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function r(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var o=l.createContext({}),d=function(e){var t=l.useContext(o),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},p=function(e){var t=d(e.components);return l.createElement(o.Provider,{value:t},e.children)},f="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},u=l.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,o=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),f=d(i),u=n,m=f["".concat(o,".").concat(u)]||f[u]||c[u]||a;return i?l.createElement(m,r(r({ref:t},p),{},{components:i})):l.createElement(m,r({ref:t},p))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,r=new Array(a);r[0]=u;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s[f]="string"==typeof e?e:n,r[1]=s;for(var d=2;d{i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>r,default:()=>c,frontMatter:()=>a,metadata:()=>s,toc:()=>d});var l=i(87462),n=(i(67294),i(3905));const a={title:"Single line text",description:"This article explains how to create & work with a Single line text field.",tags:["Fields","Field types","Text based types","Single line text"],keywords:["Fields","Field types","Text based types","Single line text","Create single line text field"]},r=void 0,s={unversionedId:"fields/field-types/text-based/single-line-text",id:"fields/field-types/text-based/single-line-text",title:"Single line text",description:"This article explains how to create & work with a Single line text field.",source:"@site/docs/070.fields/040.field-types/010.text-based/010.single-line-text.md",sourceDirName:"070.fields/040.field-types/010.text-based",slug:"/fields/field-types/text-based/single-line-text",permalink:"/fields/field-types/text-based/single-line-text",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/010.text-based/010.single-line-text.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Text based types",permalink:"/tags/text-based-types"},{label:"Single line text",permalink:"/tags/single-line-text"}],version:"current",sidebarPosition:10,frontMatter:{title:"Single line text",description:"This article explains how to create & work with a Single line text field.",tags:["Fields","Field types","Text based types","Single line text"],keywords:["Fields","Field types","Text based types","Single line text","Create single line text field"]},sidebar:"tutorialSidebar",previous:{title:"Display value",permalink:"/fields/display-value"},next:{title:"Long text",permalink:"/fields/field-types/text-based/long-text"}},o={},d=[{value:"Create a single line text field",id:"create-a-single-line-text-field",level:2},{value:"Similar text based fields",id:"similar-text-based-fields",level:2}],p={toc:d},f="wrapper";function c(e){let{components:t,...a}=e;return(0,n.kt)(f,(0,l.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Single line text")," field is a simple text based field. It can hold any text value. It is generally used for storing short text values like name, email, phone number, etc. For storing text values with multiple lines, use ",(0,n.kt)("a",{parentName:"p",href:"/fields/field-types/text-based/long-text"},"Long text")," field. "),(0,n.kt)("h2",{id:"create-a-single-line-text-field"},"Create a single line text field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Single line text")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:i(45859).Z,width:"2878",height:"1226"})),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"Specify default value without quotes.")),(0,n.kt)("h2",{id:"similar-text-based-fields"},"Similar text based fields"),(0,n.kt)("p",null,"Following are the other text based fields available in NocoDB, custom-built for specific use cases."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/long-text"},"Long text")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/url"},"URL")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/email"},"Email")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/phonenumber"},"Phone"))))}c.isMDXComponent=!0},45859:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/singlelinetext-b709b2cd21a07ff6f36b149d47091ca0.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[6907],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>m});var l=i(67294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function r(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var o=l.createContext({}),d=function(e){var t=l.useContext(o),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},p=function(e){var t=d(e.components);return l.createElement(o.Provider,{value:t},e.children)},f="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},u=l.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,o=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),f=d(i),u=n,m=f["".concat(o,".").concat(u)]||f[u]||c[u]||a;return i?l.createElement(m,r(r({ref:t},p),{},{components:i})):l.createElement(m,r({ref:t},p))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,r=new Array(a);r[0]=u;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s[f]="string"==typeof e?e:n,r[1]=s;for(var d=2;d{i.r(t),i.d(t,{assets:()=>o,contentTitle:()=>r,default:()=>c,frontMatter:()=>a,metadata:()=>s,toc:()=>d});var l=i(87462),n=(i(67294),i(3905));const a={title:"Single line text",description:"This article explains how to create & work with a Single line text field.",tags:["Fields","Field types","Text based types","Single line text"],keywords:["Fields","Field types","Text based types","Single line text","Create single line text field"]},r=void 0,s={unversionedId:"fields/field-types/text-based/single-line-text",id:"fields/field-types/text-based/single-line-text",title:"Single line text",description:"This article explains how to create & work with a Single line text field.",source:"@site/docs/070.fields/040.field-types/010.text-based/010.single-line-text.md",sourceDirName:"070.fields/040.field-types/010.text-based",slug:"/fields/field-types/text-based/single-line-text",permalink:"/fields/field-types/text-based/single-line-text",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/010.text-based/010.single-line-text.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Text based types",permalink:"/tags/text-based-types"},{label:"Single line text",permalink:"/tags/single-line-text"}],version:"current",sidebarPosition:10,frontMatter:{title:"Single line text",description:"This article explains how to create & work with a Single line text field.",tags:["Fields","Field types","Text based types","Single line text"],keywords:["Fields","Field types","Text based types","Single line text","Create single line text field"]},sidebar:"tutorialSidebar",previous:{title:"Display value",permalink:"/fields/display-value"},next:{title:"Long text",permalink:"/fields/field-types/text-based/long-text"}},o={},d=[{value:"Create a single line text field",id:"create-a-single-line-text-field",level:2},{value:"Similar text based fields",id:"similar-text-based-fields",level:2}],p={toc:d},f="wrapper";function c(e){let{components:t,...a}=e;return(0,n.kt)(f,(0,l.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Single line text")," field is a simple text based field. It can hold any text value. It is generally used for storing short text values like name, email, phone number, etc. For storing text values with multiple lines, use ",(0,n.kt)("a",{parentName:"p",href:"/fields/field-types/text-based/long-text"},"Long text")," field. "),(0,n.kt)("h2",{id:"create-a-single-line-text-field"},"Create a single line text field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Single line text")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:i(18703).Z,width:"2878",height:"1226"})),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"Specify default value without quotes.")),(0,n.kt)("h2",{id:"similar-text-based-fields"},"Similar text based fields"),(0,n.kt)("p",null,"Following are the other text based fields available in NocoDB, custom-built for specific use cases."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/long-text"},"Long text")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/url"},"URL")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/email"},"Email")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/phonenumber"},"Phone"))))}c.isMDXComponent=!0},18703:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/singlelinetext-b709b2cd21a07ff6f36b149d47091ca0.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/25ad7bcb.4e828725.js b/packages/noco-docs/dist/assets/js/25ad7bcb.7c608320.js similarity index 94% rename from packages/noco-docs/dist/assets/js/25ad7bcb.4e828725.js rename to packages/noco-docs/dist/assets/js/25ad7bcb.7c608320.js index 2a9aa75707..e9acc71d20 100644 --- a/packages/noco-docs/dist/assets/js/25ad7bcb.4e828725.js +++ b/packages/noco-docs/dist/assets/js/25ad7bcb.7c608320.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[8789],{3905:(e,t,o)=>{o.d(t,{Zo:()=>b,kt:()=>d});var r=o(67294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function n(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function i(e){for(var t=1;t=0||(a[o]=e[o]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var s=r.createContext({}),c=function(e){var t=r.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},b=function(e){var t=c(e.components);return r.createElement(s.Provider,{value:t},e.children)},m="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var o=e.components,a=e.mdxType,n=e.originalType,s=e.parentName,b=l(e,["components","mdxType","originalType","parentName"]),m=c(o),u=a,d=m["".concat(s,".").concat(u)]||m[u]||p[u]||n;return o?r.createElement(d,i(i({ref:t},b),{},{components:o})):r.createElement(d,i({ref:t},b))}));function d(e,t){var o=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=o.length,i=new Array(n);i[0]=u;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[m]="string"==typeof e?e:a,i[1]=l;for(var c=2;c{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>n,metadata:()=>l,toc:()=>c});var r=o(87462),a=(o(67294),o(3905));const n={title:"Base collaboration",description:"Invite team members to work on a base",tags:["Collaboration","Bases","Members","Invite","Roles"],keywords:["NocoDB base","base collaboration","base context menu","base owner","base settings"]},i=void 0,l={unversionedId:"collaboration/base-collaboration",id:"collaboration/base-collaboration",title:"Base collaboration",description:"Invite team members to work on a base",source:"@site/docs/120.collaboration/020.base-collaboration.md",sourceDirName:"120.collaboration",slug:"/collaboration/base-collaboration",permalink:"/collaboration/base-collaboration",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/120.collaboration/020.base-collaboration.md",tags:[{label:"Collaboration",permalink:"/tags/collaboration"},{label:"Bases",permalink:"/tags/bases"},{label:"Members",permalink:"/tags/members"},{label:"Invite",permalink:"/tags/invite"},{label:"Roles",permalink:"/tags/roles"}],version:"current",sidebarPosition:20,frontMatter:{title:"Base collaboration",description:"Invite team members to work on a base",tags:["Collaboration","Bases","Members","Invite","Roles"],keywords:["NocoDB base","base collaboration","base context menu","base owner","base settings"]},sidebar:"tutorialSidebar",previous:{title:"Workspace collaboration",permalink:"/collaboration/workspace-collaboration"},next:{title:"Share base",permalink:"/collaboration/share-base"}},s={},c=[{value:"Inviting members to your base",id:"inviting-members-to-your-base",level:2},{value:"Removing members from your base",id:"removing-members-from-your-base",level:2}],b={toc:c},m="wrapper";function p(e){let{components:t,...n}=e;return(0,a.kt)(m,(0,r.Z)({},b,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"inviting-members-to-your-base"},"Inviting members to your base"),(0,a.kt)("p",null,"A member added to a workspace will carry his assigned role specific permissions to all the base with in workspace. To override member permissions to your base, please follow steps outlined below:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Go to the left sidebar and select ",(0,a.kt)("inlineCode",{parentName:"li"},"Base name")," to access the ",(0,a.kt)("inlineCode",{parentName:"li"},"Base Dashboard.")),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Members")," tab."),(0,a.kt)("li",{parentName:"ol"},"Use the dropdown menu to specify the access permissions for the member you wish to collaborate."),(0,a.kt)("li",{parentName:"ol"},"Finalize the process by assigning the desired role to the user.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:o(54861).Z,width:"2878",height:"1408"})),(0,a.kt)("p",null,"More details about roles & permissions can be found ",(0,a.kt)("a",{parentName:"p",href:"/roles-and-permissions/roles-permissions-overview"},"here"),"."),(0,a.kt)("h2",{id:"removing-members-from-your-base"},"Removing members from your base"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Go to the left sidebar and select ",(0,a.kt)("inlineCode",{parentName:"li"},"Base name")," to access the ",(0,a.kt)("inlineCode",{parentName:"li"},"Base Dashboard.")),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Members")," tab."),(0,a.kt)("li",{parentName:"ol"},"Use the dropdown menu to specify the access permissions for the member you wish to collaborate."),(0,a.kt)("li",{parentName:"ol"},"Assign the ",(0,a.kt)("inlineCode",{parentName:"li"},"No Access")," role to the user.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:o(54861).Z,width:"2878",height:"1408"})))}p.isMDXComponent=!0},54861:(e,t,o)=>{o.d(t,{Z:()=>r});const r=o.p+"assets/images/base-collaboration-7c992951b09e76dec15cd8d15c04fece.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[8789],{3905:(e,t,o)=>{o.d(t,{Zo:()=>b,kt:()=>d});var r=o(67294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function n(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function i(e){for(var t=1;t=0||(a[o]=e[o]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var s=r.createContext({}),c=function(e){var t=r.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},b=function(e){var t=c(e.components);return r.createElement(s.Provider,{value:t},e.children)},m="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var o=e.components,a=e.mdxType,n=e.originalType,s=e.parentName,b=l(e,["components","mdxType","originalType","parentName"]),m=c(o),u=a,d=m["".concat(s,".").concat(u)]||m[u]||p[u]||n;return o?r.createElement(d,i(i({ref:t},b),{},{components:o})):r.createElement(d,i({ref:t},b))}));function d(e,t){var o=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=o.length,i=new Array(n);i[0]=u;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[m]="string"==typeof e?e:a,i[1]=l;for(var c=2;c{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>n,metadata:()=>l,toc:()=>c});var r=o(87462),a=(o(67294),o(3905));const n={title:"Base collaboration",description:"Invite team members to work on a base",tags:["Collaboration","Bases","Members","Invite","Roles"],keywords:["NocoDB base","base collaboration","base context menu","base owner","base settings"]},i=void 0,l={unversionedId:"collaboration/base-collaboration",id:"collaboration/base-collaboration",title:"Base collaboration",description:"Invite team members to work on a base",source:"@site/docs/120.collaboration/020.base-collaboration.md",sourceDirName:"120.collaboration",slug:"/collaboration/base-collaboration",permalink:"/collaboration/base-collaboration",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/120.collaboration/020.base-collaboration.md",tags:[{label:"Collaboration",permalink:"/tags/collaboration"},{label:"Bases",permalink:"/tags/bases"},{label:"Members",permalink:"/tags/members"},{label:"Invite",permalink:"/tags/invite"},{label:"Roles",permalink:"/tags/roles"}],version:"current",sidebarPosition:20,frontMatter:{title:"Base collaboration",description:"Invite team members to work on a base",tags:["Collaboration","Bases","Members","Invite","Roles"],keywords:["NocoDB base","base collaboration","base context menu","base owner","base settings"]},sidebar:"tutorialSidebar",previous:{title:"Workspace collaboration",permalink:"/collaboration/workspace-collaboration"},next:{title:"Share base",permalink:"/collaboration/share-base"}},s={},c=[{value:"Inviting members to your base",id:"inviting-members-to-your-base",level:2},{value:"Removing members from your base",id:"removing-members-from-your-base",level:2}],b={toc:c},m="wrapper";function p(e){let{components:t,...n}=e;return(0,a.kt)(m,(0,r.Z)({},b,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"inviting-members-to-your-base"},"Inviting members to your base"),(0,a.kt)("p",null,"A member added to a workspace will carry his assigned role specific permissions to all the base with in workspace. To override member permissions to your base, please follow steps outlined below:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Go to the left sidebar and select ",(0,a.kt)("inlineCode",{parentName:"li"},"Base name")," to access the ",(0,a.kt)("inlineCode",{parentName:"li"},"Base Dashboard.")),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Members")," tab."),(0,a.kt)("li",{parentName:"ol"},"Use the dropdown menu to specify the access permissions for the member you wish to collaborate."),(0,a.kt)("li",{parentName:"ol"},"Finalize the process by assigning the desired role to the user.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:o(80183).Z,width:"2880",height:"1800"})),(0,a.kt)("p",null,"More details about roles & permissions can be found ",(0,a.kt)("a",{parentName:"p",href:"/roles-and-permissions/roles-permissions-overview"},"here"),"."),(0,a.kt)("h2",{id:"removing-members-from-your-base"},"Removing members from your base"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Go to the left sidebar and select ",(0,a.kt)("inlineCode",{parentName:"li"},"Base name")," to access the ",(0,a.kt)("inlineCode",{parentName:"li"},"Base Dashboard.")),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Members")," tab."),(0,a.kt)("li",{parentName:"ol"},"Use the dropdown menu to specify the access permissions for the member you wish to collaborate."),(0,a.kt)("li",{parentName:"ol"},"Assign the ",(0,a.kt)("inlineCode",{parentName:"li"},"No Access")," role to the user.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:o(80183).Z,width:"2880",height:"1800"})))}p.isMDXComponent=!0},80183:(e,t,o)=>{o.d(t,{Z:()=>r});const r=o.p+"assets/images/base-collaboration-7c992951b09e76dec15cd8d15c04fece.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/278121a5.629b0435.js b/packages/noco-docs/dist/assets/js/278121a5.629b0435.js deleted file mode 100644 index 1418378533..0000000000 --- a/packages/noco-docs/dist/assets/js/278121a5.629b0435.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[2556],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>h});var o=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=o.createContext({}),l=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},u=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,d=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),s=l(n),u=r,h=s["".concat(c,".").concat(u)]||s[u]||m[u]||d;return n?o.createElement(h,a(a({ref:t},p),{},{components:n})):o.createElement(h,a({ref:t},p))}));function h(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var d=n.length,a=new Array(d);a[0]=u;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i[s]="string"==typeof e?e:r,a[1]=i;for(var l=2;l{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>d,metadata:()=>i,toc:()=>l});var o=n(87462),r=(n(67294),n(3905));const d={title:"Expanded record",tags:["Records","Expanded record","Audit","Comments"],description:"Learn how to expand a record & work with it in NocoDB.",keywords:["NocoDB expanded form","expanded form","expanded record","expanded record view"]},a=void 0,i={unversionedId:"records/expand-record",id:"records/expand-record",title:"Expanded record",description:"Learn how to expand a record & work with it in NocoDB.",source:"@site/docs/080.records/030.expand-record.md",sourceDirName:"080.records",slug:"/records/expand-record",permalink:"/records/expand-record",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/080.records/030.expand-record.md",tags:[{label:"Records",permalink:"/tags/records"},{label:"Expanded record",permalink:"/tags/expanded-record"},{label:"Audit",permalink:"/tags/audit"},{label:"Comments",permalink:"/tags/comments"}],version:"current",sidebarPosition:30,frontMatter:{title:"Expanded record",tags:["Records","Expanded record","Audit","Comments"],description:"Learn how to expand a record & work with it in NocoDB.",keywords:["NocoDB expanded form","expanded form","expanded record","expanded record view"]},sidebar:"tutorialSidebar",previous:{title:"Create record",permalink:"/records/create-record"},next:{title:"Actions on record",permalink:"/records/actions-on-record"}},c={},l=[{value:"Overview",id:"overview",level:2},{value:"Expanding a Record",id:"expanding-a-record",level:2},{value:"Edit record",id:"edit-record",level:3},{value:"Record Audit",id:"record-audit",level:2},{value:"Record Comment",id:"record-comment",level:2},{value:"Add Comment",id:"add-comment",level:3},{value:"Edit Comment",id:"edit-comment",level:3},{value:"Record Actions",id:"record-actions",level:2},{value:"Copy Record URL",id:"copy-record-url",level:3},{value:"Duplicate record",id:"duplicate-record",level:3},{value:"Delete record",id:"delete-record",level:3}],p={toc:l},s="wrapper";function m(e){let{components:t,...d}=e;return(0,r.kt)(s,(0,o.Z)({},p,d,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"overview"},"Overview"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Expanded record")," allows you to edit a record data using a form layout. Apart from record information, it also consists of the activity feed such as user comments or record revision history (audit). "),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"expanded record",src:n(13319).Z,width:"2878",height:"1800"})),(0,r.kt)("h2",{id:"expanding-a-record"},"Expanding a Record"),(0,r.kt)("p",null,"To expand a record in a grid view, click on ",(0,r.kt)("inlineCode",{parentName:"p"},"expand")," icon that appears on the first column (index column) on hover over a record. "),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"expand record icon",src:n(5931).Z,width:"2878",height:"1442"})),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"Shortcut : Use space bar on any cell to expand associated record.")),(0,r.kt)("h3",{id:"edit-record"},"Edit record"),(0,r.kt)("p",null,"Expanded form displays all the fields of a record enabled for display in a form layout. "),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"You can edit the record data by clicking on the field and entering the value."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},"Show hidden fields"),": Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Show hidden fields")," button to display all the fields of a record."),(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Save")," button to save the changes. Close the expanded form by clicking on ",(0,r.kt)("inlineCode",{parentName:"li"},"X")," button in the top right corner of the form to discard the changes."),(0,r.kt)("li",{parentName:"ol"},"Navigate to next/previous record using ",(0,r.kt)("inlineCode",{parentName:"li"},"Next"),"/",(0,r.kt)("inlineCode",{parentName:"li"},"Previous")," button in the top left corner of the form.")),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"Any changes made to the links field (link/unlink) will be saved automatically.")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"edit record",src:n(50016).Z,width:"2876",height:"1800"})),(0,r.kt)("h2",{id:"record-audit"},"Record Audit"),(0,r.kt)("p",null,"In an expanded form, "),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Audit")," tab "),(0,r.kt)("li",{parentName:"ol"},"A list of all the changes made to the record will be displayed")),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("ul",{parentName:"admonition"},(0,r.kt)("li",{parentName:"ul"},"You can only view the audit log. You cannot edit or delete the audit log."),(0,r.kt)("li",{parentName:"ul"},"Audit log is only available in Self-hosted version currently "))),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"expand record activity feed",src:n(94773).Z,width:"2878",height:"1800"})),(0,r.kt)("h2",{id:"record-comment"},"Record Comment"),(0,r.kt)("h3",{id:"add-comment"},"Add Comment"),(0,r.kt)("p",null,"In an expanded form,"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Comments")," tab"),(0,r.kt)("li",{parentName:"ol"},"A list of all the comments made to the record will be displayed"),(0,r.kt)("li",{parentName:"ol"},"Click on input box at the bottom to add a new comment, and press ",(0,r.kt)("inlineCode",{parentName:"li"},"Enter")," to save")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"expand record comment",src:n(13305).Z,width:"2878",height:"1800"})),(0,r.kt)("h3",{id:"edit-comment"},"Edit Comment"),(0,r.kt)("p",null,"In comments list of an expanded form,"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Edit")," icon on the right side of the comment"),(0,r.kt)("li",{parentName:"ol"},"Edit the comment and "),(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Save")," icon OR Press ",(0,r.kt)("inlineCode",{parentName:"li"},"Enter")," to save the changes")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"expand record comment",src:n(9797).Z,width:"2876",height:"1800"})),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"expand record comment",src:n(3810).Z,width:"2876",height:"1800"})),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"expand record comment",src:n(79243).Z,width:"2876",height:"1800"})),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"You can only edit your own comments. You cannot delete a comment, but can edit it to remove the content.\nChanges to comments are also recorded in the audit log.")),(0,r.kt)("h2",{id:"record-actions"},"Record Actions"),(0,r.kt)("h3",{id:"copy-record-url"},"Copy Record URL"),(0,r.kt)("p",null,"In an expanded form, click ",(0,r.kt)("inlineCode",{parentName:"p"},"Copy Record URL")," to share the record form to other authorized users."),(0,r.kt)("h3",{id:"duplicate-record"},"Duplicate record"),(0,r.kt)("p",null,"Using context menu (",(0,r.kt)("inlineCode",{parentName:"p"},"..."),") in the top right corner of the expanded form, you can duplicate the record. Duplicated record will not be saved by default. You can edit the record and save it."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"delete record",src:n(75721).Z,width:"2876",height:"1800"})),(0,r.kt)("h3",{id:"delete-record"},"Delete record"),(0,r.kt)("p",null,"Using context menu (",(0,r.kt)("inlineCode",{parentName:"p"},"..."),") in the top right corner of the expanded form, you can delete the record."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"delete record",src:n(75721).Z,width:"2876",height:"1800"})),(0,r.kt)("p",null,"On the confirmation dialog, click on ",(0,r.kt)("inlineCode",{parentName:"p"},"Delete")," button to delete the record."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"delete record",src:n(49511).Z,width:"2874",height:"1440"})))}m.isMDXComponent=!0},94773:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-audits-bf292e9a7cdbe5bf190de009938e4c6e.png"},9797:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-comments-edit-1-e662dc5437f594d10d70d8486d36d28e.png"},3810:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-comments-edit-2-e7b2e2de1b7f8fcba6a9397f45ff25bf.png"},79243:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-comments-edit-3-19a3dc35ed057a0a5366787dfd0c62d9.png"},13305:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-comments-12f3520bc08a1a26617b4818151c2ea3.png"},75721:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-context-menu-2-168bebb2555d7a38bfb2057537d0f419.png"},49511:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-delete-confirmation-8bff11568a9cb49f91ebc282f7406b17.png"},50016:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-edit-detailed-6f19acb8858b217ee834670b8deeee44.png"},5931:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-from-grid-1eaf2b31021fe85c6163aa234db48f1f.png"},13319:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-a6994cfda6583e45767dc6b555c4955d.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/278121a5.a3ba7d92.js b/packages/noco-docs/dist/assets/js/278121a5.a3ba7d92.js new file mode 100644 index 0000000000..284d4ca2fa --- /dev/null +++ b/packages/noco-docs/dist/assets/js/278121a5.a3ba7d92.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[2556],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>h});var o=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=o.createContext({}),l=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},u=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,d=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),s=l(n),u=r,h=s["".concat(c,".").concat(u)]||s[u]||m[u]||d;return n?o.createElement(h,a(a({ref:t},p),{},{components:n})):o.createElement(h,a({ref:t},p))}));function h(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var d=n.length,a=new Array(d);a[0]=u;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i[s]="string"==typeof e?e:r,a[1]=i;for(var l=2;l{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>d,metadata:()=>i,toc:()=>l});var o=n(87462),r=(n(67294),n(3905));const d={title:"Expanded record",tags:["Records","Expanded record","Audit","Comments"],description:"Learn how to expand a record & work with it in NocoDB.",keywords:["NocoDB expanded form","expanded form","expanded record","expanded record view"]},a=void 0,i={unversionedId:"records/expand-record",id:"records/expand-record",title:"Expanded record",description:"Learn how to expand a record & work with it in NocoDB.",source:"@site/docs/080.records/030.expand-record.md",sourceDirName:"080.records",slug:"/records/expand-record",permalink:"/records/expand-record",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/080.records/030.expand-record.md",tags:[{label:"Records",permalink:"/tags/records"},{label:"Expanded record",permalink:"/tags/expanded-record"},{label:"Audit",permalink:"/tags/audit"},{label:"Comments",permalink:"/tags/comments"}],version:"current",sidebarPosition:30,frontMatter:{title:"Expanded record",tags:["Records","Expanded record","Audit","Comments"],description:"Learn how to expand a record & work with it in NocoDB.",keywords:["NocoDB expanded form","expanded form","expanded record","expanded record view"]},sidebar:"tutorialSidebar",previous:{title:"Create record",permalink:"/records/create-record"},next:{title:"Actions on record",permalink:"/records/actions-on-record"}},c={},l=[{value:"Overview",id:"overview",level:2},{value:"Expanding a Record",id:"expanding-a-record",level:2},{value:"Edit record",id:"edit-record",level:3},{value:"Record Audit",id:"record-audit",level:2},{value:"Record Comment",id:"record-comment",level:2},{value:"Add Comment",id:"add-comment",level:3},{value:"Edit Comment",id:"edit-comment",level:3},{value:"Record Actions",id:"record-actions",level:2},{value:"Copy Record URL",id:"copy-record-url",level:3},{value:"Duplicate record",id:"duplicate-record",level:3},{value:"Delete record",id:"delete-record",level:3}],p={toc:l},s="wrapper";function m(e){let{components:t,...d}=e;return(0,r.kt)(s,(0,o.Z)({},p,d,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"overview"},"Overview"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Expanded record")," allows you to edit a record data using a form layout. Apart from record information, it also consists of the activity feed such as user comments or record revision history (audit). "),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"expanded record",src:n(39237).Z,width:"2878",height:"1800"})),(0,r.kt)("h2",{id:"expanding-a-record"},"Expanding a Record"),(0,r.kt)("p",null,"To expand a record in a grid view, click on ",(0,r.kt)("inlineCode",{parentName:"p"},"expand")," icon that appears on the first column (index column) on hover over a record. "),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"expand record icon",src:n(23846).Z,width:"2878",height:"1442"})),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"Shortcut : Use space bar on any cell to expand associated record.")),(0,r.kt)("h3",{id:"edit-record"},"Edit record"),(0,r.kt)("p",null,"Expanded form displays all the fields of a record enabled for display in a form layout. "),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"You can edit the record data by clicking on the field and entering the value."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},"Show hidden fields"),": Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Show hidden fields")," button to display all the fields of a record."),(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Save")," button to save the changes. Close the expanded form by clicking on ",(0,r.kt)("inlineCode",{parentName:"li"},"X")," button in the top right corner of the form to discard the changes."),(0,r.kt)("li",{parentName:"ol"},"Navigate to next/previous record using ",(0,r.kt)("inlineCode",{parentName:"li"},"Next"),"/",(0,r.kt)("inlineCode",{parentName:"li"},"Previous")," button in the top left corner of the form.")),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"Any changes made to the links field (link/unlink) will be saved automatically.")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"edit record",src:n(45907).Z,width:"2876",height:"1800"})),(0,r.kt)("h2",{id:"record-audit"},"Record Audit"),(0,r.kt)("p",null,"In an expanded form, "),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Audit")," tab "),(0,r.kt)("li",{parentName:"ol"},"A list of all the changes made to the record will be displayed")),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("ul",{parentName:"admonition"},(0,r.kt)("li",{parentName:"ul"},"You can only view the audit log. You cannot edit or delete the audit log."),(0,r.kt)("li",{parentName:"ul"},"Audit log is only available in Self-hosted version currently "))),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"expand record activity feed",src:n(28776).Z,width:"2878",height:"1800"})),(0,r.kt)("h2",{id:"record-comment"},"Record Comment"),(0,r.kt)("h3",{id:"add-comment"},"Add Comment"),(0,r.kt)("p",null,"In an expanded form,"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Comments")," tab"),(0,r.kt)("li",{parentName:"ol"},"A list of all the comments made to the record will be displayed"),(0,r.kt)("li",{parentName:"ol"},"Click on input box at the bottom to add a new comment, and press ",(0,r.kt)("inlineCode",{parentName:"li"},"Enter")," to save")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"expand record comment",src:n(83224).Z,width:"2878",height:"1800"})),(0,r.kt)("h3",{id:"edit-comment"},"Edit Comment"),(0,r.kt)("p",null,"In comments list of an expanded form,"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Edit")," icon on the right side of the comment"),(0,r.kt)("li",{parentName:"ol"},"Edit the comment and "),(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Save")," icon OR Press ",(0,r.kt)("inlineCode",{parentName:"li"},"Enter")," to save the changes")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"expand record comment",src:n(62486).Z,width:"2876",height:"1800"})),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"expand record comment",src:n(33596).Z,width:"2876",height:"1800"})),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"expand record comment",src:n(10690).Z,width:"2876",height:"1800"})),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"You can only edit your own comments. You cannot delete a comment, but can edit it to remove the content.\nChanges to comments are also recorded in the audit log.")),(0,r.kt)("h2",{id:"record-actions"},"Record Actions"),(0,r.kt)("h3",{id:"copy-record-url"},"Copy Record URL"),(0,r.kt)("p",null,"In an expanded form, click ",(0,r.kt)("inlineCode",{parentName:"p"},"Copy Record URL")," to share the record form to other authorized users."),(0,r.kt)("h3",{id:"duplicate-record"},"Duplicate record"),(0,r.kt)("p",null,"Using context menu (",(0,r.kt)("inlineCode",{parentName:"p"},"..."),") in the top right corner of the expanded form, you can duplicate the record. Duplicated record will not be saved by default. You can edit the record and save it."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"delete record",src:n(53970).Z,width:"2876",height:"1800"})),(0,r.kt)("h3",{id:"delete-record"},"Delete record"),(0,r.kt)("p",null,"Using context menu (",(0,r.kt)("inlineCode",{parentName:"p"},"..."),") in the top right corner of the expanded form, you can delete the record."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"delete record",src:n(53970).Z,width:"2876",height:"1800"})),(0,r.kt)("p",null,"On the confirmation dialog, click on ",(0,r.kt)("inlineCode",{parentName:"p"},"Delete")," button to delete the record."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"delete record",src:n(80413).Z,width:"2874",height:"1440"})))}m.isMDXComponent=!0},28776:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-audits-bf292e9a7cdbe5bf190de009938e4c6e.png"},62486:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-comments-edit-1-e662dc5437f594d10d70d8486d36d28e.png"},33596:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-comments-edit-2-e7b2e2de1b7f8fcba6a9397f45ff25bf.png"},10690:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-comments-edit-3-19a3dc35ed057a0a5366787dfd0c62d9.png"},83224:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-comments-12f3520bc08a1a26617b4818151c2ea3.png"},53970:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-context-menu-2-168bebb2555d7a38bfb2057537d0f419.png"},80413:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-delete-confirmation-8bff11568a9cb49f91ebc282f7406b17.png"},45907:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-edit-detailed-6f19acb8858b217ee834670b8deeee44.png"},23846:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-from-grid-1eaf2b31021fe85c6163aa234db48f1f.png"},39237:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/expand-record-a6994cfda6583e45767dc6b555c4955d.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/2888903d.318320ad.js b/packages/noco-docs/dist/assets/js/2888903d.f283f8b6.js similarity index 94% rename from packages/noco-docs/dist/assets/js/2888903d.318320ad.js rename to packages/noco-docs/dist/assets/js/2888903d.f283f8b6.js index 76e86dad8c..631ac6ab8e 100644 --- a/packages/noco-docs/dist/assets/js/2888903d.318320ad.js +++ b/packages/noco-docs/dist/assets/js/2888903d.f283f8b6.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3259],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>f});var o=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function c(e){for(var r=1;r=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var d=o.createContext({}),l=function(e){var r=o.useContext(d),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},p=function(e){var r=l(e.components);return o.createElement(d.Provider,{value:r},e.children)},s="mdxType",u={inlineCode:"code",wrapper:function(e){var r=e.children;return o.createElement(o.Fragment,{},r)}},m=o.forwardRef((function(e,r){var t=e.components,n=e.mdxType,a=e.originalType,d=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),s=l(t),m=n,f=s["".concat(d,".").concat(m)]||s[m]||u[m]||a;return t?o.createElement(f,c(c({ref:r},p),{},{components:t})):o.createElement(f,c({ref:r},p))}));function f(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var a=t.length,c=new Array(a);c[0]=m;var i={};for(var d in r)hasOwnProperty.call(r,d)&&(i[d]=r[d]);i.originalType=e,i[s]="string"==typeof e?e:n,c[1]=i;for(var l=2;l{t.r(r),t.d(r,{assets:()=>d,contentTitle:()=>c,default:()=>u,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var o=t(87462),n=(t(67294),t(3905));const a={title:"Create record",description:"Learn how to create a record in NocoDB.",tags:["Records","Create"],keywords:["NocoDB record","create record"]},c=void 0,i={unversionedId:"records/create-record",id:"records/create-record",title:"Create record",description:"Learn how to create a record in NocoDB.",source:"@site/docs/080.records/020.create-record.md",sourceDirName:"080.records",slug:"/records/create-record",permalink:"/records/create-record",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/080.records/020.create-record.md",tags:[{label:"Records",permalink:"/tags/records"},{label:"Create",permalink:"/tags/create"}],version:"current",sidebarPosition:20,frontMatter:{title:"Create record",description:"Learn how to create a record in NocoDB.",tags:["Records","Create"],keywords:["NocoDB record","create record"]},sidebar:"tutorialSidebar",previous:{title:"Records overview",permalink:"/records/records-overview"},next:{title:"Expanded record",permalink:"/records/expand-record"}},d={},l=[{value:"Related topics",id:"related-topics",level:3}],p={toc:l},s="wrapper";function u(e){let{components:r,...a}=e;return(0,n.kt)(s,(0,o.Z)({},p,a,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"A new record can be added by using the ",(0,n.kt)("inlineCode",{parentName:"p"},"New Record")," button in the bottom left corner of the grid view. Default behaviour of this button is to add a new empty record at the end of the grid view. Fields for a record can be populated by clicking on the cell and entering the value."),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"An empty record can also be added by using ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon in the last record of the grid view."),(0,n.kt)("li",{parentName:"ul"},"When on last record, ",(0,n.kt)("inlineCode",{parentName:"li"},"Enter")," key can be used to add a new empty record to the grid view."))),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:t(35003).Z,width:"2876",height:"1414"})),(0,n.kt)("p",null,"NocoDB also provides convenience of a form to populate fields in a record. To add a new record using a form, "),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on the up-arrow in ",(0,n.kt)("inlineCode",{parentName:"li"},"New Record")," button; this expands options for adding a new record. "),(0,n.kt)("li",{parentName:"ol"},"Select ",(0,n.kt)("inlineCode",{parentName:"li"},"New Record - Form")," option. This will reconfigure default behaviour of ",(0,n.kt)("inlineCode",{parentName:"li"},"New Record")," button to add a new record using a form.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:t(35589).Z,width:"2876",height:"1422"})),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"To revert back to default behaviour of ",(0,n.kt)("inlineCode",{parentName:"p"},"New Record")," button, click on the up-arrow in ",(0,n.kt)("inlineCode",{parentName:"p"},"New Record")," button and select ",(0,n.kt)("inlineCode",{parentName:"p"},"New Record - Grid")," option.")),(0,n.kt)("h3",{id:"related-topics"},"Related topics"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/records/expand-record"},"Expanded record view"))))}u.isMDXComponent=!0},35589:(e,r,t)=>{t.d(r,{Z:()=>o});const o=t.p+"assets/images/new-record-form-569f5f5eea2b00a14f9062152a024501.png"},35003:(e,r,t)=>{t.d(r,{Z:()=>o});const o=t.p+"assets/images/new-record-grid-e4d85bb7d2f9e37da7c6acf40952b1d5.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3259],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>f});var o=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function c(e){for(var r=1;r=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var d=o.createContext({}),l=function(e){var r=o.useContext(d),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},p=function(e){var r=l(e.components);return o.createElement(d.Provider,{value:r},e.children)},s="mdxType",u={inlineCode:"code",wrapper:function(e){var r=e.children;return o.createElement(o.Fragment,{},r)}},m=o.forwardRef((function(e,r){var t=e.components,n=e.mdxType,a=e.originalType,d=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),s=l(t),m=n,f=s["".concat(d,".").concat(m)]||s[m]||u[m]||a;return t?o.createElement(f,c(c({ref:r},p),{},{components:t})):o.createElement(f,c({ref:r},p))}));function f(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var a=t.length,c=new Array(a);c[0]=m;var i={};for(var d in r)hasOwnProperty.call(r,d)&&(i[d]=r[d]);i.originalType=e,i[s]="string"==typeof e?e:n,c[1]=i;for(var l=2;l{t.r(r),t.d(r,{assets:()=>d,contentTitle:()=>c,default:()=>u,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var o=t(87462),n=(t(67294),t(3905));const a={title:"Create record",description:"Learn how to create a record in NocoDB.",tags:["Records","Create"],keywords:["NocoDB record","create record"]},c=void 0,i={unversionedId:"records/create-record",id:"records/create-record",title:"Create record",description:"Learn how to create a record in NocoDB.",source:"@site/docs/080.records/020.create-record.md",sourceDirName:"080.records",slug:"/records/create-record",permalink:"/records/create-record",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/080.records/020.create-record.md",tags:[{label:"Records",permalink:"/tags/records"},{label:"Create",permalink:"/tags/create"}],version:"current",sidebarPosition:20,frontMatter:{title:"Create record",description:"Learn how to create a record in NocoDB.",tags:["Records","Create"],keywords:["NocoDB record","create record"]},sidebar:"tutorialSidebar",previous:{title:"Records overview",permalink:"/records/records-overview"},next:{title:"Expanded record",permalink:"/records/expand-record"}},d={},l=[{value:"Related topics",id:"related-topics",level:3}],p={toc:l},s="wrapper";function u(e){let{components:r,...a}=e;return(0,n.kt)(s,(0,o.Z)({},p,a,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"A new record can be added by using the ",(0,n.kt)("inlineCode",{parentName:"p"},"New Record")," button in the bottom left corner of the grid view. Default behaviour of this button is to add a new empty record at the end of the grid view. Fields for a record can be populated by clicking on the cell and entering the value."),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"An empty record can also be added by using ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon in the last record of the grid view."),(0,n.kt)("li",{parentName:"ul"},"When on last record, ",(0,n.kt)("inlineCode",{parentName:"li"},"Enter")," key can be used to add a new empty record to the grid view."))),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:t(37412).Z,width:"2880",height:"1800"})),(0,n.kt)("p",null,"NocoDB also provides convenience of a form to populate fields in a record. To add a new record using a form, "),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on the up-arrow in ",(0,n.kt)("inlineCode",{parentName:"li"},"New Record")," button; this expands options for adding a new record. "),(0,n.kt)("li",{parentName:"ol"},"Select ",(0,n.kt)("inlineCode",{parentName:"li"},"New Record - Form")," option. This will reconfigure default behaviour of ",(0,n.kt)("inlineCode",{parentName:"li"},"New Record")," button to add a new record using a form.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:t(87407).Z,width:"2880",height:"1802"})),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"To revert back to default behaviour of ",(0,n.kt)("inlineCode",{parentName:"p"},"New Record")," button, click on the up-arrow in ",(0,n.kt)("inlineCode",{parentName:"p"},"New Record")," button and select ",(0,n.kt)("inlineCode",{parentName:"p"},"New Record - Grid")," option.")),(0,n.kt)("h3",{id:"related-topics"},"Related topics"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/records/expand-record"},"Expanded record view"))))}u.isMDXComponent=!0},87407:(e,r,t)=>{t.d(r,{Z:()=>o});const o=t.p+"assets/images/new-record-form-569f5f5eea2b00a14f9062152a024501.png"},37412:(e,r,t)=>{t.d(r,{Z:()=>o});const o=t.p+"assets/images/new-record-grid-e4d85bb7d2f9e37da7c6acf40952b1d5.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/2bb712de.fd24b7ca.js b/packages/noco-docs/dist/assets/js/2bb712de.173474b7.js similarity index 72% rename from packages/noco-docs/dist/assets/js/2bb712de.fd24b7ca.js rename to packages/noco-docs/dist/assets/js/2bb712de.173474b7.js index 2f7c9ea0b1..317f0ec789 100644 --- a/packages/noco-docs/dist/assets/js/2bb712de.fd24b7ca.js +++ b/packages/noco-docs/dist/assets/js/2bb712de.173474b7.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1771],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>v});var a=i(67294);function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,a)}return i}function n(e){for(var t=1;t=0||(r[i]=e[i]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}var l=a.createContext({}),d=function(e){var t=a.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):n(n({},t),e)),i},c=function(e){var t=d(e.components);return a.createElement(l.Provider,{value:t},e.children)},p="mdxType",w={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var i=e.components,r=e.mdxType,o=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=d(i),h=r,v=p["".concat(l,".").concat(h)]||p[h]||w[h]||o;return i?a.createElement(v,n(n({ref:t},c),{},{components:i})):a.createElement(v,n({ref:t},c))}));function v(e,t){var i=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=i.length,n=new Array(o);n[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:r,n[1]=s;for(var d=2;d{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>n,default:()=>w,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var a=i(87462),r=(i(67294),i(3905));const o={title:"Share view",description:"Learn how to share a view publicly in NocoDB.",tags:["Views","Share","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","share view","share","share view with password protection","share view with download options"]},n=void 0,s={unversionedId:"views/share-view",id:"views/share-view",title:"Share view",description:"Learn how to share a view publicly in NocoDB.",source:"@site/docs/090.views/025.share-view.md",sourceDirName:"090.views",slug:"/views/share-view",permalink:"/views/share-view",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/025.share-view.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Share",permalink:"/tags/share"},{label:"Grid view",permalink:"/tags/grid-view"},{label:"Form view",permalink:"/tags/form-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Gallery view",permalink:"/tags/gallery-view"}],version:"current",sidebarPosition:25,frontMatter:{title:"Share view",description:"Learn how to share a view publicly in NocoDB.",tags:["Views","Share","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","share view","share","share view with password protection","share view with download options"]},sidebar:"tutorialSidebar",previous:{title:"Create view",permalink:"/views/create-view"},next:{title:"Grid",permalink:"/views/view-types/grid"}},l={},d=[{value:"Generate Share View",id:"generate-share-view",level:2},{value:"Share view options",id:"share-view-options",level:3},{value:"Password protection",id:"password-protection",level:4},{value:"Download options",id:"download-options",level:4},{value:"Share Form View Options",id:"share-form-view-options",level:3},{value:"Access Share View",id:"access-share-view",level:2}],c={toc:d},p="wrapper";function w(e){let{components:t,...o}=e;return(0,r.kt)(p,(0,a.Z)({},c,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Sharing a specific view of a table becomes highly valuable when you need to collaborate with individuals outside your organization who need access to specific sections of your database. This shared view provides a read-only perspective, accessible to anyone, regardless of their workspace affiliation. You have control over which data fields and records are visible to these external viewers, ensuring that any sensitive data remains hidden. Furthermore, if you decide to make changes to the visible fields or records within the view, the shared link will promptly reflect these adjustments, updating in real-time."),(0,r.kt)("h2",{id:"generate-share-view"},"Generate Share View"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Click ",(0,r.kt)("inlineCode",{parentName:"li"},"Share")," button on the top right of the toolbar"),(0,r.kt)("li",{parentName:"ol"},"Toggle ",(0,r.kt)("inlineCode",{parentName:"li"},"Enable public viewing")," to create shared view link"),(0,r.kt)("li",{parentName:"ol"},"Click ",(0,r.kt)("inlineCode",{parentName:"li"},"Copy")," button to copy the link to clipboard")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"share button",src:i(13890).Z,width:"2894",height:"864"})),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"shared view",src:i(34067).Z,width:"2876",height:"1800"})),(0,r.kt)("h3",{id:"share-view-options"},"Share view options"),(0,r.kt)("h4",{id:"password-protection"},"Password protection"),(0,r.kt)("p",null,"You can enable ",(0,r.kt)("inlineCode",{parentName:"p"},"Restrict access with a password")," if you want a password-protected view"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"password protection",src:i(80589).Z,width:"2876",height:"1800"})),(0,r.kt)("h4",{id:"download-options"},"Download options"),(0,r.kt)("p",null,"You can toggle ",(0,r.kt)("inlineCode",{parentName:"p"},"Allow Download")," button to enable or disable download CSV/XLSX options in the shared view link"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"download options",src:i(2008).Z,width:"2876",height:"1800"})),(0,r.kt)("h3",{id:"share-form-view-options"},"Share Form View Options"),(0,r.kt)("p",null,"Form view has additional customizations for shared view. You can enable/disable the following options for shared form view:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},"Survey mode"),": This option when enabled, will display the form in survey mode."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},"RTL Orientation"),": This option when enabled, will display the form in RTL orientation."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},"Themes"),": You can select a theme for the form from the dropdown.\n",(0,r.kt)("img",{alt:"form view options",src:i(27579).Z,width:"2876",height:"1800"}))),(0,r.kt)("h2",{id:"access-share-view"},"Access Share View"),(0,r.kt)("p",null,"To access the shared view, please follow the steps below:\nClick on the ",(0,r.kt)("inlineCode",{parentName:"p"},"Shared View URL"),". If the URL is password-protected, you will be prompted to enter the password to unlock it. Please input the required password to proceed."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"password modal",src:i(62814).Z,width:"1328",height:"846"})),(0,r.kt)("p",null,"Once the password is successfully entered and authenticated, you will gain access to the shared view.\nIn the event that the URL is not password-protected, you will be directed to the shared view directly, without the need for a password."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"share-view",src:i(90801).Z,width:"2880",height:"1800"})),(0,r.kt)("p",null,"Users with the shared view link can only view the data and cannot make any changes to the view or its content. Records and fields in the shared view will be updated in real-time as changes are made to the original view. Users accessing shared view can apply filters and sort records as per their requirements."),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"Note that, filters & sorts applied to shared view will not be persisted. These filters & sorts will be reset when the shared view is accessed again.")))}w.isMDXComponent=!0},13890:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/share-button-9751630544eab59c43f368bcbe4aaaae.png"},27579:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/share-view-form-a0f60904770cda6be5710e12a60077bd.png"},80589:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/share-view-modal-2-4bb63f03e7cb528595d3f2f6335fca02.png"},2008:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/share-view-modal-3-1202422c5c9bf2b234a5b5ed7a05e805.png"},34067:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/share-view-modal-2c40f95aa822fa2830e1f205431a4b4e.png"},62814:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/share-view-password-8b55b2f905ed895f6ceddccad842c205.png"},90801:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/share-view-22f8daabd281e5b6199d1e03ab814378.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1771],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>v});var a=i(67294);function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,a)}return i}function n(e){for(var t=1;t=0||(r[i]=e[i]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}var l=a.createContext({}),d=function(e){var t=a.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):n(n({},t),e)),i},c=function(e){var t=d(e.components);return a.createElement(l.Provider,{value:t},e.children)},p="mdxType",w={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var i=e.components,r=e.mdxType,o=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=d(i),h=r,v=p["".concat(l,".").concat(h)]||p[h]||w[h]||o;return i?a.createElement(v,n(n({ref:t},c),{},{components:i})):a.createElement(v,n({ref:t},c))}));function v(e,t){var i=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=i.length,n=new Array(o);n[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:r,n[1]=s;for(var d=2;d{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>n,default:()=>w,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var a=i(87462),r=(i(67294),i(3905));const o={title:"Share view",description:"Learn how to share a view publicly in NocoDB.",tags:["Views","Share","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","share view","share","share view with password protection","share view with download options"]},n=void 0,s={unversionedId:"views/share-view",id:"views/share-view",title:"Share view",description:"Learn how to share a view publicly in NocoDB.",source:"@site/docs/090.views/025.share-view.md",sourceDirName:"090.views",slug:"/views/share-view",permalink:"/views/share-view",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/025.share-view.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Share",permalink:"/tags/share"},{label:"Grid view",permalink:"/tags/grid-view"},{label:"Form view",permalink:"/tags/form-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Gallery view",permalink:"/tags/gallery-view"}],version:"current",sidebarPosition:25,frontMatter:{title:"Share view",description:"Learn how to share a view publicly in NocoDB.",tags:["Views","Share","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","share view","share","share view with password protection","share view with download options"]},sidebar:"tutorialSidebar",previous:{title:"Create view",permalink:"/views/create-view"},next:{title:"Grid",permalink:"/views/view-types/grid"}},l={},d=[{value:"Generate Share View",id:"generate-share-view",level:2},{value:"Share view options",id:"share-view-options",level:3},{value:"Password protection",id:"password-protection",level:4},{value:"Download options",id:"download-options",level:4},{value:"Share Form View Options",id:"share-form-view-options",level:3},{value:"Access Share View",id:"access-share-view",level:2}],c={toc:d},p="wrapper";function w(e){let{components:t,...o}=e;return(0,r.kt)(p,(0,a.Z)({},c,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Sharing a specific view of a table becomes highly valuable when you need to collaborate with individuals outside your organization who need access to specific sections of your database. This shared view provides a read-only perspective, accessible to anyone, regardless of their workspace affiliation. You have control over which data fields and records are visible to these external viewers, ensuring that any sensitive data remains hidden. Furthermore, if you decide to make changes to the visible fields or records within the view, the shared link will promptly reflect these adjustments, updating in real-time."),(0,r.kt)("h2",{id:"generate-share-view"},"Generate Share View"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Click ",(0,r.kt)("inlineCode",{parentName:"li"},"Share")," button on the top right of the toolbar"),(0,r.kt)("li",{parentName:"ol"},"Toggle ",(0,r.kt)("inlineCode",{parentName:"li"},"Enable public viewing")," to create shared view link"),(0,r.kt)("li",{parentName:"ol"},"Click ",(0,r.kt)("inlineCode",{parentName:"li"},"Copy")," button to copy the link to clipboard")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"share button",src:i(10187).Z,width:"2894",height:"864"})),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"shared view",src:i(72717).Z,width:"2876",height:"1800"})),(0,r.kt)("h3",{id:"share-view-options"},"Share view options"),(0,r.kt)("h4",{id:"password-protection"},"Password protection"),(0,r.kt)("p",null,"You can enable ",(0,r.kt)("inlineCode",{parentName:"p"},"Restrict access with a password")," if you want a password-protected view"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"password protection",src:i(22050).Z,width:"2876",height:"1800"})),(0,r.kt)("h4",{id:"download-options"},"Download options"),(0,r.kt)("p",null,"You can toggle ",(0,r.kt)("inlineCode",{parentName:"p"},"Allow Download")," button to enable or disable download CSV/XLSX options in the shared view link"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"download options",src:i(78995).Z,width:"2876",height:"1800"})),(0,r.kt)("h3",{id:"share-form-view-options"},"Share Form View Options"),(0,r.kt)("p",null,"Form view has additional customizations for shared view. You can enable/disable the following options for shared form view:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},"Survey mode"),": This option when enabled, will display the form in survey mode."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},"RTL Orientation"),": This option when enabled, will display the form in RTL orientation."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},"Themes"),": You can select a theme for the form from the dropdown.\n",(0,r.kt)("img",{alt:"form view options",src:i(33020).Z,width:"2880",height:"1800"}))),(0,r.kt)("h2",{id:"access-share-view"},"Access Share View"),(0,r.kt)("p",null,"To access the shared view, please follow the steps below:\nClick on the ",(0,r.kt)("inlineCode",{parentName:"p"},"Shared View URL"),". If the URL is password-protected, you will be prompted to enter the password to unlock it. Please input the required password to proceed."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"password modal",src:i(23267).Z,width:"1328",height:"846"})),(0,r.kt)("p",null,"Once the password is successfully entered and authenticated, you will gain access to the shared view.\nIn the event that the URL is not password-protected, you will be directed to the shared view directly, without the need for a password."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"share-view",src:i(7944).Z,width:"2880",height:"1800"})),(0,r.kt)("p",null,"Users with the shared view link can only view the data and cannot make any changes to the view or its content. Records and fields in the shared view will be updated in real-time as changes are made to the original view. Users accessing shared view can apply filters and sort records as per their requirements."),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"Note that, filters & sorts applied to shared view will not be persisted. These filters & sorts will be reset when the shared view is accessed again.")))}w.isMDXComponent=!0},10187:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/share-button-9751630544eab59c43f368bcbe4aaaae.png"},33020:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/share-view-form-a0f60904770cda6be5710e12a60077bd.png"},22050:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/share-view-modal-2-4bb63f03e7cb528595d3f2f6335fca02.png"},78995:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/share-view-modal-3-1202422c5c9bf2b234a5b5ed7a05e805.png"},72717:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/share-view-modal-2c40f95aa822fa2830e1f205431a4b4e.png"},23267:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/share-view-password-8b55b2f905ed895f6ceddccad842c205.png"},7944:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/share-view-22f8daabd281e5b6199d1e03ab814378.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/2cbe0325.1df6cf91.js b/packages/noco-docs/dist/assets/js/2cbe0325.e79f5e87.js similarity index 86% rename from packages/noco-docs/dist/assets/js/2cbe0325.1df6cf91.js rename to packages/noco-docs/dist/assets/js/2cbe0325.e79f5e87.js index 3b58a96309..302e8691ae 100644 --- a/packages/noco-docs/dist/assets/js/2cbe0325.1df6cf91.js +++ b/packages/noco-docs/dist/assets/js/2cbe0325.e79f5e87.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1245],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>u});var r=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function l(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function n(e){for(var t=1;t=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var d=r.createContext({}),s=function(e){var t=r.useContext(d),i=t;return e&&(i="function"==typeof e?e(t):n(n({},t),e)),i},p=function(e){var t=s(e.components);return r.createElement(d.Provider,{value:t},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},c=r.forwardRef((function(e,t){var i=e.components,a=e.mdxType,l=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),m=s(i),c=a,u=m["".concat(d,".").concat(c)]||m[c]||f[c]||l;return i?r.createElement(u,n(n({ref:t},p),{},{components:i})):r.createElement(u,n({ref:t},p))}));function u(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=i.length,n=new Array(l);n[0]=c;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[m]="string"==typeof e?e:a,n[1]=o;for(var s=2;s{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>n,default:()=>f,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var r=i(87462),a=(i(67294),i(3905));const l={title:"Time",description:"This article explains how to create & work with a Time field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create time field"]},n=void 0,o={unversionedId:"fields/field-types/date-time-based/time",id:"fields/field-types/date-time-based/time",title:"Time",description:"This article explains how to create & work with a Time field.",source:"@site/docs/070.fields/040.field-types/070.date-time-based/030.time.md",sourceDirName:"070.fields/040.field-types/070.date-time-based",slug:"/fields/field-types/date-time-based/time",permalink:"/fields/field-types/date-time-based/time",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/070.date-time-based/030.time.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Date & Time",permalink:"/tags/date-time"}],version:"current",sidebarPosition:30,frontMatter:{title:"Time",description:"This article explains how to create & work with a Time field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create time field"]},sidebar:"tutorialSidebar",previous:{title:"Date",permalink:"/fields/field-types/date-time-based/date"},next:{title:"Duration",permalink:"/fields/field-types/date-time-based/duration"}},d={},s=[{value:"Create a time field",id:"create-a-time-field",level:2},{value:"Supported time formats",id:"supported-time-formats",level:3},{value:"Related fields",id:"related-fields",level:2}],p={toc:s},m="wrapper";function f(e){let{components:t,...l}=e;return(0,a.kt)(m,(0,r.Z)({},p,l,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Time")," field type is used to store time values in a single field. Time formats supported by NocoDB are listed in the table below."),(0,a.kt)("h2",{id:"create-a-time-field"},"Create a time field"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,a.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,a.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)"),(0,a.kt)("li",{parentName:"ol"},"Select the field type as ",(0,a.kt)("inlineCode",{parentName:"li"},"Time")," from the dropdown."),(0,a.kt)("li",{parentName:"ol"},"Configure default value (Optional)"),(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:i(36161).Z,width:"2876",height:"1192"})),(0,a.kt)("h3",{id:"supported-time-formats"},"Supported time formats"),(0,a.kt)("p",null,"Time format: HH:mm AM/PM (12-hour format)"),(0,a.kt)("h2",{id:"related-fields"},"Related fields"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/date-time"},"DateTime")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/date"},"Date")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/duration"},"Duration"))))}f.isMDXComponent=!0},36161:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/time-e7719917464163b50837ace0db5619c0.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1245],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>u});var r=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function l(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function n(e){for(var t=1;t=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var d=r.createContext({}),s=function(e){var t=r.useContext(d),i=t;return e&&(i="function"==typeof e?e(t):n(n({},t),e)),i},p=function(e){var t=s(e.components);return r.createElement(d.Provider,{value:t},e.children)},m="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},c=r.forwardRef((function(e,t){var i=e.components,a=e.mdxType,l=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),m=s(i),c=a,u=m["".concat(d,".").concat(c)]||m[c]||f[c]||l;return i?r.createElement(u,n(n({ref:t},p),{},{components:i})):r.createElement(u,n({ref:t},p))}));function u(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=i.length,n=new Array(l);n[0]=c;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[m]="string"==typeof e?e:a,n[1]=o;for(var s=2;s{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>n,default:()=>f,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var r=i(87462),a=(i(67294),i(3905));const l={title:"Time",description:"This article explains how to create & work with a Time field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create time field"]},n=void 0,o={unversionedId:"fields/field-types/date-time-based/time",id:"fields/field-types/date-time-based/time",title:"Time",description:"This article explains how to create & work with a Time field.",source:"@site/docs/070.fields/040.field-types/070.date-time-based/030.time.md",sourceDirName:"070.fields/040.field-types/070.date-time-based",slug:"/fields/field-types/date-time-based/time",permalink:"/fields/field-types/date-time-based/time",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/070.date-time-based/030.time.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Date & Time",permalink:"/tags/date-time"}],version:"current",sidebarPosition:30,frontMatter:{title:"Time",description:"This article explains how to create & work with a Time field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create time field"]},sidebar:"tutorialSidebar",previous:{title:"Date",permalink:"/fields/field-types/date-time-based/date"},next:{title:"Duration",permalink:"/fields/field-types/date-time-based/duration"}},d={},s=[{value:"Create a time field",id:"create-a-time-field",level:2},{value:"Supported time formats",id:"supported-time-formats",level:3},{value:"Related fields",id:"related-fields",level:2}],p={toc:s},m="wrapper";function f(e){let{components:t,...l}=e;return(0,a.kt)(m,(0,r.Z)({},p,l,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Time")," field type is used to store time values in a single field. Time formats supported by NocoDB are listed in the table below."),(0,a.kt)("h2",{id:"create-a-time-field"},"Create a time field"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,a.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,a.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)"),(0,a.kt)("li",{parentName:"ol"},"Select the field type as ",(0,a.kt)("inlineCode",{parentName:"li"},"Time")," from the dropdown."),(0,a.kt)("li",{parentName:"ol"},"Configure default value (Optional)"),(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:i(8837).Z,width:"2876",height:"1192"})),(0,a.kt)("h3",{id:"supported-time-formats"},"Supported time formats"),(0,a.kt)("p",null,"Time format: HH:mm AM/PM (12-hour format)"),(0,a.kt)("h2",{id:"related-fields"},"Related fields"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/date-time"},"DateTime")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/date"},"Date")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/duration"},"Duration"))))}f.isMDXComponent=!0},8837:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/time-e7719917464163b50837ace0db5619c0.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/2eb4ec02.1f2592f8.js b/packages/noco-docs/dist/assets/js/2eb4ec02.2e51b9cd.js similarity index 64% rename from packages/noco-docs/dist/assets/js/2eb4ec02.1f2592f8.js rename to packages/noco-docs/dist/assets/js/2eb4ec02.2e51b9cd.js index a1baa419be..9344aa77ca 100644 --- a/packages/noco-docs/dist/assets/js/2eb4ec02.1f2592f8.js +++ b/packages/noco-docs/dist/assets/js/2eb4ec02.2e51b9cd.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1876],{3905:(e,t,a)=>{a.d(t,{Zo:()=>b,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function o(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var l=r.createContext({}),c=function(e){var t=r.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},b=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,s=e.originalType,l=e.parentName,b=i(e,["components","mdxType","originalType","parentName"]),p=c(a),d=n,u=p["".concat(l,".").concat(d)]||p[d]||m[d]||s;return a?r.createElement(u,o(o({ref:t},b),{},{components:a})):r.createElement(u,o({ref:t},b))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=a.length,o=new Array(s);o[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[p]="string"==typeof e?e:n,o[1]=i;for(var c=2;c{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var r=a(87462),n=(a(67294),a(3905));const s={title:"Create base",description:"Learn how to create a base in NocoDB.",tags:["Bases","Create"],keywords:["NocoDB base","create base"]},o=void 0,i={unversionedId:"bases/create-base",id:"bases/create-base",title:"Create base",description:"Learn how to create a base in NocoDB.",source:"@site/docs/040.bases/020.create-base.md",sourceDirName:"040.bases",slug:"/bases/create-base",permalink:"/bases/create-base",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/040.bases/020.create-base.md",tags:[{label:"Bases",permalink:"/tags/bases"},{label:"Create",permalink:"/tags/create"}],version:"current",sidebarPosition:20,frontMatter:{title:"Create base",description:"Learn how to create a base in NocoDB.",tags:["Bases","Create"],keywords:["NocoDB base","create base"]},sidebar:"tutorialSidebar",previous:{title:"Base overview",permalink:"/bases/base-overview"},next:{title:"Import Airtable to NocoDB",permalink:"/bases/import-base-from-airtable"}},l={},c=[{value:"Create base from scratch",id:"create-base-from-scratch",level:2},{value:"Related articles",id:"related-articles",level:2}],b={toc:c},p="wrapper";function m(e){let{components:t,...s}=e;return(0,n.kt)(p,(0,r.Z)({},b,s,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"create-base-from-scratch"},"Create base from scratch"),(0,n.kt)("p",null,"To initiate the creation of a new database from the ground up, follow these steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Navigate to the left sidebar and either select the ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon adjacent to ",(0,n.kt)("inlineCode",{parentName:"li"},"Projects")," or click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"+ New Project")," button."),(0,n.kt)("li",{parentName:"ol"},"Input the desired name for the database within the presented pop-up modal."),(0,n.kt)("li",{parentName:"ol"},"Conclude the process by clicking on the ",(0,n.kt)("inlineCode",{parentName:"li"},"Create Database")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:a(41502).Z,width:"2880",height:"986"}),"\n",(0,n.kt)("img",{alt:"image",src:a(86542).Z,width:"2876",height:"1272"})),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"Upon the creation of the base, you will assume the role of the ",(0,n.kt)("inlineCode",{parentName:"li"},"base owner.")),(0,n.kt)("li",{parentName:"ul"},"Only the ",(0,n.kt)("inlineCode",{parentName:"li"},"base owner")," possesses the authority to delete a base."),(0,n.kt)("li",{parentName:"ul"},"It is possible to create multiple bases within a single workspace."))),(0,n.kt)("p",null,"On the successful creation of a base, you will be directed to the Base Dashboard, which serves as the primary landing page for the base. This central hub provides users with swift access to essential features such as base settings and collaboration tools. To access the Base Dashboard, simply click on the base name located in the left sidebar."),(0,n.kt)("p",null,"Find more details on adding tables to a base in the ",(0,n.kt)("a",{parentName:"p",href:"/tables/create-table"},"Tables")," section."),(0,n.kt)("h2",{id:"related-articles"},"Related articles"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/base-overview"},"Base overview")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/import-base-from-airtable"},"Import base from Airtable")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/base-collaboration"},"Invite team members to work on a base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/share-base"},"Share base publicly")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#rename-base"},"Rename base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#duplicate-base"},"Duplicate base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#star-base"},"Bookmark base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#delete-base"},"Delete base"))))}m.isMDXComponent=!0},41502:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/base-create-1-c677c7eef550784eeafc201d4b92cf24.png"},86542:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/base-create-2-d26dbc197203d898f5cc7db86df26aea.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1876],{3905:(e,t,a)=>{a.d(t,{Zo:()=>b,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function o(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var l=r.createContext({}),c=function(e){var t=r.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},b=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,s=e.originalType,l=e.parentName,b=i(e,["components","mdxType","originalType","parentName"]),p=c(a),d=n,u=p["".concat(l,".").concat(d)]||p[d]||m[d]||s;return a?r.createElement(u,o(o({ref:t},b),{},{components:a})):r.createElement(u,o({ref:t},b))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=a.length,o=new Array(s);o[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[p]="string"==typeof e?e:n,o[1]=i;for(var c=2;c{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var r=a(87462),n=(a(67294),a(3905));const s={title:"Create base",description:"Learn how to create a base in NocoDB.",tags:["Bases","Create"],keywords:["NocoDB base","create base"]},o=void 0,i={unversionedId:"bases/create-base",id:"bases/create-base",title:"Create base",description:"Learn how to create a base in NocoDB.",source:"@site/docs/040.bases/020.create-base.md",sourceDirName:"040.bases",slug:"/bases/create-base",permalink:"/bases/create-base",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/040.bases/020.create-base.md",tags:[{label:"Bases",permalink:"/tags/bases"},{label:"Create",permalink:"/tags/create"}],version:"current",sidebarPosition:20,frontMatter:{title:"Create base",description:"Learn how to create a base in NocoDB.",tags:["Bases","Create"],keywords:["NocoDB base","create base"]},sidebar:"tutorialSidebar",previous:{title:"Base overview",permalink:"/bases/base-overview"},next:{title:"Import Airtable to NocoDB",permalink:"/bases/import-base-from-airtable"}},l={},c=[{value:"Create base from scratch",id:"create-base-from-scratch",level:2},{value:"Related articles",id:"related-articles",level:2}],b={toc:c},p="wrapper";function m(e){let{components:t,...s}=e;return(0,n.kt)(p,(0,r.Z)({},b,s,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"create-base-from-scratch"},"Create base from scratch"),(0,n.kt)("p",null,"To initiate the creation of a new database from the ground up, follow these steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Navigate to the left sidebar and either select the ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon adjacent to ",(0,n.kt)("inlineCode",{parentName:"li"},"Projects")," or click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"+ New Project")," button."),(0,n.kt)("li",{parentName:"ol"},"Input the desired name for the database within the presented pop-up modal."),(0,n.kt)("li",{parentName:"ol"},"Conclude the process by clicking on the ",(0,n.kt)("inlineCode",{parentName:"li"},"Create Database")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:a(55927).Z,width:"2880",height:"1800"}),"\n",(0,n.kt)("img",{alt:"image",src:a(66868).Z,width:"2880",height:"1800"})),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"Upon the creation of the base, you will assume the role of the ",(0,n.kt)("inlineCode",{parentName:"li"},"base owner.")),(0,n.kt)("li",{parentName:"ul"},"Only the ",(0,n.kt)("inlineCode",{parentName:"li"},"base owner")," possesses the authority to delete a base."),(0,n.kt)("li",{parentName:"ul"},"It is possible to create multiple bases within a single workspace."))),(0,n.kt)("p",null,"On the successful creation of a base, you will be directed to the Base Dashboard, which serves as the primary landing page for the base. This central hub provides users with swift access to essential features such as base settings and collaboration tools. To access the Base Dashboard, simply click on the base name located in the left sidebar."),(0,n.kt)("p",null,"Find more details on adding tables to a base in the ",(0,n.kt)("a",{parentName:"p",href:"/tables/create-table"},"Tables")," section."),(0,n.kt)("h2",{id:"related-articles"},"Related articles"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/base-overview"},"Base overview")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/import-base-from-airtable"},"Import base from Airtable")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/base-collaboration"},"Invite team members to work on a base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/share-base"},"Share base publicly")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#rename-base"},"Rename base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#duplicate-base"},"Duplicate base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#star-base"},"Bookmark base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#delete-base"},"Delete base"))))}m.isMDXComponent=!0},55927:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/base-create-1-c677c7eef550784eeafc201d4b92cf24.png"},66868:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/base-create-2-d26dbc197203d898f5cc7db86df26aea.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/319e5695.606ef121.js b/packages/noco-docs/dist/assets/js/319e5695.115305d5.js similarity index 75% rename from packages/noco-docs/dist/assets/js/319e5695.606ef121.js rename to packages/noco-docs/dist/assets/js/319e5695.115305d5.js index 277c599b3e..49a8b7aa64 100644 --- a/packages/noco-docs/dist/assets/js/319e5695.606ef121.js +++ b/packages/noco-docs/dist/assets/js/319e5695.115305d5.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[9542],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>w});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),l=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},k="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),k=l(a),d=n,w=k["".concat(c,".").concat(d)]||k[d]||m[d]||o;return a?r.createElement(w,i(i({ref:t},p),{},{components:a})):r.createElement(w,i({ref:t},p))}));function w(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,i=new Array(o);i[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[k]="string"==typeof e?e:n,i[1]=s;for(var l=2;l{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var r=a(87462),n=(a(67294),a(3905));const o={title:"Actions on workspace",description:"This article explains how to rename or delete a workspace.",tags:["Workspaces","Rename","Delete"],keywords:["Workspace configuration","Rename workspace","Delete workspace","Workspace actions","Workspace management","Workspace administration","Workspace settings","Workspace organization"]},i=void 0,s={unversionedId:"workspaces/actions-on-workspace",id:"workspaces/actions-on-workspace",title:"Actions on workspace",description:"This article explains how to rename or delete a workspace.",source:"@site/docs/030.workspaces/040.actions-on-workspace.md",sourceDirName:"030.workspaces",slug:"/workspaces/actions-on-workspace",permalink:"/workspaces/actions-on-workspace",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/030.workspaces/040.actions-on-workspace.md",tags:[{label:"Workspaces",permalink:"/tags/workspaces"},{label:"Rename",permalink:"/tags/rename"},{label:"Delete",permalink:"/tags/delete"}],version:"current",sidebarPosition:40,frontMatter:{title:"Actions on workspace",description:"This article explains how to rename or delete a workspace.",tags:["Workspaces","Rename","Delete"],keywords:["Workspace configuration","Rename workspace","Delete workspace","Workspace actions","Workspace management","Workspace administration","Workspace settings","Workspace organization"]},sidebar:"tutorialSidebar",previous:{title:"Workspace collaboration",permalink:"/workspaces/workspace-collaboration"},next:{title:"Base overview",permalink:"/bases/base-overview"}},c={},l=[{value:"Rename workspace",id:"rename-workspace",level:2},{value:"Delete workspace",id:"delete-workspace",level:2},{value:"Related articles",id:"related-articles",level:2}],p={toc:l},k="wrapper";function m(e){let{components:t,...o}=e;return(0,n.kt)(k,(0,r.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"rename-workspace"},"Rename workspace"),(0,n.kt)("p",null,"To update the workspace name:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Navigate to the ",(0,n.kt)("inlineCode",{parentName:"li"},"Team & Settings")," option in the left sidebar to access the Workspace configuration page."),(0,n.kt)("li",{parentName:"ol"},"Select the ",(0,n.kt)("inlineCode",{parentName:"li"},"Settings")," tab."),(0,n.kt)("li",{parentName:"ol"},"Enter the new desired workspace name in the ",(0,n.kt)("inlineCode",{parentName:"li"},"Workspace Name")," field."),(0,n.kt)("li",{parentName:"ol"},"Confirm the change by clicking on the ",(0,n.kt)("inlineCode",{parentName:"li"},"Rename Workspace")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:a(3451).Z,width:"2876",height:"1576"})),(0,n.kt)("h2",{id:"delete-workspace"},"Delete workspace"),(0,n.kt)("p",null,"If you determine that a workspace is no longer necessary, you have the option to permanently remove it from your settings. Deleting a workspace will delete all the bases and data associated with it."),(0,n.kt)("admonition",{type:"danger"},(0,n.kt)("p",{parentName:"admonition"},(0,n.kt)("strong",{parentName:"p"},"This action cannot be undone."))),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"Only ",(0,n.kt)("strong",{parentName:"p"},"workspace owner")," can delete a workspace.")),(0,n.kt)("p",null,"To remove a workspace:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the Workspace configuration page by selecting ",(0,n.kt)("inlineCode",{parentName:"li"},"Team & Settings")," from the left sidebar."),(0,n.kt)("li",{parentName:"ol"},"Access the ",(0,n.kt)("inlineCode",{parentName:"li"},"Settings")," tab."),(0,n.kt)("li",{parentName:"ol"},"Click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"Delete Workspace")," button."),(0,n.kt)("li",{parentName:"ol"},"Provide the workspace name as confirmation for deletion."),(0,n.kt)("li",{parentName:"ol"},"Confirm the action by clicking the ",(0,n.kt)("inlineCode",{parentName:"li"},"Delete Workspace")," button in the confirmation dialog box.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:a(29615).Z,width:"2874",height:"1576"}),"\n",(0,n.kt)("img",{alt:"image",src:a(49317).Z,width:"2874",height:"1578"})),(0,n.kt)("h2",{id:"related-articles"},"Related articles"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/workspaces/workspace-overview"},"Workspace overview")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/workspaces/create-workspace"},"Create workspace")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/workspaces/workspace-collaboration"},"Invite team members to workspace"))))}m.isMDXComponent=!0},49317:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/workspace-delete-confirmation-c694a2202d07bd3c2d2875191402252d.png"},29615:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/workspace-delete-633e807f749c163f2604a8d3f83ba3ab.png"},3451:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/workspace-rename-1a580f4e43ca597cc5b2205fbd9da98a.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[9542],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>w});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),l=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},k="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),k=l(a),d=n,w=k["".concat(c,".").concat(d)]||k[d]||m[d]||o;return a?r.createElement(w,i(i({ref:t},p),{},{components:a})):r.createElement(w,i({ref:t},p))}));function w(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,i=new Array(o);i[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[k]="string"==typeof e?e:n,i[1]=s;for(var l=2;l{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var r=a(87462),n=(a(67294),a(3905));const o={title:"Actions on workspace",description:"This article explains how to rename or delete a workspace.",tags:["Workspaces","Rename","Delete"],keywords:["Workspace configuration","Rename workspace","Delete workspace","Workspace actions","Workspace management","Workspace administration","Workspace settings","Workspace organization"]},i=void 0,s={unversionedId:"workspaces/actions-on-workspace",id:"workspaces/actions-on-workspace",title:"Actions on workspace",description:"This article explains how to rename or delete a workspace.",source:"@site/docs/030.workspaces/040.actions-on-workspace.md",sourceDirName:"030.workspaces",slug:"/workspaces/actions-on-workspace",permalink:"/workspaces/actions-on-workspace",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/030.workspaces/040.actions-on-workspace.md",tags:[{label:"Workspaces",permalink:"/tags/workspaces"},{label:"Rename",permalink:"/tags/rename"},{label:"Delete",permalink:"/tags/delete"}],version:"current",sidebarPosition:40,frontMatter:{title:"Actions on workspace",description:"This article explains how to rename or delete a workspace.",tags:["Workspaces","Rename","Delete"],keywords:["Workspace configuration","Rename workspace","Delete workspace","Workspace actions","Workspace management","Workspace administration","Workspace settings","Workspace organization"]},sidebar:"tutorialSidebar",previous:{title:"Workspace collaboration",permalink:"/workspaces/workspace-collaboration"},next:{title:"Base overview",permalink:"/bases/base-overview"}},c={},l=[{value:"Rename workspace",id:"rename-workspace",level:2},{value:"Delete workspace",id:"delete-workspace",level:2},{value:"Related articles",id:"related-articles",level:2}],p={toc:l},k="wrapper";function m(e){let{components:t,...o}=e;return(0,n.kt)(k,(0,r.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"rename-workspace"},"Rename workspace"),(0,n.kt)("p",null,"To update the workspace name:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Navigate to the ",(0,n.kt)("inlineCode",{parentName:"li"},"Team & Settings")," option in the left sidebar to access the Workspace configuration page."),(0,n.kt)("li",{parentName:"ol"},"Select the ",(0,n.kt)("inlineCode",{parentName:"li"},"Settings")," tab."),(0,n.kt)("li",{parentName:"ol"},"Enter the new desired workspace name in the ",(0,n.kt)("inlineCode",{parentName:"li"},"Workspace Name")," field."),(0,n.kt)("li",{parentName:"ol"},"Confirm the change by clicking on the ",(0,n.kt)("inlineCode",{parentName:"li"},"Rename Workspace")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:a(28737).Z,width:"2880",height:"1800"})),(0,n.kt)("h2",{id:"delete-workspace"},"Delete workspace"),(0,n.kt)("p",null,"If you determine that a workspace is no longer necessary, you have the option to permanently remove it from your settings. Deleting a workspace will delete all the bases and data associated with it."),(0,n.kt)("admonition",{type:"danger"},(0,n.kt)("p",{parentName:"admonition"},(0,n.kt)("strong",{parentName:"p"},"This action cannot be undone."))),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"Only ",(0,n.kt)("strong",{parentName:"p"},"workspace owner")," can delete a workspace.")),(0,n.kt)("p",null,"To remove a workspace:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the Workspace configuration page by selecting ",(0,n.kt)("inlineCode",{parentName:"li"},"Team & Settings")," from the left sidebar."),(0,n.kt)("li",{parentName:"ol"},"Access the ",(0,n.kt)("inlineCode",{parentName:"li"},"Settings")," tab."),(0,n.kt)("li",{parentName:"ol"},"Click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"Delete Workspace")," button."),(0,n.kt)("li",{parentName:"ol"},"Provide the workspace name as confirmation for deletion."),(0,n.kt)("li",{parentName:"ol"},"Confirm the action by clicking the ",(0,n.kt)("inlineCode",{parentName:"li"},"Delete Workspace")," button in the confirmation dialog box.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:a(5358).Z,width:"2880",height:"1800"}),"\n",(0,n.kt)("img",{alt:"image",src:a(84826).Z,width:"2880",height:"1800"})),(0,n.kt)("h2",{id:"related-articles"},"Related articles"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/workspaces/workspace-overview"},"Workspace overview")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/workspaces/create-workspace"},"Create workspace")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/workspaces/workspace-collaboration"},"Invite team members to workspace"))))}m.isMDXComponent=!0},84826:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/workspace-delete-confirmation-c694a2202d07bd3c2d2875191402252d.png"},5358:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/workspace-delete-633e807f749c163f2604a8d3f83ba3ab.png"},28737:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/workspace-rename-1a580f4e43ca597cc5b2205fbd9da98a.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/31f9cd1a.775da14b.js b/packages/noco-docs/dist/assets/js/31f9cd1a.59ad4f18.js similarity index 96% rename from packages/noco-docs/dist/assets/js/31f9cd1a.775da14b.js rename to packages/noco-docs/dist/assets/js/31f9cd1a.59ad4f18.js index 1cb7cf41a9..332b598505 100644 --- a/packages/noco-docs/dist/assets/js/31f9cd1a.775da14b.js +++ b/packages/noco-docs/dist/assets/js/31f9cd1a.59ad4f18.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7130],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>m});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var o=n.createContext({}),p=function(e){var t=n.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},s=function(e){var t=p(e.components);return n.createElement(o.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,l=e.originalType,o=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),d=p(r),f=i,m=d["".concat(o,".").concat(f)]||d[f]||u[f]||l;return r?n.createElement(m,a(a({ref:t},s),{},{components:r})):n.createElement(m,a({ref:t},s))}));function m(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=r.length,a=new Array(l);a[0]=f;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c[d]="string"==typeof e?e:i,a[1]=c;for(var p=2;p{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>c,toc:()=>p});var n=r(87462),i=(r(67294),r(3905));const l={title:"Percent",description:"This article explains how to create & work with a Percent field.",tags:["Fields","Field types","Numerical types","Percent"],keywords:["Fields","Field types","Numerical types","Percent","Create percent field"]},a=void 0,c={unversionedId:"fields/field-types/numerical/percent",id:"fields/field-types/numerical/percent",title:"Percent",description:"This article explains how to create & work with a Percent field.",source:"@site/docs/070.fields/040.field-types/020.numerical/030.percent.md",sourceDirName:"070.fields/040.field-types/020.numerical",slug:"/fields/field-types/numerical/percent",permalink:"/fields/field-types/numerical/percent",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/020.numerical/030.percent.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Numerical types",permalink:"/tags/numerical-types"},{label:"Percent",permalink:"/tags/percent"}],version:"current",sidebarPosition:30,frontMatter:{title:"Percent",description:"This article explains how to create & work with a Percent field.",tags:["Fields","Field types","Numerical types","Percent"],keywords:["Fields","Field types","Numerical types","Percent","Create percent field"]},sidebar:"tutorialSidebar",previous:{title:"Decimal",permalink:"/fields/field-types/numerical/decimal"},next:{title:"Currency",permalink:"/fields/field-types/numerical/currency"}},o={},p=[{value:"Create a percent field",id:"create-a-percent-field",level:2},{value:"Similar numerical fields",id:"similar-numerical-fields",level:2}],s={toc:p},d="wrapper";function u(e){let{components:t,...l}=e;return(0,i.kt)(d,(0,n.Z)({},s,l,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"Percent")," field type is used to store percentage values. Use cases include storing ",(0,i.kt)("inlineCode",{parentName:"p"},"discount"),", ",(0,i.kt)("inlineCode",{parentName:"p"},"tax"),", etc."),(0,i.kt)("h2",{id:"create-a-percent-field"},"Create a percent field"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,i.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,i.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,i.kt)("li",{parentName:"ol"},"Select the field type as ",(0,i.kt)("inlineCode",{parentName:"li"},"Percent")," from the dropdown."),(0,i.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:r(48074).Z,width:"2878",height:"1436"})),(0,i.kt)("h2",{id:"similar-numerical-fields"},"Similar numerical fields"),(0,i.kt)("p",null,"Following are the other numerical fields available in NocoDB, with some custom add-on features."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/number"},"Number")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/decimal"},"Decimal")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/currency"},"Currency"))))}u.isMDXComponent=!0},48074:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/percent-23592b0cefe5dd1b57f2659a5d8859b0.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7130],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>m});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var o=n.createContext({}),p=function(e){var t=n.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},s=function(e){var t=p(e.components);return n.createElement(o.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,l=e.originalType,o=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),d=p(r),f=i,m=d["".concat(o,".").concat(f)]||d[f]||u[f]||l;return r?n.createElement(m,a(a({ref:t},s),{},{components:r})):n.createElement(m,a({ref:t},s))}));function m(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=r.length,a=new Array(l);a[0]=f;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c[d]="string"==typeof e?e:i,a[1]=c;for(var p=2;p{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>c,toc:()=>p});var n=r(87462),i=(r(67294),r(3905));const l={title:"Percent",description:"This article explains how to create & work with a Percent field.",tags:["Fields","Field types","Numerical types","Percent"],keywords:["Fields","Field types","Numerical types","Percent","Create percent field"]},a=void 0,c={unversionedId:"fields/field-types/numerical/percent",id:"fields/field-types/numerical/percent",title:"Percent",description:"This article explains how to create & work with a Percent field.",source:"@site/docs/070.fields/040.field-types/020.numerical/030.percent.md",sourceDirName:"070.fields/040.field-types/020.numerical",slug:"/fields/field-types/numerical/percent",permalink:"/fields/field-types/numerical/percent",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/020.numerical/030.percent.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Numerical types",permalink:"/tags/numerical-types"},{label:"Percent",permalink:"/tags/percent"}],version:"current",sidebarPosition:30,frontMatter:{title:"Percent",description:"This article explains how to create & work with a Percent field.",tags:["Fields","Field types","Numerical types","Percent"],keywords:["Fields","Field types","Numerical types","Percent","Create percent field"]},sidebar:"tutorialSidebar",previous:{title:"Decimal",permalink:"/fields/field-types/numerical/decimal"},next:{title:"Currency",permalink:"/fields/field-types/numerical/currency"}},o={},p=[{value:"Create a percent field",id:"create-a-percent-field",level:2},{value:"Similar numerical fields",id:"similar-numerical-fields",level:2}],s={toc:p},d="wrapper";function u(e){let{components:t,...l}=e;return(0,i.kt)(d,(0,n.Z)({},s,l,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"Percent")," field type is used to store percentage values. Use cases include storing ",(0,i.kt)("inlineCode",{parentName:"p"},"discount"),", ",(0,i.kt)("inlineCode",{parentName:"p"},"tax"),", etc."),(0,i.kt)("h2",{id:"create-a-percent-field"},"Create a percent field"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,i.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,i.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,i.kt)("li",{parentName:"ol"},"Select the field type as ",(0,i.kt)("inlineCode",{parentName:"li"},"Percent")," from the dropdown."),(0,i.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:r(29236).Z,width:"2878",height:"1436"})),(0,i.kt)("h2",{id:"similar-numerical-fields"},"Similar numerical fields"),(0,i.kt)("p",null,"Following are the other numerical fields available in NocoDB, with some custom add-on features."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/number"},"Number")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/decimal"},"Decimal")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/currency"},"Currency"))))}u.isMDXComponent=!0},29236:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/percent-23592b0cefe5dd1b57f2659a5d8859b0.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/32e0f401.c4f99129.js b/packages/noco-docs/dist/assets/js/32e0f401.4e7e381d.js similarity index 93% rename from packages/noco-docs/dist/assets/js/32e0f401.c4f99129.js rename to packages/noco-docs/dist/assets/js/32e0f401.4e7e381d.js index 58a7b55c6c..886ec5dbd4 100644 --- a/packages/noco-docs/dist/assets/js/32e0f401.c4f99129.js +++ b/packages/noco-docs/dist/assets/js/32e0f401.4e7e381d.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[9789],{3905:(e,t,a)=>{a.d(t,{Zo:()=>b,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function o(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),s=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},b=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,b=i(e,["components","mdxType","originalType","parentName"]),p=s(a),d=n,u=p["".concat(c,".").concat(d)]||p[d]||m[d]||l;return a?r.createElement(u,o(o({ref:t},b),{},{components:a})):r.createElement(u,o({ref:t},b))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,o=new Array(l);o[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i[p]="string"==typeof e?e:n,o[1]=i;for(var s=2;s{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>m,frontMatter:()=>l,metadata:()=>i,toc:()=>s});var r=a(87462),n=(a(67294),a(3905));const l={title:"Create empty table",description:"Learn how to create a table in NocoDB.",tags:["Tables","Create"],keywords:["NocoDB table","create table"]},o=void 0,i={unversionedId:"tables/create-table",id:"tables/create-table",title:"Create empty table",description:"Learn how to create a table in NocoDB.",source:"@site/docs/050.tables/020.create-table.md",sourceDirName:"050.tables",slug:"/tables/create-table",permalink:"/tables/create-table",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/050.tables/020.create-table.md",tags:[{label:"Tables",permalink:"/tags/tables"},{label:"Create",permalink:"/tags/create"}],version:"current",sidebarPosition:20,frontMatter:{title:"Create empty table",description:"Learn how to create a table in NocoDB.",tags:["Tables","Create"],keywords:["NocoDB table","create table"]},sidebar:"tutorialSidebar",previous:{title:"Table overview",permalink:"/tables/table-overview"},next:{title:"Create table via import",permalink:"/tables/create-table-via-import"}},c={},s=[{value:"Create new table",id:"create-new-table",level:2},{value:"Related articles",id:"related-articles",level:3}],b={toc:s},p="wrapper";function m(e){let{components:t,...l}=e;return(0,n.kt)(p,(0,r.Z)({},b,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"create-new-table"},"Create new table"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," on the left sidebar next to ",(0,n.kt)("inlineCode",{parentName:"li"},"base name")," OR click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+ New Table")," button on the Base dashboard."),(0,n.kt)("li",{parentName:"ol"},"Fill table name in the pop-up modal."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Create Table")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:a(62095).Z,width:"2878",height:"1410"}),"\n",(0,n.kt)("img",{alt:"image",src:a(94741).Z,width:"2874",height:"1414"})),(0,n.kt)("h3",{id:"related-articles"},"Related articles"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/tables/create-table-via-import"},"Create a table using a CSV, Excel or a JSON")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/tables/import-data-into-existing-table"},"Import data from Csv/Xlsx into existing table")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/tables/actions-on-table#rename-table"},"Rename a table")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/tables/actions-on-table#duplicate-table"},"Duplicate a table")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/tables/actions-on-table#delete-table"},"Delete a table"))))}m.isMDXComponent=!0},62095:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/table-create-1-fcda48e93a1dad00916e3586cf48ceff.png"},94741:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/table-create-2-146586847c4f16d9d1eba96debf53bce.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[9789],{3905:(e,t,a)=>{a.d(t,{Zo:()=>b,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function o(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),s=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},b=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,b=i(e,["components","mdxType","originalType","parentName"]),p=s(a),d=n,u=p["".concat(c,".").concat(d)]||p[d]||m[d]||l;return a?r.createElement(u,o(o({ref:t},b),{},{components:a})):r.createElement(u,o({ref:t},b))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,o=new Array(l);o[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i[p]="string"==typeof e?e:n,o[1]=i;for(var s=2;s{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>m,frontMatter:()=>l,metadata:()=>i,toc:()=>s});var r=a(87462),n=(a(67294),a(3905));const l={title:"Create empty table",description:"Learn how to create a table in NocoDB.",tags:["Tables","Create"],keywords:["NocoDB table","create table"]},o=void 0,i={unversionedId:"tables/create-table",id:"tables/create-table",title:"Create empty table",description:"Learn how to create a table in NocoDB.",source:"@site/docs/050.tables/020.create-table.md",sourceDirName:"050.tables",slug:"/tables/create-table",permalink:"/tables/create-table",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/050.tables/020.create-table.md",tags:[{label:"Tables",permalink:"/tags/tables"},{label:"Create",permalink:"/tags/create"}],version:"current",sidebarPosition:20,frontMatter:{title:"Create empty table",description:"Learn how to create a table in NocoDB.",tags:["Tables","Create"],keywords:["NocoDB table","create table"]},sidebar:"tutorialSidebar",previous:{title:"Table overview",permalink:"/tables/table-overview"},next:{title:"Create table via import",permalink:"/tables/create-table-via-import"}},c={},s=[{value:"Create new table",id:"create-new-table",level:2},{value:"Related articles",id:"related-articles",level:3}],b={toc:s},p="wrapper";function m(e){let{components:t,...l}=e;return(0,n.kt)(p,(0,r.Z)({},b,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"create-new-table"},"Create new table"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," on the left sidebar next to ",(0,n.kt)("inlineCode",{parentName:"li"},"base name")," OR click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+ New Table")," button on the Base dashboard."),(0,n.kt)("li",{parentName:"ol"},"Fill table name in the pop-up modal."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Create Table")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:a(94306).Z,width:"2878",height:"1428"}),"\n",(0,n.kt)("img",{alt:"image",src:a(33920).Z,width:"2878",height:"1418"})),(0,n.kt)("h3",{id:"related-articles"},"Related articles"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/tables/create-table-via-import"},"Create a table using a CSV, Excel or a JSON")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/tables/import-data-into-existing-table"},"Import data from Csv/Xlsx into existing table")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/tables/actions-on-table#rename-table"},"Rename a table")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/tables/actions-on-table#duplicate-table"},"Duplicate a table")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/tables/actions-on-table#delete-table"},"Delete a table"))))}m.isMDXComponent=!0},94306:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/table-create-1-fcda48e93a1dad00916e3586cf48ceff.png"},33920:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/table-create-2-146586847c4f16d9d1eba96debf53bce.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/35af5afe.be900cd3.js b/packages/noco-docs/dist/assets/js/35af5afe.a46f1e69.js similarity index 75% rename from packages/noco-docs/dist/assets/js/35af5afe.be900cd3.js rename to packages/noco-docs/dist/assets/js/35af5afe.a46f1e69.js index 140949cc27..7a09886105 100644 --- a/packages/noco-docs/dist/assets/js/35af5afe.be900cd3.js +++ b/packages/noco-docs/dist/assets/js/35af5afe.a46f1e69.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1179],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>m});var l=i(67294);function o(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function a(e){for(var t=1;t=0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}var s=l.createContext({}),d=function(e){var t=l.useContext(s),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},c=function(e){var t=d(e.components);return l.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},f=l.forwardRef((function(e,t){var i=e.components,o=e.mdxType,n=e.originalType,s=e.parentName,c=r(e,["components","mdxType","originalType","parentName"]),p=d(i),f=o,m=p["".concat(s,".").concat(f)]||p[f]||u[f]||n;return i?l.createElement(m,a(a({ref:t},c),{},{components:i})):l.createElement(m,a({ref:t},c))}));function m(e,t){var i=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=i.length,a=new Array(n);a[0]=f;var r={};for(var s in t)hasOwnProperty.call(t,s)&&(r[s]=t[s]);r.originalType=e,r[p]="string"==typeof e?e:o,a[1]=r;for(var d=2;d{i.r(t),i.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>n,metadata:()=>r,toc:()=>d});var l=i(87462),o=(i(67294),i(3905));const n={title:"Multi Select",description:"This article explains how to create & work with a Multi select field.",tags:["Fields","Field types","Select based types","Multi select"],keywords:["Fields","Field types","Select based types","Multi select","Create multi select field"]},a=void 0,r={unversionedId:"fields/field-types/select-based/multi-select",id:"fields/field-types/select-based/multi-select",title:"Multi Select",description:"This article explains how to create & work with a Multi select field.",source:"@site/docs/070.fields/040.field-types/030.select-based/020.multi-select.md",sourceDirName:"070.fields/040.field-types/030.select-based",slug:"/fields/field-types/select-based/multi-select",permalink:"/fields/field-types/select-based/multi-select",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/030.select-based/020.multi-select.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Select based types",permalink:"/tags/select-based-types"},{label:"Multi select",permalink:"/tags/multi-select"}],version:"current",sidebarPosition:20,frontMatter:{title:"Multi Select",description:"This article explains how to create & work with a Multi select field.",tags:["Fields","Field types","Select based types","Multi select"],keywords:["Fields","Field types","Select based types","Multi select","Create multi select field"]},sidebar:"tutorialSidebar",previous:{title:"Checkbox",permalink:"/fields/field-types/select-based/checkbox"},next:{title:"Rating",permalink:"/fields/field-types/select-based/rating"}},s={},d=[{value:"Create a multi select field",id:"create-a-multi-select-field",level:2},{value:"Configure color for options",id:"configure-color-for-options",level:3},{value:"Re-order options",id:"re-order-options",level:3},{value:"Edit options",id:"edit-options",level:3},{value:"Delete options",id:"delete-options",level:3},{value:"Similar select based fields",id:"similar-select-based-fields",level:2}],c={toc:d},p="wrapper";function u(e){let{components:t,...n}=e;return(0,o.kt)(p,(0,l.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"Multi Select")," fields allow you to select multiple options from a list of options. The options can be defined in the field configuration."),(0,o.kt)("h2",{id:"create-a-multi-select-field"},"Create a multi select field"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,o.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,o.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Select the field type as ",(0,o.kt)("inlineCode",{parentName:"li"},"MultiSelect")," from the dropdown."),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Add option")," button to add options."),(0,o.kt)("li",{parentName:"ol"},"Set default value for the field. The options are populated in the dropdown. Since its multi select, you can select multiple options as default value (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:i(33646).Z,width:"2874",height:"1554"})),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"Use of ",(0,o.kt)("inlineCode",{parentName:"p"},",")," is not allowed for option values.")),(0,o.kt)("h3",{id:"configure-color-for-options"},"Configure color for options"),(0,o.kt)("p",null,"You can re-configure background color for each option. This is useful when you want to highlight certain options. For example, you can configure ",(0,o.kt)("inlineCode",{parentName:"p"},"High")," option to have ",(0,o.kt)("inlineCode",{parentName:"p"},"red")," background color.\nTo configure, click on the ",(0,o.kt)("inlineCode",{parentName:"p"},"color")," icon next to the option. Select the color from the color picker and click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:i(71343).Z,width:"2876",height:"1506"})),(0,o.kt)("h3",{id:"re-order-options"},"Re-order options"),(0,o.kt)("p",null,"You can re-order options by dragging and dropping the options. To re-order, click on the ",(0,o.kt)("inlineCode",{parentName:"p"},"drag")," icon next to the option and drag it to the desired position. Click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button to save the order."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:i(3176).Z,width:"2874",height:"1554"})),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The order defined for the options will be used in cells dropdown as well.")),(0,o.kt)("h3",{id:"edit-options"},"Edit options"),(0,o.kt)("p",null,"You can rename options by clicking on the associated option text box. Click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button to save the changes."),(0,o.kt)("h3",{id:"delete-options"},"Delete options"),(0,o.kt)("p",null,"You can delete options by clicking on the ",(0,o.kt)("inlineCode",{parentName:"p"},"x")," icon next to the option. You can undo the delete by clicking on the ",(0,o.kt)("inlineCode",{parentName:"p"},"undo")," icon next to the option. Click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button to save the changes."),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("ul",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ul"},"On removing an option, the option value will be removed from all the cells."),(0,o.kt)("li",{parentName:"ul"},"If the option value is set as default value for the field, then the default value will be removed."))),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:i(54381).Z,width:"2878",height:"1550"})),(0,o.kt)("h2",{id:"similar-select-based-fields"},"Similar select based fields"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/fields/field-types/select-based/single-select"},"Single select"))))}u.isMDXComponent=!0},33646:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/multiselect-d61aaaf3d7f5175b899af60f0ecd6225.png"},71343:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/options-change-colour-08270506854710a13f2945a006fd3779.png"},54381:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/options-remove-9e5b6dcf0682be419ac34c21db0b5716.png"},3176:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/options-reorder-1ee3cf6240593e4055bd781a0c116949.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1179],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>m});var l=i(67294);function o(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function a(e){for(var t=1;t=0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}var s=l.createContext({}),d=function(e){var t=l.useContext(s),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},c=function(e){var t=d(e.components);return l.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},f=l.forwardRef((function(e,t){var i=e.components,o=e.mdxType,n=e.originalType,s=e.parentName,c=r(e,["components","mdxType","originalType","parentName"]),p=d(i),f=o,m=p["".concat(s,".").concat(f)]||p[f]||u[f]||n;return i?l.createElement(m,a(a({ref:t},c),{},{components:i})):l.createElement(m,a({ref:t},c))}));function m(e,t){var i=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=i.length,a=new Array(n);a[0]=f;var r={};for(var s in t)hasOwnProperty.call(t,s)&&(r[s]=t[s]);r.originalType=e,r[p]="string"==typeof e?e:o,a[1]=r;for(var d=2;d{i.r(t),i.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>n,metadata:()=>r,toc:()=>d});var l=i(87462),o=(i(67294),i(3905));const n={title:"Multi Select",description:"This article explains how to create & work with a Multi select field.",tags:["Fields","Field types","Select based types","Multi select"],keywords:["Fields","Field types","Select based types","Multi select","Create multi select field"]},a=void 0,r={unversionedId:"fields/field-types/select-based/multi-select",id:"fields/field-types/select-based/multi-select",title:"Multi Select",description:"This article explains how to create & work with a Multi select field.",source:"@site/docs/070.fields/040.field-types/030.select-based/020.multi-select.md",sourceDirName:"070.fields/040.field-types/030.select-based",slug:"/fields/field-types/select-based/multi-select",permalink:"/fields/field-types/select-based/multi-select",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/030.select-based/020.multi-select.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Select based types",permalink:"/tags/select-based-types"},{label:"Multi select",permalink:"/tags/multi-select"}],version:"current",sidebarPosition:20,frontMatter:{title:"Multi Select",description:"This article explains how to create & work with a Multi select field.",tags:["Fields","Field types","Select based types","Multi select"],keywords:["Fields","Field types","Select based types","Multi select","Create multi select field"]},sidebar:"tutorialSidebar",previous:{title:"Checkbox",permalink:"/fields/field-types/select-based/checkbox"},next:{title:"Rating",permalink:"/fields/field-types/select-based/rating"}},s={},d=[{value:"Create a multi select field",id:"create-a-multi-select-field",level:2},{value:"Configure color for options",id:"configure-color-for-options",level:3},{value:"Re-order options",id:"re-order-options",level:3},{value:"Edit options",id:"edit-options",level:3},{value:"Delete options",id:"delete-options",level:3},{value:"Similar select based fields",id:"similar-select-based-fields",level:2}],c={toc:d},p="wrapper";function u(e){let{components:t,...n}=e;return(0,o.kt)(p,(0,l.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"Multi Select")," fields allow you to select multiple options from a list of options. The options can be defined in the field configuration."),(0,o.kt)("h2",{id:"create-a-multi-select-field"},"Create a multi select field"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,o.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,o.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Select the field type as ",(0,o.kt)("inlineCode",{parentName:"li"},"MultiSelect")," from the dropdown."),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Add option")," button to add options."),(0,o.kt)("li",{parentName:"ol"},"Set default value for the field. The options are populated in the dropdown. Since its multi select, you can select multiple options as default value (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:i(14607).Z,width:"2874",height:"1554"})),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"Use of ",(0,o.kt)("inlineCode",{parentName:"p"},",")," is not allowed for option values.")),(0,o.kt)("h3",{id:"configure-color-for-options"},"Configure color for options"),(0,o.kt)("p",null,"You can re-configure background color for each option. This is useful when you want to highlight certain options. For example, you can configure ",(0,o.kt)("inlineCode",{parentName:"p"},"High")," option to have ",(0,o.kt)("inlineCode",{parentName:"p"},"red")," background color.\nTo configure, click on the ",(0,o.kt)("inlineCode",{parentName:"p"},"color")," icon next to the option. Select the color from the color picker and click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:i(92777).Z,width:"2876",height:"1506"})),(0,o.kt)("h3",{id:"re-order-options"},"Re-order options"),(0,o.kt)("p",null,"You can re-order options by dragging and dropping the options. To re-order, click on the ",(0,o.kt)("inlineCode",{parentName:"p"},"drag")," icon next to the option and drag it to the desired position. Click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button to save the order."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:i(48379).Z,width:"2874",height:"1554"})),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The order defined for the options will be used in cells dropdown as well.")),(0,o.kt)("h3",{id:"edit-options"},"Edit options"),(0,o.kt)("p",null,"You can rename options by clicking on the associated option text box. Click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button to save the changes."),(0,o.kt)("h3",{id:"delete-options"},"Delete options"),(0,o.kt)("p",null,"You can delete options by clicking on the ",(0,o.kt)("inlineCode",{parentName:"p"},"x")," icon next to the option. You can undo the delete by clicking on the ",(0,o.kt)("inlineCode",{parentName:"p"},"undo")," icon next to the option. Click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Save Field")," button to save the changes."),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("ul",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ul"},"On removing an option, the option value will be removed from all the cells."),(0,o.kt)("li",{parentName:"ul"},"If the option value is set as default value for the field, then the default value will be removed."))),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:i(81756).Z,width:"2878",height:"1550"})),(0,o.kt)("h2",{id:"similar-select-based-fields"},"Similar select based fields"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/fields/field-types/select-based/single-select"},"Single select"))))}u.isMDXComponent=!0},14607:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/multiselect-d61aaaf3d7f5175b899af60f0ecd6225.png"},92777:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/options-change-colour-08270506854710a13f2945a006fd3779.png"},81756:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/options-remove-9e5b6dcf0682be419ac34c21db0b5716.png"},48379:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/options-reorder-1ee3cf6240593e4055bd781a0c116949.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/3721b01f.84024fe5.js b/packages/noco-docs/dist/assets/js/3721b01f.84024fe5.js deleted file mode 100644 index b3e5a14f92..0000000000 --- a/packages/noco-docs/dist/assets/js/3721b01f.84024fe5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1471],{83769:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/41a696e1.43fd38a6.js b/packages/noco-docs/dist/assets/js/41a696e1.43fd38a6.js new file mode 100644 index 0000000000..f51a272de9 --- /dev/null +++ b/packages/noco-docs/dist/assets/js/41a696e1.43fd38a6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5146],{58137:e=>{e.exports=JSON.parse('{"name":"docusaurus-theme-search-typesense","id":"default"}')}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/4bab5100.4d7693a9.js b/packages/noco-docs/dist/assets/js/4bab5100.60e426da.js similarity index 96% rename from packages/noco-docs/dist/assets/js/4bab5100.4d7693a9.js rename to packages/noco-docs/dist/assets/js/4bab5100.60e426da.js index 09d3ec1180..c8c6bf0416 100644 --- a/packages/noco-docs/dist/assets/js/4bab5100.4d7693a9.js +++ b/packages/noco-docs/dist/assets/js/4bab5100.60e426da.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5207],{3905:(e,a,t)=>{t.d(a,{Zo:()=>c,kt:()=>d});var r=t(67294);function o(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function s(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function n(e){for(var a=1;a=0||(o[t]=e[t]);return o}(e,a);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var i=r.createContext({}),b=function(e){var a=r.useContext(i),t=a;return e&&(t="function"==typeof e?e(a):n(n({},a),e)),t},c=function(e){var a=b(e.components);return r.createElement(i.Provider,{value:a},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},u=r.forwardRef((function(e,a){var t=e.components,o=e.mdxType,s=e.originalType,i=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=b(t),u=o,d=p["".concat(i,".").concat(u)]||p[u]||m[u]||s;return t?r.createElement(d,n(n({ref:a},c),{},{components:t})):r.createElement(d,n({ref:a},c))}));function d(e,a){var t=arguments,o=a&&a.mdxType;if("string"==typeof e||o){var s=t.length,n=new Array(s);n[0]=u;var l={};for(var i in a)hasOwnProperty.call(a,i)&&(l[i]=a[i]);l.originalType=e,l[p]="string"==typeof e?e:o,n[1]=l;for(var b=2;b{t.r(a),t.d(a,{assets:()=>i,contentTitle:()=>n,default:()=>m,frontMatter:()=>s,metadata:()=>l,toc:()=>b});var r=t(87462),o=(t(67294),t(3905));const s={title:"Base collaboration",description:"Invite team members to work on a base",tags:["Bases","Collaboration","Members","Invite","Roles","Permissions"],keywords:["NocoDB base","base collaboration"]},n=void 0,l={unversionedId:"bases/base-collaboration",id:"bases/base-collaboration",title:"Base collaboration",description:"Invite team members to work on a base",source:"@site/docs/040.bases/050.base-collaboration.md",sourceDirName:"040.bases",slug:"/bases/base-collaboration",permalink:"/bases/base-collaboration",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/040.bases/050.base-collaboration.md",tags:[{label:"Bases",permalink:"/tags/bases"},{label:"Collaboration",permalink:"/tags/collaboration"},{label:"Members",permalink:"/tags/members"},{label:"Invite",permalink:"/tags/invite"},{label:"Roles",permalink:"/tags/roles"},{label:"Permissions",permalink:"/tags/permissions"}],version:"current",sidebarPosition:50,frontMatter:{title:"Base collaboration",description:"Invite team members to work on a base",tags:["Bases","Collaboration","Members","Invite","Roles","Permissions"],keywords:["NocoDB base","base collaboration"]},sidebar:"tutorialSidebar",previous:{title:"Import Airtable to NocoDB",permalink:"/bases/import-base-from-airtable"},next:{title:"Share base",permalink:"/bases/share-base"}},i={},b=[{value:"Related articles",id:"related-articles",level:2}],c={toc:b},p="wrapper";function m(e){let{components:a,...s}=e;return(0,o.kt)(p,(0,r.Z)({},c,s,{components:a,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"A member added to a workspace will carry his assigned role specific permissions to all the base with in workspace. To override member permissions to your base, please follow steps outlined below:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Go to the left sidebar and select ",(0,o.kt)("inlineCode",{parentName:"li"},"Base name")," to access the ",(0,o.kt)("inlineCode",{parentName:"li"},"Base Dashboard.")),(0,o.kt)("li",{parentName:"ol"},"Click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"Members")," tab."),(0,o.kt)("li",{parentName:"ol"},"Use the dropdown menu to specify the access permissions for the member you wish to collaborate."),(0,o.kt)("li",{parentName:"ol"},"Finalize the process by assigning the desired role to the user.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:t(54861).Z,width:"2878",height:"1408"})),(0,o.kt)("p",null,"More details about roles & permissions can be found ",(0,o.kt)("a",{parentName:"p",href:"/roles-and-permissions/roles-permissions-overview"},"here"),"."),(0,o.kt)("h2",{id:"related-articles"},"Related articles"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/base-overview"},"Base overview")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/create-base"},"Create an empty base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/import-base-from-airtable"},"Import base from Airtable")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/base-collaboration"},"Invite team members to work on a base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/share-base"},"Share base publicly")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#rename-base"},"Rename base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#duplicate-base"},"Duplicate base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#star-base"},"Bookmark base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#delete-base"},"Delete base"))))}m.isMDXComponent=!0},54861:(e,a,t)=>{t.d(a,{Z:()=>r});const r=t.p+"assets/images/base-collaboration-7c992951b09e76dec15cd8d15c04fece.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5207],{3905:(e,a,t)=>{t.d(a,{Zo:()=>c,kt:()=>d});var r=t(67294);function o(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function s(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function n(e){for(var a=1;a=0||(o[t]=e[t]);return o}(e,a);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var i=r.createContext({}),b=function(e){var a=r.useContext(i),t=a;return e&&(t="function"==typeof e?e(a):n(n({},a),e)),t},c=function(e){var a=b(e.components);return r.createElement(i.Provider,{value:a},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},u=r.forwardRef((function(e,a){var t=e.components,o=e.mdxType,s=e.originalType,i=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=b(t),u=o,d=p["".concat(i,".").concat(u)]||p[u]||m[u]||s;return t?r.createElement(d,n(n({ref:a},c),{},{components:t})):r.createElement(d,n({ref:a},c))}));function d(e,a){var t=arguments,o=a&&a.mdxType;if("string"==typeof e||o){var s=t.length,n=new Array(s);n[0]=u;var l={};for(var i in a)hasOwnProperty.call(a,i)&&(l[i]=a[i]);l.originalType=e,l[p]="string"==typeof e?e:o,n[1]=l;for(var b=2;b{t.r(a),t.d(a,{assets:()=>i,contentTitle:()=>n,default:()=>m,frontMatter:()=>s,metadata:()=>l,toc:()=>b});var r=t(87462),o=(t(67294),t(3905));const s={title:"Base collaboration",description:"Invite team members to work on a base",tags:["Bases","Collaboration","Members","Invite","Roles","Permissions"],keywords:["NocoDB base","base collaboration"]},n=void 0,l={unversionedId:"bases/base-collaboration",id:"bases/base-collaboration",title:"Base collaboration",description:"Invite team members to work on a base",source:"@site/docs/040.bases/050.base-collaboration.md",sourceDirName:"040.bases",slug:"/bases/base-collaboration",permalink:"/bases/base-collaboration",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/040.bases/050.base-collaboration.md",tags:[{label:"Bases",permalink:"/tags/bases"},{label:"Collaboration",permalink:"/tags/collaboration"},{label:"Members",permalink:"/tags/members"},{label:"Invite",permalink:"/tags/invite"},{label:"Roles",permalink:"/tags/roles"},{label:"Permissions",permalink:"/tags/permissions"}],version:"current",sidebarPosition:50,frontMatter:{title:"Base collaboration",description:"Invite team members to work on a base",tags:["Bases","Collaboration","Members","Invite","Roles","Permissions"],keywords:["NocoDB base","base collaboration"]},sidebar:"tutorialSidebar",previous:{title:"Import Airtable to NocoDB",permalink:"/bases/import-base-from-airtable"},next:{title:"Share base",permalink:"/bases/share-base"}},i={},b=[{value:"Related articles",id:"related-articles",level:2}],c={toc:b},p="wrapper";function m(e){let{components:a,...s}=e;return(0,o.kt)(p,(0,r.Z)({},c,s,{components:a,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"A member added to a workspace will carry his assigned role specific permissions to all the base with in workspace. To override member permissions to your base, please follow steps outlined below:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Go to the left sidebar and select ",(0,o.kt)("inlineCode",{parentName:"li"},"Base name")," to access the ",(0,o.kt)("inlineCode",{parentName:"li"},"Base Dashboard.")),(0,o.kt)("li",{parentName:"ol"},"Click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"Members")," tab."),(0,o.kt)("li",{parentName:"ol"},"Use the dropdown menu to specify the access permissions for the member you wish to collaborate."),(0,o.kt)("li",{parentName:"ol"},"Finalize the process by assigning the desired role to the user.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:t(80183).Z,width:"2880",height:"1800"})),(0,o.kt)("p",null,"More details about roles & permissions can be found ",(0,o.kt)("a",{parentName:"p",href:"/roles-and-permissions/roles-permissions-overview"},"here"),"."),(0,o.kt)("h2",{id:"related-articles"},"Related articles"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/base-overview"},"Base overview")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/create-base"},"Create an empty base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/import-base-from-airtable"},"Import base from Airtable")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/base-collaboration"},"Invite team members to work on a base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/share-base"},"Share base publicly")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#rename-base"},"Rename base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#duplicate-base"},"Duplicate base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#star-base"},"Bookmark base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#delete-base"},"Delete base"))))}m.isMDXComponent=!0},80183:(e,a,t)=>{t.d(a,{Z:()=>r});const r=t.p+"assets/images/base-collaboration-7c992951b09e76dec15cd8d15c04fece.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/4cd0de40.8614d0f0.js b/packages/noco-docs/dist/assets/js/4cd0de40.cf1cb2a2.js similarity index 80% rename from packages/noco-docs/dist/assets/js/4cd0de40.8614d0f0.js rename to packages/noco-docs/dist/assets/js/4cd0de40.cf1cb2a2.js index 94d202de60..511d3f6a30 100644 --- a/packages/noco-docs/dist/assets/js/4cd0de40.8614d0f0.js +++ b/packages/noco-docs/dist/assets/js/4cd0de40.cf1cb2a2.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1730],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>m});var a=r(67294);function l(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t=0||(l[r]=e[r]);return l}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}var d=a.createContext({}),s=function(e){var t=a.useContext(d),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=s(e.components);return a.createElement(d.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},f=a.forwardRef((function(e,t){var r=e.components,l=e.mdxType,o=e.originalType,d=e.parentName,p=n(e,["components","mdxType","originalType","parentName"]),c=s(r),f=l,m=c["".concat(d,".").concat(f)]||c[f]||u[f]||o;return r?a.createElement(m,i(i({ref:t},p),{},{components:r})):a.createElement(m,i({ref:t},p))}));function m(e,t){var r=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var o=r.length,i=new Array(o);i[0]=f;var n={};for(var d in t)hasOwnProperty.call(t,d)&&(n[d]=t[d]);n.originalType=e,n[c]="string"==typeof e?e:l,i[1]=n;for(var s=2;s{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>n,toc:()=>s});var a=r(87462),l=(r(67294),r(3905));const o={title:"Barcode",description:"This article explains how to create & work with a Barcode field.",tags:["Fields","Field types","Custom types","Barcode"],keywords:["Fields","Field types","Custom types","Barcode","Create barcode field"]},i=void 0,n={unversionedId:"fields/field-types/custom-types/barcode",id:"fields/field-types/custom-types/barcode",title:"Barcode",description:"This article explains how to create & work with a Barcode field.",source:"@site/docs/070.fields/040.field-types/050.custom-types/050.barcode.md",sourceDirName:"070.fields/040.field-types/050.custom-types",slug:"/fields/field-types/custom-types/barcode",permalink:"/fields/field-types/custom-types/barcode",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/050.custom-types/050.barcode.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"Barcode",permalink:"/tags/barcode"}],version:"current",sidebarPosition:50,frontMatter:{title:"Barcode",description:"This article explains how to create & work with a Barcode field.",tags:["Fields","Field types","Custom types","Barcode"],keywords:["Fields","Field types","Custom types","Barcode","Create barcode field"]},sidebar:"tutorialSidebar",previous:{title:"QR code",permalink:"/fields/field-types/custom-types/QR-code"},next:{title:"Geometry",permalink:"/fields/field-types/custom-types/geometry"}},d={},s=[{value:"Create a barcode field",id:"create-a-barcode-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"Supported barcode types",id:"supported-barcode-types",level:3},{value:"Related fields",id:"related-fields",level:2}],p={toc:s},c="wrapper";function u(e){let{components:t,...o}=e;return(0,l.kt)(c,(0,a.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"Barcode")," is a custom field type that allows you to generate a barcode from a string value. This is useful for generating barcodes for things like URLs, phone numbers, or other data that can be represented as a string."),(0,l.kt)("p",null,"The following field types are supported for the for reference field:"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Formula"),(0,l.kt)("li",{parentName:"ul"},"Single Line Text"),(0,l.kt)("li",{parentName:"ul"},"Long Text"),(0,l.kt)("li",{parentName:"ul"},"Phone Number"),(0,l.kt)("li",{parentName:"ul"},"URL"),(0,l.kt)("li",{parentName:"ul"},"Email")),(0,l.kt)("h2",{id:"create-a-barcode-field"},"Create a barcode field"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Click on ",(0,l.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,l.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,l.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,l.kt)("li",{parentName:"ol"},"Select the field type as ",(0,l.kt)("inlineCode",{parentName:"li"},"Barcode")," from the dropdown."),(0,l.kt)("li",{parentName:"ol"},"Select the field to be used as the source for the barcode."),(0,l.kt)("li",{parentName:"ol"},"Select the barcode type from the dropdown."),(0,l.kt)("li",{parentName:"ol"},"Click on ",(0,l.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:r(53726).Z,width:"2878",height:"1294"})),(0,l.kt)("h3",{id:"cell-display"},"Cell display"),(0,l.kt)("p",null,"Cell displays the barcode generated from the source field. Click on the cell to open enlarged view of the QR code."),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:r(35997).Z,width:"948",height:"546"}),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("img",{alt:"image",src:r(81022).Z,width:"946",height:"386"})," "),(0,l.kt)("h3",{id:"supported-barcode-types"},"Supported barcode types"),(0,l.kt)("p",null,"NocoDB supports the following barcode types for the barcode field type."),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"CODE128 "),(0,l.kt)("li",{parentName:"ul"},"EAN"),(0,l.kt)("li",{parentName:"ul"},"EAN-13"),(0,l.kt)("li",{parentName:"ul"},"EAN-8"),(0,l.kt)("li",{parentName:"ul"},"EAN-5"),(0,l.kt)("li",{parentName:"ul"},"EAN-2"),(0,l.kt)("li",{parentName:"ul"},"UPC (A)"),(0,l.kt)("li",{parentName:"ul"},"CODE39"),(0,l.kt)("li",{parentName:"ul"},"ITF-14"),(0,l.kt)("li",{parentName:"ul"},"MSI"),(0,l.kt)("li",{parentName:"ul"},"Pharma code"),(0,l.kt)("li",{parentName:"ul"},"Coda bar")),(0,l.kt)("h2",{id:"related-fields"},"Related fields"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/fields/field-types/custom-types/QR-code"},"QR code"))))}u.isMDXComponent=!0},35997:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/barcode-cell-5e6612ed1460a61d5e51629f7b068d35.png"},81022:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/barcode-expand-29f49619f7b7dd014841681482c8a8af.png"},53726:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/barcode-a4164f41826b6ad850b8672d09f0457c.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1730],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>m});var a=r(67294);function l(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t=0||(l[r]=e[r]);return l}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}var d=a.createContext({}),s=function(e){var t=a.useContext(d),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=s(e.components);return a.createElement(d.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},f=a.forwardRef((function(e,t){var r=e.components,l=e.mdxType,o=e.originalType,d=e.parentName,p=n(e,["components","mdxType","originalType","parentName"]),c=s(r),f=l,m=c["".concat(d,".").concat(f)]||c[f]||u[f]||o;return r?a.createElement(m,i(i({ref:t},p),{},{components:r})):a.createElement(m,i({ref:t},p))}));function m(e,t){var r=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var o=r.length,i=new Array(o);i[0]=f;var n={};for(var d in t)hasOwnProperty.call(t,d)&&(n[d]=t[d]);n.originalType=e,n[c]="string"==typeof e?e:l,i[1]=n;for(var s=2;s{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>n,toc:()=>s});var a=r(87462),l=(r(67294),r(3905));const o={title:"Barcode",description:"This article explains how to create & work with a Barcode field.",tags:["Fields","Field types","Custom types","Barcode"],keywords:["Fields","Field types","Custom types","Barcode","Create barcode field"]},i=void 0,n={unversionedId:"fields/field-types/custom-types/barcode",id:"fields/field-types/custom-types/barcode",title:"Barcode",description:"This article explains how to create & work with a Barcode field.",source:"@site/docs/070.fields/040.field-types/050.custom-types/050.barcode.md",sourceDirName:"070.fields/040.field-types/050.custom-types",slug:"/fields/field-types/custom-types/barcode",permalink:"/fields/field-types/custom-types/barcode",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/050.custom-types/050.barcode.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"Barcode",permalink:"/tags/barcode"}],version:"current",sidebarPosition:50,frontMatter:{title:"Barcode",description:"This article explains how to create & work with a Barcode field.",tags:["Fields","Field types","Custom types","Barcode"],keywords:["Fields","Field types","Custom types","Barcode","Create barcode field"]},sidebar:"tutorialSidebar",previous:{title:"QR code",permalink:"/fields/field-types/custom-types/QR-code"},next:{title:"Geometry",permalink:"/fields/field-types/custom-types/geometry"}},d={},s=[{value:"Create a barcode field",id:"create-a-barcode-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"Supported barcode types",id:"supported-barcode-types",level:3},{value:"Related fields",id:"related-fields",level:2}],p={toc:s},c="wrapper";function u(e){let{components:t,...o}=e;return(0,l.kt)(c,(0,a.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"Barcode")," is a custom field type that allows you to generate a barcode from a string value. This is useful for generating barcodes for things like URLs, phone numbers, or other data that can be represented as a string."),(0,l.kt)("p",null,"The following field types are supported for the for reference field:"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Formula"),(0,l.kt)("li",{parentName:"ul"},"Single Line Text"),(0,l.kt)("li",{parentName:"ul"},"Long Text"),(0,l.kt)("li",{parentName:"ul"},"Phone Number"),(0,l.kt)("li",{parentName:"ul"},"URL"),(0,l.kt)("li",{parentName:"ul"},"Email")),(0,l.kt)("h2",{id:"create-a-barcode-field"},"Create a barcode field"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Click on ",(0,l.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,l.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,l.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,l.kt)("li",{parentName:"ol"},"Select the field type as ",(0,l.kt)("inlineCode",{parentName:"li"},"Barcode")," from the dropdown."),(0,l.kt)("li",{parentName:"ol"},"Select the field to be used as the source for the barcode."),(0,l.kt)("li",{parentName:"ol"},"Select the barcode type from the dropdown."),(0,l.kt)("li",{parentName:"ol"},"Click on ",(0,l.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:r(18699).Z,width:"2878",height:"1294"})),(0,l.kt)("h3",{id:"cell-display"},"Cell display"),(0,l.kt)("p",null,"Cell displays the barcode generated from the source field. Click on the cell to open enlarged view of the QR code."),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:r(20631).Z,width:"948",height:"546"}),(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("img",{alt:"image",src:r(6416).Z,width:"946",height:"386"})," "),(0,l.kt)("h3",{id:"supported-barcode-types"},"Supported barcode types"),(0,l.kt)("p",null,"NocoDB supports the following barcode types for the barcode field type."),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"CODE128 "),(0,l.kt)("li",{parentName:"ul"},"EAN"),(0,l.kt)("li",{parentName:"ul"},"EAN-13"),(0,l.kt)("li",{parentName:"ul"},"EAN-8"),(0,l.kt)("li",{parentName:"ul"},"EAN-5"),(0,l.kt)("li",{parentName:"ul"},"EAN-2"),(0,l.kt)("li",{parentName:"ul"},"UPC (A)"),(0,l.kt)("li",{parentName:"ul"},"CODE39"),(0,l.kt)("li",{parentName:"ul"},"ITF-14"),(0,l.kt)("li",{parentName:"ul"},"MSI"),(0,l.kt)("li",{parentName:"ul"},"Pharma code"),(0,l.kt)("li",{parentName:"ul"},"Coda bar")),(0,l.kt)("h2",{id:"related-fields"},"Related fields"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/fields/field-types/custom-types/QR-code"},"QR code"))))}u.isMDXComponent=!0},20631:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/barcode-cell-5e6612ed1460a61d5e51629f7b068d35.png"},6416:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/barcode-expand-29f49619f7b7dd014841681482c8a8af.png"},18699:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/barcode-a4164f41826b6ad850b8672d09f0457c.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/4efb7b3c.e1f85cdf.js b/packages/noco-docs/dist/assets/js/4efb7b3c.56b61c32.js similarity index 75% rename from packages/noco-docs/dist/assets/js/4efb7b3c.e1f85cdf.js rename to packages/noco-docs/dist/assets/js/4efb7b3c.56b61c32.js index 359248c676..33bcd55987 100644 --- a/packages/noco-docs/dist/assets/js/4efb7b3c.e1f85cdf.js +++ b/packages/noco-docs/dist/assets/js/4efb7b3c.56b61c32.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3755],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),p=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),s=p(r),g=a,m=s["".concat(l,".").concat(g)]||s[g]||d[g]||i;return r?n.createElement(m,o(o({ref:t},u),{},{components:r})):n.createElement(m,o({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=g;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[s]="string"==typeof e?e:a,o[1]=c;for(var p=2;p{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var n=r(87462),a=(r(67294),r(3905));const i={title:"Architecture overview",description:"Simple overview of NocoDB architecture",tags:["Engineering"],hide_table_of_contents:!0},o=void 0,c={unversionedId:"engineering/architecture",id:"engineering/architecture",title:"Architecture overview",description:"Simple overview of NocoDB architecture",source:"@site/docs/150.engineering/010.architecture.md",sourceDirName:"150.engineering",slug:"/engineering/architecture",permalink:"/engineering/architecture",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/150.engineering/010.architecture.md",tags:[{label:"Engineering",permalink:"/tags/engineering"}],version:"current",sidebarPosition:10,frontMatter:{title:"Architecture overview",description:"Simple overview of NocoDB architecture",tags:["Engineering"],hide_table_of_contents:!0},sidebar:"tutorialSidebar",previous:{title:"In Open Source",permalink:"/account-settings/oss-specific-details"},next:{title:"Repository structure",permalink:"/engineering/repository-structure"}},l={},p=[],u={toc:p},s="wrapper";function d(e){let{components:t,...i}=e;return(0,a.kt)(s,(0,n.Z)({},u,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"By default, if ",(0,a.kt)("inlineCode",{parentName:"p"},"NC_DB")," is not specified, then SQLite will be used to store your metadata. We suggest users to separate the metadata and user data in different databases."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:r(19883).Z,width:"528",height:"615"})),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Project Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Metadata stored in"),(0,a.kt)("th",{parentName:"tr",align:null},"Data stored in"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Create new project"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Create new project with External Database"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB"),(0,a.kt)("td",{parentName:"tr",align:null},"External Database")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Create new project from Excel"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB")))))}d.isMDXComponent=!0},19883:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/architecture-0ae1ed245ed474936af018fb5fa06792.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3755],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),p=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),s=p(r),g=a,m=s["".concat(l,".").concat(g)]||s[g]||d[g]||i;return r?n.createElement(m,o(o({ref:t},u),{},{components:r})):n.createElement(m,o({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=g;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[s]="string"==typeof e?e:a,o[1]=c;for(var p=2;p{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var n=r(87462),a=(r(67294),r(3905));const i={title:"Architecture overview",description:"Simple overview of NocoDB architecture",tags:["Engineering"],hide_table_of_contents:!0},o=void 0,c={unversionedId:"engineering/architecture",id:"engineering/architecture",title:"Architecture overview",description:"Simple overview of NocoDB architecture",source:"@site/docs/150.engineering/010.architecture.md",sourceDirName:"150.engineering",slug:"/engineering/architecture",permalink:"/engineering/architecture",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/150.engineering/010.architecture.md",tags:[{label:"Engineering",permalink:"/tags/engineering"}],version:"current",sidebarPosition:10,frontMatter:{title:"Architecture overview",description:"Simple overview of NocoDB architecture",tags:["Engineering"],hide_table_of_contents:!0},sidebar:"tutorialSidebar",previous:{title:"In Open Source",permalink:"/account-settings/oss-specific-details"},next:{title:"Repository structure",permalink:"/engineering/repository-structure"}},l={},p=[],u={toc:p},s="wrapper";function d(e){let{components:t,...i}=e;return(0,a.kt)(s,(0,n.Z)({},u,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"By default, if ",(0,a.kt)("inlineCode",{parentName:"p"},"NC_DB")," is not specified, then SQLite will be used to store your metadata. We suggest users to separate the metadata and user data in different databases."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:r(55706).Z,width:"1024",height:"1200"})),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Project Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Metadata stored in"),(0,a.kt)("th",{parentName:"tr",align:null},"Data stored in"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Create new project"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Create new project with External Database"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB"),(0,a.kt)("td",{parentName:"tr",align:null},"External Database")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Create new project from Excel"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB")))))}d.isMDXComponent=!0},55706:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/architecture-0ae1ed245ed474936af018fb5fa06792.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/525fa7b4.7415cceb.js b/packages/noco-docs/dist/assets/js/525fa7b4.419b445c.js similarity index 87% rename from packages/noco-docs/dist/assets/js/525fa7b4.7415cceb.js rename to packages/noco-docs/dist/assets/js/525fa7b4.419b445c.js index 597a89168e..2741437cc0 100644 --- a/packages/noco-docs/dist/assets/js/525fa7b4.7415cceb.js +++ b/packages/noco-docs/dist/assets/js/525fa7b4.419b445c.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3469],{3905:(e,t,l)=>{l.d(t,{Zo:()=>c,kt:()=>m});var r=l(67294);function o(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function i(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,r)}return l}function n(e){for(var t=1;t=0||(o[l]=e[l]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(o[l]=e[l])}return o}var s=r.createContext({}),d=function(e){var t=r.useContext(s),l=t;return e&&(l="function"==typeof e?e(t):n(n({},t),e)),l},c=function(e){var t=d(e.components);return r.createElement(s.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var l=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),p=d(l),u=o,m=p["".concat(s,".").concat(u)]||p[u]||f[u]||i;return l?r.createElement(m,n(n({ref:t},c),{},{components:l})):r.createElement(m,n({ref:t},c))}));function m(e,t){var l=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=l.length,n=new Array(i);n[0]=u;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[p]="string"==typeof e?e:o,n[1]=a;for(var d=2;d{l.r(t),l.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>f,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var r=l(87462),o=(l(67294),l(3905));const i={title:"QR code",description:"This article explains how to create & work with a QR code field.",tags:["Fields","Field types","Custom types","QR code"],keywords:["Fields","Field types","Custom types","QR code","Create QR code field"]},n=void 0,a={unversionedId:"fields/field-types/custom-types/QR-code",id:"fields/field-types/custom-types/QR-code",title:"QR code",description:"This article explains how to create & work with a QR code field.",source:"@site/docs/070.fields/040.field-types/050.custom-types/040.QR-code.md",sourceDirName:"070.fields/040.field-types/050.custom-types",slug:"/fields/field-types/custom-types/QR-code",permalink:"/fields/field-types/custom-types/QR-code",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/050.custom-types/040.QR-code.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"QR code",permalink:"/tags/qr-code"}],version:"current",sidebarPosition:40,frontMatter:{title:"QR code",description:"This article explains how to create & work with a QR code field.",tags:["Fields","Field types","Custom types","QR code"],keywords:["Fields","Field types","Custom types","QR code","Create QR code field"]},sidebar:"tutorialSidebar",previous:{title:"Attachment",permalink:"/fields/field-types/custom-types/attachment"},next:{title:"Barcode",permalink:"/fields/field-types/custom-types/barcode"}},s={},d=[{value:"Create a QR code field",id:"create-a-qr-code-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"Related fields",id:"related-fields",level:2}],c={toc:d},p="wrapper";function f(e){let{components:t,...i}=e;return(0,o.kt)(p,(0,r.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"QR code")," is a custom field type that allows you to generate a QR code from a string value. This is useful for generating QR codes for things like URLs, phone numbers, or other data that can be represented as a string."),(0,o.kt)("p",null,"The following field types are supported for the reference field:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Formula"),(0,o.kt)("li",{parentName:"ul"},"Single Line Text"),(0,o.kt)("li",{parentName:"ul"},"Long Text"),(0,o.kt)("li",{parentName:"ul"},"Phone Number"),(0,o.kt)("li",{parentName:"ul"},"URL"),(0,o.kt)("li",{parentName:"ul"},"Email")),(0,o.kt)("h2",{id:"create-a-qr-code-field"},"Create a QR code field"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,o.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,o.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Select the field type as ",(0,o.kt)("inlineCode",{parentName:"li"},"QR Code")," from the dropdown."),(0,o.kt)("li",{parentName:"ol"},"Select the field to be used as the source for the QR code."),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:l(40543).Z,width:"2876",height:"1198"})),(0,o.kt)("h3",{id:"cell-display"},"Cell display"),(0,o.kt)("p",null,"Cell displays the QR code generated from the source field. Click on the cell to open enlarged view of the QR code."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:l(86789).Z,width:"948",height:"666"}),(0,o.kt)("br",{parentName:"p"}),"\n",(0,o.kt)("img",{alt:"image",src:l(61025).Z,width:"947",height:"704"})," "),(0,o.kt)("h2",{id:"related-fields"},"Related fields"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/fields/field-types/custom-types/barcode"},"Barcode"))))}f.isMDXComponent=!0},86789:(e,t,l)=>{l.d(t,{Z:()=>r});const r=l.p+"assets/images/qr-cell-display-4c407736d9529d363e9c5a5894d89064.png"},61025:(e,t,l)=>{l.d(t,{Z:()=>r});const r=l.p+"assets/images/qr-expand-71565f5a001bd474c52fd39577539d73.png"},40543:(e,t,l)=>{l.d(t,{Z:()=>r});const r=l.p+"assets/images/QR-46ddd7cfc009771eb6af72acb0e6124e.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3469],{3905:(e,t,l)=>{l.d(t,{Zo:()=>c,kt:()=>m});var r=l(67294);function o(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function i(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,r)}return l}function n(e){for(var t=1;t=0||(o[l]=e[l]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(o[l]=e[l])}return o}var s=r.createContext({}),d=function(e){var t=r.useContext(s),l=t;return e&&(l="function"==typeof e?e(t):n(n({},t),e)),l},c=function(e){var t=d(e.components);return r.createElement(s.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var l=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),p=d(l),u=o,m=p["".concat(s,".").concat(u)]||p[u]||f[u]||i;return l?r.createElement(m,n(n({ref:t},c),{},{components:l})):r.createElement(m,n({ref:t},c))}));function m(e,t){var l=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=l.length,n=new Array(i);n[0]=u;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[p]="string"==typeof e?e:o,n[1]=a;for(var d=2;d{l.r(t),l.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>f,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var r=l(87462),o=(l(67294),l(3905));const i={title:"QR code",description:"This article explains how to create & work with a QR code field.",tags:["Fields","Field types","Custom types","QR code"],keywords:["Fields","Field types","Custom types","QR code","Create QR code field"]},n=void 0,a={unversionedId:"fields/field-types/custom-types/QR-code",id:"fields/field-types/custom-types/QR-code",title:"QR code",description:"This article explains how to create & work with a QR code field.",source:"@site/docs/070.fields/040.field-types/050.custom-types/040.QR-code.md",sourceDirName:"070.fields/040.field-types/050.custom-types",slug:"/fields/field-types/custom-types/QR-code",permalink:"/fields/field-types/custom-types/QR-code",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/050.custom-types/040.QR-code.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"QR code",permalink:"/tags/qr-code"}],version:"current",sidebarPosition:40,frontMatter:{title:"QR code",description:"This article explains how to create & work with a QR code field.",tags:["Fields","Field types","Custom types","QR code"],keywords:["Fields","Field types","Custom types","QR code","Create QR code field"]},sidebar:"tutorialSidebar",previous:{title:"Attachment",permalink:"/fields/field-types/custom-types/attachment"},next:{title:"Barcode",permalink:"/fields/field-types/custom-types/barcode"}},s={},d=[{value:"Create a QR code field",id:"create-a-qr-code-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"Related fields",id:"related-fields",level:2}],c={toc:d},p="wrapper";function f(e){let{components:t,...i}=e;return(0,o.kt)(p,(0,r.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"QR code")," is a custom field type that allows you to generate a QR code from a string value. This is useful for generating QR codes for things like URLs, phone numbers, or other data that can be represented as a string."),(0,o.kt)("p",null,"The following field types are supported for the reference field:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Formula"),(0,o.kt)("li",{parentName:"ul"},"Single Line Text"),(0,o.kt)("li",{parentName:"ul"},"Long Text"),(0,o.kt)("li",{parentName:"ul"},"Phone Number"),(0,o.kt)("li",{parentName:"ul"},"URL"),(0,o.kt)("li",{parentName:"ul"},"Email")),(0,o.kt)("h2",{id:"create-a-qr-code-field"},"Create a QR code field"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,o.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,o.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Select the field type as ",(0,o.kt)("inlineCode",{parentName:"li"},"QR Code")," from the dropdown."),(0,o.kt)("li",{parentName:"ol"},"Select the field to be used as the source for the QR code."),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:l(95801).Z,width:"2876",height:"1198"})),(0,o.kt)("h3",{id:"cell-display"},"Cell display"),(0,o.kt)("p",null,"Cell displays the QR code generated from the source field. Click on the cell to open enlarged view of the QR code."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:l(3219).Z,width:"948",height:"666"}),(0,o.kt)("br",{parentName:"p"}),"\n",(0,o.kt)("img",{alt:"image",src:l(70418).Z,width:"947",height:"704"})," "),(0,o.kt)("h2",{id:"related-fields"},"Related fields"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/fields/field-types/custom-types/barcode"},"Barcode"))))}f.isMDXComponent=!0},3219:(e,t,l)=>{l.d(t,{Z:()=>r});const r=l.p+"assets/images/qr-cell-display-4c407736d9529d363e9c5a5894d89064.png"},70418:(e,t,l)=>{l.d(t,{Z:()=>r});const r=l.p+"assets/images/qr-expand-71565f5a001bd474c52fd39577539d73.png"},95801:(e,t,l)=>{l.d(t,{Z:()=>r});const r=l.p+"assets/images/QR-46ddd7cfc009771eb6af72acb0e6124e.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/5af3a857.77b6f910.js b/packages/noco-docs/dist/assets/js/5af3a857.8eaf3067.js similarity index 50% rename from packages/noco-docs/dist/assets/js/5af3a857.77b6f910.js rename to packages/noco-docs/dist/assets/js/5af3a857.8eaf3067.js index ac30d589ce..a512f87608 100644 --- a/packages/noco-docs/dist/assets/js/5af3a857.77b6f910.js +++ b/packages/noco-docs/dist/assets/js/5af3a857.8eaf3067.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[8838],{3905:(e,t,i)=>{i.d(t,{Zo:()=>m,kt:()=>h});var r=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function n(e){for(var t=1;t=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var s=r.createContext({}),d=function(e){var t=r.useContext(s),i=t;return e&&(i="function"==typeof e?e(t):n(n({},t),e)),i},m=function(e){var t=d(e.components);return r.createElement(s.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},c=r.forwardRef((function(e,t){var i=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,m=l(e,["components","mdxType","originalType","parentName"]),p=d(i),c=a,h=p["".concat(s,".").concat(c)]||p[c]||f[c]||o;return i?r.createElement(h,n(n({ref:t},m),{},{components:i})):r.createElement(h,n({ref:t},m))}));function h(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=i.length,n=new Array(o);n[0]=c;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:a,n[1]=l;for(var d=2;d{i.r(t),i.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>f,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var r=i(87462),a=(i(67294),i(3905));const o={title:"Form",description:"Learn how to create, import, and manage forms in NocoDB.",tags:["Views","Form view"],keywords:["NocoDB form","form view","form builder","form view builder","form view actions","form view operations"]},n=void 0,l={unversionedId:"views/view-types/form",id:"views/view-types/form",title:"Form",description:"Learn how to create, import, and manage forms in NocoDB.",source:"@site/docs/090.views/040.view-types/030.form.md",sourceDirName:"090.views/040.view-types",slug:"/views/view-types/form",permalink:"/views/view-types/form",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/040.view-types/030.form.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Form view",permalink:"/tags/form-view"}],version:"current",sidebarPosition:30,frontMatter:{title:"Form",description:"Learn how to create, import, and manage forms in NocoDB.",tags:["Views","Form view"],keywords:["NocoDB form","form view","form builder","form view builder","form view actions","form view operations"]},sidebar:"tutorialSidebar",previous:{title:"Gallery",permalink:"/views/view-types/gallery"},next:{title:"Kanban",permalink:"/views/view-types/kanban"}},s={},d=[{value:"Form View Builder",id:"form-view-builder",level:2},{value:"Form View Actions",id:"form-view-actions",level:2},{value:"Form View Operations",id:"form-view-operations",level:2},{value:"Add Form Title & Description",id:"add-form-title--description",level:3},{value:"Add Fields to the Form",id:"add-fields-to-the-form",level:3},{value:"Change field label & help-text",id:"change-field-label--help-text",level:3},{value:"Mark a Field as Required",id:"mark-a-field-as-required",level:3},{value:"Rearrange Fields Within the Form",id:"rearrange-fields-within-the-form",level:3},{value:"Remove Fields from the Form",id:"remove-fields-from-the-form",level:3},{value:"Add a New Field to the Table",id:"add-a-new-field-to-the-table",level:3},{value:"Form View Settings",id:"form-view-settings",level:3},{value:"Survey Form View",id:"survey-form-view",level:2},{value:"Related articles",id:"related-articles",level:2}],m={toc:d},p="wrapper";function f(e){let{components:t,...o}=e;return(0,a.kt)(p,(0,r.Z)({},m,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Form View allows you to arrange fields in a form to input data."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"1010-2 Form",src:i(36374).Z,width:"2880",height:"1800"})),(0,a.kt)("h2",{id:"form-view-builder"},"Form View Builder"),(0,a.kt)("p",null,"Form view builder layout can be divided into 3 sections:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Fields Area")," - This is the area where fields available in the tables that are not yet added to the form are listed. "),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Form Area")," - This is the area where fields added to the form are listed."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Form Settings")," - This is the area where you can configure the form view. This mainly consists of actions & customisations that can be performed after a form view is submitted.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Form Builder",src:i(85994).Z,width:"2880",height:"1800"})),(0,a.kt)("h2",{id:"form-view-actions"},"Form View Actions"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/create-view/#create-new-view"},"Create a New Form View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/actions-on-view#rename-view"},"Rename an Existing Form View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/actions-on-view#duplicate-view"},"Duplicate a Form View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/actions-on-view#delete-view"},"Remove a Form View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/share-view"},"Share a Form View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/views-overview#view-permission-types"},"Lock Form View for Edits"))),(0,a.kt)("h2",{id:"form-view-operations"},"Form View Operations"),(0,a.kt)("h3",{id:"add-form-title--description"},"Add Form Title & Description"),(0,a.kt)("p",null,"In the ",(0,a.kt)("strong",{parentName:"p"},"Form View")," area, click on in input boxes provided for ",(0,a.kt)("strong",{parentName:"p"},"Title")," <1> & ",(0,a.kt)("strong",{parentName:"p"},"Description")," <2> to add/update title & description to the form."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Form Title & Description",src:i(8037).Z,width:"2880",height:"1800"})),(0,a.kt)("h3",{id:"add-fields-to-the-form"},"Add Fields to the Form"),(0,a.kt)("p",null,"To add a field to the form, either"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Drag and drop the field from the ",(0,a.kt)("strong",{parentName:"li"},"Fields Area")," to the ",(0,a.kt)("strong",{parentName:"li"},"Form Area")," at required position"),(0,a.kt)("li",{parentName:"ul"},"Click on the field in the ",(0,a.kt)("strong",{parentName:"li"},"Fields Area")," to add it to the end of the ",(0,a.kt)("strong",{parentName:"li"},"Form Area"))),(0,a.kt)("h3",{id:"change-field-label--help-text"},"Change field label & help-text"),(0,a.kt)("p",null,"To change the field label displayed on the form & add help-text, click on the field in the ",(0,a.kt)("strong",{parentName:"p"},"Form Area")," and update the values in the input boxes provided for ",(0,a.kt)("strong",{parentName:"p"},"Label")," <1> & ",(0,a.kt)("strong",{parentName:"p"},"Help Text")," <2>."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Field Label & Help Text",src:i(69990).Z,width:"2880",height:"1800"})),(0,a.kt)("h3",{id:"mark-a-field-as-required"},"Mark a Field as Required"),(0,a.kt)("p",null,"To mark a field as required, click on the field in the ",(0,a.kt)("strong",{parentName:"p"},"Form Area")," and toggle the ",(0,a.kt)("inlineCode",{parentName:"p"},"Required")," switch."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Required Field",src:i(17750).Z,width:"2880",height:"1800"})),(0,a.kt)("h3",{id:"rearrange-fields-within-the-form"},"Rearrange Fields Within the Form"),(0,a.kt)("p",null,"To rearrange fields within the form, drag and drop the field to the required position."),(0,a.kt)("h3",{id:"remove-fields-from-the-form"},"Remove Fields from the Form"),(0,a.kt)("p",null,"To remove a field from the form, either"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Drag and drop the field from the ",(0,a.kt)("strong",{parentName:"li"},"Form Area")," to the ",(0,a.kt)("strong",{parentName:"li"},"Fields Area")),(0,a.kt)("li",{parentName:"ul"},"Hover over the field in the ",(0,a.kt)("strong",{parentName:"li"},"Form Area")," and click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"hide")," icon")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Hide Field",src:i(9011).Z,width:"2880",height:"1800"})),(0,a.kt)("h3",{id:"add-a-new-field-to-the-table"},"Add a New Field to the Table"),(0,a.kt)("p",null,"To add a new field to the table, "),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"+ Add new field to this table")," in the ",(0,a.kt)("strong",{parentName:"li"},"Fields Area")," and "),(0,a.kt)("li",{parentName:"ul"},"Select the field name & type from the dropdown."),(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Save Field"))),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add Field",src:i(95727).Z,width:"2880",height:"1800"})),(0,a.kt)("h3",{id:"form-view-settings"},"Form View Settings"),(0,a.kt)("p",null,"NocoDB allows you to configure the form view to perform various actions after a form is submitted. These actions can be configured in the ",(0,a.kt)("strong",{parentName:"p"},"Form Settings")," area."),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"After Submit Message"),": You can configure a message to display on successful submission of the form."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Show ",(0,a.kt)("inlineCode",{parentName:"strong"},"Submit Another Form")," Button"),": This option when enabled, will display a ",(0,a.kt)("inlineCode",{parentName:"li"},"Submit Another Form")," button after the form is submitted."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Show a Blank form"),": This option when enabled, will display a new blank form 5 seconds after the form is submitted."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Email me"),": Enable this option to receive an Email after the form is submitted. ")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Form View Settings",src:i(13742).Z,width:"2880",height:"1800"})),(0,a.kt)("h2",{id:"survey-form-view"},"Survey Form View"),(0,a.kt)("p",null,"NocoDB supports a special type of form view called ",(0,a.kt)("inlineCode",{parentName:"p"},"Survey Form View"),". This view is ideal for creating surveys & questionnaires. This view can be enabled by toggling the ",(0,a.kt)("inlineCode",{parentName:"p"},"Survey Mode")," switch when creating ",(0,a.kt)("a",{parentName:"p",href:"/views/share-view#share-form-view-options"},"shared form view"),". "),(0,a.kt)("p",null,"When enabled, "),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Form input fields will be displayed one at a time. "),(0,a.kt)("li",{parentName:"ul"},"Users can navigate between fields using the ",(0,a.kt)("inlineCode",{parentName:"li"},"<")," & ",(0,a.kt)("inlineCode",{parentName:"li"},">")," buttons.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Survey Form View",src:i(46359).Z,width:"2878",height:"1416"})),(0,a.kt)("h2",{id:"related-articles"},"Related articles"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"/views/view-types/grid"},"Form View"),(0,a.kt)("br",{parentName:"p"}),"\n",(0,a.kt)("a",{parentName:"p",href:"/views/view-types/gallery"},"Gallery View"),(0,a.kt)("br",{parentName:"p"}),"\n",(0,a.kt)("a",{parentName:"p",href:"/views/view-types/kanban"},"Kanban View")))}f.isMDXComponent=!0},95727:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-add-field-26399d5da0f299a76f045286f4b70690.png"},69990:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-field-label-help-text-aa69425b678df2503add4a96f926e238.png"},85994:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-layout-348a2dba9c9ceafe6911477b7e530283.png"},9011:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-remove-field-efc0f8d307ab234bfea21fa9c467dfd6.png"},17750:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-required-field-62f44205bdd070ef8c4c8d30de181286.png"},13742:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-settings-f765389d102cecdac46b0258b696344f.png"},8037:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-title-description-99d122bea09868f65bd0f6e04e087db4.png"},36374:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-94e8ab4d97828f668019451e303409c0.png"},46359:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/survey-form-ba422967e0b347d42b4824e8940b064c.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[8838],{3905:(e,t,i)=>{i.d(t,{Zo:()=>m,kt:()=>h});var r=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function n(e){for(var t=1;t=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var s=r.createContext({}),d=function(e){var t=r.useContext(s),i=t;return e&&(i="function"==typeof e?e(t):n(n({},t),e)),i},m=function(e){var t=d(e.components);return r.createElement(s.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},c=r.forwardRef((function(e,t){var i=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,m=l(e,["components","mdxType","originalType","parentName"]),p=d(i),c=a,h=p["".concat(s,".").concat(c)]||p[c]||f[c]||o;return i?r.createElement(h,n(n({ref:t},m),{},{components:i})):r.createElement(h,n({ref:t},m))}));function h(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=i.length,n=new Array(o);n[0]=c;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:a,n[1]=l;for(var d=2;d{i.r(t),i.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>f,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var r=i(87462),a=(i(67294),i(3905));const o={title:"Form",description:"Learn how to create, import, and manage forms in NocoDB.",tags:["Views","Form view"],keywords:["NocoDB form","form view","form builder","form view builder","form view actions","form view operations"]},n=void 0,l={unversionedId:"views/view-types/form",id:"views/view-types/form",title:"Form",description:"Learn how to create, import, and manage forms in NocoDB.",source:"@site/docs/090.views/040.view-types/030.form.md",sourceDirName:"090.views/040.view-types",slug:"/views/view-types/form",permalink:"/views/view-types/form",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/040.view-types/030.form.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Form view",permalink:"/tags/form-view"}],version:"current",sidebarPosition:30,frontMatter:{title:"Form",description:"Learn how to create, import, and manage forms in NocoDB.",tags:["Views","Form view"],keywords:["NocoDB form","form view","form builder","form view builder","form view actions","form view operations"]},sidebar:"tutorialSidebar",previous:{title:"Gallery",permalink:"/views/view-types/gallery"},next:{title:"Kanban",permalink:"/views/view-types/kanban"}},s={},d=[{value:"Form View Builder",id:"form-view-builder",level:2},{value:"Form View Actions",id:"form-view-actions",level:2},{value:"Form View Operations",id:"form-view-operations",level:2},{value:"Add Form Title & Description",id:"add-form-title--description",level:3},{value:"Add Fields to the Form",id:"add-fields-to-the-form",level:3},{value:"Change field label & help-text",id:"change-field-label--help-text",level:3},{value:"Mark a Field as Required",id:"mark-a-field-as-required",level:3},{value:"Rearrange Fields Within the Form",id:"rearrange-fields-within-the-form",level:3},{value:"Remove Fields from the Form",id:"remove-fields-from-the-form",level:3},{value:"Add a New Field to the Table",id:"add-a-new-field-to-the-table",level:3},{value:"Form View Settings",id:"form-view-settings",level:3},{value:"Survey Form View",id:"survey-form-view",level:2},{value:"Related articles",id:"related-articles",level:2}],m={toc:d},p="wrapper";function f(e){let{components:t,...o}=e;return(0,a.kt)(p,(0,r.Z)({},m,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Form View allows you to arrange fields in a form to input data."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"1010-2 Form",src:i(9825).Z,width:"2880",height:"1800"})),(0,a.kt)("h2",{id:"form-view-builder"},"Form View Builder"),(0,a.kt)("p",null,"Form view builder layout can be divided into 3 sections:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Fields Area")," - This is the area where fields available in the tables that are not yet added to the form are listed. "),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Form Area")," - This is the area where fields added to the form are listed."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Form Settings")," - This is the area where you can configure the form view. This mainly consists of actions & customisations that can be performed after a form view is submitted.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Form Builder",src:i(37271).Z,width:"2880",height:"1800"})),(0,a.kt)("h2",{id:"form-view-actions"},"Form View Actions"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/create-view/#create-new-view"},"Create a New Form View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/actions-on-view#rename-view"},"Rename an Existing Form View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/actions-on-view#duplicate-view"},"Duplicate a Form View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/actions-on-view#delete-view"},"Remove a Form View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/share-view"},"Share a Form View")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"/views/views-overview#view-permission-types"},"Lock Form View for Edits"))),(0,a.kt)("h2",{id:"form-view-operations"},"Form View Operations"),(0,a.kt)("h3",{id:"add-form-title--description"},"Add Form Title & Description"),(0,a.kt)("p",null,"In the ",(0,a.kt)("strong",{parentName:"p"},"Form View")," area, click on in input boxes provided for ",(0,a.kt)("strong",{parentName:"p"},"Title")," <1> & ",(0,a.kt)("strong",{parentName:"p"},"Description")," <2> to add/update title & description to the form."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Form Title & Description",src:i(26530).Z,width:"2880",height:"1800"})),(0,a.kt)("h3",{id:"add-fields-to-the-form"},"Add Fields to the Form"),(0,a.kt)("p",null,"To add a field to the form, either"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Drag and drop the field from the ",(0,a.kt)("strong",{parentName:"li"},"Fields Area")," to the ",(0,a.kt)("strong",{parentName:"li"},"Form Area")," at required position"),(0,a.kt)("li",{parentName:"ul"},"Click on the field in the ",(0,a.kt)("strong",{parentName:"li"},"Fields Area")," to add it to the end of the ",(0,a.kt)("strong",{parentName:"li"},"Form Area"))),(0,a.kt)("h3",{id:"change-field-label--help-text"},"Change field label & help-text"),(0,a.kt)("p",null,"To change the field label displayed on the form & add help-text, click on the field in the ",(0,a.kt)("strong",{parentName:"p"},"Form Area")," and update the values in the input boxes provided for ",(0,a.kt)("strong",{parentName:"p"},"Label")," <1> & ",(0,a.kt)("strong",{parentName:"p"},"Help Text")," <2>."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Field Label & Help Text",src:i(40303).Z,width:"2880",height:"1800"})),(0,a.kt)("h3",{id:"mark-a-field-as-required"},"Mark a Field as Required"),(0,a.kt)("p",null,"To mark a field as required, click on the field in the ",(0,a.kt)("strong",{parentName:"p"},"Form Area")," and toggle the ",(0,a.kt)("inlineCode",{parentName:"p"},"Required")," switch."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Required Field",src:i(76083).Z,width:"2880",height:"1800"})),(0,a.kt)("h3",{id:"rearrange-fields-within-the-form"},"Rearrange Fields Within the Form"),(0,a.kt)("p",null,"To rearrange fields within the form, drag and drop the field to the required position."),(0,a.kt)("h3",{id:"remove-fields-from-the-form"},"Remove Fields from the Form"),(0,a.kt)("p",null,"To remove a field from the form, either"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Drag and drop the field from the ",(0,a.kt)("strong",{parentName:"li"},"Form Area")," to the ",(0,a.kt)("strong",{parentName:"li"},"Fields Area")),(0,a.kt)("li",{parentName:"ul"},"Hover over the field in the ",(0,a.kt)("strong",{parentName:"li"},"Form Area")," and click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"hide")," icon")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Hide Field",src:i(14284).Z,width:"2880",height:"1800"})),(0,a.kt)("h3",{id:"add-a-new-field-to-the-table"},"Add a New Field to the Table"),(0,a.kt)("p",null,"To add a new field to the table, "),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"+ Add new field to this table")," in the ",(0,a.kt)("strong",{parentName:"li"},"Fields Area")," and "),(0,a.kt)("li",{parentName:"ul"},"Select the field name & type from the dropdown."),(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Save Field"))),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add Field",src:i(86038).Z,width:"2880",height:"1800"})),(0,a.kt)("h3",{id:"form-view-settings"},"Form View Settings"),(0,a.kt)("p",null,"NocoDB allows you to configure the form view to perform various actions after a form is submitted. These actions can be configured in the ",(0,a.kt)("strong",{parentName:"p"},"Form Settings")," area."),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"After Submit Message"),": You can configure a message to display on successful submission of the form."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Show ",(0,a.kt)("inlineCode",{parentName:"strong"},"Submit Another Form")," Button"),": This option when enabled, will display a ",(0,a.kt)("inlineCode",{parentName:"li"},"Submit Another Form")," button after the form is submitted."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Show a Blank form"),": This option when enabled, will display a new blank form 5 seconds after the form is submitted."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Email me"),": Enable this option to receive an Email after the form is submitted. ")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Form View Settings",src:i(62668).Z,width:"2880",height:"1800"})),(0,a.kt)("h2",{id:"survey-form-view"},"Survey Form View"),(0,a.kt)("p",null,"NocoDB supports a special type of form view called ",(0,a.kt)("inlineCode",{parentName:"p"},"Survey Form View"),". This view is ideal for creating surveys & questionnaires. This view can be enabled by toggling the ",(0,a.kt)("inlineCode",{parentName:"p"},"Survey Mode")," switch when creating ",(0,a.kt)("a",{parentName:"p",href:"/views/share-view#share-form-view-options"},"shared form view"),". "),(0,a.kt)("p",null,"When enabled, "),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Form input fields will be displayed one at a time. "),(0,a.kt)("li",{parentName:"ul"},"Users can navigate between fields using the ",(0,a.kt)("inlineCode",{parentName:"li"},"<")," & ",(0,a.kt)("inlineCode",{parentName:"li"},">")," buttons.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Survey Form View",src:i(73843).Z,width:"2878",height:"1416"})),(0,a.kt)("h2",{id:"related-articles"},"Related articles"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"/views/view-types/grid"},"Form View"),(0,a.kt)("br",{parentName:"p"}),"\n",(0,a.kt)("a",{parentName:"p",href:"/views/view-types/gallery"},"Gallery View"),(0,a.kt)("br",{parentName:"p"}),"\n",(0,a.kt)("a",{parentName:"p",href:"/views/view-types/kanban"},"Kanban View")))}f.isMDXComponent=!0},86038:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-add-field-26399d5da0f299a76f045286f4b70690.png"},40303:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-field-label-help-text-aa69425b678df2503add4a96f926e238.png"},37271:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-layout-348a2dba9c9ceafe6911477b7e530283.png"},14284:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-remove-field-efc0f8d307ab234bfea21fa9c467dfd6.png"},76083:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-required-field-62f44205bdd070ef8c4c8d30de181286.png"},62668:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-settings-f765389d102cecdac46b0258b696344f.png"},26530:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-title-description-99d122bea09868f65bd0f6e04e087db4.png"},9825:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/form-view-94e8ab4d97828f668019451e303409c0.png"},73843:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/survey-form-ba422967e0b347d42b4824e8940b064c.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/5eaf3a75.f80b26bd.js b/packages/noco-docs/dist/assets/js/5eaf3a75.efd2e0c3.js similarity index 96% rename from packages/noco-docs/dist/assets/js/5eaf3a75.f80b26bd.js rename to packages/noco-docs/dist/assets/js/5eaf3a75.efd2e0c3.js index 9bde3eed74..881f29d579 100644 --- a/packages/noco-docs/dist/assets/js/5eaf3a75.f80b26bd.js +++ b/packages/noco-docs/dist/assets/js/5eaf3a75.efd2e0c3.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1944],{3905:(e,t,a)=>{a.d(t,{Zo:()=>l,kt:()=>m});var r=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function c(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var p=r.createContext({}),i=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):c(c({},t),e)),a},l=function(e){var t=i(e.components);return r.createElement(p.Provider,{value:t},e.children)},k="mdxType",w={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,o=e.mdxType,n=e.originalType,p=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),k=i(a),u=o,m=k["".concat(p,".").concat(u)]||k[u]||w[u]||n;return a?r.createElement(m,c(c({ref:t},l),{},{components:a})):r.createElement(m,c({ref:t},l))}));function m(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=a.length,c=new Array(n);c[0]=u;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s[k]="string"==typeof e?e:o,c[1]=s;for(var i=2;i{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>c,default:()=>w,frontMatter:()=>n,metadata:()=>s,toc:()=>i});var r=a(87462),o=(a(67294),a(3905));const n={title:"Create workspace",description:"Learn how to create a workspace in NocoDB",tags:["Workspaces","Create"],keywords:["NocoDB workspace","create workspace","workspace context menu","workspace owner","workspace collaboration","workspace actions","default workspace"]},c=void 0,s={unversionedId:"workspaces/create-workspace",id:"workspaces/create-workspace",title:"Create workspace",description:"Learn how to create a workspace in NocoDB",source:"@site/docs/030.workspaces/020.create-workspace.md",sourceDirName:"030.workspaces",slug:"/workspaces/create-workspace",permalink:"/workspaces/create-workspace",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/030.workspaces/020.create-workspace.md",tags:[{label:"Workspaces",permalink:"/tags/workspaces"},{label:"Create",permalink:"/tags/create"}],version:"current",sidebarPosition:20,frontMatter:{title:"Create workspace",description:"Learn how to create a workspace in NocoDB",tags:["Workspaces","Create"],keywords:["NocoDB workspace","create workspace","workspace context menu","workspace owner","workspace collaboration","workspace actions","default workspace"]},sidebar:"tutorialSidebar",previous:{title:"Workspace overview",permalink:"/workspaces/workspace-overview"},next:{title:"Workspace collaboration",permalink:"/workspaces/workspace-collaboration"}},p={},i=[{value:"Create a workspace",id:"create-a-workspace",level:2},{value:"Related articles",id:"related-articles",level:2}],l={toc:i},k="wrapper";function w(e){let{components:t,...n}=e;return(0,o.kt)(k,(0,r.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Upon signing up to NocoDB, an initial workspace is automatically generated on your behalf.\nThen you have the ability to either ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/actions-on-workspace#rename-workspace"},"modify its name")," or creating an entirely new workspace."),(0,o.kt)("p",null,"In the following section, lets look at the process of creating your NocoDB workspaces."),(0,o.kt)("h2",{id:"create-a-workspace"},"Create a workspace"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Navigate to the top-left corner of the sidebar and select the ",(0,o.kt)("strong",{parentName:"li"},"Workspace name")," to access the ",(0,o.kt)("strong",{parentName:"li"},"Workspace context menu"),"."),(0,o.kt)("li",{parentName:"ol"},"From the Workspace context menu, opt for the ",(0,o.kt)("strong",{parentName:"li"},"Create workspace")," button."),(0,o.kt)("li",{parentName:"ol"},"Provide a name for the workspace "),(0,o.kt)("li",{parentName:"ol"},"Proceed by clicking the ",(0,o.kt)("strong",{parentName:"li"},"Create Workspace")," button.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:a(16489).Z,width:"2878",height:"1018"})," "),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:a(71526).Z,width:"2874",height:"1206"})," "),(0,o.kt)("p",null,"When you start a new workspace, you automatically become the owner.\nOnce your workspace is set up, you can ",(0,o.kt)("a",{parentName:"p",href:"/tables/create-table"},"create tables")," and ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/workspace-collaboration"},"invite others")," to join and work together.\nYou can invite as many people as you want, and you can create as many tables as you need in your workspace.\nBut remember, there can only be one owner, and only the owner can delete the workspace. "),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The Open Source NocoDB includes a default workspace, and it does not allow the creation of additional workspaces.")),(0,o.kt)("h2",{id:"related-articles"},"Related articles"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/workspace-overview"},"Workspace overview")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/workspace-collaboration"},"Invite team members to workspace")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/actions-on-workspace#rename-workspace"},"Rename workspace")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/actions-on-workspace#delete-workspace"},"Delete workspace"))))}w.isMDXComponent=!0},71526:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/workspace-create-2-b59c529fcc276d4b27996c2600b82420.png"},16489:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/workspace-create-1847b5a89de49a838a9ca1808e3ad934.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1944],{3905:(e,t,a)=>{a.d(t,{Zo:()=>l,kt:()=>m});var r=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function c(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var p=r.createContext({}),i=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):c(c({},t),e)),a},l=function(e){var t=i(e.components);return r.createElement(p.Provider,{value:t},e.children)},k="mdxType",w={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,o=e.mdxType,n=e.originalType,p=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),k=i(a),u=o,m=k["".concat(p,".").concat(u)]||k[u]||w[u]||n;return a?r.createElement(m,c(c({ref:t},l),{},{components:a})):r.createElement(m,c({ref:t},l))}));function m(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=a.length,c=new Array(n);c[0]=u;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s[k]="string"==typeof e?e:o,c[1]=s;for(var i=2;i{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>c,default:()=>w,frontMatter:()=>n,metadata:()=>s,toc:()=>i});var r=a(87462),o=(a(67294),a(3905));const n={title:"Create workspace",description:"Learn how to create a workspace in NocoDB",tags:["Workspaces","Create"],keywords:["NocoDB workspace","create workspace","workspace context menu","workspace owner","workspace collaboration","workspace actions","default workspace"]},c=void 0,s={unversionedId:"workspaces/create-workspace",id:"workspaces/create-workspace",title:"Create workspace",description:"Learn how to create a workspace in NocoDB",source:"@site/docs/030.workspaces/020.create-workspace.md",sourceDirName:"030.workspaces",slug:"/workspaces/create-workspace",permalink:"/workspaces/create-workspace",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/030.workspaces/020.create-workspace.md",tags:[{label:"Workspaces",permalink:"/tags/workspaces"},{label:"Create",permalink:"/tags/create"}],version:"current",sidebarPosition:20,frontMatter:{title:"Create workspace",description:"Learn how to create a workspace in NocoDB",tags:["Workspaces","Create"],keywords:["NocoDB workspace","create workspace","workspace context menu","workspace owner","workspace collaboration","workspace actions","default workspace"]},sidebar:"tutorialSidebar",previous:{title:"Workspace overview",permalink:"/workspaces/workspace-overview"},next:{title:"Workspace collaboration",permalink:"/workspaces/workspace-collaboration"}},p={},i=[{value:"Create a workspace",id:"create-a-workspace",level:2},{value:"Related articles",id:"related-articles",level:2}],l={toc:i},k="wrapper";function w(e){let{components:t,...n}=e;return(0,o.kt)(k,(0,r.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Upon signing up to NocoDB, an initial workspace is automatically generated on your behalf.\nThen you have the ability to either ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/actions-on-workspace#rename-workspace"},"modify its name")," or creating an entirely new workspace."),(0,o.kt)("p",null,"In the following section, lets look at the process of creating your NocoDB workspaces."),(0,o.kt)("h2",{id:"create-a-workspace"},"Create a workspace"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Navigate to the top-left corner of the sidebar and select the ",(0,o.kt)("strong",{parentName:"li"},"Workspace name")," to access the ",(0,o.kt)("strong",{parentName:"li"},"Workspace context menu"),"."),(0,o.kt)("li",{parentName:"ol"},"From the Workspace context menu, opt for the ",(0,o.kt)("strong",{parentName:"li"},"Create workspace")," button."),(0,o.kt)("li",{parentName:"ol"},"Provide a name for the workspace "),(0,o.kt)("li",{parentName:"ol"},"Proceed by clicking the ",(0,o.kt)("strong",{parentName:"li"},"Create Workspace")," button.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:a(80415).Z,width:"2878",height:"1018"})," "),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:a(82547).Z,width:"2874",height:"1418"})," "),(0,o.kt)("p",null,"When you start a new workspace, you automatically become the owner.\nOnce your workspace is set up, you can ",(0,o.kt)("a",{parentName:"p",href:"/tables/create-table"},"create tables")," and ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/workspace-collaboration"},"invite others")," to join and work together.\nYou can invite as many people as you want, and you can create as many tables as you need in your workspace.\nBut remember, there can only be one owner, and only the owner can delete the workspace. "),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The Open Source NocoDB includes a default workspace, and it does not allow the creation of additional workspaces.")),(0,o.kt)("h2",{id:"related-articles"},"Related articles"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/workspace-overview"},"Workspace overview")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/workspace-collaboration"},"Invite team members to workspace")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/actions-on-workspace#rename-workspace"},"Rename workspace")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/actions-on-workspace#delete-workspace"},"Delete workspace"))))}w.isMDXComponent=!0},82547:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/workspace-create-2-b59c529fcc276d4b27996c2600b82420.png"},80415:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/workspace-create-1847b5a89de49a838a9ca1808e3ad934.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/603e048e.2cc120ec.js b/packages/noco-docs/dist/assets/js/603e048e.1ae5f0d2.js similarity index 93% rename from packages/noco-docs/dist/assets/js/603e048e.2cc120ec.js rename to packages/noco-docs/dist/assets/js/603e048e.1ae5f0d2.js index 13bc1c4d11..be1295b0c5 100644 --- a/packages/noco-docs/dist/assets/js/603e048e.2cc120ec.js +++ b/packages/noco-docs/dist/assets/js/603e048e.1ae5f0d2.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7700],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>f});var i=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}return a}function r(e){for(var t=1;t=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var o=i.createContext({}),p=function(e){var t=i.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},d=function(e){var t=p(e.components);return i.createElement(o.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},y=i.forwardRef((function(e,t){var a=e.components,l=e.mdxType,n=e.originalType,o=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=p(a),y=l,f=u["".concat(o,".").concat(y)]||u[y]||c[y]||n;return a?i.createElement(f,r(r({ref:t},d),{},{components:a})):i.createElement(f,r({ref:t},d))}));function f(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var n=a.length,r=new Array(n);r[0]=y;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s[u]="string"==typeof e?e:l,r[1]=s;for(var p=2;p{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>r,default:()=>c,frontMatter:()=>n,metadata:()=>s,toc:()=>p});var i=a(87462),l=(a(67294),a(3905));const n={title:"Display value",description:"This article explains how to set display value for a table & its use.",tags:["Fields","Display Value"],keywords:["display value","display value in nocoDB","display value in nocoDB"]},r="Display Value",s={unversionedId:"fields/display-value",id:"fields/display-value",title:"Display value",description:"This article explains how to set display value for a table & its use.",source:"@site/docs/070.fields/030.display-value.md",sourceDirName:"070.fields",slug:"/fields/display-value",permalink:"/fields/display-value",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/030.display-value.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Display Value",permalink:"/tags/display-value"}],version:"current",sidebarPosition:30,frontMatter:{title:"Display value",description:"This article explains how to set display value for a table & its use.",tags:["Fields","Display Value"],keywords:["display value","display value in nocoDB","display value in nocoDB"]},sidebar:"tutorialSidebar",previous:{title:"Primary key",permalink:"/fields/primary-key"},next:{title:"Single line text",permalink:"/fields/field-types/text-based/single-line-text"}},o={},p=[{value:"Use of Display Value",id:"use-of-display-value",level:2},{value:"Set Display Value",id:"set-display-value",level:2}],d={toc:p},u="wrapper";function c(e){let{components:t,...n}=e;return(0,l.kt)(u,(0,i.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"display-value"},"Display Value"),(0,l.kt)("p",null,"The ",(0,l.kt)("inlineCode",{parentName:"p"},"Display Value"),", as its name suggests, serves as the primary or main value within a record of a table, and it is typically the attribute by which we identify or associate that specific record. While it is advisable for the display value to be linked to a field with unique identifiers, such as a primary key, it's important to note that this uniqueness is not always enforced at the database level."),(0,l.kt)("h2",{id:"use-of-display-value"},"Use of Display Value"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Within a spreadsheet, ",(0,l.kt)("inlineCode",{parentName:"li"},"Display Value")," are always highlighted so that it is easier to recognise what record we are working with."),(0,l.kt)("li",{parentName:"ul"},"And when ",(0,l.kt)("inlineCode",{parentName:"li"},"Links")," are created between two tables - it is the Display Value that appears in ",(0,l.kt)("inlineCode",{parentName:"li"},"Linked records")," modal.")),(0,l.kt)("p",null,"Example:\nDisplay Value highlighted in Actor table\n",(0,l.kt)("img",{alt:"display value",src:a(92350).Z,width:"2880",height:"1800"})),(0,l.kt)("p",null,"Display Value associated when Links field",(0,l.kt)("br",{parentName:"p"}),"\n","The value shown in ",(0,l.kt)("inlineCode",{parentName:"p"},"Link Records")," modal when adding a new link is associated records ",(0,l.kt)("inlineCode",{parentName:"p"},"Display value")," "),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"display value- links field",src:a(66082).Z,width:"2878",height:"1800"})),(0,l.kt)("h2",{id:"set-display-value"},"Set Display Value"),(0,l.kt)("p",null,"Click dropdown icon (\ud83d\udd3d) in the target field. Click ",(0,l.kt)("inlineCode",{parentName:"p"},"Set as Display Value"),". "),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"display value set",src:a(25038).Z,width:"2880",height:"1800"})),(0,l.kt)("admonition",{type:"info"},(0,l.kt)("p",{parentName:"admonition"},"How is Display Value identified for existing database tables ?"),(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},"It is usually the first field after the primary key which is not a number."),(0,l.kt)("li",{parentName:"ul"},"If there is no field which is not a number then the field adjacent to primary key is chosen.")),(0,l.kt)("p",{parentName:"admonition"},"Can I change the Display Value to another field within tables ?"),(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},"Yes, you can use the same way mentioned above to set Display Value."))))}c.isMDXComponent=!0},66082:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/display-value-in-linked-record-a2d5ae449c2be23c1b31d60beb97d063.png"},92350:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/display-value-90a8f4b70e88e428acbff6e49a339325.png"},25038:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/set-as-display-value-dcd56ac34c7d3e79a72b2abcab08f1f8.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7700],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>f});var i=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}return a}function r(e){for(var t=1;t=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var o=i.createContext({}),p=function(e){var t=i.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},d=function(e){var t=p(e.components);return i.createElement(o.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},y=i.forwardRef((function(e,t){var a=e.components,l=e.mdxType,n=e.originalType,o=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=p(a),y=l,f=u["".concat(o,".").concat(y)]||u[y]||c[y]||n;return a?i.createElement(f,r(r({ref:t},d),{},{components:a})):i.createElement(f,r({ref:t},d))}));function f(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var n=a.length,r=new Array(n);r[0]=y;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s[u]="string"==typeof e?e:l,r[1]=s;for(var p=2;p{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>r,default:()=>c,frontMatter:()=>n,metadata:()=>s,toc:()=>p});var i=a(87462),l=(a(67294),a(3905));const n={title:"Display value",description:"This article explains how to set display value for a table & its use.",tags:["Fields","Display Value"],keywords:["display value","display value in nocoDB","display value in nocoDB"]},r="Display Value",s={unversionedId:"fields/display-value",id:"fields/display-value",title:"Display value",description:"This article explains how to set display value for a table & its use.",source:"@site/docs/070.fields/030.display-value.md",sourceDirName:"070.fields",slug:"/fields/display-value",permalink:"/fields/display-value",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/030.display-value.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Display Value",permalink:"/tags/display-value"}],version:"current",sidebarPosition:30,frontMatter:{title:"Display value",description:"This article explains how to set display value for a table & its use.",tags:["Fields","Display Value"],keywords:["display value","display value in nocoDB","display value in nocoDB"]},sidebar:"tutorialSidebar",previous:{title:"Primary key",permalink:"/fields/primary-key"},next:{title:"Single line text",permalink:"/fields/field-types/text-based/single-line-text"}},o={},p=[{value:"Use of Display Value",id:"use-of-display-value",level:2},{value:"Set Display Value",id:"set-display-value",level:2}],d={toc:p},u="wrapper";function c(e){let{components:t,...n}=e;return(0,l.kt)(u,(0,i.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"display-value"},"Display Value"),(0,l.kt)("p",null,"The ",(0,l.kt)("inlineCode",{parentName:"p"},"Display Value"),", as its name suggests, serves as the primary or main value within a record of a table, and it is typically the attribute by which we identify or associate that specific record. While it is advisable for the display value to be linked to a field with unique identifiers, such as a primary key, it's important to note that this uniqueness is not always enforced at the database level."),(0,l.kt)("h2",{id:"use-of-display-value"},"Use of Display Value"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Within a spreadsheet, ",(0,l.kt)("inlineCode",{parentName:"li"},"Display Value")," are always highlighted so that it is easier to recognise what record we are working with."),(0,l.kt)("li",{parentName:"ul"},"And when ",(0,l.kt)("inlineCode",{parentName:"li"},"Links")," are created between two tables - it is the Display Value that appears in ",(0,l.kt)("inlineCode",{parentName:"li"},"Linked records")," modal.")),(0,l.kt)("p",null,"Example:\nDisplay Value highlighted in Actor table\n",(0,l.kt)("img",{alt:"display value",src:a(86458).Z,width:"2880",height:"1800"})),(0,l.kt)("p",null,"Display Value associated when Links field",(0,l.kt)("br",{parentName:"p"}),"\n","The value shown in ",(0,l.kt)("inlineCode",{parentName:"p"},"Link Records")," modal when adding a new link is associated records ",(0,l.kt)("inlineCode",{parentName:"p"},"Display value")," "),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"display value- links field",src:a(89427).Z,width:"2878",height:"1800"})),(0,l.kt)("h2",{id:"set-display-value"},"Set Display Value"),(0,l.kt)("p",null,"Click dropdown icon (\ud83d\udd3d) in the target field. Click ",(0,l.kt)("inlineCode",{parentName:"p"},"Set as Display Value"),". "),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"display value set",src:a(59477).Z,width:"2880",height:"1800"})),(0,l.kt)("admonition",{type:"info"},(0,l.kt)("p",{parentName:"admonition"},"How is Display Value identified for existing database tables ?"),(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},"It is usually the first field after the primary key which is not a number."),(0,l.kt)("li",{parentName:"ul"},"If there is no field which is not a number then the field adjacent to primary key is chosen.")),(0,l.kt)("p",{parentName:"admonition"},"Can I change the Display Value to another field within tables ?"),(0,l.kt)("ul",{parentName:"admonition"},(0,l.kt)("li",{parentName:"ul"},"Yes, you can use the same way mentioned above to set Display Value."))))}c.isMDXComponent=!0},89427:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/display-value-in-linked-record-a2d5ae449c2be23c1b31d60beb97d063.png"},86458:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/display-value-90a8f4b70e88e428acbff6e49a339325.png"},59477:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/set-as-display-value-dcd56ac34c7d3e79a72b2abcab08f1f8.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/60b8b995.008d5a3e.js b/packages/noco-docs/dist/assets/js/60b8b995.dacc80e5.js similarity index 97% rename from packages/noco-docs/dist/assets/js/60b8b995.008d5a3e.js rename to packages/noco-docs/dist/assets/js/60b8b995.dacc80e5.js index 857738b24a..5792db106d 100644 --- a/packages/noco-docs/dist/assets/js/60b8b995.008d5a3e.js +++ b/packages/noco-docs/dist/assets/js/60b8b995.dacc80e5.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3463],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>c});var r=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var d=r.createContext({}),s=function(e){var t=r.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},p=function(e){var t=s(e.components);return r.createElement(d.Provider,{value:t},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var a=e.components,i=e.mdxType,n=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),m=s(a),f=i,c=m["".concat(d,".").concat(f)]||m[f]||u[f]||n;return a?r.createElement(c,l(l({ref:t},p),{},{components:a})):r.createElement(c,l({ref:t},p))}));function c(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=a.length,l=new Array(n);l[0]=f;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[m]="string"==typeof e?e:i,l[1]=o;for(var s=2;s{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>n,metadata:()=>o,toc:()=>s});var r=a(87462),i=(a(67294),a(3905));const n={title:"Duration",description:"This article explains how to create & work with a Duration field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create duration field"]},l=void 0,o={unversionedId:"fields/field-types/date-time-based/duration",id:"fields/field-types/date-time-based/duration",title:"Duration",description:"This article explains how to create & work with a Duration field.",source:"@site/docs/070.fields/040.field-types/070.date-time-based/040.duration.md",sourceDirName:"070.fields/040.field-types/070.date-time-based",slug:"/fields/field-types/date-time-based/duration",permalink:"/fields/field-types/date-time-based/duration",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/070.date-time-based/040.duration.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Date & Time",permalink:"/tags/date-time"}],version:"current",sidebarPosition:40,frontMatter:{title:"Duration",description:"This article explains how to create & work with a Duration field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create duration field"]},sidebar:"tutorialSidebar",previous:{title:"Time",permalink:"/fields/field-types/date-time-based/time"},next:{title:"Multi-field editor",permalink:"/fields/multi-fields-editor"}},d={},s=[{value:"Create a duration field",id:"create-a-duration-field",level:2},{value:"Supported duration formats",id:"supported-duration-formats",level:3},{value:"Related fields",id:"related-fields",level:2}],p={toc:s},m="wrapper";function u(e){let{components:t,...n}=e;return(0,i.kt)(m,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"Duration")," field type is used to store duration of time in seconds or minutes. Different formats are supported by NocoDB, as detailed in the table below."),(0,i.kt)("h2",{id:"create-a-duration-field"},"Create a duration field"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,i.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,i.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,i.kt)("li",{parentName:"ol"},"Select the field type as ",(0,i.kt)("inlineCode",{parentName:"li"},"Duration")," from the dropdown."),(0,i.kt)("li",{parentName:"ol"},"Configure ",(0,i.kt)("inlineCode",{parentName:"li"},"Duration Format")),(0,i.kt)("li",{parentName:"ol"},"Configure default value (Optional)"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(30576).Z,width:"2878",height:"1304"})),(0,i.kt)("h3",{id:"supported-duration-formats"},"Supported duration formats"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Format"),(0,i.kt)("th",{parentName:"tr",align:null},"Example"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"HH:mm"),(0,i.kt)("td",{parentName:"tr",align:null},"14:20")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"HH:mm:ss"),(0,i.kt)("td",{parentName:"tr",align:null},"12:45:30")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"HH:mm:ss.s"),(0,i.kt)("td",{parentName:"tr",align:null},"12:45:30.5")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"HH:mm.ss.ss"),(0,i.kt)("td",{parentName:"tr",align:null},"12:45.30.50")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"HH:mm.ss.sss"),(0,i.kt)("td",{parentName:"tr",align:null},"12:45.30.500")))),(0,i.kt)("h2",{id:"related-fields"},"Related fields"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/date-time"},"DateTime")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/date"},"Date")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/time"},"Time"))))}u.isMDXComponent=!0},30576:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/duration-240ca3f3201ea99e948bebd59e41dce8.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3463],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>c});var r=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var d=r.createContext({}),s=function(e){var t=r.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},p=function(e){var t=s(e.components);return r.createElement(d.Provider,{value:t},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var a=e.components,i=e.mdxType,n=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),m=s(a),f=i,c=m["".concat(d,".").concat(f)]||m[f]||u[f]||n;return a?r.createElement(c,l(l({ref:t},p),{},{components:a})):r.createElement(c,l({ref:t},p))}));function c(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=a.length,l=new Array(n);l[0]=f;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[m]="string"==typeof e?e:i,l[1]=o;for(var s=2;s{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>n,metadata:()=>o,toc:()=>s});var r=a(87462),i=(a(67294),a(3905));const n={title:"Duration",description:"This article explains how to create & work with a Duration field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create duration field"]},l=void 0,o={unversionedId:"fields/field-types/date-time-based/duration",id:"fields/field-types/date-time-based/duration",title:"Duration",description:"This article explains how to create & work with a Duration field.",source:"@site/docs/070.fields/040.field-types/070.date-time-based/040.duration.md",sourceDirName:"070.fields/040.field-types/070.date-time-based",slug:"/fields/field-types/date-time-based/duration",permalink:"/fields/field-types/date-time-based/duration",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/070.date-time-based/040.duration.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Date & Time",permalink:"/tags/date-time"}],version:"current",sidebarPosition:40,frontMatter:{title:"Duration",description:"This article explains how to create & work with a Duration field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create duration field"]},sidebar:"tutorialSidebar",previous:{title:"Time",permalink:"/fields/field-types/date-time-based/time"},next:{title:"Multi-field editor",permalink:"/fields/multi-fields-editor"}},d={},s=[{value:"Create a duration field",id:"create-a-duration-field",level:2},{value:"Supported duration formats",id:"supported-duration-formats",level:3},{value:"Related fields",id:"related-fields",level:2}],p={toc:s},m="wrapper";function u(e){let{components:t,...n}=e;return(0,i.kt)(m,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"Duration")," field type is used to store duration of time in seconds or minutes. Different formats are supported by NocoDB, as detailed in the table below."),(0,i.kt)("h2",{id:"create-a-duration-field"},"Create a duration field"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,i.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,i.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,i.kt)("li",{parentName:"ol"},"Select the field type as ",(0,i.kt)("inlineCode",{parentName:"li"},"Duration")," from the dropdown."),(0,i.kt)("li",{parentName:"ol"},"Configure ",(0,i.kt)("inlineCode",{parentName:"li"},"Duration Format")),(0,i.kt)("li",{parentName:"ol"},"Configure default value (Optional)"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(76817).Z,width:"2878",height:"1304"})),(0,i.kt)("h3",{id:"supported-duration-formats"},"Supported duration formats"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Format"),(0,i.kt)("th",{parentName:"tr",align:null},"Example"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"HH:mm"),(0,i.kt)("td",{parentName:"tr",align:null},"14:20")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"HH:mm:ss"),(0,i.kt)("td",{parentName:"tr",align:null},"12:45:30")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"HH:mm:ss.s"),(0,i.kt)("td",{parentName:"tr",align:null},"12:45:30.5")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"HH:mm.ss.ss"),(0,i.kt)("td",{parentName:"tr",align:null},"12:45.30.50")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"HH:mm.ss.sss"),(0,i.kt)("td",{parentName:"tr",align:null},"12:45.30.500")))),(0,i.kt)("h2",{id:"related-fields"},"Related fields"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/date-time"},"DateTime")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/date"},"Date")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/time"},"Time"))))}u.isMDXComponent=!0},76817:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/duration-240ca3f3201ea99e948bebd59e41dce8.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/61a3d417.21e4b83c.js b/packages/noco-docs/dist/assets/js/61a3d417.957c6142.js similarity index 93% rename from packages/noco-docs/dist/assets/js/61a3d417.21e4b83c.js rename to packages/noco-docs/dist/assets/js/61a3d417.957c6142.js index 3d39e72228..6edfba91aa 100644 --- a/packages/noco-docs/dist/assets/js/61a3d417.21e4b83c.js +++ b/packages/noco-docs/dist/assets/js/61a3d417.957c6142.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[6591],{3905:(e,t,r)=>{r.d(t,{Zo:()=>w,kt:()=>m});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},w=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},p="mdxType",v={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,w=l(e,["components","mdxType","originalType","parentName"]),p=s(r),d=i,m=p["".concat(c,".").concat(d)]||p[d]||v[d]||a;return r?n.createElement(m,o(o({ref:t},w),{},{components:r})):n.createElement(m,o({ref:t},w))}));function m(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,o=new Array(a);o[0]=d;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[p]="string"==typeof e?e:i,o[1]=l;for(var s=2;s{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>v,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var n=r(87462),i=(r(67294),r(3905));const a={title:"Create view",description:"Learn how to create a new view in NocoDB.",tags:["Views","Create","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","create view"]},o=void 0,l={unversionedId:"views/create-view",id:"views/create-view",title:"Create view",description:"Learn how to create a new view in NocoDB.",source:"@site/docs/090.views/020.create-view.md",sourceDirName:"090.views",slug:"/views/create-view",permalink:"/views/create-view",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/020.create-view.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Create",permalink:"/tags/create"},{label:"Grid view",permalink:"/tags/grid-view"},{label:"Form view",permalink:"/tags/form-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Gallery view",permalink:"/tags/gallery-view"}],version:"current",sidebarPosition:20,frontMatter:{title:"Create view",description:"Learn how to create a new view in NocoDB.",tags:["Views","Create","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","create view"]},sidebar:"tutorialSidebar",previous:{title:"View overview",permalink:"/views/views-overview"},next:{title:"Share view",permalink:"/views/share-view"}},c={},s=[{value:"Create new view",id:"create-new-view",level:2},{value:"Related articles",id:"related-articles",level:3}],w={toc:s},p="wrapper";function v(e){let{components:t,...a}=e;return(0,i.kt)(p,(0,n.Z)({},w,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"create-new-view"},"Create new view"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"+")," on the left sidebar next to ",(0,i.kt)("inlineCode",{parentName:"li"},"table name")," OR click on ",(0,i.kt)("inlineCode",{parentName:"li"},"+ New View")," button below ",(0,i.kt)("inlineCode",{parentName:"li"},"table name"),"."),(0,i.kt)("li",{parentName:"ol"},"Select view type from the dropdown modal."),(0,i.kt)("li",{parentName:"ol"},"Fill view name in the pop-up modal.",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"For Kanban view, select the ",(0,i.kt)("inlineCode",{parentName:"li"},"Single select")," field to be used as the Kanban field."))),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Create View")," button.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:r(51391).Z,width:"2876",height:"860"}),"\n",(0,i.kt)("img",{alt:"image",src:r(14504).Z,width:"2878",height:"1412"})),(0,i.kt)("h3",{id:"related-articles"},"Related articles"))}v.isMDXComponent=!0},51391:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/create-view-1-d31e23ee1d7f42e2291809612e833f3b.png"},14504:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/create-view-2-9927b550c2af512e6736c7e8e0af0fac.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[6591],{3905:(e,t,r)=>{r.d(t,{Zo:()=>w,kt:()=>m});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},w=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},p="mdxType",v={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,w=l(e,["components","mdxType","originalType","parentName"]),p=s(r),d=i,m=p["".concat(c,".").concat(d)]||p[d]||v[d]||a;return r?n.createElement(m,o(o({ref:t},w),{},{components:r})):n.createElement(m,o({ref:t},w))}));function m(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,o=new Array(a);o[0]=d;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[p]="string"==typeof e?e:i,o[1]=l;for(var s=2;s{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>v,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var n=r(87462),i=(r(67294),r(3905));const a={title:"Create view",description:"Learn how to create a new view in NocoDB.",tags:["Views","Create","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","create view"]},o=void 0,l={unversionedId:"views/create-view",id:"views/create-view",title:"Create view",description:"Learn how to create a new view in NocoDB.",source:"@site/docs/090.views/020.create-view.md",sourceDirName:"090.views",slug:"/views/create-view",permalink:"/views/create-view",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/020.create-view.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Create",permalink:"/tags/create"},{label:"Grid view",permalink:"/tags/grid-view"},{label:"Form view",permalink:"/tags/form-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Gallery view",permalink:"/tags/gallery-view"}],version:"current",sidebarPosition:20,frontMatter:{title:"Create view",description:"Learn how to create a new view in NocoDB.",tags:["Views","Create","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","create view"]},sidebar:"tutorialSidebar",previous:{title:"View overview",permalink:"/views/views-overview"},next:{title:"Share view",permalink:"/views/share-view"}},c={},s=[{value:"Create new view",id:"create-new-view",level:2},{value:"Related articles",id:"related-articles",level:3}],w={toc:s},p="wrapper";function v(e){let{components:t,...a}=e;return(0,i.kt)(p,(0,n.Z)({},w,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"create-new-view"},"Create new view"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"+")," on the left sidebar next to ",(0,i.kt)("inlineCode",{parentName:"li"},"table name")," OR click on ",(0,i.kt)("inlineCode",{parentName:"li"},"+ New View")," button below ",(0,i.kt)("inlineCode",{parentName:"li"},"table name"),"."),(0,i.kt)("li",{parentName:"ol"},"Select view type from the dropdown modal."),(0,i.kt)("li",{parentName:"ol"},"Fill view name in the pop-up modal.",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"For Kanban view, select the ",(0,i.kt)("inlineCode",{parentName:"li"},"Single select")," field to be used as the Kanban field."))),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Create View")," button.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:r(3573).Z,width:"2880",height:"1800"}),"\n",(0,i.kt)("img",{alt:"image",src:r(23774).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"related-articles"},"Related articles"))}v.isMDXComponent=!0},3573:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/create-view-1-d31e23ee1d7f42e2291809612e833f3b.png"},23774:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/create-view-2-9927b550c2af512e6736c7e8e0af0fac.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/68fa8000.a2b38347.js b/packages/noco-docs/dist/assets/js/68fa8000.7d98a8ca.js similarity index 97% rename from packages/noco-docs/dist/assets/js/68fa8000.a2b38347.js rename to packages/noco-docs/dist/assets/js/68fa8000.7d98a8ca.js index f157a2edfb..98528b8f02 100644 --- a/packages/noco-docs/dist/assets/js/68fa8000.a2b38347.js +++ b/packages/noco-docs/dist/assets/js/68fa8000.7d98a8ca.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7549],{3905:(e,t,i)=>{i.d(t,{Zo:()=>s,kt:()=>u});var r=i(67294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function p(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var l=r.createContext({}),a=function(e){var t=r.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):p(p({},t),e)),i},s=function(e){var t=a(e.components);return r.createElement(l.Provider,{value:t},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),d=a(i),y=n,u=d["".concat(l,".").concat(y)]||d[y]||f[y]||o;return i?r.createElement(u,p(p({ref:t},s),{},{components:i})):r.createElement(u,p({ref:t},s))}));function u(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,p=new Array(o);p[0]=y;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[d]="string"==typeof e?e:n,p[1]=c;for(var a=2;a{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>p,default:()=>f,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var r=i(87462),n=(i(67294),i(3905));const o={title:"Specific DB type",description:"This article explains how to create & work with a Specific DB Type field.",tags:["Fields","Field types","Custom types","Specific DB type"],keywords:["Fields","Field types","Custom types","Specific DB type","Create specific db type field"]},p=void 0,c={unversionedId:"fields/field-types/custom-types/specific-db-type",id:"fields/field-types/custom-types/specific-db-type",title:"Specific DB type",description:"This article explains how to create & work with a Specific DB Type field.",source:"@site/docs/070.fields/040.field-types/050.custom-types/070.specific-db-type.md",sourceDirName:"070.fields/040.field-types/050.custom-types",slug:"/fields/field-types/custom-types/specific-db-type",permalink:"/fields/field-types/custom-types/specific-db-type",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/050.custom-types/070.specific-db-type.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"Specific DB type",permalink:"/tags/specific-db-type"}],version:"current",sidebarPosition:70,frontMatter:{title:"Specific DB type",description:"This article explains how to create & work with a Specific DB Type field.",tags:["Fields","Field types","Custom types","Specific DB type"],keywords:["Fields","Field types","Custom types","Specific DB type","Create specific db type field"]},sidebar:"tutorialSidebar",previous:{title:"Geometry",permalink:"/fields/field-types/custom-types/geometry"},next:{title:"JSON",permalink:"/fields/field-types/custom-types/json"}},l={},a=[{value:"Create a Specific DB Type field",id:"create-a-specific-db-type-field",level:2}],s={toc:a},d="wrapper";function f(e){let{components:t,...o}=e;return(0,n.kt)(d,(0,r.Z)({},s,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"create-a-specific-db-type-field"},"Create a Specific DB Type field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Specific DB Type")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Configure default value for the field (Optional)"),(0,n.kt)("li",{parentName:"ol"},"Provide DB specific data type configurations"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:i(23407).Z,width:"2874",height:"1522"})),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"Specific DB type is available only for external Data source connections")))}f.isMDXComponent=!0},23407:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/specific-db-type-8f55b4cd889fbfd2d9a88abc8a4c2b97.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7549],{3905:(e,t,i)=>{i.d(t,{Zo:()=>s,kt:()=>u});var r=i(67294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function p(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var l=r.createContext({}),a=function(e){var t=r.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):p(p({},t),e)),i},s=function(e){var t=a(e.components);return r.createElement(l.Provider,{value:t},e.children)},d="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),d=a(i),y=n,u=d["".concat(l,".").concat(y)]||d[y]||f[y]||o;return i?r.createElement(u,p(p({ref:t},s),{},{components:i})):r.createElement(u,p({ref:t},s))}));function u(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,p=new Array(o);p[0]=y;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[d]="string"==typeof e?e:n,p[1]=c;for(var a=2;a{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>p,default:()=>f,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var r=i(87462),n=(i(67294),i(3905));const o={title:"Specific DB type",description:"This article explains how to create & work with a Specific DB Type field.",tags:["Fields","Field types","Custom types","Specific DB type"],keywords:["Fields","Field types","Custom types","Specific DB type","Create specific db type field"]},p=void 0,c={unversionedId:"fields/field-types/custom-types/specific-db-type",id:"fields/field-types/custom-types/specific-db-type",title:"Specific DB type",description:"This article explains how to create & work with a Specific DB Type field.",source:"@site/docs/070.fields/040.field-types/050.custom-types/070.specific-db-type.md",sourceDirName:"070.fields/040.field-types/050.custom-types",slug:"/fields/field-types/custom-types/specific-db-type",permalink:"/fields/field-types/custom-types/specific-db-type",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/050.custom-types/070.specific-db-type.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"Specific DB type",permalink:"/tags/specific-db-type"}],version:"current",sidebarPosition:70,frontMatter:{title:"Specific DB type",description:"This article explains how to create & work with a Specific DB Type field.",tags:["Fields","Field types","Custom types","Specific DB type"],keywords:["Fields","Field types","Custom types","Specific DB type","Create specific db type field"]},sidebar:"tutorialSidebar",previous:{title:"Geometry",permalink:"/fields/field-types/custom-types/geometry"},next:{title:"JSON",permalink:"/fields/field-types/custom-types/json"}},l={},a=[{value:"Create a Specific DB Type field",id:"create-a-specific-db-type-field",level:2}],s={toc:a},d="wrapper";function f(e){let{components:t,...o}=e;return(0,n.kt)(d,(0,r.Z)({},s,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"create-a-specific-db-type-field"},"Create a Specific DB Type field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Specific DB Type")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Configure default value for the field (Optional)"),(0,n.kt)("li",{parentName:"ol"},"Provide DB specific data type configurations"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:i(71981).Z,width:"2874",height:"1522"})),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"Specific DB type is available only for external Data source connections")))}f.isMDXComponent=!0},71981:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/specific-db-type-8f55b4cd889fbfd2d9a88abc8a4c2b97.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/69895f00.d201c760.js b/packages/noco-docs/dist/assets/js/69895f00.587a3067.js similarity index 85% rename from packages/noco-docs/dist/assets/js/69895f00.d201c760.js rename to packages/noco-docs/dist/assets/js/69895f00.587a3067.js index e69743ac9d..18d797f8d5 100644 --- a/packages/noco-docs/dist/assets/js/69895f00.d201c760.js +++ b/packages/noco-docs/dist/assets/js/69895f00.587a3067.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4289],{3905:(e,t,i)=>{i.d(t,{Zo:()=>d,kt:()=>f});var l=i(67294);function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function n(e){for(var t=1;t=0||(r[i]=e[i]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}var c=l.createContext({}),s=function(e){var t=l.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):n(n({},t),e)),i},d=function(e){var t=s(e.components);return l.createElement(c.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},u=l.forwardRef((function(e,t){var i=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),p=s(i),u=r,f=p["".concat(c,".").concat(u)]||p[u]||m[u]||a;return i?l.createElement(f,n(n({ref:t},d),{},{components:i})):l.createElement(f,n({ref:t},d))}));function f(e,t){var i=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=i.length,n=new Array(a);n[0]=u;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o[p]="string"==typeof e?e:r,n[1]=o;for(var s=2;s{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>m,frontMatter:()=>a,metadata:()=>o,toc:()=>s});var l=i(87462),r=(i(67294),i(3905));const a={title:"Decimal",description:"This article explains how to create & work with a Decimal field.",tags:["Fields","Field types","Numerical types","Decimal"],keywords:["Fields","Field types","Numerical types","Decimal","Create decimal field"]},n=void 0,o={unversionedId:"fields/field-types/numerical/decimal",id:"fields/field-types/numerical/decimal",title:"Decimal",description:"This article explains how to create & work with a Decimal field.",source:"@site/docs/070.fields/040.field-types/020.numerical/020.decimal.md",sourceDirName:"070.fields/040.field-types/020.numerical",slug:"/fields/field-types/numerical/decimal",permalink:"/fields/field-types/numerical/decimal",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/020.numerical/020.decimal.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Numerical types",permalink:"/tags/numerical-types"},{label:"Decimal",permalink:"/tags/decimal"}],version:"current",sidebarPosition:20,frontMatter:{title:"Decimal",description:"This article explains how to create & work with a Decimal field.",tags:["Fields","Field types","Numerical types","Decimal"],keywords:["Fields","Field types","Numerical types","Decimal","Create decimal field"]},sidebar:"tutorialSidebar",previous:{title:"Number",permalink:"/fields/field-types/numerical/number"},next:{title:"Percent",permalink:"/fields/field-types/numerical/percent"}},c={},s=[{value:"Create a decimal field",id:"create-a-decimal-field",level:2},{value:"Similar numerical fields",id:"similar-numerical-fields",level:2}],d={toc:s},p="wrapper";function m(e){let{components:t,...a}=e;return(0,r.kt)(p,(0,l.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Decimal")," field type is used to store decimal values. Use cases include storing ",(0,r.kt)("inlineCode",{parentName:"p"},"salary"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"price"),", etc. NocoDB supports precision of upto 8 digits."),(0,r.kt)("h2",{id:"create-a-decimal-field"},"Create a decimal field"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,r.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,r.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,r.kt)("li",{parentName:"ol"},"Select the field type as ",(0,r.kt)("inlineCode",{parentName:"li"},"Decimal")," from the dropdown."),(0,r.kt)("li",{parentName:"ol"},"Configure ",(0,r.kt)("inlineCode",{parentName:"li"},"Precision"),"- NocoDB supports upto 8 digits of precision."),(0,r.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image",src:i(1972).Z,width:"2878",height:"1360"})),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("ul",{parentName:"admonition"},(0,r.kt)("li",{parentName:"ul"},"Default decimal precision is 1 digit"))),(0,r.kt)("h2",{id:"similar-numerical-fields"},"Similar numerical fields"),(0,r.kt)("p",null,"Following are the other numerical fields available in NocoDB, with some custom add-on features."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/number"},"Number")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/percent"},"Percent")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/currency"},"Currency"))))}m.isMDXComponent=!0},1972:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/decimal-8e66d00b5270b1f38775d7e71d46975a.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4289],{3905:(e,t,i)=>{i.d(t,{Zo:()=>d,kt:()=>f});var l=i(67294);function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function n(e){for(var t=1;t=0||(r[i]=e[i]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}var c=l.createContext({}),s=function(e){var t=l.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):n(n({},t),e)),i},d=function(e){var t=s(e.components);return l.createElement(c.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},u=l.forwardRef((function(e,t){var i=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),p=s(i),u=r,f=p["".concat(c,".").concat(u)]||p[u]||m[u]||a;return i?l.createElement(f,n(n({ref:t},d),{},{components:i})):l.createElement(f,n({ref:t},d))}));function f(e,t){var i=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=i.length,n=new Array(a);n[0]=u;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o[p]="string"==typeof e?e:r,n[1]=o;for(var s=2;s{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>m,frontMatter:()=>a,metadata:()=>o,toc:()=>s});var l=i(87462),r=(i(67294),i(3905));const a={title:"Decimal",description:"This article explains how to create & work with a Decimal field.",tags:["Fields","Field types","Numerical types","Decimal"],keywords:["Fields","Field types","Numerical types","Decimal","Create decimal field"]},n=void 0,o={unversionedId:"fields/field-types/numerical/decimal",id:"fields/field-types/numerical/decimal",title:"Decimal",description:"This article explains how to create & work with a Decimal field.",source:"@site/docs/070.fields/040.field-types/020.numerical/020.decimal.md",sourceDirName:"070.fields/040.field-types/020.numerical",slug:"/fields/field-types/numerical/decimal",permalink:"/fields/field-types/numerical/decimal",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/020.numerical/020.decimal.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Numerical types",permalink:"/tags/numerical-types"},{label:"Decimal",permalink:"/tags/decimal"}],version:"current",sidebarPosition:20,frontMatter:{title:"Decimal",description:"This article explains how to create & work with a Decimal field.",tags:["Fields","Field types","Numerical types","Decimal"],keywords:["Fields","Field types","Numerical types","Decimal","Create decimal field"]},sidebar:"tutorialSidebar",previous:{title:"Number",permalink:"/fields/field-types/numerical/number"},next:{title:"Percent",permalink:"/fields/field-types/numerical/percent"}},c={},s=[{value:"Create a decimal field",id:"create-a-decimal-field",level:2},{value:"Similar numerical fields",id:"similar-numerical-fields",level:2}],d={toc:s},p="wrapper";function m(e){let{components:t,...a}=e;return(0,r.kt)(p,(0,l.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Decimal")," field type is used to store decimal values. Use cases include storing ",(0,r.kt)("inlineCode",{parentName:"p"},"salary"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"price"),", etc. NocoDB supports precision of upto 8 digits."),(0,r.kt)("h2",{id:"create-a-decimal-field"},"Create a decimal field"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,r.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,r.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,r.kt)("li",{parentName:"ol"},"Select the field type as ",(0,r.kt)("inlineCode",{parentName:"li"},"Decimal")," from the dropdown."),(0,r.kt)("li",{parentName:"ol"},"Configure ",(0,r.kt)("inlineCode",{parentName:"li"},"Precision"),"- NocoDB supports upto 8 digits of precision."),(0,r.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,r.kt)("li",{parentName:"ol"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image",src:i(31267).Z,width:"2878",height:"1360"})),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("ul",{parentName:"admonition"},(0,r.kt)("li",{parentName:"ul"},"Default decimal precision is 1 digit"))),(0,r.kt)("h2",{id:"similar-numerical-fields"},"Similar numerical fields"),(0,r.kt)("p",null,"Following are the other numerical fields available in NocoDB, with some custom add-on features."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/number"},"Number")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/percent"},"Percent")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/currency"},"Currency"))))}m.isMDXComponent=!0},31267:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/decimal-8e66d00b5270b1f38775d7e71d46975a.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/69bed9e5.d9e8352d.js b/packages/noco-docs/dist/assets/js/69bed9e5.c1e1ec1f.js similarity index 87% rename from packages/noco-docs/dist/assets/js/69bed9e5.d9e8352d.js rename to packages/noco-docs/dist/assets/js/69bed9e5.c1e1ec1f.js index 4bf9557324..fb2690cf41 100644 --- a/packages/noco-docs/dist/assets/js/69bed9e5.d9e8352d.js +++ b/packages/noco-docs/dist/assets/js/69bed9e5.c1e1ec1f.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3869],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>g});var a=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function n(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=a.createContext({}),c=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):n(n({},t),e)),r},p=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},d="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=c(r),u=o,g=d["".concat(s,".").concat(u)]||d[u]||h[u]||i;return r?a.createElement(g,n(n({ref:t},p),{},{components:r})):a.createElement(g,n({ref:t},p))}));function g(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,n=new Array(i);n[0]=u;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:o,n[1]=l;for(var c=2;c{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var a=r(87462),o=(r(67294),r(3905));const i={title:"Record height",description:"Learn how to adjust the height of records in NocoDB.",tags:["Table operations","Record height","Grid view"],keywords:["table operations","record height"]},n=void 0,l={unversionedId:"table-operations/row-height",id:"table-operations/row-height",title:"Record height",description:"Learn how to adjust the height of records in NocoDB.",source:"@site/docs/060.table-operations/060.row-height.md",sourceDirName:"060.table-operations",slug:"/table-operations/row-height",permalink:"/table-operations/row-height",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/060.table-operations/060.row-height.md",tags:[{label:"Table operations",permalink:"/tags/table-operations"},{label:"Record height",permalink:"/tags/record-height"},{label:"Grid view",permalink:"/tags/grid-view"}],version:"current",sidebarPosition:60,frontMatter:{title:"Record height",description:"Learn how to adjust the height of records in NocoDB.",tags:["Table operations","Record height","Grid view"],keywords:["table operations","record height"]},sidebar:"tutorialSidebar",previous:{title:"Grouping records",permalink:"/table-operations/group-by"},next:{title:"Search",permalink:"/table-operations/search"}},s={},c=[{value:"Short",id:"short",level:3},{value:"Medium",id:"medium",level:3},{value:"Tall",id:"tall",level:3},{value:"Extra",id:"extra",level:3},{value:"Related topics",id:"related-topics",level:3}],p={toc:c},d="wrapper";function h(e){let{components:t,...i}=e;return(0,o.kt)(d,(0,a.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"NocoDB offers users the flexibility to adjust the display height of records within the spreadsheet grid to four distinct levels: Short (the default setting), Medium, Tall, and Extra. This feature proves valuable when working with extensive text fields and multi-select fields, as it enables users to present a greater amount of content within each cell. "),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"record height",src:r(61033).Z,width:"2294",height:"812"})),(0,o.kt)("h3",{id:"short"},"Short"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Short",src:r(93809).Z,width:"2306",height:"1414"})),(0,o.kt)("h3",{id:"medium"},"Medium"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Medium",src:r(3242).Z,width:"2306",height:"1414"})),(0,o.kt)("h3",{id:"tall"},"Tall"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Tall",src:r(84622).Z,width:"2306",height:"1414"})),(0,o.kt)("h3",{id:"extra"},"Extra"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Extra",src:r(92790).Z,width:"2306",height:"1408"})),(0,o.kt)("h3",{id:"related-topics"},"Related topics"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"field-operations"},"Field operations")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"filter"},"Filter")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"sort"},"Sort")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"group-by"},"GroupBy")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"search"},"Quick Search")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"download"},"Download"))))}h.isMDXComponent=!0},61033:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/row-height-1-b999107b8ea25b026213a6c67498695b.png"},93809:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/row-height-2-422a0b8fac325abb9392cbd5763ee5c7.png"},3242:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/row-height-3-8b665502bcb2cb4bde649e53698161f5.png"},84622:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/row-height-4-6672aa1a7be4bd6075b285f7324c61bc.png"},92790:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/row-height-5-e58d68386f8aa821d5a32c7411ef4ba9.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3869],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>g});var a=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function n(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=a.createContext({}),c=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):n(n({},t),e)),r},p=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},d="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=c(r),u=o,g=d["".concat(s,".").concat(u)]||d[u]||h[u]||i;return r?a.createElement(g,n(n({ref:t},p),{},{components:r})):a.createElement(g,n({ref:t},p))}));function g(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,n=new Array(i);n[0]=u;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:o,n[1]=l;for(var c=2;c{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var a=r(87462),o=(r(67294),r(3905));const i={title:"Record height",description:"Learn how to adjust the height of records in NocoDB.",tags:["Table operations","Record height","Grid view"],keywords:["table operations","record height"]},n=void 0,l={unversionedId:"table-operations/row-height",id:"table-operations/row-height",title:"Record height",description:"Learn how to adjust the height of records in NocoDB.",source:"@site/docs/060.table-operations/060.row-height.md",sourceDirName:"060.table-operations",slug:"/table-operations/row-height",permalink:"/table-operations/row-height",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/060.table-operations/060.row-height.md",tags:[{label:"Table operations",permalink:"/tags/table-operations"},{label:"Record height",permalink:"/tags/record-height"},{label:"Grid view",permalink:"/tags/grid-view"}],version:"current",sidebarPosition:60,frontMatter:{title:"Record height",description:"Learn how to adjust the height of records in NocoDB.",tags:["Table operations","Record height","Grid view"],keywords:["table operations","record height"]},sidebar:"tutorialSidebar",previous:{title:"Grouping records",permalink:"/table-operations/group-by"},next:{title:"Search",permalink:"/table-operations/search"}},s={},c=[{value:"Short",id:"short",level:3},{value:"Medium",id:"medium",level:3},{value:"Tall",id:"tall",level:3},{value:"Extra",id:"extra",level:3},{value:"Related topics",id:"related-topics",level:3}],p={toc:c},d="wrapper";function h(e){let{components:t,...i}=e;return(0,o.kt)(d,(0,a.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"NocoDB offers users the flexibility to adjust the display height of records within the spreadsheet grid to four distinct levels: Short (the default setting), Medium, Tall, and Extra. This feature proves valuable when working with extensive text fields and multi-select fields, as it enables users to present a greater amount of content within each cell. "),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"record height",src:r(49507).Z,width:"2294",height:"812"})),(0,o.kt)("h3",{id:"short"},"Short"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Short",src:r(33836).Z,width:"2306",height:"1414"})),(0,o.kt)("h3",{id:"medium"},"Medium"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Medium",src:r(93175).Z,width:"2306",height:"1414"})),(0,o.kt)("h3",{id:"tall"},"Tall"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Tall",src:r(6376).Z,width:"2306",height:"1414"})),(0,o.kt)("h3",{id:"extra"},"Extra"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Extra",src:r(36674).Z,width:"2306",height:"1408"})),(0,o.kt)("h3",{id:"related-topics"},"Related topics"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"field-operations"},"Field operations")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"filter"},"Filter")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"sort"},"Sort")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"group-by"},"GroupBy")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"search"},"Quick Search")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"download"},"Download"))))}h.isMDXComponent=!0},49507:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/row-height-1-b999107b8ea25b026213a6c67498695b.png"},33836:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/row-height-2-422a0b8fac325abb9392cbd5763ee5c7.png"},93175:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/row-height-3-8b665502bcb2cb4bde649e53698161f5.png"},6376:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/row-height-4-6672aa1a7be4bd6075b285f7324c61bc.png"},36674:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/row-height-5-e58d68386f8aa821d5a32c7411ef4ba9.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/69bee932.66b73e69.js b/packages/noco-docs/dist/assets/js/69bee932.04f3d977.js similarity index 98% rename from packages/noco-docs/dist/assets/js/69bee932.66b73e69.js rename to packages/noco-docs/dist/assets/js/69bee932.04f3d977.js index 6d5db8158e..f271913198 100644 --- a/packages/noco-docs/dist/assets/js/69bee932.66b73e69.js +++ b/packages/noco-docs/dist/assets/js/69bee932.04f3d977.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3454],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var l=a.createContext({}),d=function(e){var t=a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=d(e.components);return a.createElement(l.Provider,{value:t},e.children)},c="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},g=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),c=d(r),g=n,u=c["".concat(l,".").concat(g)]||c[g]||m[g]||o;return r?a.createElement(u,i(i({ref:t},p),{},{components:r})):a.createElement(u,i({ref:t},p))}));function u(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=g;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:n,i[1]=s;for(var d=2;d{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var a=r(87462),n=(r(67294),r(3905));const o={title:"NocoDB terminologies",keywords:["NocoDB terminologies","NocoDB terms","NocoDB keywords"]},i=void 0,s={unversionedId:"getting-started/terminologies",id:"getting-started/terminologies",title:"NocoDB terminologies",description:"To maximize your use of NocoDB, it's beneficial to become familiar with some common terms.",source:"@site/docs/020.getting-started/030.terminologies.md",sourceDirName:"020.getting-started",slug:"/getting-started/terminologies",permalink:"/getting-started/terminologies",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/020.getting-started/030.terminologies.md",tags:[],version:"current",sidebarPosition:30,frontMatter:{title:"NocoDB terminologies",keywords:["NocoDB terminologies","NocoDB terms","NocoDB keywords"]},sidebar:"tutorialSidebar",previous:{title:"Quick start",permalink:"/getting-started/quick-start"},next:{title:"Keyboard shortcuts",permalink:"/getting-started/keyboard-shortcuts"}},l={},d=[{value:"Layout",id:"layout",level:2},{value:"Terminologies",id:"terminologies",level:2}],p={toc:d},c="wrapper";function m(e){let{components:t,...o}=e;return(0,n.kt)(c,(0,a.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"To maximize your use of NocoDB, it's beneficial to become familiar with some common terms."),(0,n.kt)("p",null,"Within this section, we've provided straightforward explanations for keywords and phrases that are relevant to NocoDB's functionality and capabilities. This resource is designed to assist you in gaining a deeper understanding of NocoDB as you embark on the process of setting up workspaces, bases, tables, and various other elements within the platform."),(0,n.kt)("h2",{id:"layout"},"Layout"),(0,n.kt)("p",null,"The layout below shows the main parts of NocoDB's user interface."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:r(87950).Z,width:"2007",height:"1041"})),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Sidebar"),": This component provides quick access to workspaces, bases, tables, and views, facilitating easy navigation within NocoDB. ")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Navbar"),": In the Navbar, you'll find essential tools like the Switcher, allowing users to switch between data mode and details mode, and the Share button for collaborative workspace and view sharing.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Toolbar"),": The Toolbar equips users with various tools to manage records within tables and views effectively. It includes features for sorting, filtering, and editing data, enhancing your control over information.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"View Area"),": The central workspace where data can be viewed in multiple formats - Grid, Gallery, Kanban or Form.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Footbar"),": A pagination bar for navigating between paginated records. "))),(0,n.kt)("h2",{id:"terminologies"},"Terminologies"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"right"},"Term"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Base"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A base is a collection of one or more tables, often related and linked to one another. Alternative term ",(0,n.kt)("inlineCode",{parentName:"td"},"Project"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Base Owner"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Member who had created base. There can be only one owner for a base & ownership is non-transferable")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Base member"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Base member with specific access permissions. Alternative term ",(0,n.kt)("inlineCode",{parentName:"td"},"Member")," ",(0,n.kt)("inlineCode",{parentName:"td"},"User"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Cell"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A cell represents the space created where a column and a row intersect within a grid-like structure. It serves as the fundamental unit for storing data")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Field"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A field or column in a table is a container for values that share the same data type. Alternative term ",(0,n.kt)("inlineCode",{parentName:"td"},"Column"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Modal"),(0,n.kt)("td",{parentName:"tr",align:"left"},'In the context of user interfaces, a modal is a type of dialog or overlay that appears on top of the main content or interface and requires user interaction before the user can proceed. Modals are often used to gather user input, display alerts, or confirm actions. They typically "block" the rest of the interface until the user dismisses them, making them a focused and attention-grabbing element')),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Record"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A record represents a row in a table. Alternative term ",(0,n.kt)("inlineCode",{parentName:"td"},"Row"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Table"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A base is housed in tables, where data is logically arranged into rows and columns. A base can have multiple tables. Alternative term ",(0,n.kt)("inlineCode",{parentName:"td"},"Model"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Term"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Description")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"View"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A view defines how data within a table is presented and interacted with. Default view type is the grid view; other supported view types include form, gallery, and kanban views.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Webhook"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A webhook is a mechanism that allows one system to send real-time data to another system or application. It enables automated notifications and data synchronization between different services or platforms by triggering predefined actions or events in response to specific events or updates in the source system.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Workspace Owner"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Member who had created workspace. There can be only one owner for a workspace & ownership is non-transferable")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Workspace member"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Workspace member with specific access permissions. Alternative term ",(0,n.kt)("inlineCode",{parentName:"td"},"Member")," ",(0,n.kt)("inlineCode",{parentName:"td"},"User"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Workspace"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A workspace is a collection of one or more bases. It offers collaborative access to bases by enabling you to bring together interconnected tables, views, and various elements into a unified and organized entity")))))}m.isMDXComponent=!0},87950:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/layout-overview-e73d351486ff105d59a64cc0d1801f12.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3454],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var l=a.createContext({}),d=function(e){var t=a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=d(e.components);return a.createElement(l.Provider,{value:t},e.children)},c="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},g=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),c=d(r),g=n,u=c["".concat(l,".").concat(g)]||c[g]||m[g]||o;return r?a.createElement(u,i(i({ref:t},p),{},{components:r})):a.createElement(u,i({ref:t},p))}));function u(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=g;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:n,i[1]=s;for(var d=2;d{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var a=r(87462),n=(r(67294),r(3905));const o={title:"NocoDB terminologies",keywords:["NocoDB terminologies","NocoDB terms","NocoDB keywords"]},i=void 0,s={unversionedId:"getting-started/terminologies",id:"getting-started/terminologies",title:"NocoDB terminologies",description:"To maximize your use of NocoDB, it's beneficial to become familiar with some common terms.",source:"@site/docs/020.getting-started/030.terminologies.md",sourceDirName:"020.getting-started",slug:"/getting-started/terminologies",permalink:"/getting-started/terminologies",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/020.getting-started/030.terminologies.md",tags:[],version:"current",sidebarPosition:30,frontMatter:{title:"NocoDB terminologies",keywords:["NocoDB terminologies","NocoDB terms","NocoDB keywords"]},sidebar:"tutorialSidebar",previous:{title:"Quick start",permalink:"/getting-started/quick-start"},next:{title:"Keyboard shortcuts",permalink:"/getting-started/keyboard-shortcuts"}},l={},d=[{value:"Layout",id:"layout",level:2},{value:"Terminologies",id:"terminologies",level:2}],p={toc:d},c="wrapper";function m(e){let{components:t,...o}=e;return(0,n.kt)(c,(0,a.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"To maximize your use of NocoDB, it's beneficial to become familiar with some common terms."),(0,n.kt)("p",null,"Within this section, we've provided straightforward explanations for keywords and phrases that are relevant to NocoDB's functionality and capabilities. This resource is designed to assist you in gaining a deeper understanding of NocoDB as you embark on the process of setting up workspaces, bases, tables, and various other elements within the platform."),(0,n.kt)("h2",{id:"layout"},"Layout"),(0,n.kt)("p",null,"The layout below shows the main parts of NocoDB's user interface."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:r(41726).Z,width:"2007",height:"1041"})),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Sidebar"),": This component provides quick access to workspaces, bases, tables, and views, facilitating easy navigation within NocoDB. ")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Navbar"),": In the Navbar, you'll find essential tools like the Switcher, allowing users to switch between data mode and details mode, and the Share button for collaborative workspace and view sharing.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Toolbar"),": The Toolbar equips users with various tools to manage records within tables and views effectively. It includes features for sorting, filtering, and editing data, enhancing your control over information.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"View Area"),": The central workspace where data can be viewed in multiple formats - Grid, Gallery, Kanban or Form.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Footbar"),": A pagination bar for navigating between paginated records. "))),(0,n.kt)("h2",{id:"terminologies"},"Terminologies"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:"right"},"Term"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Base"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A base is a collection of one or more tables, often related and linked to one another. Alternative term ",(0,n.kt)("inlineCode",{parentName:"td"},"Project"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Base Owner"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Member who had created base. There can be only one owner for a base & ownership is non-transferable")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Base member"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Base member with specific access permissions. Alternative term ",(0,n.kt)("inlineCode",{parentName:"td"},"Member")," ",(0,n.kt)("inlineCode",{parentName:"td"},"User"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Cell"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A cell represents the space created where a column and a row intersect within a grid-like structure. It serves as the fundamental unit for storing data")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Field"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A field or column in a table is a container for values that share the same data type. Alternative term ",(0,n.kt)("inlineCode",{parentName:"td"},"Column"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Modal"),(0,n.kt)("td",{parentName:"tr",align:"left"},'In the context of user interfaces, a modal is a type of dialog or overlay that appears on top of the main content or interface and requires user interaction before the user can proceed. Modals are often used to gather user input, display alerts, or confirm actions. They typically "block" the rest of the interface until the user dismisses them, making them a focused and attention-grabbing element')),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Record"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A record represents a row in a table. Alternative term ",(0,n.kt)("inlineCode",{parentName:"td"},"Row"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Table"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A base is housed in tables, where data is logically arranged into rows and columns. A base can have multiple tables. Alternative term ",(0,n.kt)("inlineCode",{parentName:"td"},"Model"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Term"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Description")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"View"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A view defines how data within a table is presented and interacted with. Default view type is the grid view; other supported view types include form, gallery, and kanban views.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Webhook"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A webhook is a mechanism that allows one system to send real-time data to another system or application. It enables automated notifications and data synchronization between different services or platforms by triggering predefined actions or events in response to specific events or updates in the source system.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Workspace Owner"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Member who had created workspace. There can be only one owner for a workspace & ownership is non-transferable")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Workspace member"),(0,n.kt)("td",{parentName:"tr",align:"left"},"Workspace member with specific access permissions. Alternative term ",(0,n.kt)("inlineCode",{parentName:"td"},"Member")," ",(0,n.kt)("inlineCode",{parentName:"td"},"User"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:"right"},"Workspace"),(0,n.kt)("td",{parentName:"tr",align:"left"},"A workspace is a collection of one or more bases. It offers collaborative access to bases by enabling you to bring together interconnected tables, views, and various elements into a unified and organized entity")))))}m.isMDXComponent=!0},41726:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/layout-overview-e73d351486ff105d59a64cc0d1801f12.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/6a0eac6b.e4313a7a.js b/packages/noco-docs/dist/assets/js/6a0eac6b.28d798be.js similarity index 97% rename from packages/noco-docs/dist/assets/js/6a0eac6b.e4313a7a.js rename to packages/noco-docs/dist/assets/js/6a0eac6b.28d798be.js index d607d0c2a3..02ce70e5d2 100644 --- a/packages/noco-docs/dist/assets/js/6a0eac6b.e4313a7a.js +++ b/packages/noco-docs/dist/assets/js/6a0eac6b.28d798be.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4158],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>m});var r=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var s=r.createContext({}),p=function(e){var t=r.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var a=e.components,o=e.mdxType,n=e.originalType,s=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),c=p(a),f=o,m=c["".concat(s,".").concat(f)]||c[f]||u[f]||n;return a?r.createElement(m,l(l({ref:t},d),{},{components:a})):r.createElement(m,l({ref:t},d))}));function m(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=a.length,l=new Array(n);l[0]=f;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[c]="string"==typeof e?e:o,l[1]=i;for(var p=2;p{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>u,frontMatter:()=>n,metadata:()=>i,toc:()=>p});var r=a(87462),o=(a(67294),a(3905));const n={title:"Download",tags:["Table operations","Download","Gallery view","Kanban view","Grid view","CSV","JSON","Excel"],keywords:["NocoDB table","download","export"]},l=void 0,i={unversionedId:"table-operations/download",id:"table-operations/download",title:"Download",description:"NocoDB offers users the ability to export data from the spreadsheet grid in a variety of formats. This feature is useful when working with large datasets and can be used in conjunction with the Filter and Sort feature to further refine your data.",source:"@site/docs/060.table-operations/080.download.md",sourceDirName:"060.table-operations",slug:"/table-operations/download",permalink:"/table-operations/download",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/060.table-operations/080.download.md",tags:[{label:"Table operations",permalink:"/tags/table-operations"},{label:"Download",permalink:"/tags/download"},{label:"Gallery view",permalink:"/tags/gallery-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Grid view",permalink:"/tags/grid-view"},{label:"CSV",permalink:"/tags/csv"},{label:"JSON",permalink:"/tags/json"},{label:"Excel",permalink:"/tags/excel"}],version:"current",sidebarPosition:80,frontMatter:{title:"Download",tags:["Table operations","Download","Gallery view","Kanban view","Grid view","CSV","JSON","Excel"],keywords:["NocoDB table","download","export"]},sidebar:"tutorialSidebar",previous:{title:"Search",permalink:"/table-operations/search"},next:{title:"Table details overview",permalink:"/table-details/table-details-overview"}},s={},p=[{value:"Download Data",id:"download-data",level:3},{value:"Related topics",id:"related-topics",level:3}],d={toc:p},c="wrapper";function u(e){let{components:t,...n}=e;return(0,o.kt)(c,(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"NocoDB offers users the ability to export data from the spreadsheet grid in a variety of formats. This feature is useful when working with large datasets and can be used in conjunction with the ",(0,o.kt)("inlineCode",{parentName:"p"},"Filter")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"Sort")," feature to further refine your data."),(0,o.kt)("h3",{id:"download-data"},"Download Data"),(0,o.kt)("p",null,"To export data from NocoDB, follow these steps:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"...")," button in the toolbar menu."),(0,o.kt)("li",{parentName:"ol"},"Choose the ",(0,o.kt)("inlineCode",{parentName:"li"},"Download")," option."),(0,o.kt)("li",{parentName:"ol"},"Select the desired file format from the dropdown menu.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Export",src:a(30549).Z,width:"2376",height:"904"})),(0,o.kt)("h3",{id:"related-topics"},"Related topics"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"field-operations"},"Field operations")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"filter"},"Filter")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"sort"},"Sort")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"group-by"},"GroupBy")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"row-height"},"record height")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"search"},"Quick Search"))))}u.isMDXComponent=!0},30549:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/download-7abfaf6c07a06e7669524f44c1832cc3.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4158],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>m});var r=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var s=r.createContext({}),p=function(e){var t=r.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var a=e.components,o=e.mdxType,n=e.originalType,s=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),c=p(a),f=o,m=c["".concat(s,".").concat(f)]||c[f]||u[f]||n;return a?r.createElement(m,l(l({ref:t},d),{},{components:a})):r.createElement(m,l({ref:t},d))}));function m(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=a.length,l=new Array(n);l[0]=f;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[c]="string"==typeof e?e:o,l[1]=i;for(var p=2;p{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>u,frontMatter:()=>n,metadata:()=>i,toc:()=>p});var r=a(87462),o=(a(67294),a(3905));const n={title:"Download",tags:["Table operations","Download","Gallery view","Kanban view","Grid view","CSV","JSON","Excel"],keywords:["NocoDB table","download","export"]},l=void 0,i={unversionedId:"table-operations/download",id:"table-operations/download",title:"Download",description:"NocoDB offers users the ability to export data from the spreadsheet grid in a variety of formats. This feature is useful when working with large datasets and can be used in conjunction with the Filter and Sort feature to further refine your data.",source:"@site/docs/060.table-operations/080.download.md",sourceDirName:"060.table-operations",slug:"/table-operations/download",permalink:"/table-operations/download",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/060.table-operations/080.download.md",tags:[{label:"Table operations",permalink:"/tags/table-operations"},{label:"Download",permalink:"/tags/download"},{label:"Gallery view",permalink:"/tags/gallery-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Grid view",permalink:"/tags/grid-view"},{label:"CSV",permalink:"/tags/csv"},{label:"JSON",permalink:"/tags/json"},{label:"Excel",permalink:"/tags/excel"}],version:"current",sidebarPosition:80,frontMatter:{title:"Download",tags:["Table operations","Download","Gallery view","Kanban view","Grid view","CSV","JSON","Excel"],keywords:["NocoDB table","download","export"]},sidebar:"tutorialSidebar",previous:{title:"Search",permalink:"/table-operations/search"},next:{title:"Table details overview",permalink:"/table-details/table-details-overview"}},s={},p=[{value:"Download Data",id:"download-data",level:3},{value:"Related topics",id:"related-topics",level:3}],d={toc:p},c="wrapper";function u(e){let{components:t,...n}=e;return(0,o.kt)(c,(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"NocoDB offers users the ability to export data from the spreadsheet grid in a variety of formats. This feature is useful when working with large datasets and can be used in conjunction with the ",(0,o.kt)("inlineCode",{parentName:"p"},"Filter")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"Sort")," feature to further refine your data."),(0,o.kt)("h3",{id:"download-data"},"Download Data"),(0,o.kt)("p",null,"To export data from NocoDB, follow these steps:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"...")," button in the toolbar menu."),(0,o.kt)("li",{parentName:"ol"},"Choose the ",(0,o.kt)("inlineCode",{parentName:"li"},"Download")," option."),(0,o.kt)("li",{parentName:"ol"},"Select the desired file format from the dropdown menu.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Export",src:a(18185).Z,width:"2376",height:"904"})),(0,o.kt)("h3",{id:"related-topics"},"Related topics"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"field-operations"},"Field operations")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"filter"},"Filter")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"sort"},"Sort")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"group-by"},"GroupBy")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"row-height"},"record height")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"search"},"Quick Search"))))}u.isMDXComponent=!0},18185:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/download-7abfaf6c07a06e7669524f44c1832cc3.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/6d2f78d9.7e42a82e.js b/packages/noco-docs/dist/assets/js/6d2f78d9.2ed22396.js similarity index 96% rename from packages/noco-docs/dist/assets/js/6d2f78d9.7e42a82e.js rename to packages/noco-docs/dist/assets/js/6d2f78d9.2ed22396.js index 5343b012e0..26bb4c0b0b 100644 --- a/packages/noco-docs/dist/assets/js/6d2f78d9.7e42a82e.js +++ b/packages/noco-docs/dist/assets/js/6d2f78d9.2ed22396.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[254],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>m});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=r.createContext({}),p=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},d=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,l=e.originalType,s=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),c=p(n),u=o,m=c["".concat(s,".").concat(u)]||c[u]||f[u]||l;return n?r.createElement(m,a(a({ref:t},d),{},{components:n})):r.createElement(m,a({ref:t},d))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var l=n.length,a=new Array(l);a[0]=u;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[c]="string"==typeof e?e:o,a[1]=i;for(var p=2;p{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>f,frontMatter:()=>l,metadata:()=>i,toc:()=>p});var r=n(87462),o=(n(67294),n(3905));const l={title:"JSON",tags:["Fields","Field types","Custom types","JSON"]},a=void 0,i={unversionedId:"fields/field-types/custom-types/json",id:"fields/field-types/custom-types/json",title:"JSON",description:"JSON is a custom field type that allows you to store JSON data in a field. Useful for storing data that can be represented as a JSON object, like API Response, or a set of key-value pairs.",source:"@site/docs/070.fields/040.field-types/050.custom-types/080.json.md",sourceDirName:"070.fields/040.field-types/050.custom-types",slug:"/fields/field-types/custom-types/json",permalink:"/fields/field-types/custom-types/json",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/050.custom-types/080.json.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"JSON",permalink:"/tags/json"}],version:"current",sidebarPosition:80,frontMatter:{title:"JSON",tags:["Fields","Field types","Custom types","JSON"]},sidebar:"tutorialSidebar",previous:{title:"Specific DB type",permalink:"/fields/field-types/custom-types/specific-db-type"},next:{title:"Formula",permalink:"/fields/field-types/formula/formula"}},s={},p=[{value:"Create a JSON field",id:"create-a-json-field",level:2},{value:"Cell display",id:"cell-display",level:3}],d={toc:p},c="wrapper";function f(e){let{components:t,...l}=e;return(0,o.kt)(c,(0,r.Z)({},d,l,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"JSON")," is a custom field type that allows you to store JSON data in a field. Useful for storing data that can be represented as a JSON object, like API Response, or a set of key-value pairs."),(0,o.kt)("h2",{id:"create-a-json-field"},"Create a JSON field"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,o.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,o.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Select the field type as ",(0,o.kt)("inlineCode",{parentName:"li"},"JSON")," from the dropdown."),(0,o.kt)("li",{parentName:"ol"},"Configure default value for the field (Optional)"),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:n(19918).Z,width:"2876",height:"1424"})),(0,o.kt)("h3",{id:"cell-display"},"Cell display"),(0,o.kt)("p",null,"Cell displays the JSON data stored in the field. Click on expand record icon to open the JSON data in an editor modal."))}f.isMDXComponent=!0},19918:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/JSON-11cd3835058fadbd8e0bd98d8dd1fc50.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[254],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>m});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=r.createContext({}),p=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},d=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,l=e.originalType,s=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),c=p(n),u=o,m=c["".concat(s,".").concat(u)]||c[u]||f[u]||l;return n?r.createElement(m,a(a({ref:t},d),{},{components:n})):r.createElement(m,a({ref:t},d))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var l=n.length,a=new Array(l);a[0]=u;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[c]="string"==typeof e?e:o,a[1]=i;for(var p=2;p{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>f,frontMatter:()=>l,metadata:()=>i,toc:()=>p});var r=n(87462),o=(n(67294),n(3905));const l={title:"JSON",tags:["Fields","Field types","Custom types","JSON"]},a=void 0,i={unversionedId:"fields/field-types/custom-types/json",id:"fields/field-types/custom-types/json",title:"JSON",description:"JSON is a custom field type that allows you to store JSON data in a field. Useful for storing data that can be represented as a JSON object, like API Response, or a set of key-value pairs.",source:"@site/docs/070.fields/040.field-types/050.custom-types/080.json.md",sourceDirName:"070.fields/040.field-types/050.custom-types",slug:"/fields/field-types/custom-types/json",permalink:"/fields/field-types/custom-types/json",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/050.custom-types/080.json.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"JSON",permalink:"/tags/json"}],version:"current",sidebarPosition:80,frontMatter:{title:"JSON",tags:["Fields","Field types","Custom types","JSON"]},sidebar:"tutorialSidebar",previous:{title:"Specific DB type",permalink:"/fields/field-types/custom-types/specific-db-type"},next:{title:"Formula",permalink:"/fields/field-types/formula/formula"}},s={},p=[{value:"Create a JSON field",id:"create-a-json-field",level:2},{value:"Cell display",id:"cell-display",level:3}],d={toc:p},c="wrapper";function f(e){let{components:t,...l}=e;return(0,o.kt)(c,(0,r.Z)({},d,l,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"JSON")," is a custom field type that allows you to store JSON data in a field. Useful for storing data that can be represented as a JSON object, like API Response, or a set of key-value pairs."),(0,o.kt)("h2",{id:"create-a-json-field"},"Create a JSON field"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,o.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,o.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Select the field type as ",(0,o.kt)("inlineCode",{parentName:"li"},"JSON")," from the dropdown."),(0,o.kt)("li",{parentName:"ol"},"Configure default value for the field (Optional)"),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:n(67140).Z,width:"2876",height:"1424"})),(0,o.kt)("h3",{id:"cell-display"},"Cell display"),(0,o.kt)("p",null,"Cell displays the JSON data stored in the field. Click on expand record icon to open the JSON data in an editor modal."))}f.isMDXComponent=!0},67140:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/JSON-11cd3835058fadbd8e0bd98d8dd1fc50.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/6f7695df.379c6147.js b/packages/noco-docs/dist/assets/js/6f7695df.379c6147.js deleted file mode 100644 index 96b926cc27..0000000000 --- a/packages/noco-docs/dist/assets/js/6f7695df.379c6147.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3011],{3905:(e,a,t)=>{t.d(a,{Zo:()=>c,kt:()=>m});var r=t(67294);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function s(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var a=1;a=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var o=r.createContext({}),b=function(e){var a=r.useContext(o),t=a;return e&&(t="function"==typeof e?e(a):i(i({},a),e)),t},c=function(e){var a=b(e.components);return r.createElement(o.Provider,{value:a},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},h=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,s=e.originalType,o=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=b(t),h=n,m=d["".concat(o,".").concat(h)]||d[h]||p[h]||s;return t?r.createElement(m,i(i({ref:a},c),{},{components:t})):r.createElement(m,i({ref:a},c))}));function m(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var s=t.length,i=new Array(s);i[0]=h;var l={};for(var o in a)hasOwnProperty.call(a,o)&&(l[o]=a[o]);l.originalType=e,l[d]="string"==typeof e?e:n,i[1]=l;for(var b=2;b{t.r(a),t.d(a,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>b});var r=t(87462),n=(t(67294),t(3905));const s={title:"Share base",description:"Procedures to share a base & generating embedded iframe",tags:["Bases","Share","Collaboration","Share base"],keywords:["NocoDB base","share base","base collaboration","Public share"]},i=void 0,l={unversionedId:"bases/share-base",id:"bases/share-base",title:"Share base",description:"Procedures to share a base & generating embedded iframe",source:"@site/docs/040.bases/060.share-base.md",sourceDirName:"040.bases",slug:"/bases/share-base",permalink:"/bases/share-base",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/040.bases/060.share-base.md",tags:[{label:"Bases",permalink:"/tags/bases"},{label:"Share",permalink:"/tags/share"},{label:"Collaboration",permalink:"/tags/collaboration"},{label:"Share base",permalink:"/tags/share-base"}],version:"current",sidebarPosition:60,frontMatter:{title:"Share base",description:"Procedures to share a base & generating embedded iframe",tags:["Bases","Share","Collaboration","Share base"],keywords:["NocoDB base","share base","base collaboration","Public share"]},sidebar:"tutorialSidebar",previous:{title:"Base collaboration",permalink:"/bases/base-collaboration"},next:{title:"Actions on base",permalink:"/bases/actions-on-base"}},o={},b=[{value:"Modify Share base",id:"modify-share-base",level:2},{value:"Disable Share base",id:"disable-share-base",level:2},{value:"Share base Access Permissions",id:"share-base-access-permissions",level:2},{value:"Embeddable Frame",id:"embeddable-frame",level:2},{value:"Embed into application's HTML Body",id:"embed-into-applications-html-body",level:3},{value:"Related articles",id:"related-articles",level:2}],c={toc:b},d="wrapper";function p(e){let{components:a,...s}=e;return(0,n.kt)(d,(0,r.Z)({},c,s,{components:a,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"To share a base, follow the steps below:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Navigate to the top right corner of the top navigation bar and click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"Share")," button."),(0,n.kt)("li",{parentName:"ol"},"In the ",(0,n.kt)("inlineCode",{parentName:"li"},"Shared base")," section, toggle the switch to ",(0,n.kt)("inlineCode",{parentName:"li"},"Enable public access")," in order to activate the shared base feature."),(0,n.kt)("li",{parentName:"ol"},"The generated link for the shared base will be displayed above and can be utilized to share this project with others. To copy the URL, simply click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"Copy Link")," option.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Share base",src:t(3132).Z,width:"3046",height:"994"})),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Share base",src:t(43320).Z,width:"2874",height:"1790"})),(0,n.kt)("h2",{id:"modify-share-base"},"Modify Share base"),(0,n.kt)("p",null,"Amending the ",(0,n.kt)("inlineCode",{parentName:"p"},"Share base")," setting will render the previously generated ",(0,n.kt)("inlineCode",{parentName:"p"},"Share base")," link invalid and generate a new link in its place.\nHere are the steps to modify it:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"Share")," button located in the top right corner of the toolbar."),(0,n.kt)("li",{parentName:"ol"},"Toggle the option labeled ",(0,n.kt)("inlineCode",{parentName:"li"},"Enable public access")," to deactivate the base share."),(0,n.kt)("li",{parentName:"ol"},"Toggle the same option, ",(0,n.kt)("inlineCode",{parentName:"li"},"Enable public access,")," to reactivate the base share, subsequently generating a new link.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Enable public access",src:t(78830).Z,width:"2874",height:"1790"})),(0,n.kt)("h2",{id:"disable-share-base"},"Disable Share base"),(0,n.kt)("p",null,"Disabling ",(0,n.kt)("inlineCode",{parentName:"p"},"Share base")," will render the previously generated ",(0,n.kt)("inlineCode",{parentName:"p"},"Share base")," link invalid\nHere are the steps to disable it:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on the 'Share' button located in the top right corner of the toolbar."),(0,n.kt)("li",{parentName:"ol"},"Toggle the option labeled ",(0,n.kt)("inlineCode",{parentName:"li"},"Enable public access")," to deactivate the base share.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Enable public access",src:t(78830).Z,width:"2874",height:"1790"})),(0,n.kt)("h2",{id:"share-base-access-permissions"},"Share base Access Permissions"),(0,n.kt)("p",null,'The "Shared base" can be configured in two modes:'),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Viewer")," - Users with the provided link will have ",(0,n.kt)("strong",{parentName:"li"},"read-only")," access to the base data."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Editor")," - Users with the provided link will have ",(0,n.kt)("strong",{parentName:"li"},"read and write")," access to the base data.")),(0,n.kt)("p",null,"Toggle ",(0,n.kt)("inlineCode",{parentName:"p"},"Enable Editor Access")," button to configure permissions as desired\n",(0,n.kt)("img",{alt:"Share base edit access",src:t(82630).Z,width:"2874",height:"1790"})),(0,n.kt)("h2",{id:"embeddable-frame"},"Embeddable Frame"),(0,n.kt)("p",null,"The NocoDB interface can be seamlessly integrated into existing applications through the utilization of the ",(0,n.kt)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe"},"HTML IFRAME")," attribute. This feature empowers users to embed the NocoDB interface into their applications, allowing for a unified user experience. To generate the embeddable HTML code, follow these steps:"),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"To Generate Embeddable HTML Code:")),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click the ",(0,n.kt)("inlineCode",{parentName:"li"},"Share")," button located in the top right corner of the toolbar."),(0,n.kt)("li",{parentName:"ol"},"Within the ",(0,n.kt)("inlineCode",{parentName:"li"},"Shared base link")," tab, select the button to copy the ",(0,n.kt)("inlineCode",{parentName:"li"},"Embeddable HTML code")," to your clipboard.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Share base iFrame",src:t(41464).Z,width:"2874",height:"1790"})),(0,n.kt)("p",null,"Example:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-html"},'\n\n')),(0,n.kt)("h3",{id:"embed-into-applications-html-body"},"Embed into application's HTML Body"),(0,n.kt)("p",null,"Sample code with embedded iframe generated above"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-html"},'\n\n \n \n \n\n')),(0,n.kt)("h2",{id:"related-articles"},"Related articles"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/base-overview"},"Base overview")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/create-base"},"Create an empty base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/import-base-from-airtable"},"Import base from Airtable")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/base-collaboration"},"Invite team members to work on a base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/share-base"},"Share base publicly")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#rename-base"},"Rename base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#duplicate-base"},"Duplicate base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#star-base"},"Bookmark base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#delete-base"},"Delete base"))))}p.isMDXComponent=!0},3132:(e,a,t)=>{t.d(a,{Z:()=>r});const r=t.p+"assets/images/share-base-1-b9c4bddb603c184a16da76c4e1e08edb.png"},43320:(e,a,t)=>{t.d(a,{Z:()=>r});const r=t.p+"assets/images/share-base-2-07354533111aa13a608996b10640f468.png"},82630:(e,a,t)=>{t.d(a,{Z:()=>r});const r=t.p+"assets/images/share-base-edit-access-b293bc0349998853d6de8a9784ae9e54.png"},78830:(e,a,t)=>{t.d(a,{Z:()=>r});const r=t.p+"assets/images/share-base-enable-public-access-70567245aad03d619b620d838cbdb21a.png"},41464:(e,a,t)=>{t.d(a,{Z:()=>r});const r=t.p+"assets/images/share-base-iframe-5cf906c782389e1cf39b132cd1ab62ac.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/6f7695df.c3e7637c.js b/packages/noco-docs/dist/assets/js/6f7695df.c3e7637c.js new file mode 100644 index 0000000000..539e70d095 --- /dev/null +++ b/packages/noco-docs/dist/assets/js/6f7695df.c3e7637c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3011],{3905:(e,a,t)=>{t.d(a,{Zo:()=>c,kt:()=>m});var r=t(67294);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function s(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var a=1;a=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var o=r.createContext({}),b=function(e){var a=r.useContext(o),t=a;return e&&(t="function"==typeof e?e(a):i(i({},a),e)),t},c=function(e){var a=b(e.components);return r.createElement(o.Provider,{value:a},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},h=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,s=e.originalType,o=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=b(t),h=n,m=d["".concat(o,".").concat(h)]||d[h]||p[h]||s;return t?r.createElement(m,i(i({ref:a},c),{},{components:t})):r.createElement(m,i({ref:a},c))}));function m(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var s=t.length,i=new Array(s);i[0]=h;var l={};for(var o in a)hasOwnProperty.call(a,o)&&(l[o]=a[o]);l.originalType=e,l[d]="string"==typeof e?e:n,i[1]=l;for(var b=2;b{t.r(a),t.d(a,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>b});var r=t(87462),n=(t(67294),t(3905));const s={title:"Share base",description:"Procedures to share a base & generating embedded iframe",tags:["Bases","Share","Collaboration","Share base"],keywords:["NocoDB base","share base","base collaboration","Public share"]},i=void 0,l={unversionedId:"bases/share-base",id:"bases/share-base",title:"Share base",description:"Procedures to share a base & generating embedded iframe",source:"@site/docs/040.bases/060.share-base.md",sourceDirName:"040.bases",slug:"/bases/share-base",permalink:"/bases/share-base",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/040.bases/060.share-base.md",tags:[{label:"Bases",permalink:"/tags/bases"},{label:"Share",permalink:"/tags/share"},{label:"Collaboration",permalink:"/tags/collaboration"},{label:"Share base",permalink:"/tags/share-base"}],version:"current",sidebarPosition:60,frontMatter:{title:"Share base",description:"Procedures to share a base & generating embedded iframe",tags:["Bases","Share","Collaboration","Share base"],keywords:["NocoDB base","share base","base collaboration","Public share"]},sidebar:"tutorialSidebar",previous:{title:"Base collaboration",permalink:"/bases/base-collaboration"},next:{title:"Actions on base",permalink:"/bases/actions-on-base"}},o={},b=[{value:"Modify Share base",id:"modify-share-base",level:2},{value:"Disable Share base",id:"disable-share-base",level:2},{value:"Share base Access Permissions",id:"share-base-access-permissions",level:2},{value:"Embeddable Frame",id:"embeddable-frame",level:2},{value:"Embed into application's HTML Body",id:"embed-into-applications-html-body",level:3},{value:"Related articles",id:"related-articles",level:2}],c={toc:b},d="wrapper";function p(e){let{components:a,...s}=e;return(0,n.kt)(d,(0,r.Z)({},c,s,{components:a,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"To share a base, follow the steps below:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Navigate to the top right corner of the top navigation bar and click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"Share")," button."),(0,n.kt)("li",{parentName:"ol"},"In the ",(0,n.kt)("inlineCode",{parentName:"li"},"Shared base")," section, toggle the switch to ",(0,n.kt)("inlineCode",{parentName:"li"},"Enable public access")," in order to activate the shared base feature."),(0,n.kt)("li",{parentName:"ol"},"The generated link for the shared base will be displayed above and can be utilized to share this project with others. To copy the URL, simply click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"Copy Link")," option.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Share base",src:t(50299).Z,width:"2898",height:"1216"})),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Share base",src:t(92901).Z,width:"2876",height:"1324"})),(0,n.kt)("h2",{id:"modify-share-base"},"Modify Share base"),(0,n.kt)("p",null,"Amending the ",(0,n.kt)("inlineCode",{parentName:"p"},"Share base")," setting will render the previously generated ",(0,n.kt)("inlineCode",{parentName:"p"},"Share base")," link invalid and generate a new link in its place.\nHere are the steps to modify it:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"Share")," button located in the top right corner of the toolbar."),(0,n.kt)("li",{parentName:"ol"},"Toggle the option labeled ",(0,n.kt)("inlineCode",{parentName:"li"},"Enable public access")," to deactivate the base share."),(0,n.kt)("li",{parentName:"ol"},"Toggle the same option, ",(0,n.kt)("inlineCode",{parentName:"li"},"Enable public access,")," to reactivate the base share, subsequently generating a new link.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Enable public access",src:t(93794).Z,width:"2874",height:"1790"})),(0,n.kt)("h2",{id:"disable-share-base"},"Disable Share base"),(0,n.kt)("p",null,"Disabling ",(0,n.kt)("inlineCode",{parentName:"p"},"Share base")," will render the previously generated ",(0,n.kt)("inlineCode",{parentName:"p"},"Share base")," link invalid\nHere are the steps to disable it:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on the 'Share' button located in the top right corner of the toolbar."),(0,n.kt)("li",{parentName:"ol"},"Toggle the option labeled ",(0,n.kt)("inlineCode",{parentName:"li"},"Enable public access")," to deactivate the base share.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Enable public access",src:t(93794).Z,width:"2874",height:"1790"})),(0,n.kt)("h2",{id:"share-base-access-permissions"},"Share base Access Permissions"),(0,n.kt)("p",null,'The "Shared base" can be configured in two modes:'),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Viewer")," - Users with the provided link will have ",(0,n.kt)("strong",{parentName:"li"},"read-only")," access to the base data."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Editor")," - Users with the provided link will have ",(0,n.kt)("strong",{parentName:"li"},"read and write")," access to the base data.")),(0,n.kt)("p",null,"Toggle ",(0,n.kt)("inlineCode",{parentName:"p"},"Enable Editor Access")," button to configure permissions as desired\n",(0,n.kt)("img",{alt:"Share base edit access",src:t(92435).Z,width:"2874",height:"1790"})),(0,n.kt)("h2",{id:"embeddable-frame"},"Embeddable Frame"),(0,n.kt)("p",null,"The NocoDB interface can be seamlessly integrated into existing applications through the utilization of the ",(0,n.kt)("a",{parentName:"p",href:"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe"},"HTML IFRAME")," attribute. This feature empowers users to embed the NocoDB interface into their applications, allowing for a unified user experience. To generate the embeddable HTML code, follow these steps:"),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"To Generate Embeddable HTML Code:")),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click the ",(0,n.kt)("inlineCode",{parentName:"li"},"Share")," button located in the top right corner of the toolbar."),(0,n.kt)("li",{parentName:"ol"},"Within the ",(0,n.kt)("inlineCode",{parentName:"li"},"Shared base link")," tab, select the button to copy the ",(0,n.kt)("inlineCode",{parentName:"li"},"Embeddable HTML code")," to your clipboard.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Share base iFrame",src:t(43919).Z,width:"2874",height:"1790"})),(0,n.kt)("p",null,"Example:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-html"},'\n\n')),(0,n.kt)("h3",{id:"embed-into-applications-html-body"},"Embed into application's HTML Body"),(0,n.kt)("p",null,"Sample code with embedded iframe generated above"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-html"},'\n\n \n \n \n\n')),(0,n.kt)("h2",{id:"related-articles"},"Related articles"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/base-overview"},"Base overview")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/create-base"},"Create an empty base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/import-base-from-airtable"},"Import base from Airtable")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/base-collaboration"},"Invite team members to work on a base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/share-base"},"Share base publicly")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#rename-base"},"Rename base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#duplicate-base"},"Duplicate base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#star-base"},"Bookmark base")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/bases/actions-on-base#delete-base"},"Delete base"))))}p.isMDXComponent=!0},50299:(e,a,t)=>{t.d(a,{Z:()=>r});const r=t.p+"assets/images/share-base-1-b9c4bddb603c184a16da76c4e1e08edb.png"},92901:(e,a,t)=>{t.d(a,{Z:()=>r});const r=t.p+"assets/images/share-base-2-07354533111aa13a608996b10640f468.png"},92435:(e,a,t)=>{t.d(a,{Z:()=>r});const r=t.p+"assets/images/share-base-edit-access-b293bc0349998853d6de8a9784ae9e54.png"},93794:(e,a,t)=>{t.d(a,{Z:()=>r});const r=t.p+"assets/images/share-base-enable-public-access-70567245aad03d619b620d838cbdb21a.png"},43919:(e,a,t)=>{t.d(a,{Z:()=>r});const r=t.p+"assets/images/share-base-iframe-5cf906c782389e1cf39b132cd1ab62ac.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/7077aad6.2c994371.js b/packages/noco-docs/dist/assets/js/7077aad6.93949727.js similarity index 58% rename from packages/noco-docs/dist/assets/js/7077aad6.2c994371.js rename to packages/noco-docs/dist/assets/js/7077aad6.93949727.js index 4a4090e83f..081499454c 100644 --- a/packages/noco-docs/dist/assets/js/7077aad6.2c994371.js +++ b/packages/noco-docs/dist/assets/js/7077aad6.93949727.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5971],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>k});var n=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=n.createContext({}),c=function(e){var t=n.useContext(r),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=c(e.components);return n.createElement(r.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,o=e.originalType,r=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=c(a),p=i,k=u["".concat(r,".").concat(p)]||u[p]||m[p]||o;return a?n.createElement(k,l(l({ref:t},d),{},{components:a})):n.createElement(k,l({ref:t},d))}));function k(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=a.length,l=new Array(o);l[0]=p;var s={};for(var r in t)hasOwnProperty.call(t,r)&&(s[r]=t[r]);s.originalType=e,s[u]="string"==typeof e?e:i,l[1]=s;for(var c=2;c{a.r(t),a.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>m,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var n=a(87462),i=(a(67294),a(3905));const o={title:"Actions on Data sources",description:"Learn more about actions that can be performed on data sources in NocoDB.",tags:["Data sources","UI ACL","Audit","Relations","Edit","Remove","Visibility"],keywords:["NocoDB data source","UI ACL","Audit logs","Relations","Edit","Unlink","Visibility"]},l=void 0,s={unversionedId:"data-sources/actions-on-data-sources",id:"data-sources/actions-on-data-sources",title:"Actions on Data sources",description:"Learn more about actions that can be performed on data sources in NocoDB.",source:"@site/docs/100.data-sources/040.actions-on-data-sources.md",sourceDirName:"100.data-sources",slug:"/data-sources/actions-on-data-sources",permalink:"/data-sources/actions-on-data-sources",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/100.data-sources/040.actions-on-data-sources.md",tags:[{label:"Data sources",permalink:"/tags/data-sources"},{label:"UI ACL",permalink:"/tags/ui-acl"},{label:"Audit",permalink:"/tags/audit"},{label:"Relations",permalink:"/tags/relations"},{label:"Edit",permalink:"/tags/edit"},{label:"Remove",permalink:"/tags/remove"},{label:"Visibility",permalink:"/tags/visibility"}],version:"current",sidebarPosition:40,frontMatter:{title:"Actions on Data sources",description:"Learn more about actions that can be performed on data sources in NocoDB.",tags:["Data sources","UI ACL","Audit","Relations","Edit","Remove","Visibility"],keywords:["NocoDB data source","UI ACL","Audit logs","Relations","Edit","Unlink","Visibility"]},sidebar:"tutorialSidebar",previous:{title:"Sync with Data source",permalink:"/data-sources/sync-with-data-source"},next:{title:"Roles & permissions overview",permalink:"/roles-and-permissions/roles-permissions-overview"}},r={},c=[{value:"Edit external database configuration parameters",id:"edit-external-database-configuration-parameters",level:2},{value:"Remove data source",id:"remove-data-source",level:2},{value:"Data source visibility",id:"data-source-visibility",level:2},{value:"UI Access Control",id:"ui-access-control",level:2},{value:"Audit logs",id:"audit-logs",level:2},{value:"Relations",id:"relations",level:2},{value:"Junction table names within Relations",id:"junction-table-names-within-relations",level:3}],d={toc:c},u="wrapper";function m(e){let{components:t,...o}=e;return(0,i.kt)(u,(0,n.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"edit-external-database-configuration-parameters"},"Edit external database configuration parameters"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Edit")," icon listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Actions")," column for the data source that you wish to access ERD (Relations view) for\nGo to ",(0,i.kt)("inlineCode",{parentName:"li"},"Data Sources"),", click ",(0,i.kt)("inlineCode",{parentName:"li"},"Edit")," icon, you can re-configure database credentials.",(0,i.kt)("br",{parentName:"li"}),"Please make sure database configuration parameters are valid. Any incorrect parameters could lead to schema loss!")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"relations",src:a(40826).Z,width:"2876",height:"928"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"edit db config",src:a(38750).Z,width:"2880",height:"1800"})),(0,i.kt)("h2",{id:"remove-data-source"},"Remove data source"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Delete")," icon listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Actions")," column for the data source that you wish to Unlink")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"datasource unlink",src:a(84592).Z,width:"2876",height:"928"})),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"Unlinking a data source will not delete the external data source. It will only remove the data source from the current project.")),(0,i.kt)("h2",{id:"data-source-visibility"},"Data source visibility"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab"),(0,i.kt)("li",{parentName:"ol"},"Toggle radio button listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Visibility")," column for the data source that you wish to hide/un-hide")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"datasource visibility",src:a(42093).Z,width:"2876",height:"928"})),(0,i.kt)("h2",{id:"ui-access-control"},"UI Access Control"),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"UI Access Control is available only in Open Source version of NocoDB.")),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"UI ACL")," button listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Actions")," column for the data source that you wish to manage UI access control for"),(0,i.kt)("li",{parentName:"ol"},"On the UI ACL modal, you can see the list of tables available in the data source as rows & roles available as columns. Toggle checkboxes to enable/disable access to tables for specific roles."),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Save")," button to save the changes")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"ui acl",src:a(31707).Z,width:"2876",height:"928"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"ui acl",src:a(24330).Z,width:"2880",height:"1800"})),(0,i.kt)("h2",{id:"audit-logs"},"Audit logs"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Audit")," button listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Actions")," column for the data source that you wish to access Audit logs for")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"audit",src:a(72689).Z,width:"2876",height:"928"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"audit logs",src:a(13179).Z,width:"2880",height:"1800"})),(0,i.kt)("h2",{id:"relations"},"Relations"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Relations")," button listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Actions")," column for the data source that you wish to access ERD (Relations view) for")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"relations",src:a(35171).Z,width:"2876",height:"928"})),(0,i.kt)("p",null,(0,i.kt)("img",{parentName:"p",src:"https://github.com/nocodb/nocodb/assets/86527202/c3775d27-f75d-4263-8903-dd66427de4b4",alt:"relations"})),(0,i.kt)("h3",{id:"junction-table-names-within-relations"},"Junction table names within Relations"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Enable ",(0,i.kt)("inlineCode",{parentName:"li"},"Show M2M Tables")," within ",(0,i.kt)("inlineCode",{parentName:"li"},"Project Settings")," menu"),(0,i.kt)("li",{parentName:"ul"},"Double-click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Show Fields")," to see additional checkboxes get enabled.",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Enabling which you should be able to see junction tables and their table names.")))),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(90534).Z,width:"2880",height:"1800"})))}m.isMDXComponent=!0},13179:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/audit-logs-c781137e1b06c22923d2da20ca02fcf0.png"},72689:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/audit-8486b02fd5d59268886ab05c697bd747.png"},31707:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-3-702f8672d11868999be1db2082089c6d.png"},35171:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-4-0d1aded7e8c2f19c54cbd3b1ae404194.png"},40826:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-edit-c8839805c570f2eaef08012a94f31246.png"},84592:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-unlink-517f290e2d4be67315dd4336bd699ce4.png"},42093:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-visibility-4c2aa0d95c0280597aac2754392abaae.png"},38750:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/edit-base-9071d099ef7f2dcb99604c31f0ab60f8.png"},90534:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/junction-table-28270cb936c6107d21e68edaaed04913.png"},24330:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/ui-acl-52e141d26e976acba3a9e8591c59ea18.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5971],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>k});var n=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=n.createContext({}),c=function(e){var t=n.useContext(r),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=c(e.components);return n.createElement(r.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,o=e.originalType,r=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=c(a),p=i,k=u["".concat(r,".").concat(p)]||u[p]||m[p]||o;return a?n.createElement(k,l(l({ref:t},d),{},{components:a})):n.createElement(k,l({ref:t},d))}));function k(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=a.length,l=new Array(o);l[0]=p;var s={};for(var r in t)hasOwnProperty.call(t,r)&&(s[r]=t[r]);s.originalType=e,s[u]="string"==typeof e?e:i,l[1]=s;for(var c=2;c{a.r(t),a.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>m,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var n=a(87462),i=(a(67294),a(3905));const o={title:"Actions on Data sources",description:"Learn more about actions that can be performed on data sources in NocoDB.",tags:["Data sources","UI ACL","Audit","Relations","Edit","Remove","Visibility"],keywords:["NocoDB data source","UI ACL","Audit logs","Relations","Edit","Unlink","Visibility"]},l=void 0,s={unversionedId:"data-sources/actions-on-data-sources",id:"data-sources/actions-on-data-sources",title:"Actions on Data sources",description:"Learn more about actions that can be performed on data sources in NocoDB.",source:"@site/docs/100.data-sources/040.actions-on-data-sources.md",sourceDirName:"100.data-sources",slug:"/data-sources/actions-on-data-sources",permalink:"/data-sources/actions-on-data-sources",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/100.data-sources/040.actions-on-data-sources.md",tags:[{label:"Data sources",permalink:"/tags/data-sources"},{label:"UI ACL",permalink:"/tags/ui-acl"},{label:"Audit",permalink:"/tags/audit"},{label:"Relations",permalink:"/tags/relations"},{label:"Edit",permalink:"/tags/edit"},{label:"Remove",permalink:"/tags/remove"},{label:"Visibility",permalink:"/tags/visibility"}],version:"current",sidebarPosition:40,frontMatter:{title:"Actions on Data sources",description:"Learn more about actions that can be performed on data sources in NocoDB.",tags:["Data sources","UI ACL","Audit","Relations","Edit","Remove","Visibility"],keywords:["NocoDB data source","UI ACL","Audit logs","Relations","Edit","Unlink","Visibility"]},sidebar:"tutorialSidebar",previous:{title:"Sync with Data source",permalink:"/data-sources/sync-with-data-source"},next:{title:"Roles & permissions overview",permalink:"/roles-and-permissions/roles-permissions-overview"}},r={},c=[{value:"Edit external database configuration parameters",id:"edit-external-database-configuration-parameters",level:2},{value:"Remove data source",id:"remove-data-source",level:2},{value:"Data source visibility",id:"data-source-visibility",level:2},{value:"UI Access Control",id:"ui-access-control",level:2},{value:"Audit logs",id:"audit-logs",level:2},{value:"Relations",id:"relations",level:2},{value:"Junction table names within Relations",id:"junction-table-names-within-relations",level:3}],d={toc:c},u="wrapper";function m(e){let{components:t,...o}=e;return(0,i.kt)(u,(0,n.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"edit-external-database-configuration-parameters"},"Edit external database configuration parameters"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Edit")," icon listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Actions")," column for the data source that you wish to access ERD (Relations view) for\nGo to ",(0,i.kt)("inlineCode",{parentName:"li"},"Data Sources"),", click ",(0,i.kt)("inlineCode",{parentName:"li"},"Edit")," icon, you can re-configure database credentials.",(0,i.kt)("br",{parentName:"li"}),"Please make sure database configuration parameters are valid. Any incorrect parameters could lead to schema loss!")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"relations",src:a(12843).Z,width:"2876",height:"928"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"edit db config",src:a(56067).Z,width:"2880",height:"1800"})),(0,i.kt)("h2",{id:"remove-data-source"},"Remove data source"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Delete")," icon listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Actions")," column for the data source that you wish to Unlink")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"datasource unlink",src:a(85521).Z,width:"2876",height:"928"})),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"Unlinking a data source will not delete the external data source. It will only remove the data source from the current project.")),(0,i.kt)("h2",{id:"data-source-visibility"},"Data source visibility"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab"),(0,i.kt)("li",{parentName:"ol"},"Toggle radio button listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Visibility")," column for the data source that you wish to hide/un-hide")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"datasource visibility",src:a(6651).Z,width:"2876",height:"928"})),(0,i.kt)("h2",{id:"ui-access-control"},"UI Access Control"),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"UI Access Control is available only in Open Source version of NocoDB.")),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"UI ACL")," button listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Actions")," column for the data source that you wish to manage UI access control for"),(0,i.kt)("li",{parentName:"ol"},"On the UI ACL modal, you can see the list of tables available in the data source as rows & roles available as columns. Toggle checkboxes to enable/disable access to tables for specific roles."),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Save")," button to save the changes")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"ui acl",src:a(70597).Z,width:"2876",height:"928"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"ui acl",src:a(73243).Z,width:"2880",height:"1800"})),(0,i.kt)("h2",{id:"audit-logs"},"Audit logs"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Audit")," button listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Actions")," column for the data source that you wish to access Audit logs for")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"audit",src:a(66093).Z,width:"2876",height:"928"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"audit logs",src:a(53976).Z,width:"2880",height:"1800"})),(0,i.kt)("h2",{id:"relations"},"Relations"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Access Base context menu by clicking on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Base")," name in the left sidebar"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Data Sources")," tab"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Relations")," button listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Actions")," column for the data source that you wish to access ERD (Relations view) for")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"relations",src:a(63883).Z,width:"2876",height:"928"})),(0,i.kt)("p",null,(0,i.kt)("img",{parentName:"p",src:"https://github.com/nocodb/nocodb/assets/86527202/c3775d27-f75d-4263-8903-dd66427de4b4",alt:"relations"})),(0,i.kt)("h3",{id:"junction-table-names-within-relations"},"Junction table names within Relations"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Enable ",(0,i.kt)("inlineCode",{parentName:"li"},"Show M2M Tables")," within ",(0,i.kt)("inlineCode",{parentName:"li"},"Project Settings")," menu"),(0,i.kt)("li",{parentName:"ul"},"Double-click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Show Fields")," to see additional checkboxes get enabled.",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Enabling which you should be able to see junction tables and their table names.")))),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(45717).Z,width:"2880",height:"1800"})))}m.isMDXComponent=!0},53976:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/audit-logs-c781137e1b06c22923d2da20ca02fcf0.png"},66093:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/audit-8486b02fd5d59268886ab05c697bd747.png"},70597:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-3-702f8672d11868999be1db2082089c6d.png"},63883:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-4-0d1aded7e8c2f19c54cbd3b1ae404194.png"},12843:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-edit-c8839805c570f2eaef08012a94f31246.png"},85521:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-unlink-517f290e2d4be67315dd4336bd699ce4.png"},6651:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/data-source-visibility-4c2aa0d95c0280597aac2754392abaae.png"},56067:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/edit-base-9071d099ef7f2dcb99604c31f0ab60f8.png"},45717:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/junction-table-28270cb936c6107d21e68edaaed04913.png"},73243:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/ui-acl-52e141d26e976acba3a9e8591c59ea18.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/709f8fcb.280a5e25.js b/packages/noco-docs/dist/assets/js/709f8fcb.b82097a8.js similarity index 93% rename from packages/noco-docs/dist/assets/js/709f8fcb.280a5e25.js rename to packages/noco-docs/dist/assets/js/709f8fcb.b82097a8.js index c6be39ab60..b9122b35a9 100644 --- a/packages/noco-docs/dist/assets/js/709f8fcb.280a5e25.js +++ b/packages/noco-docs/dist/assets/js/709f8fcb.b82097a8.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4021],{3905:(t,e,a)=>{a.d(e,{Zo:()=>d,kt:()=>k});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function o(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function c(t){for(var e=1;e=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var s=n.createContext({}),i=function(t){var e=n.useContext(s),a=e;return t&&(a="function"==typeof t?t(e):c(c({},e),t)),a},d=function(t){var e=i(t.components);return n.createElement(s.Provider,{value:e},t.children)},u="mdxType",p={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},m=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,o=t.originalType,s=t.parentName,d=l(t,["components","mdxType","originalType","parentName"]),u=i(a),m=r,k=u["".concat(s,".").concat(m)]||u[m]||p[m]||o;return a?n.createElement(k,c(c({ref:e},d),{},{components:a})):n.createElement(k,c({ref:e},d))}));function k(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=a.length,c=new Array(o);c[0]=m;var l={};for(var s in e)hasOwnProperty.call(e,s)&&(l[s]=e[s]);l.originalType=t,l[u]="string"==typeof t?t:r,c[1]=l;for(var i=2;i{a.r(e),a.d(e,{assets:()=>s,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>i});var n=a(87462),r=(a(67294),a(3905));const o={title:"Connect to a Data source",description:"Learn how to connect to an external data-source (PG/MySQL) in NocoDB.",tags:["Data Sources","Connect","External","PG","MySQL"],keywords:["NocoDB data source","connect data source","external data source","PG data source","MySQL data source"]},c=void 0,l={unversionedId:"data-sources/connect-to-data-source",id:"data-sources/connect-to-data-source",title:"Connect to a Data source",description:"Learn how to connect to an external data-source (PG/MySQL) in NocoDB.",source:"@site/docs/100.data-sources/020.connect-to-data-source.md",sourceDirName:"100.data-sources",slug:"/data-sources/connect-to-data-source",permalink:"/data-sources/connect-to-data-source",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/100.data-sources/020.connect-to-data-source.md",tags:[{label:"Data Sources",permalink:"/tags/data-sources"},{label:"Connect",permalink:"/tags/connect"},{label:"External",permalink:"/tags/external"},{label:"PG",permalink:"/tags/pg"},{label:"MySQL",permalink:"/tags/my-sql"}],version:"current",sidebarPosition:20,frontMatter:{title:"Connect to a Data source",description:"Learn how to connect to an external data-source (PG/MySQL) in NocoDB.",tags:["Data Sources","Connect","External","PG","MySQL"],keywords:["NocoDB data source","connect data source","external data source","PG data source","MySQL data source"]},sidebar:"tutorialSidebar",previous:{title:"Data sources overview",permalink:"/data-sources/data-source-overview"},next:{title:"Sync with Data source",permalink:"/data-sources/sync-with-data-source"}},s={},i=[],d={toc:i},u="wrapper";function p(t){let{components:e,...o}=t;return(0,r.kt)(u,(0,n.Z)({},d,o,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"To connect to an external data source, follow the steps below:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Access Base context menu by clicking on the ",(0,r.kt)("inlineCode",{parentName:"p"},"Base")," name in the left sidebar")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Select ",(0,r.kt)("inlineCode",{parentName:"p"},"Data Sources")," tab")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Click on ",(0,r.kt)("inlineCode",{parentName:"p"},"+ New Data Source")," button")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"On the pop-up modal, provide the following details:"),(0,r.kt)("table",{parentName:"li"},(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Source Name"),(0,r.kt)("td",{parentName:"tr",align:null},"Name for this data source for display on NocoDB UI")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Database Type"),(0,r.kt)("td",{parentName:"tr",align:null},"Type of the data source. Currently, NocoDB supports PostgreSQL & MySQL data sources.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Host Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Hostname of the data source")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Port Number"),(0,r.kt)("td",{parentName:"tr",align:null},"Port number of the data source")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Username"),(0,r.kt)("td",{parentName:"tr",align:null},"Username to connect to the database")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Password"),(0,r.kt)("td",{parentName:"tr",align:null},"Password to connect to the database")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Database"),(0,r.kt)("td",{parentName:"tr",align:null},"Name of the database to connect to")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Schema name"),(0,r.kt)("td",{parentName:"tr",align:null},"Name of the schema to connect to"))))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Click on ",(0,r.kt)("inlineCode",{parentName:"p"},"Test Database Connection")," button to verify the connection")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Wait for the connection to be verified. "))),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"After connection is successful, ",(0,r.kt)("inlineCode",{parentName:"li"},"Submit")," button will be enabled. "),(0,r.kt)("li",{parentName:"ul"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Submit")," button to save the data source.")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"data source-1",src:a(34577).Z,width:"2876",height:"984"})),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"data source-2",src:a(34530).Z,width:"2880",height:"1800"})),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"data source-3",src:a(58071).Z,width:"2880",height:"1800"})))}p.isMDXComponent=!0},34577:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/data-source-connect-1-e1cd8c562d3d3db9699aba4395d8a800.png"},34530:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/data-source-connect-2-5eaa0a1ab29767749a9ea725e28ad47c.png"},58071:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/data-source-connect-3-48b79f4e92d396e681c0ede769e990d9.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4021],{3905:(t,e,a)=>{a.d(e,{Zo:()=>d,kt:()=>k});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function o(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function c(t){for(var e=1;e=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var s=n.createContext({}),i=function(t){var e=n.useContext(s),a=e;return t&&(a="function"==typeof t?t(e):c(c({},e),t)),a},d=function(t){var e=i(t.components);return n.createElement(s.Provider,{value:e},t.children)},u="mdxType",p={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},m=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,o=t.originalType,s=t.parentName,d=l(t,["components","mdxType","originalType","parentName"]),u=i(a),m=r,k=u["".concat(s,".").concat(m)]||u[m]||p[m]||o;return a?n.createElement(k,c(c({ref:e},d),{},{components:a})):n.createElement(k,c({ref:e},d))}));function k(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=a.length,c=new Array(o);c[0]=m;var l={};for(var s in e)hasOwnProperty.call(e,s)&&(l[s]=e[s]);l.originalType=t,l[u]="string"==typeof t?t:r,c[1]=l;for(var i=2;i{a.r(e),a.d(e,{assets:()=>s,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>i});var n=a(87462),r=(a(67294),a(3905));const o={title:"Connect to a Data source",description:"Learn how to connect to an external data-source (PG/MySQL) in NocoDB.",tags:["Data Sources","Connect","External","PG","MySQL"],keywords:["NocoDB data source","connect data source","external data source","PG data source","MySQL data source"]},c=void 0,l={unversionedId:"data-sources/connect-to-data-source",id:"data-sources/connect-to-data-source",title:"Connect to a Data source",description:"Learn how to connect to an external data-source (PG/MySQL) in NocoDB.",source:"@site/docs/100.data-sources/020.connect-to-data-source.md",sourceDirName:"100.data-sources",slug:"/data-sources/connect-to-data-source",permalink:"/data-sources/connect-to-data-source",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/100.data-sources/020.connect-to-data-source.md",tags:[{label:"Data Sources",permalink:"/tags/data-sources"},{label:"Connect",permalink:"/tags/connect"},{label:"External",permalink:"/tags/external"},{label:"PG",permalink:"/tags/pg"},{label:"MySQL",permalink:"/tags/my-sql"}],version:"current",sidebarPosition:20,frontMatter:{title:"Connect to a Data source",description:"Learn how to connect to an external data-source (PG/MySQL) in NocoDB.",tags:["Data Sources","Connect","External","PG","MySQL"],keywords:["NocoDB data source","connect data source","external data source","PG data source","MySQL data source"]},sidebar:"tutorialSidebar",previous:{title:"Data sources overview",permalink:"/data-sources/data-source-overview"},next:{title:"Sync with Data source",permalink:"/data-sources/sync-with-data-source"}},s={},i=[],d={toc:i},u="wrapper";function p(t){let{components:e,...o}=t;return(0,r.kt)(u,(0,n.Z)({},d,o,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"To connect to an external data source, follow the steps below:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Access Base context menu by clicking on the ",(0,r.kt)("inlineCode",{parentName:"p"},"Base")," name in the left sidebar")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Select ",(0,r.kt)("inlineCode",{parentName:"p"},"Data Sources")," tab")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Click on ",(0,r.kt)("inlineCode",{parentName:"p"},"+ New Data Source")," button")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"On the pop-up modal, provide the following details:"),(0,r.kt)("table",{parentName:"li"},(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Field Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Source Name"),(0,r.kt)("td",{parentName:"tr",align:null},"Name for this data source for display on NocoDB UI")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Database Type"),(0,r.kt)("td",{parentName:"tr",align:null},"Type of the data source. Currently, NocoDB supports PostgreSQL & MySQL data sources.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Host Address"),(0,r.kt)("td",{parentName:"tr",align:null},"Hostname of the data source")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Port Number"),(0,r.kt)("td",{parentName:"tr",align:null},"Port number of the data source")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Username"),(0,r.kt)("td",{parentName:"tr",align:null},"Username to connect to the database")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Password"),(0,r.kt)("td",{parentName:"tr",align:null},"Password to connect to the database")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Database"),(0,r.kt)("td",{parentName:"tr",align:null},"Name of the database to connect to")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Schema name"),(0,r.kt)("td",{parentName:"tr",align:null},"Name of the schema to connect to"))))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Click on ",(0,r.kt)("inlineCode",{parentName:"p"},"Test Database Connection")," button to verify the connection")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Wait for the connection to be verified. "))),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"After connection is successful, ",(0,r.kt)("inlineCode",{parentName:"li"},"Submit")," button will be enabled. "),(0,r.kt)("li",{parentName:"ul"},"Click on ",(0,r.kt)("inlineCode",{parentName:"li"},"Submit")," button to save the data source.")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"data source-1",src:a(22818).Z,width:"2876",height:"984"})),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"data source-2",src:a(65720).Z,width:"2880",height:"1800"})),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"data source-3",src:a(57982).Z,width:"2880",height:"1800"})))}p.isMDXComponent=!0},22818:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/data-source-connect-1-e1cd8c562d3d3db9699aba4395d8a800.png"},65720:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/data-source-connect-2-5eaa0a1ab29767749a9ea725e28ad47c.png"},57982:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/data-source-connect-3-48b79f4e92d396e681c0ede769e990d9.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/70efa42e.177ad6fa.js b/packages/noco-docs/dist/assets/js/70efa42e.177ad6fa.js deleted file mode 100644 index c3e7e0bf57..0000000000 --- a/packages/noco-docs/dist/assets/js/70efa42e.177ad6fa.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4815],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>f});var l=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,l)}return a}function o(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var m=l.createContext({}),p=function(e){var t=l.useContext(m),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},s=function(e){var t=p(e.components);return l.createElement(m.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},b=l.forwardRef((function(e,t){var a=e.components,i=e.mdxType,r=e.originalType,m=e.parentName,s=n(e,["components","mdxType","originalType","parentName"]),c=p(a),b=i,f=c["".concat(m,".").concat(b)]||c[b]||d[b]||r;return a?l.createElement(f,o(o({ref:t},s),{},{components:a})):l.createElement(f,o({ref:t},s))}));function f(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=a.length,o=new Array(r);o[0]=b;var n={};for(var m in t)hasOwnProperty.call(t,m)&&(n[m]=t[m]);n.originalType=e,n[c]="string"==typeof e?e:i,o[1]=n;for(var p=2;p{a.r(t),a.d(t,{assets:()=>m,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>n,toc:()=>p});var l=a(87462),i=(a(67294),a(3905));const r={title:"Create table via import",description:"Learn how to create a table in NocoDB via import from CSV, Excel or JSON.",tags:["Tables","Import","CSV","Excel","JSON"],keywords:["NocoDB table","create table","import table","import csv","import excel","import json"]},o=void 0,n={unversionedId:"tables/create-table-via-import",id:"tables/create-table-via-import",title:"Create table via import",description:"Learn how to create a table in NocoDB via import from CSV, Excel or JSON.",source:"@site/docs/050.tables/030.create-table-via-import.md",sourceDirName:"050.tables",slug:"/tables/create-table-via-import",permalink:"/tables/create-table-via-import",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/050.tables/030.create-table-via-import.md",tags:[{label:"Tables",permalink:"/tags/tables"},{label:"Import",permalink:"/tags/import"},{label:"CSV",permalink:"/tags/csv"},{label:"Excel",permalink:"/tags/excel"},{label:"JSON",permalink:"/tags/json"}],version:"current",sidebarPosition:30,frontMatter:{title:"Create table via import",description:"Learn how to create a table in NocoDB via import from CSV, Excel or JSON.",tags:["Tables","Import","CSV","Excel","JSON"],keywords:["NocoDB table","create table","import table","import csv","import excel","import json"]},sidebar:"tutorialSidebar",previous:{title:"Create empty table",permalink:"/tables/create-table"},next:{title:"Import data into an existing table",permalink:"/tables/import-data-into-existing-table"}},m={},p=[{value:"Import table from CSV / Excel / JSON",id:"import-table-from-csv--excel--json",level:2},{value:"Accessing import modal",id:"accessing-import-modal",level:3},{value:"1. From the base dashboard",id:"1-from-the-base-dashboard",level:4},{value:"2. From the base context menu",id:"2-from-the-base-context-menu",level:4},{value:"Importing file",id:"importing-file",level:3},{value:"1. Upload from local directory",id:"1-upload-from-local-directory",level:4},{value:"2. Upload from URL",id:"2-upload-from-url",level:4},{value:"Import configurations",id:"import-configurations",level:3},{value:"Advanced Settings",id:"advanced-settings",level:3},{value:"Related articles",id:"related-articles",level:2}],s={toc:p},c="wrapper";function d(e){let{components:t,...r}=e;return(0,i.kt)(c,(0,l.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"import-table-from-csv--excel--json"},"Import table from CSV / Excel / JSON"),(0,i.kt)("h3",{id:"accessing-import-modal"},"Accessing import modal"),(0,i.kt)("p",null,"There are two ways to access import modal:"),(0,i.kt)("h4",{id:"1-from-the-base-dashboard"},"1. From the base dashboard"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"import data",src:a(1999).Z,width:"2878",height:"1208"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"import from dashboard",src:a(45104).Z,width:"2880",height:"1800"})),(0,i.kt)("h4",{id:"2-from-the-base-context-menu"},"2. From the base context menu"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"import from sidebar",src:a(30547).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"importing-file"},"Importing file"),(0,i.kt)("p",null,"There are two ways to upload source file:"),(0,i.kt)("h4",{id:"1-upload-from-local-directory"},"1. Upload from local directory"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Upload")," tab from the Quick import modal."),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"file upload")," button or drag and drop file to the modal."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"#advance-settings"},"Advance Settings")," (optional)"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Import")," button.\n",(0,i.kt)("img",{alt:"image",src:a(44494).Z,width:"2876",height:"1796"}))),(0,i.kt)("h4",{id:"2-upload-from-url"},"2. Upload from URL"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"URL")," tab from the Quick import modal."),(0,i.kt)("li",{parentName:"ol"},"Paste the URL of the file."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"#advance-settings"},"Advance Settings")," (optional)"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Import")," button.\n",(0,i.kt)("img",{alt:"image",src:a(91503).Z,width:"2874",height:"1798"}))),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("ul",{parentName:"admonition"},(0,i.kt)("li",{parentName:"ul"},"Multiple files can be imported at once."),(0,i.kt)("li",{parentName:"ul"},"Supported file formats: CSV, Excel, JSON"),(0,i.kt)("li",{parentName:"ul"},"Maximum file size: 5 MB"))),(0,i.kt)("h3",{id:"import-configurations"},"Import configurations"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("inlineCode",{parentName:"li"},"Table name")," - defaults to the name of the file; double click to edit (Optional)."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("inlineCode",{parentName:"li"},"Field configurations")," (Optional)",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"Field name")," - name of the field as identified from import file header; click to edit."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"Field type")," - inferred from the data in the field; click to edit."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"Options")," - For ",(0,i.kt)("inlineCode",{parentName:"li"},"Single select")," and ",(0,i.kt)("inlineCode",{parentName:"li"},"Multi select")," field types, options identified are listed here; click to edit."))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("inlineCode",{parentName:"li"},"Remove field")," - Click on delete icon to exclude a field in source file from being imported (Optional)"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Import")," button to start importing the file.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(91921).Z,width:"2876",height:"1796"})),(0,i.kt)("h3",{id:"advanced-settings"},"Advanced Settings"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Number of Records for Datatype Inference"),": Default value is set to 500 records."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Automatic Field Type Detection"),': Enabled by default. If selected, the system will automatically detect field types. Otherwise, all fields will default to "SingleLineText."'),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Utilize First Records as Headers"),": Enabled by default. If selected, the first record in the spreadsheet will be treated as the header record and its contents will be used as field names."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Import Data"),": Enabled by default. If selected, all data will be imported; otherwise, only the table will be created.")),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"By default, the first field will be chosen as Display Value and cannot be deleted.")),(0,i.kt)("h2",{id:"related-articles"},"Related articles"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/create-table"},"Create a new table")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/import-data-into-existing-table"},"Import data from Csv/Xlsx into existing table")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/actions-on-table#rename-table"},"Rename a table")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/actions-on-table#duplicate-table"},"Duplicate a table")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/actions-on-table#delete-table"},"Delete a table"))))}d.isMDXComponent=!0},1999:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/base-import-from-dashboard-1-0ccc1e3e8508c11049dd45647d6c0f91.png"},91503:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/import-csv-url-f9d895566bcab33720fd7272125e1a37.png"},44494:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/import-csv-515b6519a0b425cfa1672cd51ec465d6.png"},91921:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/import-stage-2-9b0b9c7805b194f2dbe8017eae3c5d80.png"},45104:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/table-import-from-dashboard-625bb54d990e6d7a01ffd6bf9c7e8aa9.png"},30547:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/table-import-from-sidebar-53e3a9f2cefcbc24681b88541f56dab5.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/70efa42e.c7304d68.js b/packages/noco-docs/dist/assets/js/70efa42e.c7304d68.js new file mode 100644 index 0000000000..b33bb671f8 --- /dev/null +++ b/packages/noco-docs/dist/assets/js/70efa42e.c7304d68.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4815],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>f});var l=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,l)}return a}function o(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var m=l.createContext({}),p=function(e){var t=l.useContext(m),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},s=function(e){var t=p(e.components);return l.createElement(m.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},b=l.forwardRef((function(e,t){var a=e.components,i=e.mdxType,r=e.originalType,m=e.parentName,s=n(e,["components","mdxType","originalType","parentName"]),c=p(a),b=i,f=c["".concat(m,".").concat(b)]||c[b]||d[b]||r;return a?l.createElement(f,o(o({ref:t},s),{},{components:a})):l.createElement(f,o({ref:t},s))}));function f(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=a.length,o=new Array(r);o[0]=b;var n={};for(var m in t)hasOwnProperty.call(t,m)&&(n[m]=t[m]);n.originalType=e,n[c]="string"==typeof e?e:i,o[1]=n;for(var p=2;p{a.r(t),a.d(t,{assets:()=>m,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>n,toc:()=>p});var l=a(87462),i=(a(67294),a(3905));const r={title:"Create table via import",description:"Learn how to create a table in NocoDB via import from CSV, Excel or JSON.",tags:["Tables","Import","CSV","Excel","JSON"],keywords:["NocoDB table","create table","import table","import csv","import excel","import json"]},o=void 0,n={unversionedId:"tables/create-table-via-import",id:"tables/create-table-via-import",title:"Create table via import",description:"Learn how to create a table in NocoDB via import from CSV, Excel or JSON.",source:"@site/docs/050.tables/030.create-table-via-import.md",sourceDirName:"050.tables",slug:"/tables/create-table-via-import",permalink:"/tables/create-table-via-import",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/050.tables/030.create-table-via-import.md",tags:[{label:"Tables",permalink:"/tags/tables"},{label:"Import",permalink:"/tags/import"},{label:"CSV",permalink:"/tags/csv"},{label:"Excel",permalink:"/tags/excel"},{label:"JSON",permalink:"/tags/json"}],version:"current",sidebarPosition:30,frontMatter:{title:"Create table via import",description:"Learn how to create a table in NocoDB via import from CSV, Excel or JSON.",tags:["Tables","Import","CSV","Excel","JSON"],keywords:["NocoDB table","create table","import table","import csv","import excel","import json"]},sidebar:"tutorialSidebar",previous:{title:"Create empty table",permalink:"/tables/create-table"},next:{title:"Import data into an existing table",permalink:"/tables/import-data-into-existing-table"}},m={},p=[{value:"Import table from CSV / Excel / JSON",id:"import-table-from-csv--excel--json",level:2},{value:"Accessing import modal",id:"accessing-import-modal",level:3},{value:"1. From the base dashboard",id:"1-from-the-base-dashboard",level:4},{value:"2. From the base context menu",id:"2-from-the-base-context-menu",level:4},{value:"Importing file",id:"importing-file",level:3},{value:"1. Upload from local directory",id:"1-upload-from-local-directory",level:4},{value:"2. Upload from URL",id:"2-upload-from-url",level:4},{value:"Import configurations",id:"import-configurations",level:3},{value:"Advanced Settings",id:"advanced-settings",level:3},{value:"Related articles",id:"related-articles",level:2}],s={toc:p},c="wrapper";function d(e){let{components:t,...r}=e;return(0,i.kt)(c,(0,l.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"import-table-from-csv--excel--json"},"Import table from CSV / Excel / JSON"),(0,i.kt)("h3",{id:"accessing-import-modal"},"Accessing import modal"),(0,i.kt)("p",null,"There are two ways to access import modal:"),(0,i.kt)("h4",{id:"1-from-the-base-dashboard"},"1. From the base dashboard"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"import data",src:a(90245).Z,width:"2878",height:"1208"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"import from dashboard",src:a(21332).Z,width:"2880",height:"1800"})),(0,i.kt)("h4",{id:"2-from-the-base-context-menu"},"2. From the base context menu"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"import from sidebar",src:a(24025).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"importing-file"},"Importing file"),(0,i.kt)("p",null,"There are two ways to upload source file:"),(0,i.kt)("h4",{id:"1-upload-from-local-directory"},"1. Upload from local directory"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Upload")," tab from the Quick import modal."),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"file upload")," button or drag and drop file to the modal."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"#advance-settings"},"Advance Settings")," (optional)"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Import")," button.\n",(0,i.kt)("img",{alt:"image",src:a(37940).Z,width:"2876",height:"1796"}))),(0,i.kt)("h4",{id:"2-upload-from-url"},"2. Upload from URL"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"URL")," tab from the Quick import modal."),(0,i.kt)("li",{parentName:"ol"},"Paste the URL of the file."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"#advance-settings"},"Advance Settings")," (optional)"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Import")," button.\n",(0,i.kt)("img",{alt:"image",src:a(49107).Z,width:"2874",height:"1798"}))),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("ul",{parentName:"admonition"},(0,i.kt)("li",{parentName:"ul"},"Multiple files can be imported at once."),(0,i.kt)("li",{parentName:"ul"},"Supported file formats: CSV, Excel, JSON"),(0,i.kt)("li",{parentName:"ul"},"Maximum file size: 5 MB"))),(0,i.kt)("h3",{id:"import-configurations"},"Import configurations"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("inlineCode",{parentName:"li"},"Table name")," - defaults to the name of the file; double click to edit (Optional)."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("inlineCode",{parentName:"li"},"Field configurations")," (Optional)",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"Field name")," - name of the field as identified from import file header; click to edit."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"Field type")," - inferred from the data in the field; click to edit."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"Options")," - For ",(0,i.kt)("inlineCode",{parentName:"li"},"Single select")," and ",(0,i.kt)("inlineCode",{parentName:"li"},"Multi select")," field types, options identified are listed here; click to edit."))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("inlineCode",{parentName:"li"},"Remove field")," - Click on delete icon to exclude a field in source file from being imported (Optional)"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Import")," button to start importing the file.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(89467).Z,width:"2876",height:"1796"})),(0,i.kt)("h3",{id:"advanced-settings"},"Advanced Settings"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Number of Records for Datatype Inference"),": Default value is set to 500 records."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Automatic Field Type Detection"),': Enabled by default. If selected, the system will automatically detect field types. Otherwise, all fields will default to "SingleLineText."'),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Utilize First Records as Headers"),": Enabled by default. If selected, the first record in the spreadsheet will be treated as the header record and its contents will be used as field names."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Import Data"),": Enabled by default. If selected, all data will be imported; otherwise, only the table will be created.")),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"By default, the first field will be chosen as Display Value and cannot be deleted.")),(0,i.kt)("h2",{id:"related-articles"},"Related articles"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/create-table"},"Create a new table")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/import-data-into-existing-table"},"Import data from Csv/Xlsx into existing table")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/actions-on-table#rename-table"},"Rename a table")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/actions-on-table#duplicate-table"},"Duplicate a table")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/actions-on-table#delete-table"},"Delete a table"))))}d.isMDXComponent=!0},90245:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/base-import-from-dashboard-1-0ccc1e3e8508c11049dd45647d6c0f91.png"},49107:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/import-csv-url-f9d895566bcab33720fd7272125e1a37.png"},37940:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/import-csv-515b6519a0b425cfa1672cd51ec465d6.png"},89467:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/import-stage-2-9b0b9c7805b194f2dbe8017eae3c5d80.png"},21332:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/table-import-from-dashboard-625bb54d990e6d7a01ffd6bf9c7e8aa9.png"},24025:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/table-import-from-sidebar-53e3a9f2cefcbc24681b88541f56dab5.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/71540999.b733bdbe.js b/packages/noco-docs/dist/assets/js/71540999.b1aa1d6b.js similarity index 75% rename from packages/noco-docs/dist/assets/js/71540999.b733bdbe.js rename to packages/noco-docs/dist/assets/js/71540999.b1aa1d6b.js index 48eabe2d5e..b97f478e55 100644 --- a/packages/noco-docs/dist/assets/js/71540999.b733bdbe.js +++ b/packages/noco-docs/dist/assets/js/71540999.b1aa1d6b.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[8954],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),p=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),s=p(r),m=a,f=s["".concat(l,".").concat(m)]||s[m]||d[m]||i;return r?n.createElement(f,o(o({ref:t},u),{},{components:r})):n.createElement(f,o({ref:t},u))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=m;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[s]="string"==typeof e?e:a,o[1]=c;for(var p=2;p{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var n=r(87462),a=(r(67294),r(3905));const i={title:"Architecture Overview",description:"Simple overview of NocoDB architecture",hide_table_of_contents:!0},o=void 0,c={unversionedId:"engineering/architecture",id:"version-0.109.7/engineering/architecture",title:"Architecture Overview",description:"Simple overview of NocoDB architecture",source:"@site/versioned_docs/version-0.109.7/050.engineering/010.architecture.md",sourceDirName:"050.engineering",slug:"/engineering/architecture",permalink:"/0.109.7/engineering/architecture",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/versioned_docs/version-0.109.7/050.engineering/010.architecture.md",tags:[],version:"0.109.7",sidebarPosition:10,frontMatter:{title:"Architecture Overview",description:"Simple overview of NocoDB architecture",hide_table_of_contents:!0},sidebar:"tutorialSidebar",previous:{title:"Upload via API",permalink:"/0.109.7/developer-resources/upload-via-api"},next:{title:"Repository structure",permalink:"/0.109.7/engineering/repository-structure"}},l={},p=[],u={toc:p},s="wrapper";function d(e){let{components:t,...i}=e;return(0,a.kt)(s,(0,n.Z)({},u,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"By default, if ",(0,a.kt)("inlineCode",{parentName:"p"},"NC_DB")," is not specified, then SQLite will be used to store your meta data. We suggest users to separate the meta data and user data in different databases."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:r(19883).Z,width:"528",height:"615"})),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Project Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Metadata stored in"),(0,a.kt)("th",{parentName:"tr",align:null},"Data stored in"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Create new project"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Create new project with External Database"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB"),(0,a.kt)("td",{parentName:"tr",align:null},"External Database")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Create new project from Excel"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB")))))}d.isMDXComponent=!0},19883:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/architecture-0ae1ed245ed474936af018fb5fa06792.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[8954],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),p=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),s=p(r),m=a,f=s["".concat(l,".").concat(m)]||s[m]||d[m]||i;return r?n.createElement(f,o(o({ref:t},u),{},{components:r})):n.createElement(f,o({ref:t},u))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=m;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[s]="string"==typeof e?e:a,o[1]=c;for(var p=2;p{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var n=r(87462),a=(r(67294),r(3905));const i={title:"Architecture Overview",description:"Simple overview of NocoDB architecture",hide_table_of_contents:!0},o=void 0,c={unversionedId:"engineering/architecture",id:"version-0.109.7/engineering/architecture",title:"Architecture Overview",description:"Simple overview of NocoDB architecture",source:"@site/versioned_docs/version-0.109.7/050.engineering/010.architecture.md",sourceDirName:"050.engineering",slug:"/engineering/architecture",permalink:"/0.109.7/engineering/architecture",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/versioned_docs/version-0.109.7/050.engineering/010.architecture.md",tags:[],version:"0.109.7",sidebarPosition:10,frontMatter:{title:"Architecture Overview",description:"Simple overview of NocoDB architecture",hide_table_of_contents:!0},sidebar:"tutorialSidebar",previous:{title:"Upload via API",permalink:"/0.109.7/developer-resources/upload-via-api"},next:{title:"Repository structure",permalink:"/0.109.7/engineering/repository-structure"}},l={},p=[],u={toc:p},s="wrapper";function d(e){let{components:t,...i}=e;return(0,a.kt)(s,(0,n.Z)({},u,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"By default, if ",(0,a.kt)("inlineCode",{parentName:"p"},"NC_DB")," is not specified, then SQLite will be used to store your meta data. We suggest users to separate the meta data and user data in different databases."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:r(55706).Z,width:"1024",height:"1200"})),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Project Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Metadata stored in"),(0,a.kt)("th",{parentName:"tr",align:null},"Data stored in"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Create new project"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Create new project with External Database"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB"),(0,a.kt)("td",{parentName:"tr",align:null},"External Database")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Create new project from Excel"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB"),(0,a.kt)("td",{parentName:"tr",align:null},"NC_DB")))))}d.isMDXComponent=!0},55706:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/architecture-0ae1ed245ed474936af018fb5fa06792.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/7c4b6d90.1548a3a9.js b/packages/noco-docs/dist/assets/js/7c4b6d90.7940746c.js similarity index 97% rename from packages/noco-docs/dist/assets/js/7c4b6d90.1548a3a9.js rename to packages/noco-docs/dist/assets/js/7c4b6d90.7940746c.js index 00b4f31040..a1a75aa60b 100644 --- a/packages/noco-docs/dist/assets/js/7c4b6d90.1548a3a9.js +++ b/packages/noco-docs/dist/assets/js/7c4b6d90.7940746c.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5580],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>m});var r=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=r.createContext({}),c=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=c(e.components);return r.createElement(s.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},g=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),u=c(n),g=i,m=u["".concat(s,".").concat(g)]||u[g]||p[g]||a;return n?r.createElement(m,l(l({ref:t},d),{},{components:n})):r.createElement(m,l({ref:t},d))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,l=new Array(a);l[0]=g;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[u]="string"==typeof e?e:i,l[1]=o;for(var c=2;c{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var r=n(87462),i=(n(67294),n(3905));const a={title:"Writing docs",description:"Overview to writing docs",tags:["Engineering"]},l=void 0,o={unversionedId:"engineering/writing-docs",id:"engineering/writing-docs",title:"Writing docs",description:"Overview to writing docs",source:"@site/docs/150.engineering/080.writing-docs.md",sourceDirName:"150.engineering",slug:"/engineering/writing-docs",permalink:"/engineering/writing-docs",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/150.engineering/080.writing-docs.md",tags:[{label:"Engineering",permalink:"/tags/engineering"}],version:"current",sidebarPosition:80,frontMatter:{title:"Writing docs",description:"Overview to writing docs",tags:["Engineering"]},sidebar:"tutorialSidebar",previous:{title:"i18n translation",permalink:"/engineering/translation"},next:{title:"FAQs",permalink:"/FAQs"}},s={},c=[{value:"Folder Structure",id:"folder-structure",level:2},{value:"File Structure",id:"file-structure",level:2},{value:"Nomenclature",id:"nomenclature",level:2},{value:"Tags",id:"tags",level:2},{value:"Active Tags",id:"active-tags",level:3},{value:"Description",id:"description",level:2},{value:"Images",id:"images",level:2},{value:"Before you commit",id:"before-you-commit",level:2}],d={toc:c},u="wrapper";function p(e){let{components:t,...a}=e;return(0,i.kt)(u,(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"This article discusses some of the protocol and conventions to be followed while writing docs."),(0,i.kt)("h2",{id:"folder-structure"},"Folder Structure"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Docs follow object-oriented approach. Each folder represents an object and each file represents procedures associated with that object."),(0,i.kt)("li",{parentName:"ul"},"Each folder contains an ",(0,i.kt)("inlineCode",{parentName:"li"},"_category_.json")," file which contains the metadata for that object.")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},'{\n "label": "Engineering",\n "collapsible": true,\n "collapsed": true\n}\n')),(0,i.kt)("h2",{id:"file-structure"},"File Structure"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Add following metadata to the top of each file.")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"---\ntitle: \"Writing docs\"\ndescription: \"Overview to writing docs\"\ntags: ['Engineering']\nkeywords: ['Engineering', Writing docs', 'Docs conventions']\n---\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"title")," is the title of the article that appears on the sidebar and on the top of the article."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"description")," is the description of the article that appears in search results."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"tags")," are the tags associated with the article. Tags are used to group articles together. For example, all articles with the tag ",(0,i.kt)("inlineCode",{parentName:"li"},"Workspaces")," will be grouped together."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"keywords")," are the keywords associated with the article. Keywords are used to improve search results. For example, if the user searches for ",(0,i.kt)("inlineCode",{parentName:"li"},"Create workspace"),", then the article with the keyword ",(0,i.kt)("inlineCode",{parentName:"li"},"Create workspace")," will be displayed in the search results.")),(0,i.kt)("h2",{id:"nomenclature"},"Nomenclature"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Folder names & file name are ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"in kebab-case."),(0,i.kt)("li",{parentName:"ul"},"prefix with a number that represents the order in which the folder/file should be displayed in the sidebar."),(0,i.kt)("li",{parentName:"ul"},"prefix number is always a 3-digit number. "),(0,i.kt)("li",{parentName:"ul"},"For example, ",(0,i.kt)("inlineCode",{parentName:"li"},"010.account-settings"),"."))),(0,i.kt)("li",{parentName:"ul"},"Only first letter of the folder/file name is capitalized. Second letter onwards, first letter is capitalized only if it is a proper noun.")),(0,i.kt)("h2",{id:"tags"},"Tags"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"First letter of each tag is capitalized."),(0,i.kt)("li",{parentName:"ul"},"Tags usually are Objects or Actions. Add a tag only if we are sure that the tag will be used in multiple places. Example: 'Create' - we can have ",(0,i.kt)("inlineCode",{parentName:"li"},"Create project"),", ",(0,i.kt)("inlineCode",{parentName:"li"},"Create user"),", ",(0,i.kt)("inlineCode",{parentName:"li"},"Create API token")," etc.")),(0,i.kt)("h3",{id:"active-tags"},"Active Tags"),(0,i.kt)("p",null,"Tags that are currently being used in the docs are listed below. See if you can reuse any of these tags before adding a new tag."),(0,i.kt)("h2",{id:"description"},"Description"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Description should be crisp and to the point. Preferably one line."),(0,i.kt)("li",{parentName:"ul"},"Refer to the description associated with the tag to get an idea of how the description should be."),(0,i.kt)("li",{parentName:"ul"},"Descriptions appear in the search results (when searched by tags). So, it should be descriptive enough to give the user an idea of what the article is about.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Search by tags",src:n(57124).Z,width:"2850",height:"1796"})),(0,i.kt)("h2",{id:"images"},"Images"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Annotated images should be placed in ",(0,i.kt)("inlineCode",{parentName:"li"},"img/v2")," folder."),(0,i.kt)("li",{parentName:"ul"},"For every annotated image, there should be a corresponding unannotated image in the ",(0,i.kt)("inlineCode",{parentName:"li"},"img/v2-unannotated")," folder."),(0,i.kt)("li",{parentName:"ul"},"Images are kept in the same folder structure as the docs."),(0,i.kt)("li",{parentName:"ul"},"Use ",(0,i.kt)("inlineCode",{parentName:"li"},"Skitch")," for annotations.")),(0,i.kt)("h2",{id:"before-you-commit"},"Before you commit"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Use ",(0,i.kt)("inlineCode",{parentName:"li"},"npm run build")," to build the docs."),(0,i.kt)("li",{parentName:"ul"},"Ensure that the build is successful & there are no errors/warnings related to missing links, images, etc.")))}p.isMDXComponent=!0},57124:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/engineering-search-by-tags-9453d5cf2d1534c2f812c7aee697fe43.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5580],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>m});var r=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=r.createContext({}),c=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=c(e.components);return r.createElement(s.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},g=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),u=c(n),g=i,m=u["".concat(s,".").concat(g)]||u[g]||p[g]||a;return n?r.createElement(m,l(l({ref:t},d),{},{components:n})):r.createElement(m,l({ref:t},d))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,l=new Array(a);l[0]=g;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[u]="string"==typeof e?e:i,l[1]=o;for(var c=2;c{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var r=n(87462),i=(n(67294),n(3905));const a={title:"Writing docs",description:"Overview to writing docs",tags:["Engineering"]},l=void 0,o={unversionedId:"engineering/writing-docs",id:"engineering/writing-docs",title:"Writing docs",description:"Overview to writing docs",source:"@site/docs/150.engineering/080.writing-docs.md",sourceDirName:"150.engineering",slug:"/engineering/writing-docs",permalink:"/engineering/writing-docs",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/150.engineering/080.writing-docs.md",tags:[{label:"Engineering",permalink:"/tags/engineering"}],version:"current",sidebarPosition:80,frontMatter:{title:"Writing docs",description:"Overview to writing docs",tags:["Engineering"]},sidebar:"tutorialSidebar",previous:{title:"i18n translation",permalink:"/engineering/translation"},next:{title:"FAQs",permalink:"/FAQs"}},s={},c=[{value:"Folder Structure",id:"folder-structure",level:2},{value:"File Structure",id:"file-structure",level:2},{value:"Nomenclature",id:"nomenclature",level:2},{value:"Tags",id:"tags",level:2},{value:"Active Tags",id:"active-tags",level:3},{value:"Description",id:"description",level:2},{value:"Images",id:"images",level:2},{value:"Before you commit",id:"before-you-commit",level:2}],d={toc:c},u="wrapper";function p(e){let{components:t,...a}=e;return(0,i.kt)(u,(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"This article discusses some of the protocol and conventions to be followed while writing docs."),(0,i.kt)("h2",{id:"folder-structure"},"Folder Structure"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Docs follow object-oriented approach. Each folder represents an object and each file represents procedures associated with that object."),(0,i.kt)("li",{parentName:"ul"},"Each folder contains an ",(0,i.kt)("inlineCode",{parentName:"li"},"_category_.json")," file which contains the metadata for that object.")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},'{\n "label": "Engineering",\n "collapsible": true,\n "collapsed": true\n}\n')),(0,i.kt)("h2",{id:"file-structure"},"File Structure"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Add following metadata to the top of each file.")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"---\ntitle: \"Writing docs\"\ndescription: \"Overview to writing docs\"\ntags: ['Engineering']\nkeywords: ['Engineering', Writing docs', 'Docs conventions']\n---\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"title")," is the title of the article that appears on the sidebar and on the top of the article."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"description")," is the description of the article that appears in search results."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"tags")," are the tags associated with the article. Tags are used to group articles together. For example, all articles with the tag ",(0,i.kt)("inlineCode",{parentName:"li"},"Workspaces")," will be grouped together."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"keywords")," are the keywords associated with the article. Keywords are used to improve search results. For example, if the user searches for ",(0,i.kt)("inlineCode",{parentName:"li"},"Create workspace"),", then the article with the keyword ",(0,i.kt)("inlineCode",{parentName:"li"},"Create workspace")," will be displayed in the search results.")),(0,i.kt)("h2",{id:"nomenclature"},"Nomenclature"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Folder names & file name are ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"in kebab-case."),(0,i.kt)("li",{parentName:"ul"},"prefix with a number that represents the order in which the folder/file should be displayed in the sidebar."),(0,i.kt)("li",{parentName:"ul"},"prefix number is always a 3-digit number. "),(0,i.kt)("li",{parentName:"ul"},"For example, ",(0,i.kt)("inlineCode",{parentName:"li"},"010.account-settings"),"."))),(0,i.kt)("li",{parentName:"ul"},"Only first letter of the folder/file name is capitalized. Second letter onwards, first letter is capitalized only if it is a proper noun.")),(0,i.kt)("h2",{id:"tags"},"Tags"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"First letter of each tag is capitalized."),(0,i.kt)("li",{parentName:"ul"},"Tags usually are Objects or Actions. Add a tag only if we are sure that the tag will be used in multiple places. Example: 'Create' - we can have ",(0,i.kt)("inlineCode",{parentName:"li"},"Create project"),", ",(0,i.kt)("inlineCode",{parentName:"li"},"Create user"),", ",(0,i.kt)("inlineCode",{parentName:"li"},"Create API token")," etc.")),(0,i.kt)("h3",{id:"active-tags"},"Active Tags"),(0,i.kt)("p",null,"Tags that are currently being used in the docs are listed below. See if you can reuse any of these tags before adding a new tag."),(0,i.kt)("h2",{id:"description"},"Description"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Description should be crisp and to the point. Preferably one line."),(0,i.kt)("li",{parentName:"ul"},"Refer to the description associated with the tag to get an idea of how the description should be."),(0,i.kt)("li",{parentName:"ul"},"Descriptions appear in the search results (when searched by tags). So, it should be descriptive enough to give the user an idea of what the article is about.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Search by tags",src:n(18487).Z,width:"2850",height:"1796"})),(0,i.kt)("h2",{id:"images"},"Images"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Annotated images should be placed in ",(0,i.kt)("inlineCode",{parentName:"li"},"img/v2")," folder."),(0,i.kt)("li",{parentName:"ul"},"For every annotated image, there should be a corresponding unannotated image in the ",(0,i.kt)("inlineCode",{parentName:"li"},"img/v2-unannotated")," folder."),(0,i.kt)("li",{parentName:"ul"},"Images are kept in the same folder structure as the docs."),(0,i.kt)("li",{parentName:"ul"},"Use ",(0,i.kt)("inlineCode",{parentName:"li"},"Skitch")," for annotations.")),(0,i.kt)("h2",{id:"before-you-commit"},"Before you commit"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Use ",(0,i.kt)("inlineCode",{parentName:"li"},"npm run build")," to build the docs."),(0,i.kt)("li",{parentName:"ul"},"Ensure that the build is successful & there are no errors/warnings related to missing links, images, etc.")))}p.isMDXComponent=!0},18487:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/engineering-search-by-tags-9453d5cf2d1534c2f812c7aee697fe43.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/7dce83b4.530372e4.js b/packages/noco-docs/dist/assets/js/7dce83b4.4aaf8268.js similarity index 84% rename from packages/noco-docs/dist/assets/js/7dce83b4.530372e4.js rename to packages/noco-docs/dist/assets/js/7dce83b4.4aaf8268.js index d79b40bf88..5bef69f7b5 100644 --- a/packages/noco-docs/dist/assets/js/7dce83b4.530372e4.js +++ b/packages/noco-docs/dist/assets/js/7dce83b4.4aaf8268.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1193],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),s=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(r),h=n,f=u["".concat(c,".").concat(h)]||u[h]||d[h]||o;return r?a.createElement(f,i(i({ref:t},p),{},{components:r})):a.createElement(f,i({ref:t},p))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=h;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:n,i[1]=l;for(var s=2;s{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>s});var a=r(87462),n=(r(67294),r(3905));const o={title:"Search",description:"Learn how to search for records in NocoDB.",tags:["Table operations","Search","Gallery view","Kanban view","Grid view"],keywords:["NocoDB table search","search table","search records","search"]},i=void 0,l={unversionedId:"table-operations/search",id:"table-operations/search",title:"Search",description:"Learn how to search for records in NocoDB.",source:"@site/docs/060.table-operations/070.search.md",sourceDirName:"060.table-operations",slug:"/table-operations/search",permalink:"/table-operations/search",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/060.table-operations/070.search.md",tags:[{label:"Table operations",permalink:"/tags/table-operations"},{label:"Search",permalink:"/tags/search"},{label:"Gallery view",permalink:"/tags/gallery-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Grid view",permalink:"/tags/grid-view"}],version:"current",sidebarPosition:70,frontMatter:{title:"Search",description:"Learn how to search for records in NocoDB.",tags:["Table operations","Search","Gallery view","Kanban view","Grid view"],keywords:["NocoDB table search","search table","search records","search"]},sidebar:"tutorialSidebar",previous:{title:"Record height",permalink:"/table-operations/row-height"},next:{title:"Download",permalink:"/table-operations/download"}},c={},s=[{value:"Related topics",id:"related-topics",level:3}],p={toc:s},u="wrapper";function d(e){let{components:t,...o}=e;return(0,n.kt)(u,(0,a.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"NocoDB offers a quick search feature that allows you to search for records by field from the toolbar menu. This feature is useful when working with large datasets and can be used in conjunction with the ",(0,n.kt)("inlineCode",{parentName:"p"},"Filter")," feature to further refine your search results."),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"Search")," button in the toolbar menu (Optional)"),(0,n.kt)("li",{parentName:"ol"},"Choose the ",(0,n.kt)("inlineCode",{parentName:"li"},"Field")," to search by (Optional)"),(0,n.kt)("li",{parentName:"ol"},"Enter the search term in the search bar.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:r(23038).Z,width:"2304",height:"986"})),(0,n.kt)("h3",{id:"related-topics"},"Related topics"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"field-operations"},"Field operations")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"filter"},"Filter")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"sort"},"Sort")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"group-by"},"GroupBy")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"row-height"},"record height")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"download"},"Download"))))}d.isMDXComponent=!0},23038:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/table-search-762c0ea68ae64bfda3aee882a82a326e.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1193],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),s=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(r),h=n,f=u["".concat(c,".").concat(h)]||u[h]||d[h]||o;return r?a.createElement(f,i(i({ref:t},p),{},{components:r})):a.createElement(f,i({ref:t},p))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=h;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:n,i[1]=l;for(var s=2;s{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>s});var a=r(87462),n=(r(67294),r(3905));const o={title:"Search",description:"Learn how to search for records in NocoDB.",tags:["Table operations","Search","Gallery view","Kanban view","Grid view"],keywords:["NocoDB table search","search table","search records","search"]},i=void 0,l={unversionedId:"table-operations/search",id:"table-operations/search",title:"Search",description:"Learn how to search for records in NocoDB.",source:"@site/docs/060.table-operations/070.search.md",sourceDirName:"060.table-operations",slug:"/table-operations/search",permalink:"/table-operations/search",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/060.table-operations/070.search.md",tags:[{label:"Table operations",permalink:"/tags/table-operations"},{label:"Search",permalink:"/tags/search"},{label:"Gallery view",permalink:"/tags/gallery-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Grid view",permalink:"/tags/grid-view"}],version:"current",sidebarPosition:70,frontMatter:{title:"Search",description:"Learn how to search for records in NocoDB.",tags:["Table operations","Search","Gallery view","Kanban view","Grid view"],keywords:["NocoDB table search","search table","search records","search"]},sidebar:"tutorialSidebar",previous:{title:"Record height",permalink:"/table-operations/row-height"},next:{title:"Download",permalink:"/table-operations/download"}},c={},s=[{value:"Related topics",id:"related-topics",level:3}],p={toc:s},u="wrapper";function d(e){let{components:t,...o}=e;return(0,n.kt)(u,(0,a.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"NocoDB offers a quick search feature that allows you to search for records by field from the toolbar menu. This feature is useful when working with large datasets and can be used in conjunction with the ",(0,n.kt)("inlineCode",{parentName:"p"},"Filter")," feature to further refine your search results."),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"Search")," button in the toolbar menu (Optional)"),(0,n.kt)("li",{parentName:"ol"},"Choose the ",(0,n.kt)("inlineCode",{parentName:"li"},"Field")," to search by (Optional)"),(0,n.kt)("li",{parentName:"ol"},"Enter the search term in the search bar.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:r(88).Z,width:"2304",height:"986"})),(0,n.kt)("h3",{id:"related-topics"},"Related topics"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"field-operations"},"Field operations")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"filter"},"Filter")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"sort"},"Sort")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"group-by"},"GroupBy")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"row-height"},"record height")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"download"},"Download"))))}d.isMDXComponent=!0},88:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/table-search-762c0ea68ae64bfda3aee882a82a326e.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/7dea24c2.c1b8d382.js b/packages/noco-docs/dist/assets/js/7dea24c2.c1b8d382.js new file mode 100644 index 0000000000..ea7004ff35 --- /dev/null +++ b/packages/noco-docs/dist/assets/js/7dea24c2.c1b8d382.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[2262],{83769:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/7e18769a.abb76911.js b/packages/noco-docs/dist/assets/js/7e18769a.474b1ad4.js similarity index 58% rename from packages/noco-docs/dist/assets/js/7e18769a.abb76911.js rename to packages/noco-docs/dist/assets/js/7e18769a.474b1ad4.js index f37c10832b..415e5fcc0d 100644 --- a/packages/noco-docs/dist/assets/js/7e18769a.abb76911.js +++ b/packages/noco-docs/dist/assets/js/7e18769a.474b1ad4.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4177],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>w});var n=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function l(e){for(var t=1;t=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var c=n.createContext({}),s=function(e){var t=n.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):l(l({},t),e)),i},p=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},v=n.forwardRef((function(e,t){var i=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=r(e,["components","mdxType","originalType","parentName"]),d=s(i),v=a,w=d["".concat(c,".").concat(v)]||d[v]||m[v]||o;return i?n.createElement(w,l(l({ref:t},p),{},{components:i})):n.createElement(w,l({ref:t},p))}));function w(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=i.length,l=new Array(o);l[0]=v;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r[d]="string"==typeof e?e:a,l[1]=r;for(var s=2;s{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>m,frontMatter:()=>o,metadata:()=>r,toc:()=>s});var n=i(87462),a=(i(67294),i(3905));const o={title:"Actions on view",description:"Learn how to delete, rename, duplicate a a view in NocoDB.",tags:["Views","Rename","Duplicate","Delete","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","delete view","rename view","duplicate view"]},l=void 0,r={unversionedId:"views/actions-on-view",id:"views/actions-on-view",title:"Actions on view",description:"Learn how to delete, rename, duplicate a a view in NocoDB.",source:"@site/docs/090.views/090.actions-on-view.md",sourceDirName:"090.views",slug:"/views/actions-on-view",permalink:"/views/actions-on-view",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/090.actions-on-view.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Rename",permalink:"/tags/rename"},{label:"Duplicate",permalink:"/tags/duplicate"},{label:"Delete",permalink:"/tags/delete"},{label:"Grid view",permalink:"/tags/grid-view"},{label:"Form view",permalink:"/tags/form-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Gallery view",permalink:"/tags/gallery-view"}],version:"current",sidebarPosition:90,frontMatter:{title:"Actions on view",description:"Learn how to delete, rename, duplicate a a view in NocoDB.",tags:["Views","Rename","Duplicate","Delete","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","delete view","rename view","duplicate view"]},sidebar:"tutorialSidebar",previous:{title:"Kanban",permalink:"/views/view-types/kanban"},next:{title:"Data sources overview",permalink:"/data-sources/data-source-overview"}},c={},s=[{value:"View context menu",id:"view-context-menu",level:2},{value:"Rename view",id:"rename-view",level:2},{value:"Change view icon",id:"change-view-icon",level:2},{value:"Duplicate view",id:"duplicate-view",level:2},{value:"Delete view",id:"delete-view",level:2}],p={toc:s},d="wrapper";function m(e){let{components:t,...o}=e;return(0,a.kt)(d,(0,n.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"view-context-menu"},"View context menu"),(0,a.kt)("p",null,"The view context menu provides a set of tools to interact with the view. The view context menu can be accessed by clicking on the ellipsis symbol (",(0,a.kt)("inlineCode",{parentName:"p"},"..."),") located next to view in the left sidebar."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:i(68939).Z,width:"1322",height:"721"})),(0,a.kt)("h2",{id:"rename-view"},"Rename view"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on the ellipsis symbol (",(0,a.kt)("inlineCode",{parentName:"li"},"..."),") next to view name located in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Rename")," option from the view context menu."),(0,a.kt)("li",{parentName:"ol"},"Enter the desired new view name into the provided field."),(0,a.kt)("li",{parentName:"ol"},"Use ",(0,a.kt)("inlineCode",{parentName:"li"},"Enter")," key to finalize the renaming process.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:i(68939).Z,width:"1322",height:"721"})),(0,a.kt)("h2",{id:"change-view-icon"},"Change view icon"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on the existing view icon to the left of the view name in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Select the desired icon from the list of available options.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:i(91301).Z,width:"2870",height:"1792"})),(0,a.kt)("h2",{id:"duplicate-view"},"Duplicate view"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on the ellipsis symbol (",(0,a.kt)("inlineCode",{parentName:"li"},"..."),") next to view name located in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Duplicate")," option from the view context menu."),(0,a.kt)("li",{parentName:"ol"},"Enter the desired new view name into the provided field."),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Duplicate View")," button in the confirmation dialog.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:i(68939).Z,width:"1322",height:"721"}),"\n",(0,a.kt)("img",{alt:"image",src:i(39269).Z,width:"1321",height:"718"})),(0,a.kt)("h2",{id:"delete-view"},"Delete view"),(0,a.kt)("admonition",{type:"danger"},(0,a.kt)("p",{parentName:"admonition"},(0,a.kt)("strong",{parentName:"p"},"This action cannot be undone."))),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on the ellipsis symbol (",(0,a.kt)("inlineCode",{parentName:"li"},"..."),") next to view name located in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Delete")," option from the view context menu."),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Delete View")," button in the confirmation dialog.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:i(68939).Z,width:"1322",height:"721"}),"\n",(0,a.kt)("img",{alt:"image",src:i(64871).Z,width:"1321",height:"717"})))}m.isMDXComponent=!0},64871:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/delete-view-confirmation-1afddd0d2975dde5d235b6ee04893b59.png"},39269:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/duplicate-confirmation-319dac1b1b6351e9c1da8019160cd854.png"},91301:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/view-change-icon-0aab6b0e9dc655406e8cfd2cee76454c.png"},68939:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/view-context-menu-2aaa116e512e31804a1c471b0af66371.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4177],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>w});var n=i(67294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function l(e){for(var t=1;t=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var c=n.createContext({}),s=function(e){var t=n.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):l(l({},t),e)),i},p=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},v=n.forwardRef((function(e,t){var i=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=r(e,["components","mdxType","originalType","parentName"]),d=s(i),v=a,w=d["".concat(c,".").concat(v)]||d[v]||m[v]||o;return i?n.createElement(w,l(l({ref:t},p),{},{components:i})):n.createElement(w,l({ref:t},p))}));function w(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=i.length,l=new Array(o);l[0]=v;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r[d]="string"==typeof e?e:a,l[1]=r;for(var s=2;s{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>m,frontMatter:()=>o,metadata:()=>r,toc:()=>s});var n=i(87462),a=(i(67294),i(3905));const o={title:"Actions on view",description:"Learn how to delete, rename, duplicate a a view in NocoDB.",tags:["Views","Rename","Duplicate","Delete","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","delete view","rename view","duplicate view"]},l=void 0,r={unversionedId:"views/actions-on-view",id:"views/actions-on-view",title:"Actions on view",description:"Learn how to delete, rename, duplicate a a view in NocoDB.",source:"@site/docs/090.views/090.actions-on-view.md",sourceDirName:"090.views",slug:"/views/actions-on-view",permalink:"/views/actions-on-view",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/090.actions-on-view.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Rename",permalink:"/tags/rename"},{label:"Duplicate",permalink:"/tags/duplicate"},{label:"Delete",permalink:"/tags/delete"},{label:"Grid view",permalink:"/tags/grid-view"},{label:"Form view",permalink:"/tags/form-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Gallery view",permalink:"/tags/gallery-view"}],version:"current",sidebarPosition:90,frontMatter:{title:"Actions on view",description:"Learn how to delete, rename, duplicate a a view in NocoDB.",tags:["Views","Rename","Duplicate","Delete","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","delete view","rename view","duplicate view"]},sidebar:"tutorialSidebar",previous:{title:"Kanban",permalink:"/views/view-types/kanban"},next:{title:"Data sources overview",permalink:"/data-sources/data-source-overview"}},c={},s=[{value:"View context menu",id:"view-context-menu",level:2},{value:"Rename view",id:"rename-view",level:2},{value:"Change view icon",id:"change-view-icon",level:2},{value:"Duplicate view",id:"duplicate-view",level:2},{value:"Delete view",id:"delete-view",level:2}],p={toc:s},d="wrapper";function m(e){let{components:t,...o}=e;return(0,a.kt)(d,(0,n.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"view-context-menu"},"View context menu"),(0,a.kt)("p",null,"The view context menu provides a set of tools to interact with the view. The view context menu can be accessed by clicking on the ellipsis symbol (",(0,a.kt)("inlineCode",{parentName:"p"},"..."),") located next to view in the left sidebar."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:i(8810).Z,width:"1322",height:"721"})),(0,a.kt)("h2",{id:"rename-view"},"Rename view"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on the ellipsis symbol (",(0,a.kt)("inlineCode",{parentName:"li"},"..."),") next to view name located in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Rename")," option from the view context menu."),(0,a.kt)("li",{parentName:"ol"},"Enter the desired new view name into the provided field."),(0,a.kt)("li",{parentName:"ol"},"Use ",(0,a.kt)("inlineCode",{parentName:"li"},"Enter")," key to finalize the renaming process.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:i(8810).Z,width:"1322",height:"721"})),(0,a.kt)("h2",{id:"change-view-icon"},"Change view icon"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on the existing view icon to the left of the view name in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Select the desired icon from the list of available options.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:i(32762).Z,width:"2870",height:"1792"})),(0,a.kt)("h2",{id:"duplicate-view"},"Duplicate view"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on the ellipsis symbol (",(0,a.kt)("inlineCode",{parentName:"li"},"..."),") next to view name located in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Duplicate")," option from the view context menu."),(0,a.kt)("li",{parentName:"ol"},"Enter the desired new view name into the provided field."),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Duplicate View")," button in the confirmation dialog.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:i(8810).Z,width:"1322",height:"721"}),"\n",(0,a.kt)("img",{alt:"image",src:i(65452).Z,width:"1321",height:"718"})),(0,a.kt)("h2",{id:"delete-view"},"Delete view"),(0,a.kt)("admonition",{type:"danger"},(0,a.kt)("p",{parentName:"admonition"},(0,a.kt)("strong",{parentName:"p"},"This action cannot be undone."))),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on the ellipsis symbol (",(0,a.kt)("inlineCode",{parentName:"li"},"..."),") next to view name located in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Delete")," option from the view context menu."),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Delete View")," button in the confirmation dialog.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:i(8810).Z,width:"1322",height:"721"}),"\n",(0,a.kt)("img",{alt:"image",src:i(20646).Z,width:"1321",height:"717"})))}m.isMDXComponent=!0},20646:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/delete-view-confirmation-1afddd0d2975dde5d235b6ee04893b59.png"},65452:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/duplicate-confirmation-319dac1b1b6351e9c1da8019160cd854.png"},32762:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/view-change-icon-0aab6b0e9dc655406e8cfd2cee76454c.png"},8810:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/view-context-menu-2aaa116e512e31804a1c471b0af66371.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/8a8a6f17.b9888edf.js b/packages/noco-docs/dist/assets/js/8a8a6f17.d9ea45c4.js similarity index 91% rename from packages/noco-docs/dist/assets/js/8a8a6f17.b9888edf.js rename to packages/noco-docs/dist/assets/js/8a8a6f17.d9ea45c4.js index 67ce102eca..8eb177b969 100644 --- a/packages/noco-docs/dist/assets/js/8a8a6f17.b9888edf.js +++ b/packages/noco-docs/dist/assets/js/8a8a6f17.d9ea45c4.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[9060],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function a(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=o.createContext({}),c=function(e){var t=o.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=c(e.components);return o.createElement(s.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},g=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=c(r),g=n,f=d["".concat(s,".").concat(g)]||d[g]||u[g]||i;return r?o.createElement(f,a(a({ref:t},p),{},{components:r})):o.createElement(f,a({ref:t},p))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,a=new Array(i);a[0]=g;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:n,a[1]=l;for(var c=2;c{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var o=r(87462),n=(r(67294),r(3905));const i={title:"Sorting records",description:"Learn how to sort records in NocoDB.",tags:["Table operations","Sort","Gallery view","Kanban view","Grid view"],keywords:["NocoDB table","sort","sort records"]},a=void 0,l={unversionedId:"table-operations/sort",id:"table-operations/sort",title:"Sorting records",description:"Learn how to sort records in NocoDB.",source:"@site/docs/060.table-operations/040.sort.md",sourceDirName:"060.table-operations",slug:"/table-operations/sort",permalink:"/table-operations/sort",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/060.table-operations/040.sort.md",tags:[{label:"Table operations",permalink:"/tags/table-operations"},{label:"Sort",permalink:"/tags/sort"},{label:"Gallery view",permalink:"/tags/gallery-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Grid view",permalink:"/tags/grid-view"}],version:"current",sidebarPosition:40,frontMatter:{title:"Sorting records",description:"Learn how to sort records in NocoDB.",tags:["Table operations","Sort","Gallery view","Kanban view","Grid view"],keywords:["NocoDB table","sort","sort records"]},sidebar:"tutorialSidebar",previous:{title:"Filtering records",permalink:"/table-operations/filter"},next:{title:"Grouping records",permalink:"/table-operations/group-by"}},s={},c=[{value:"Adding or Editing Sort",id:"adding-or-editing-sort",level:3},{value:"Deleting Sort",id:"deleting-sort",level:3},{value:"Related topics",id:"related-topics",level:3}],p={toc:c},d="wrapper";function u(e){let{components:t,...i}=e;return(0,n.kt)(d,(0,o.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"Sorting enables you to arrange your data alphabetically (A \u2192 Z) or (Z \u2192 A) for text based types and in ascending or descending order for numerical types. NocoDB supports nested sorting, allowing you to select fields and the order in which to apply nested sorting. "),(0,n.kt)("h3",{id:"adding-or-editing-sort"},"Adding or Editing Sort"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click the ",(0,n.kt)("inlineCode",{parentName:"li"},"Sort")," button in the toolbar menu."),(0,n.kt)("li",{parentName:"ol"},"Choose the ",(0,n.kt)("inlineCode",{parentName:"li"},"Field")," to sort by."),(0,n.kt)("li",{parentName:"ol"},"Configure the sorting ",(0,n.kt)("inlineCode",{parentName:"li"},"Direction")," : ascending or descending")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Sort Field",src:r(87792).Z,width:"2304",height:"1020"})),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Sort Direction",src:r(56722).Z,width:"2306",height:"858"})),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"You can configure multiple fields for subsequent-level sorting.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Nested Sorting",src:r(41967).Z,width:"2306",height:"940"})),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"Field configured at the top will be used for the first-level sorting, followed by subsequent fields in a top-down order")),(0,n.kt)("h3",{id:"deleting-sort"},"Deleting Sort"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Click the ",(0,n.kt)("inlineCode",{parentName:"li"},"Sort")," button in the toolbar.",(0,n.kt)("ul",{parentName:"li"},(0,n.kt)("li",{parentName:"ul"},"Click on the bin icon to the right of the sort you wish to delete.")))),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Delete Sorting",src:r(25969).Z,width:"2306",height:"940"})),(0,n.kt)("h3",{id:"related-topics"},"Related topics"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"field-operations"},"Field operations")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"filter"},"Filter")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"group-by"},"GroupBy")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"row-height"},"record height")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"search"},"Quick Search")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"download"},"Download"))))}u.isMDXComponent=!0},87792:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/sort-1-fa0fe0c81f35a773f6c03ae98c05751f.png"},56722:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/sort-2-9b1d1e39e76dca86dbf63d9c4d59f940.png"},41967:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/sort-3-3b0cf33ff1728c5649bcf6de7a5073ff.png"},25969:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/sort-4-124856ebba5f7b4ca9d8cc67ff97a32b.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[9060],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function a(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=o.createContext({}),c=function(e){var t=o.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=c(e.components);return o.createElement(s.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},g=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=c(r),g=n,f=d["".concat(s,".").concat(g)]||d[g]||u[g]||i;return r?o.createElement(f,a(a({ref:t},p),{},{components:r})):o.createElement(f,a({ref:t},p))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,a=new Array(i);a[0]=g;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:n,a[1]=l;for(var c=2;c{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var o=r(87462),n=(r(67294),r(3905));const i={title:"Sorting records",description:"Learn how to sort records in NocoDB.",tags:["Table operations","Sort","Gallery view","Kanban view","Grid view"],keywords:["NocoDB table","sort","sort records"]},a=void 0,l={unversionedId:"table-operations/sort",id:"table-operations/sort",title:"Sorting records",description:"Learn how to sort records in NocoDB.",source:"@site/docs/060.table-operations/040.sort.md",sourceDirName:"060.table-operations",slug:"/table-operations/sort",permalink:"/table-operations/sort",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/060.table-operations/040.sort.md",tags:[{label:"Table operations",permalink:"/tags/table-operations"},{label:"Sort",permalink:"/tags/sort"},{label:"Gallery view",permalink:"/tags/gallery-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Grid view",permalink:"/tags/grid-view"}],version:"current",sidebarPosition:40,frontMatter:{title:"Sorting records",description:"Learn how to sort records in NocoDB.",tags:["Table operations","Sort","Gallery view","Kanban view","Grid view"],keywords:["NocoDB table","sort","sort records"]},sidebar:"tutorialSidebar",previous:{title:"Filtering records",permalink:"/table-operations/filter"},next:{title:"Grouping records",permalink:"/table-operations/group-by"}},s={},c=[{value:"Adding or Editing Sort",id:"adding-or-editing-sort",level:3},{value:"Deleting Sort",id:"deleting-sort",level:3},{value:"Related topics",id:"related-topics",level:3}],p={toc:c},d="wrapper";function u(e){let{components:t,...i}=e;return(0,n.kt)(d,(0,o.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"Sorting enables you to arrange your data alphabetically (A \u2192 Z) or (Z \u2192 A) for text based types and in ascending or descending order for numerical types. NocoDB supports nested sorting, allowing you to select fields and the order in which to apply nested sorting. "),(0,n.kt)("h3",{id:"adding-or-editing-sort"},"Adding or Editing Sort"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click the ",(0,n.kt)("inlineCode",{parentName:"li"},"Sort")," button in the toolbar menu."),(0,n.kt)("li",{parentName:"ol"},"Choose the ",(0,n.kt)("inlineCode",{parentName:"li"},"Field")," to sort by."),(0,n.kt)("li",{parentName:"ol"},"Configure the sorting ",(0,n.kt)("inlineCode",{parentName:"li"},"Direction")," : ascending or descending")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Sort Field",src:r(85395).Z,width:"2304",height:"1020"})),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Sort Direction",src:r(14347).Z,width:"2306",height:"858"})),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"You can configure multiple fields for subsequent-level sorting.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Nested Sorting",src:r(31189).Z,width:"2306",height:"940"})),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"Field configured at the top will be used for the first-level sorting, followed by subsequent fields in a top-down order")),(0,n.kt)("h3",{id:"deleting-sort"},"Deleting Sort"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Click the ",(0,n.kt)("inlineCode",{parentName:"li"},"Sort")," button in the toolbar.",(0,n.kt)("ul",{parentName:"li"},(0,n.kt)("li",{parentName:"ul"},"Click on the bin icon to the right of the sort you wish to delete.")))),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Delete Sorting",src:r(46286).Z,width:"2306",height:"940"})),(0,n.kt)("h3",{id:"related-topics"},"Related topics"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"field-operations"},"Field operations")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"filter"},"Filter")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"group-by"},"GroupBy")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"row-height"},"record height")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"search"},"Quick Search")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"download"},"Download"))))}u.isMDXComponent=!0},85395:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/sort-1-fa0fe0c81f35a773f6c03ae98c05751f.png"},14347:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/sort-2-9b1d1e39e76dca86dbf63d9c4d59f940.png"},31189:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/sort-3-3b0cf33ff1728c5649bcf6de7a5073ff.png"},46286:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/sort-4-124856ebba5f7b4ca9d8cc67ff97a32b.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/9040003c.21ca2128.js b/packages/noco-docs/dist/assets/js/9040003c.c2e32051.js similarity index 79% rename from packages/noco-docs/dist/assets/js/9040003c.21ca2128.js rename to packages/noco-docs/dist/assets/js/9040003c.c2e32051.js index bb098e68df..7a66bef310 100644 --- a/packages/noco-docs/dist/assets/js/9040003c.21ca2128.js +++ b/packages/noco-docs/dist/assets/js/9040003c.c2e32051.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[8511],{3905:(e,o,t)=>{t.d(o,{Zo:()=>m,kt:()=>k});var r=t(67294);function a(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}function n(e,o){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);o&&(r=r.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var o=1;o=0||(a[t]=e[t]);return a}(e,o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=r.createContext({}),c=function(e){var o=r.useContext(l),t=o;return e&&(t="function"==typeof e?e(o):i(i({},o),e)),t},m=function(e){var o=c(e.components);return r.createElement(l.Provider,{value:o},e.children)},p="mdxType",b={inlineCode:"code",wrapper:function(e){var o=e.children;return r.createElement(r.Fragment,{},o)}},d=r.forwardRef((function(e,o){var t=e.components,a=e.mdxType,n=e.originalType,l=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),p=c(t),d=a,k=p["".concat(l,".").concat(d)]||p[d]||b[d]||n;return t?r.createElement(k,i(i({ref:o},m),{},{components:t})):r.createElement(k,i({ref:o},m))}));function k(e,o){var t=arguments,a=o&&o.mdxType;if("string"==typeof e||a){var n=t.length,i=new Array(n);i[0]=d;var s={};for(var l in o)hasOwnProperty.call(o,l)&&(s[l]=o[l]);s.originalType=e,s[p]="string"==typeof e?e:a,i[1]=s;for(var c=2;c{t.r(o),t.d(o,{assets:()=>l,contentTitle:()=>i,default:()=>b,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var r=t(87462),a=(t(67294),t(3905));const n={title:"Workspace collaboration",description:"This article explains how to invite members to your workspace, change their roles and procedure to remove them from the workspace.",tags:["Collaboration","Workspaces","Members","Invite","Roles"],keywords:["Invite members","Member roles","Access permissions","Displaying workspace members","Modifying member roles","Removing workspace members","Workspace collaboration","Workspace settings"]},i=void 0,s={unversionedId:"collaboration/workspace-collaboration",id:"collaboration/workspace-collaboration",title:"Workspace collaboration",description:"This article explains how to invite members to your workspace, change their roles and procedure to remove them from the workspace.",source:"@site/docs/120.collaboration/010.workspace-collaboration.md",sourceDirName:"120.collaboration",slug:"/collaboration/workspace-collaboration",permalink:"/collaboration/workspace-collaboration",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/120.collaboration/010.workspace-collaboration.md",tags:[{label:"Collaboration",permalink:"/tags/collaboration"},{label:"Workspaces",permalink:"/tags/workspaces"},{label:"Members",permalink:"/tags/members"},{label:"Invite",permalink:"/tags/invite"},{label:"Roles",permalink:"/tags/roles"}],version:"current",sidebarPosition:10,frontMatter:{title:"Workspace collaboration",description:"This article explains how to invite members to your workspace, change their roles and procedure to remove them from the workspace.",tags:["Collaboration","Workspaces","Members","Invite","Roles"],keywords:["Invite members","Member roles","Access permissions","Displaying workspace members","Modifying member roles","Removing workspace members","Workspace collaboration","Workspace settings"]},sidebar:"tutorialSidebar",previous:{title:"Collaboration overview",permalink:"/collaboration/collaboration-overview"},next:{title:"Base collaboration",permalink:"/collaboration/base-collaboration"}},l={},c=[{value:"Invite members to Workspace",id:"invite-members-to-workspace",level:2},{value:"List Workspace members",id:"list-workspace-members",level:2},{value:"Modify Workspace Member Roles",id:"modify-workspace-member-roles",level:2},{value:"Remove Workspace Members",id:"remove-workspace-members",level:2}],m={toc:c},p="wrapper";function b(e){let{components:o,...n}=e;return(0,a.kt)(p,(0,r.Z)({},m,n,{components:o,mdxType:"MDXLayout"}),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("p",{parentName:"admonition"},"A comprehensive guide regarding roles and permissions can be accessed ",(0,a.kt)("a",{parentName:"p",href:"/roles-and-permissions/roles-permissions-overview"},"here"),".")),(0,a.kt)("h2",{id:"invite-members-to-workspace"},"Invite members to Workspace"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Navigate to the Workspace configuration page by selecting ",(0,a.kt)("inlineCode",{parentName:"li"},"Team & Settings")," in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Access the ",(0,a.kt)("inlineCode",{parentName:"li"},"Members")," tab."),(0,a.kt)("li",{parentName:"ol"},"Input the email address of the intended member for the invitation."),(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Role")," dropdown menu"),(0,a.kt)("li",{parentName:"ol"},"Choose the appropriate access permission for the member from the dropdown menu."),(0,a.kt)("li",{parentName:"ol"},"Conclude the process by selecting the ",(0,a.kt)("inlineCode",{parentName:"li"},"Add Member(s)")," button.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:t(63013).Z,width:"2874",height:"1574"})),(0,a.kt)("admonition",{type:"info"},(0,a.kt)("p",{parentName:"admonition"},"You have the capability to invite multiple members simultaneously by entering their email addresses, separated by commas.")),(0,a.kt)("h2",{id:"list-workspace-members"},"List Workspace members"),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"Members")," tab displays a list of users who have been granted access to the workspace.\n",(0,a.kt)("img",{alt:"image",src:t(2594).Z,width:"2878",height:"1476"})),(0,a.kt)("h2",{id:"modify-workspace-member-roles"},"Modify Workspace Member Roles"),(0,a.kt)("p",null,"You can modify the access permissions of members by following these steps:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Access the dropdown menu."),(0,a.kt)("li",{parentName:"ol"},"Select the desired new role option.\n",(0,a.kt)("img",{alt:"image",src:t(64593).Z,width:"2872",height:"1324"}))),(0,a.kt)("h2",{id:"remove-workspace-members"},"Remove Workspace Members"),(0,a.kt)("p",null,"To remove a member from the workspace, take the following steps:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on the vertical ellipses ",(0,a.kt)("inlineCode",{parentName:"li"},"\u22ee")," to open the context menu."),(0,a.kt)("li",{parentName:"ol"},"Select the ",(0,a.kt)("inlineCode",{parentName:"li"},"Remove User")," option.\n",(0,a.kt)("img",{alt:"image",src:t(5401).Z,width:"2868",height:"1396"}))))}b.isMDXComponent=!0},63013:(e,o,t)=>{t.d(o,{Z:()=>r});const r=t.p+"assets/images/workspace-collaboration-acb162d8d579249744a6a2d6e3280fbf.png"},2594:(e,o,t)=>{t.d(o,{Z:()=>r});const r=t.p+"assets/images/workspace-members-list-52e58f7e389b1a6840ce31a4a195104a.png"},5401:(e,o,t)=>{t.d(o,{Z:()=>r});const r=t.p+"assets/images/workspace-members-remove-70769f0f7d860d5436cd08030d0e26c2.png"},64593:(e,o,t)=>{t.d(o,{Z:()=>r});const r=t.p+"assets/images/workspace-members-role-change-be6445f0fa9629193ac81affb3b843f1.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[8511],{3905:(e,o,t)=>{t.d(o,{Zo:()=>m,kt:()=>k});var r=t(67294);function a(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}function n(e,o){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);o&&(r=r.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var o=1;o=0||(a[t]=e[t]);return a}(e,o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=r.createContext({}),c=function(e){var o=r.useContext(l),t=o;return e&&(t="function"==typeof e?e(o):i(i({},o),e)),t},m=function(e){var o=c(e.components);return r.createElement(l.Provider,{value:o},e.children)},p="mdxType",b={inlineCode:"code",wrapper:function(e){var o=e.children;return r.createElement(r.Fragment,{},o)}},d=r.forwardRef((function(e,o){var t=e.components,a=e.mdxType,n=e.originalType,l=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),p=c(t),d=a,k=p["".concat(l,".").concat(d)]||p[d]||b[d]||n;return t?r.createElement(k,i(i({ref:o},m),{},{components:t})):r.createElement(k,i({ref:o},m))}));function k(e,o){var t=arguments,a=o&&o.mdxType;if("string"==typeof e||a){var n=t.length,i=new Array(n);i[0]=d;var s={};for(var l in o)hasOwnProperty.call(o,l)&&(s[l]=o[l]);s.originalType=e,s[p]="string"==typeof e?e:a,i[1]=s;for(var c=2;c{t.r(o),t.d(o,{assets:()=>l,contentTitle:()=>i,default:()=>b,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var r=t(87462),a=(t(67294),t(3905));const n={title:"Workspace collaboration",description:"This article explains how to invite members to your workspace, change their roles and procedure to remove them from the workspace.",tags:["Collaboration","Workspaces","Members","Invite","Roles"],keywords:["Invite members","Member roles","Access permissions","Displaying workspace members","Modifying member roles","Removing workspace members","Workspace collaboration","Workspace settings"]},i=void 0,s={unversionedId:"collaboration/workspace-collaboration",id:"collaboration/workspace-collaboration",title:"Workspace collaboration",description:"This article explains how to invite members to your workspace, change their roles and procedure to remove them from the workspace.",source:"@site/docs/120.collaboration/010.workspace-collaboration.md",sourceDirName:"120.collaboration",slug:"/collaboration/workspace-collaboration",permalink:"/collaboration/workspace-collaboration",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/120.collaboration/010.workspace-collaboration.md",tags:[{label:"Collaboration",permalink:"/tags/collaboration"},{label:"Workspaces",permalink:"/tags/workspaces"},{label:"Members",permalink:"/tags/members"},{label:"Invite",permalink:"/tags/invite"},{label:"Roles",permalink:"/tags/roles"}],version:"current",sidebarPosition:10,frontMatter:{title:"Workspace collaboration",description:"This article explains how to invite members to your workspace, change their roles and procedure to remove them from the workspace.",tags:["Collaboration","Workspaces","Members","Invite","Roles"],keywords:["Invite members","Member roles","Access permissions","Displaying workspace members","Modifying member roles","Removing workspace members","Workspace collaboration","Workspace settings"]},sidebar:"tutorialSidebar",previous:{title:"Collaboration overview",permalink:"/collaboration/collaboration-overview"},next:{title:"Base collaboration",permalink:"/collaboration/base-collaboration"}},l={},c=[{value:"Invite members to Workspace",id:"invite-members-to-workspace",level:2},{value:"List Workspace members",id:"list-workspace-members",level:2},{value:"Modify Workspace Member Roles",id:"modify-workspace-member-roles",level:2},{value:"Remove Workspace Members",id:"remove-workspace-members",level:2}],m={toc:c},p="wrapper";function b(e){let{components:o,...n}=e;return(0,a.kt)(p,(0,r.Z)({},m,n,{components:o,mdxType:"MDXLayout"}),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("p",{parentName:"admonition"},"A comprehensive guide regarding roles and permissions can be accessed ",(0,a.kt)("a",{parentName:"p",href:"/roles-and-permissions/roles-permissions-overview"},"here"),".")),(0,a.kt)("h2",{id:"invite-members-to-workspace"},"Invite members to Workspace"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Navigate to the Workspace configuration page by selecting ",(0,a.kt)("inlineCode",{parentName:"li"},"Team & Settings")," in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Access the ",(0,a.kt)("inlineCode",{parentName:"li"},"Members")," tab."),(0,a.kt)("li",{parentName:"ol"},"Input the email address of the intended member for the invitation."),(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Role")," dropdown menu"),(0,a.kt)("li",{parentName:"ol"},"Choose the appropriate access permission for the member from the dropdown menu."),(0,a.kt)("li",{parentName:"ol"},"Conclude the process by selecting the ",(0,a.kt)("inlineCode",{parentName:"li"},"Add Member(s)")," button.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:t(33845).Z,width:"2880",height:"1800"})),(0,a.kt)("admonition",{type:"info"},(0,a.kt)("p",{parentName:"admonition"},"You have the capability to invite multiple members simultaneously by entering their email addresses, separated by commas.")),(0,a.kt)("h2",{id:"list-workspace-members"},"List Workspace members"),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"Members")," tab displays a list of users who have been granted access to the workspace.\n",(0,a.kt)("img",{alt:"image",src:t(52817).Z,width:"2876",height:"1508"})),(0,a.kt)("h2",{id:"modify-workspace-member-roles"},"Modify Workspace Member Roles"),(0,a.kt)("p",null,"You can modify the access permissions of members by following these steps:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Access the dropdown menu."),(0,a.kt)("li",{parentName:"ol"},"Select the desired new role option.\n",(0,a.kt)("img",{alt:"image",src:t(44721).Z,width:"2878",height:"1520"}))),(0,a.kt)("h2",{id:"remove-workspace-members"},"Remove Workspace Members"),(0,a.kt)("p",null,"To remove a member from the workspace, take the following steps:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on the vertical ellipses ",(0,a.kt)("inlineCode",{parentName:"li"},"\u22ee")," to open the context menu."),(0,a.kt)("li",{parentName:"ol"},"Select the ",(0,a.kt)("inlineCode",{parentName:"li"},"Remove User")," option.\n",(0,a.kt)("img",{alt:"image",src:t(48955).Z,width:"2880",height:"1504"}))))}b.isMDXComponent=!0},33845:(e,o,t)=>{t.d(o,{Z:()=>r});const r=t.p+"assets/images/workspace-collaboration-acb162d8d579249744a6a2d6e3280fbf.png"},52817:(e,o,t)=>{t.d(o,{Z:()=>r});const r=t.p+"assets/images/workspace-members-list-52e58f7e389b1a6840ce31a4a195104a.png"},48955:(e,o,t)=>{t.d(o,{Z:()=>r});const r=t.p+"assets/images/workspace-members-remove-70769f0f7d860d5436cd08030d0e26c2.png"},44721:(e,o,t)=>{t.d(o,{Z:()=>r});const r=t.p+"assets/images/workspace-members-role-change-be6445f0fa9629193ac81affb3b843f1.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/9329f711.4f19abf4.js b/packages/noco-docs/dist/assets/js/9329f711.df4334d9.js similarity index 94% rename from packages/noco-docs/dist/assets/js/9329f711.4f19abf4.js rename to packages/noco-docs/dist/assets/js/9329f711.df4334d9.js index 71ced77e7c..14cc3eddad 100644 --- a/packages/noco-docs/dist/assets/js/9329f711.4f19abf4.js +++ b/packages/noco-docs/dist/assets/js/9329f711.df4334d9.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[753],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>m});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),p=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},s=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},u="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},g=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=p(n),g=o,m=u["".concat(c,".").concat(g)]||u[g]||f[g]||a;return n?r.createElement(m,i(i({ref:t},s),{},{components:n})):r.createElement(m,i({ref:t},s))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=g;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:o,i[1]=l;for(var p=2;p{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>f,frontMatter:()=>a,metadata:()=>l,toc:()=>p});var r=n(87462),o=(n(67294),n(3905));const a={title:"Profile page",description:"This article explains how to manage your profile page.",tags:["Account Settings","Profile","Member"],keywords:["Profile page","Profile settings","Profile name"]},i=void 0,l={unversionedId:"account-settings/profile-page",id:"account-settings/profile-page",title:"Profile page",description:"This article explains how to manage your profile page.",source:"@site/docs/140.account-settings/010.profile-page.md",sourceDirName:"140.account-settings",slug:"/account-settings/profile-page",permalink:"/account-settings/profile-page",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/140.account-settings/010.profile-page.md",tags:[{label:"Account Settings",permalink:"/tags/account-settings"},{label:"Profile",permalink:"/tags/profile"},{label:"Member",permalink:"/tags/member"}],version:"current",sidebarPosition:10,frontMatter:{title:"Profile page",description:"This article explains how to manage your profile page.",tags:["Account Settings","Profile","Member"],keywords:["Profile page","Profile settings","Profile name"]},sidebar:"tutorialSidebar",previous:{title:"Actions on webhook",permalink:"/automation/webhook/actions-on-webhook"},next:{title:"API tokens",permalink:"/account-settings/api-tokens"}},c={},p=[],s={toc:p},u="wrapper";function f(e){let{components:t,...a}=e;return(0,o.kt)(u,(0,r.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Profile page is the place where you can manage your profile information. Currently, only a custom username can be setup as part of profile configuration. To access your profile page,"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"User menu")," in the bottom left corner of the sidebar, "),(0,o.kt)("li",{parentName:"ol"},"Select ",(0,o.kt)("inlineCode",{parentName:"li"},"Account Settings")," from the dropdown"),(0,o.kt)("li",{parentName:"ol"},"Change ",(0,o.kt)("inlineCode",{parentName:"li"},"Profile name")," "),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Save")," button to save the changes")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"profile page",src:n(80992).Z,width:"2432",height:"1388"})," "),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"profile page",src:n(91112).Z,width:"2432",height:"1386"})))}f.isMDXComponent=!0},80992:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/account-settings-3f8b281c933be2349ddb19f0fa8660e8.png"},91112:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/profile-page-a57e61bb64613b60a0567d3589307653.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[753],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>m});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),p=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},s=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},u="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},g=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=p(n),g=o,m=u["".concat(c,".").concat(g)]||u[g]||f[g]||a;return n?r.createElement(m,i(i({ref:t},s),{},{components:n})):r.createElement(m,i({ref:t},s))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=g;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:o,i[1]=l;for(var p=2;p{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>f,frontMatter:()=>a,metadata:()=>l,toc:()=>p});var r=n(87462),o=(n(67294),n(3905));const a={title:"Profile page",description:"This article explains how to manage your profile page.",tags:["Account Settings","Profile","Member"],keywords:["Profile page","Profile settings","Profile name"]},i=void 0,l={unversionedId:"account-settings/profile-page",id:"account-settings/profile-page",title:"Profile page",description:"This article explains how to manage your profile page.",source:"@site/docs/140.account-settings/010.profile-page.md",sourceDirName:"140.account-settings",slug:"/account-settings/profile-page",permalink:"/account-settings/profile-page",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/140.account-settings/010.profile-page.md",tags:[{label:"Account Settings",permalink:"/tags/account-settings"},{label:"Profile",permalink:"/tags/profile"},{label:"Member",permalink:"/tags/member"}],version:"current",sidebarPosition:10,frontMatter:{title:"Profile page",description:"This article explains how to manage your profile page.",tags:["Account Settings","Profile","Member"],keywords:["Profile page","Profile settings","Profile name"]},sidebar:"tutorialSidebar",previous:{title:"Actions on webhook",permalink:"/automation/webhook/actions-on-webhook"},next:{title:"API tokens",permalink:"/account-settings/api-tokens"}},c={},p=[],s={toc:p},u="wrapper";function f(e){let{components:t,...a}=e;return(0,o.kt)(u,(0,r.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Profile page is the place where you can manage your profile information. Currently, only a custom username can be setup as part of profile configuration. To access your profile page,"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"User menu")," in the bottom left corner of the sidebar, "),(0,o.kt)("li",{parentName:"ol"},"Select ",(0,o.kt)("inlineCode",{parentName:"li"},"Account Settings")," from the dropdown"),(0,o.kt)("li",{parentName:"ol"},"Change ",(0,o.kt)("inlineCode",{parentName:"li"},"Profile name")," "),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Save")," button to save the changes")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"profile page",src:n(22504).Z,width:"2432",height:"1388"})," "),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"profile page",src:n(29890).Z,width:"2432",height:"1386"})))}f.isMDXComponent=!0},22504:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/account-settings-3f8b281c933be2349ddb19f0fa8660e8.png"},29890:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/profile-page-a57e61bb64613b60a0567d3589307653.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/95677701.42b2bf38.js b/packages/noco-docs/dist/assets/js/95677701.19a93d59.js similarity index 68% rename from packages/noco-docs/dist/assets/js/95677701.42b2bf38.js rename to packages/noco-docs/dist/assets/js/95677701.19a93d59.js index 8935d7b327..7f44c9f787 100644 --- a/packages/noco-docs/dist/assets/js/95677701.42b2bf38.js +++ b/packages/noco-docs/dist/assets/js/95677701.19a93d59.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1174],{44721:o=>{o.exports=JSON.parse('{"label":"Group by","permalink":"/tags/group-by","allTagsPath":"/tags","count":1,"items":[{"id":"table-operations/group-by","title":"Grouping records","description":"Learn how to group records in NocoDB.","permalink":"/table-operations/group-by"}]}')}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1174],{64778:o=>{o.exports=JSON.parse('{"label":"Group by","permalink":"/tags/group-by","allTagsPath":"/tags","count":1,"items":[{"id":"table-operations/group-by","title":"Grouping records","description":"Learn how to group records in NocoDB.","permalink":"/table-operations/group-by"}]}')}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/95a14fd1.51597f7e.js b/packages/noco-docs/dist/assets/js/95a14fd1.447ca405.js similarity index 92% rename from packages/noco-docs/dist/assets/js/95a14fd1.51597f7e.js rename to packages/noco-docs/dist/assets/js/95a14fd1.447ca405.js index f566763f59..18c894f425 100644 --- a/packages/noco-docs/dist/assets/js/95a14fd1.51597f7e.js +++ b/packages/noco-docs/dist/assets/js/95a14fd1.447ca405.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[9518],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>b});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function a(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var p=o.createContext({}),s=function(e){var t=o.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},c=function(e){var t=s(e.components);return o.createElement(p.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},g=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=s(r),g=n,b=u["".concat(p,".").concat(g)]||u[g]||d[g]||i;return r?o.createElement(b,a(a({ref:t},c),{},{components:r})):o.createElement(b,a({ref:t},c))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,a=new Array(i);a[0]=g;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[u]="string"==typeof e?e:n,a[1]=l;for(var s=2;s{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>s});var o=r(87462),n=(r(67294),r(3905));const i={title:"Grouping records",description:"Learn how to group records in NocoDB.",tags:["Table operations","Group by","Grid view"],keywords:["NocoDB table group by","group by field","group By'grouping records","grouping","group by in table"]},a=void 0,l={unversionedId:"table-operations/group-by",id:"table-operations/group-by",title:"Grouping records",description:"Learn how to group records in NocoDB.",source:"@site/docs/060.table-operations/050.group-by.md",sourceDirName:"060.table-operations",slug:"/table-operations/group-by",permalink:"/table-operations/group-by",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/060.table-operations/050.group-by.md",tags:[{label:"Table operations",permalink:"/tags/table-operations"},{label:"Group by",permalink:"/tags/group-by"},{label:"Grid view",permalink:"/tags/grid-view"}],version:"current",sidebarPosition:50,frontMatter:{title:"Grouping records",description:"Learn how to group records in NocoDB.",tags:["Table operations","Group by","Grid view"],keywords:["NocoDB table group by","group by field","group By'grouping records","grouping","group by in table"]},sidebar:"tutorialSidebar",previous:{title:"Sorting records",permalink:"/table-operations/sort"},next:{title:"Record height",permalink:"/table-operations/row-height"}},p={},s=[{value:"Adding or Editing Groups",id:"adding-or-editing-groups",level:3},{value:"Deleting Groups",id:"deleting-groups",level:3},{value:"Related topics",id:"related-topics",level:3}],c={toc:s},u="wrapper";function d(e){let{components:t,...i}=e;return(0,n.kt)(u,(0,o.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"Grouping records in NocoDB allows for efficient categorization of data into specific ",(0,n.kt)("inlineCode",{parentName:"p"},"Groups")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"Subgroups.")," NocoDB supports three levels of record segregation, providing a powerful organizational tool."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Group By",src:r(47138).Z,width:"2306",height:"956"})),(0,n.kt)("h3",{id:"adding-or-editing-groups"},"Adding or Editing Groups"),(0,n.kt)("p",null,"To create or modify a grouping in NocoDB, follow these steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Group By")," in the toolbar."),(0,n.kt)("li",{parentName:"ol"},"Choose the field by which you want to group the records."),(0,n.kt)("li",{parentName:"ol"},"Optionally, you can sort the groups in ascending or descending order.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Group By",src:r(76919).Z,width:"2306",height:"956"})),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"You can add subgroups with up to three levels to further refine your categorization.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Group By",src:r(48197).Z,width:"2304",height:"1282"})),(0,n.kt)("h3",{id:"deleting-groups"},"Deleting Groups"),(0,n.kt)("p",null,"To remove a grouping in NocoDB, take these actions:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Group By")," in the toolbar."),(0,n.kt)("li",{parentName:"ol"},"Locate the bin icon to the right of the group you wish to delete and click on it.")),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"To disable ",(0,n.kt)("inlineCode",{parentName:"p"},"Group By")," and return to the standard spreadsheet grid view, you must remove all configured groups.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Group By",src:r(98955).Z,width:"2304",height:"1282"})),(0,n.kt)("h3",{id:"related-topics"},"Related topics"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"field-operations"},"Field operations")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"filter"},"Filter")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"sort"},"Sort")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"row-height"},"Row height")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"search"},"Quick Search")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"download"},"Download"))))}d.isMDXComponent=!0},47138:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/group-by-1-9fca54ae46eb7c74e888a44d49416e9c.png"},76919:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/group-by-create-903d7ed5fc17d47bcf49b5c84f201f80.png"},98955:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/group-by-delete-2bb963126a68838d8c7dc51e7cf139bb.png"},48197:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/group-by-nested-68c0f8159f38c76343ee6905c701fd5e.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[9518],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>b});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function a(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var p=o.createContext({}),s=function(e){var t=o.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},c=function(e){var t=s(e.components);return o.createElement(p.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},g=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=s(r),g=n,b=u["".concat(p,".").concat(g)]||u[g]||d[g]||i;return r?o.createElement(b,a(a({ref:t},c),{},{components:r})):o.createElement(b,a({ref:t},c))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,a=new Array(i);a[0]=g;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[u]="string"==typeof e?e:n,a[1]=l;for(var s=2;s{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>s});var o=r(87462),n=(r(67294),r(3905));const i={title:"Grouping records",description:"Learn how to group records in NocoDB.",tags:["Table operations","Group by","Grid view"],keywords:["NocoDB table group by","group by field","group By'grouping records","grouping","group by in table"]},a=void 0,l={unversionedId:"table-operations/group-by",id:"table-operations/group-by",title:"Grouping records",description:"Learn how to group records in NocoDB.",source:"@site/docs/060.table-operations/050.group-by.md",sourceDirName:"060.table-operations",slug:"/table-operations/group-by",permalink:"/table-operations/group-by",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/060.table-operations/050.group-by.md",tags:[{label:"Table operations",permalink:"/tags/table-operations"},{label:"Group by",permalink:"/tags/group-by"},{label:"Grid view",permalink:"/tags/grid-view"}],version:"current",sidebarPosition:50,frontMatter:{title:"Grouping records",description:"Learn how to group records in NocoDB.",tags:["Table operations","Group by","Grid view"],keywords:["NocoDB table group by","group by field","group By'grouping records","grouping","group by in table"]},sidebar:"tutorialSidebar",previous:{title:"Sorting records",permalink:"/table-operations/sort"},next:{title:"Record height",permalink:"/table-operations/row-height"}},p={},s=[{value:"Adding or Editing Groups",id:"adding-or-editing-groups",level:3},{value:"Deleting Groups",id:"deleting-groups",level:3},{value:"Related topics",id:"related-topics",level:3}],c={toc:s},u="wrapper";function d(e){let{components:t,...i}=e;return(0,n.kt)(u,(0,o.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"Grouping records in NocoDB allows for efficient categorization of data into specific ",(0,n.kt)("inlineCode",{parentName:"p"},"Groups")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"Subgroups.")," NocoDB supports three levels of record segregation, providing a powerful organizational tool."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Group By",src:r(27892).Z,width:"2306",height:"956"})),(0,n.kt)("h3",{id:"adding-or-editing-groups"},"Adding or Editing Groups"),(0,n.kt)("p",null,"To create or modify a grouping in NocoDB, follow these steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Group By")," in the toolbar."),(0,n.kt)("li",{parentName:"ol"},"Choose the field by which you want to group the records."),(0,n.kt)("li",{parentName:"ol"},"Optionally, you can sort the groups in ascending or descending order.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Group By",src:r(78013).Z,width:"2306",height:"956"})),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"You can add subgroups with up to three levels to further refine your categorization.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Group By",src:r(27803).Z,width:"2304",height:"1282"})),(0,n.kt)("h3",{id:"deleting-groups"},"Deleting Groups"),(0,n.kt)("p",null,"To remove a grouping in NocoDB, take these actions:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Group By")," in the toolbar."),(0,n.kt)("li",{parentName:"ol"},"Locate the bin icon to the right of the group you wish to delete and click on it.")),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"To disable ",(0,n.kt)("inlineCode",{parentName:"p"},"Group By")," and return to the standard spreadsheet grid view, you must remove all configured groups.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Group By",src:r(30913).Z,width:"2304",height:"1282"})),(0,n.kt)("h3",{id:"related-topics"},"Related topics"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"field-operations"},"Field operations")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"filter"},"Filter")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"sort"},"Sort")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"row-height"},"Row height")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"search"},"Quick Search")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"download"},"Download"))))}d.isMDXComponent=!0},27892:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/group-by-1-9fca54ae46eb7c74e888a44d49416e9c.png"},78013:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/group-by-create-903d7ed5fc17d47bcf49b5c84f201f80.png"},30913:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/group-by-delete-2bb963126a68838d8c7dc51e7cf139bb.png"},27803:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/group-by-nested-68c0f8159f38c76343ee6905c701fd5e.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/99f674e5.2881324c.js b/packages/noco-docs/dist/assets/js/99f674e5.95476f2c.js similarity index 84% rename from packages/noco-docs/dist/assets/js/99f674e5.2881324c.js rename to packages/noco-docs/dist/assets/js/99f674e5.95476f2c.js index 269bd32f1b..0488242330 100644 --- a/packages/noco-docs/dist/assets/js/99f674e5.2881324c.js +++ b/packages/noco-docs/dist/assets/js/99f674e5.95476f2c.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4307],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var d=r.createContext({}),c=function(e){var t=r.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=c(e.components);return r.createElement(d.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},k=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),s=c(n),k=a,u=s["".concat(d,".").concat(k)]||s[k]||m[k]||i;return n?r.createElement(u,l(l({ref:t},p),{},{components:n})):r.createElement(u,l({ref:t},p))}));function u(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,l=new Array(i);l[0]=k;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[s]="string"==typeof e?e:a,l[1]=o;for(var c=2;c{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const i={title:"Actions on record",description:"Learn how to perform actions (edit, duplicate, delete, etc) on a record in NocoDB.",tags:["Records","Delete","Edit","Duplicate","Shortcuts"],keywords:["NocoDB delete record","delete record","delete row","delete rows"]},l=void 0,o={unversionedId:"records/actions-on-record",id:"records/actions-on-record",title:"Actions on record",description:"Learn how to perform actions (edit, duplicate, delete, etc) on a record in NocoDB.",source:"@site/docs/080.records/070.actions-on-record.md",sourceDirName:"080.records",slug:"/records/actions-on-record",permalink:"/records/actions-on-record",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/080.records/070.actions-on-record.md",tags:[{label:"Records",permalink:"/tags/records"},{label:"Delete",permalink:"/tags/delete"},{label:"Edit",permalink:"/tags/edit"},{label:"Duplicate",permalink:"/tags/duplicate"},{label:"Shortcuts",permalink:"/tags/shortcuts"}],version:"current",sidebarPosition:70,frontMatter:{title:"Actions on record",description:"Learn how to perform actions (edit, duplicate, delete, etc) on a record in NocoDB.",tags:["Records","Delete","Edit","Duplicate","Shortcuts"],keywords:["NocoDB delete record","delete record","delete row","delete rows"]},sidebar:"tutorialSidebar",previous:{title:"Expanded record",permalink:"/records/expand-record"},next:{title:"View overview",permalink:"/views/views-overview"}},d={},c=[{value:"Keyboard navigation within Grid view",id:"keyboard-navigation-within-grid-view",level:2},{value:"Keyboard shortcuts for cell navigation",id:"keyboard-shortcuts-for-cell-navigation",level:3},{value:"Update Record",id:"update-record",level:3},{value:"Bulk Update Records",id:"bulk-update-records",level:3},{value:"Delete Record (Single)",id:"delete-record-single",level:3},{value:"Delete Record (Bulk)",id:"delete-record-bulk",level:3}],p={toc:c},s="wrapper";function m(e){let{components:t,...i}=e;return(0,a.kt)(s,(0,r.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"keyboard-navigation-within-grid-view"},"Keyboard navigation within Grid view"),(0,a.kt)("p",null,"A selected cell can be in one of the following states:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("inlineCode",{parentName:"li"},"Select")," state : A single click on the cell selects the cell. When in this state, arrow keys can be used to navigate to adjacent cells."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("inlineCode",{parentName:"li"},"Edit")," state : A double click on the cell puts the cell in edit state. Cursor can be moved within the cell using arrow keys.")),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("ul",{parentName:"admonition"},(0,a.kt)("li",{parentName:"ul"},"Double-click on a cell to put it in edit state directly."),(0,a.kt)("li",{parentName:"ul"},"From Select state, press ",(0,a.kt)("inlineCode",{parentName:"li"},"Enter")," key to enter edit state."),(0,a.kt)("li",{parentName:"ul"},"Press ",(0,a.kt)("inlineCode",{parentName:"li"},"Esc")," key to exit edit state."),(0,a.kt)("li",{parentName:"ul"},"From Edit state, press ",(0,a.kt)("inlineCode",{parentName:"li"},"Enter")," key to save the changes."))),(0,a.kt)("p",null,"Edit state for some cells will be a picker. For example, a cell with ",(0,a.kt)("inlineCode",{parentName:"p"},"Single Select")," field type will have a picker with options to choose from. In such cases, arrow keys can be used to navigate between options."),(0,a.kt)("h3",{id:"keyboard-shortcuts-for-cell-navigation"},"Keyboard shortcuts for cell navigation"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:"right"},"Key"),(0,a.kt)("th",{parentName:"tr",align:"left"},"Behaviour"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"\u2318")," ",(0,a.kt)("inlineCode",{parentName:"td"},"\u2191")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Jump to first record in this field (in same page)")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"\u2318")," ",(0,a.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Jump to last record in this field (in same page)")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"\u2318")," ",(0,a.kt)("inlineCode",{parentName:"td"},"C")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Copy cell contents to clipboard")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"\u2318")," ",(0,a.kt)("inlineCode",{parentName:"td"},"V")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Paste clipboard contents to cell")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"Enter")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Switch cell in focus to EDIT mode; opens modal/picker if cell is associated with one")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"Esc")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Exit cell EDIT mode")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"Delete")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Clear cell")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"Space")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Expand current record")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"\u2190")," ",(0,a.kt)("inlineCode",{parentName:"td"},"\u2192")," ",(0,a.kt)("inlineCode",{parentName:"td"},"\u2191")," ",(0,a.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,a.kt)("td",{parentName:"tr",align:"left"},"General cell navigation : left, right, top, bottom")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"Tab")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Move to next cell horizontally; if on last cell, move to beginning of next record")))),(0,a.kt)("h3",{id:"update-record"},"Update Record"),(0,a.kt)("p",null,"You can start editing by any of the following methods"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Double-click on cell to edit"),(0,a.kt)("li",{parentName:"ul"},"Click on cell and start typing (this way it will clear the previous content)"),(0,a.kt)("li",{parentName:"ul"},"Click on cell and press enter to start editing")),(0,a.kt)("p",null,"And it will automatically save on blur event or if inactive."),(0,a.kt)("h3",{id:"bulk-update-records"},"Bulk Update Records"),(0,a.kt)("p",null,"You can bulk update records by "),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Selecting multiple records that you wish to update together and then "),(0,a.kt)("li",{parentName:"ol"},"Right-click on the index field area (first column on the grid view) and then select ",(0,a.kt)("inlineCode",{parentName:"li"},"Bulk Update records")," option from the context menu. This will open ",(0,a.kt)("inlineCode",{parentName:"li"},"Bulk update")," modal.\nOn the bulk update modal,"),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("inlineCode",{parentName:"li"},"Fields area")," : Select the fields that you want to update. "),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("inlineCode",{parentName:"li"},"Selected fields area")," : Enter the new value for the selected fields. "),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Bulk Update all")," button"),(0,a.kt)("li",{parentName:"ol"},"A confirmation dialog will be displayed. Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Confirm")," to update the records.")),(0,a.kt)("admonition",{type:"danger"},(0,a.kt)("p",{parentName:"admonition"},"This operation cannot be undone.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Bulk Update",src:n(1826).Z,width:"2876",height:"1108"})),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Bulk Update",src:n(30265).Z,width:"2878",height:"1024"})),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Bulk Update",src:n(11595).Z,width:"2876",height:"954"})),(0,a.kt)("admonition",{type:"info"},(0,a.kt)("p",{parentName:"admonition"},"You can drag drop required fields from the ",(0,a.kt)("inlineCode",{parentName:"p"},"Fields area")," to the ",(0,a.kt)("inlineCode",{parentName:"p"},"Selected fields area")," & vice versa.",(0,a.kt)("br",{parentName:"p"}),"\n","You can update multiple fields at a time.")),(0,a.kt)("h3",{id:"delete-record-single"},"Delete Record (Single)"),(0,a.kt)("p",null,"Right-click on record and then from the cell context menu, select ",(0,a.kt)("inlineCode",{parentName:"p"},"Delete Record")," option."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"delete row -1",src:n(36783).Z,width:"2308",height:"940"})),(0,a.kt)("h3",{id:"delete-record-bulk"},"Delete Record (Bulk)"),(0,a.kt)("p",null,"Select multiple records by using the checkbox in first column and then ",(0,a.kt)("inlineCode",{parentName:"p"},"Delete Selected Records")," options from the right click context menu."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"delete row 2",src:n(60426).Z,width:"2306",height:"858"})))}m.isMDXComponent=!0},1826:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/bulk-update-1-abf0bea8ffcee3689a6b4c7bc912a92b.png"},30265:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/bulk-update-2-8ad8314489b9cb76d57cdddddcf2ab85.png"},11595:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/bulk-update-3-e8c66d72a7fdbe1247482ba2021aa0f5.png"},60426:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/delete-row-bulk-70240cbb8e8a5e84e368e9ff11b6e5c0.png"},36783:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/delete-row-2ef2b7c113b757dabf1542106e79f2db.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4307],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var d=r.createContext({}),c=function(e){var t=r.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=c(e.components);return r.createElement(d.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},k=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),s=c(n),k=a,u=s["".concat(d,".").concat(k)]||s[k]||m[k]||i;return n?r.createElement(u,l(l({ref:t},p),{},{components:n})):r.createElement(u,l({ref:t},p))}));function u(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,l=new Array(i);l[0]=k;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[s]="string"==typeof e?e:a,l[1]=o;for(var c=2;c{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const i={title:"Actions on record",description:"Learn how to perform actions (edit, duplicate, delete, etc) on a record in NocoDB.",tags:["Records","Delete","Edit","Duplicate","Shortcuts"],keywords:["NocoDB delete record","delete record","delete row","delete rows"]},l=void 0,o={unversionedId:"records/actions-on-record",id:"records/actions-on-record",title:"Actions on record",description:"Learn how to perform actions (edit, duplicate, delete, etc) on a record in NocoDB.",source:"@site/docs/080.records/070.actions-on-record.md",sourceDirName:"080.records",slug:"/records/actions-on-record",permalink:"/records/actions-on-record",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/080.records/070.actions-on-record.md",tags:[{label:"Records",permalink:"/tags/records"},{label:"Delete",permalink:"/tags/delete"},{label:"Edit",permalink:"/tags/edit"},{label:"Duplicate",permalink:"/tags/duplicate"},{label:"Shortcuts",permalink:"/tags/shortcuts"}],version:"current",sidebarPosition:70,frontMatter:{title:"Actions on record",description:"Learn how to perform actions (edit, duplicate, delete, etc) on a record in NocoDB.",tags:["Records","Delete","Edit","Duplicate","Shortcuts"],keywords:["NocoDB delete record","delete record","delete row","delete rows"]},sidebar:"tutorialSidebar",previous:{title:"Expanded record",permalink:"/records/expand-record"},next:{title:"View overview",permalink:"/views/views-overview"}},d={},c=[{value:"Keyboard navigation within Grid view",id:"keyboard-navigation-within-grid-view",level:2},{value:"Keyboard shortcuts for cell navigation",id:"keyboard-shortcuts-for-cell-navigation",level:3},{value:"Update Record",id:"update-record",level:3},{value:"Bulk Update Records",id:"bulk-update-records",level:3},{value:"Delete Record (Single)",id:"delete-record-single",level:3},{value:"Delete Record (Bulk)",id:"delete-record-bulk",level:3}],p={toc:c},s="wrapper";function m(e){let{components:t,...i}=e;return(0,a.kt)(s,(0,r.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"keyboard-navigation-within-grid-view"},"Keyboard navigation within Grid view"),(0,a.kt)("p",null,"A selected cell can be in one of the following states:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("inlineCode",{parentName:"li"},"Select")," state : A single click on the cell selects the cell. When in this state, arrow keys can be used to navigate to adjacent cells."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("inlineCode",{parentName:"li"},"Edit")," state : A double click on the cell puts the cell in edit state. Cursor can be moved within the cell using arrow keys.")),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("ul",{parentName:"admonition"},(0,a.kt)("li",{parentName:"ul"},"Double-click on a cell to put it in edit state directly."),(0,a.kt)("li",{parentName:"ul"},"From Select state, press ",(0,a.kt)("inlineCode",{parentName:"li"},"Enter")," key to enter edit state."),(0,a.kt)("li",{parentName:"ul"},"Press ",(0,a.kt)("inlineCode",{parentName:"li"},"Esc")," key to exit edit state."),(0,a.kt)("li",{parentName:"ul"},"From Edit state, press ",(0,a.kt)("inlineCode",{parentName:"li"},"Enter")," key to save the changes."))),(0,a.kt)("p",null,"Edit state for some cells will be a picker. For example, a cell with ",(0,a.kt)("inlineCode",{parentName:"p"},"Single Select")," field type will have a picker with options to choose from. In such cases, arrow keys can be used to navigate between options."),(0,a.kt)("h3",{id:"keyboard-shortcuts-for-cell-navigation"},"Keyboard shortcuts for cell navigation"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:"right"},"Key"),(0,a.kt)("th",{parentName:"tr",align:"left"},"Behaviour"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"\u2318")," ",(0,a.kt)("inlineCode",{parentName:"td"},"\u2191")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Jump to first record in this field (in same page)")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"\u2318")," ",(0,a.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Jump to last record in this field (in same page)")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"\u2318")," ",(0,a.kt)("inlineCode",{parentName:"td"},"C")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Copy cell contents to clipboard")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"\u2318")," ",(0,a.kt)("inlineCode",{parentName:"td"},"V")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Paste clipboard contents to cell")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"Enter")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Switch cell in focus to EDIT mode; opens modal/picker if cell is associated with one")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"Esc")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Exit cell EDIT mode")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"Delete")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Clear cell")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"Space")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Expand current record")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"\u2190")," ",(0,a.kt)("inlineCode",{parentName:"td"},"\u2192")," ",(0,a.kt)("inlineCode",{parentName:"td"},"\u2191")," ",(0,a.kt)("inlineCode",{parentName:"td"},"\u2193")),(0,a.kt)("td",{parentName:"tr",align:"left"},"General cell navigation : left, right, top, bottom")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"right"},(0,a.kt)("inlineCode",{parentName:"td"},"Tab")),(0,a.kt)("td",{parentName:"tr",align:"left"},"Move to next cell horizontally; if on last cell, move to beginning of next record")))),(0,a.kt)("h3",{id:"update-record"},"Update Record"),(0,a.kt)("p",null,"You can start editing by any of the following methods"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Double-click on cell to edit"),(0,a.kt)("li",{parentName:"ul"},"Click on cell and start typing (this way it will clear the previous content)"),(0,a.kt)("li",{parentName:"ul"},"Click on cell and press enter to start editing")),(0,a.kt)("p",null,"And it will automatically save on blur event or if inactive."),(0,a.kt)("h3",{id:"bulk-update-records"},"Bulk Update Records"),(0,a.kt)("p",null,"You can bulk update records by "),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Selecting multiple records that you wish to update together and then "),(0,a.kt)("li",{parentName:"ol"},"Right-click on the index field area (first column on the grid view) and then select ",(0,a.kt)("inlineCode",{parentName:"li"},"Bulk Update records")," option from the context menu. This will open ",(0,a.kt)("inlineCode",{parentName:"li"},"Bulk update")," modal.\nOn the bulk update modal,"),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("inlineCode",{parentName:"li"},"Fields area")," : Select the fields that you want to update. "),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("inlineCode",{parentName:"li"},"Selected fields area")," : Enter the new value for the selected fields. "),(0,a.kt)("li",{parentName:"ol"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"Bulk Update all")," button"),(0,a.kt)("li",{parentName:"ol"},"A confirmation dialog will be displayed. Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Confirm")," to update the records.")),(0,a.kt)("admonition",{type:"danger"},(0,a.kt)("p",{parentName:"admonition"},"This operation cannot be undone.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Bulk Update",src:n(58413).Z,width:"2876",height:"1108"})),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Bulk Update",src:n(59760).Z,width:"2878",height:"1024"})),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Bulk Update",src:n(94578).Z,width:"2876",height:"954"})),(0,a.kt)("admonition",{type:"info"},(0,a.kt)("p",{parentName:"admonition"},"You can drag drop required fields from the ",(0,a.kt)("inlineCode",{parentName:"p"},"Fields area")," to the ",(0,a.kt)("inlineCode",{parentName:"p"},"Selected fields area")," & vice versa.",(0,a.kt)("br",{parentName:"p"}),"\n","You can update multiple fields at a time.")),(0,a.kt)("h3",{id:"delete-record-single"},"Delete Record (Single)"),(0,a.kt)("p",null,"Right-click on record and then from the cell context menu, select ",(0,a.kt)("inlineCode",{parentName:"p"},"Delete Record")," option."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"delete row -1",src:n(47334).Z,width:"2308",height:"940"})),(0,a.kt)("h3",{id:"delete-record-bulk"},"Delete Record (Bulk)"),(0,a.kt)("p",null,"Select multiple records by using the checkbox in first column and then ",(0,a.kt)("inlineCode",{parentName:"p"},"Delete Selected Records")," options from the right click context menu."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"delete row 2",src:n(99971).Z,width:"2306",height:"858"})))}m.isMDXComponent=!0},58413:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/bulk-update-1-abf0bea8ffcee3689a6b4c7bc912a92b.png"},59760:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/bulk-update-2-8ad8314489b9cb76d57cdddddcf2ab85.png"},94578:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/bulk-update-3-e8c66d72a7fdbe1247482ba2021aa0f5.png"},99971:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/delete-row-bulk-70240cbb8e8a5e84e368e9ff11b6e5c0.png"},47334:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/delete-row-2ef2b7c113b757dabf1542106e79f2db.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/9c78149d.29a2e4eb.js b/packages/noco-docs/dist/assets/js/9c78149d.a83e6eab.js similarity index 97% rename from packages/noco-docs/dist/assets/js/9c78149d.29a2e4eb.js rename to packages/noco-docs/dist/assets/js/9c78149d.a83e6eab.js index 14981ffc3d..463ace74d7 100644 --- a/packages/noco-docs/dist/assets/js/9c78149d.29a2e4eb.js +++ b/packages/noco-docs/dist/assets/js/9c78149d.a83e6eab.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[8381],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>g});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=r.createContext({}),c=function(e){var t=r.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=c(e.components);return r.createElement(u.Provider,{value:t},e.children)},l="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,u=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),l=c(n),m=o,g=l["".concat(u,".").concat(m)]||l[m]||d[m]||i;return n?r.createElement(g,a(a({ref:t},p),{},{components:n})):r.createElement(g,a({ref:t},p))}));function g(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=m;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[l]="string"==typeof e?e:o,a[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=n(87462),o=(n(67294),n(3905));const i={title:"Audit",description:"NocoDB provides all the user operation logs under Audit log"},a=void 0,s={unversionedId:"setup-and-usages/audit",id:"version-0.109.7/setup-and-usages/audit",title:"Audit",description:"NocoDB provides all the user operation logs under Audit log",source:"@site/versioned_docs/version-0.109.7/030.setup-and-usages/250.audit.md",sourceDirName:"030.setup-and-usages",slug:"/setup-and-usages/audit",permalink:"/0.109.7/setup-and-usages/audit",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/versioned_docs/version-0.109.7/030.setup-and-usages/250.audit.md",tags:[],version:"0.109.7",sidebarPosition:250,frontMatter:{title:"Audit",description:"NocoDB provides all the user operation logs under Audit log"},sidebar:"tutorialSidebar",previous:{title:"Data Sources",permalink:"/0.109.7/setup-and-usages/meta-management"},next:{title:"Project settings",permalink:"/0.109.7/setup-and-usages/project-settings"}},u={},c=[{value:"Overview",id:"overview",level:2}],p={toc:c},l="wrapper";function d(e){let{components:t,...n}=e;return(0,o.kt)(l,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"overview"},"Overview"),(0,o.kt)("p",null,"We are keeping all the user operation logs under Audit. To access it, click the down arrow button next to Project Name on the top left side, then select ",(0,o.kt)("inlineCode",{parentName:"p"},"Team & Settings"),"."),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"We can disable audit logs by setting ",(0,o.kt)("inlineCode",{parentName:"p"},"NC_DISABLE_AUDIT")," to ",(0,o.kt)("inlineCode",{parentName:"p"},"true"),".")),(0,o.kt)("img",{width:"322",alt:"image",src:"https://user-images.githubusercontent.com/35857179/194856648-67936db0-ee4d-4060-be3d-af9f86ef8fc6.png"}),(0,o.kt)("p",null,"Then, under SETTINGS, click ",(0,o.kt)("inlineCode",{parentName:"p"},"Audit"),"."),(0,o.kt)("img",{width:"1399",alt:"image",src:"https://user-images.githubusercontent.com/35857179/194796474-417395db-08d5-45e5-8be4-c30ff0027e45.png"}))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[8381],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>g});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=r.createContext({}),c=function(e){var t=r.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=c(e.components);return r.createElement(u.Provider,{value:t},e.children)},l="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,u=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),l=c(n),m=o,g=l["".concat(u,".").concat(m)]||l[m]||d[m]||i;return n?r.createElement(g,a(a({ref:t},p),{},{components:n})):r.createElement(g,a({ref:t},p))}));function g(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=m;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[l]="string"==typeof e?e:o,a[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=n(87462),o=(n(67294),n(3905));const i={title:"Audit",description:"NocoDB provides all the user operation logs under Audit log"},a=void 0,s={unversionedId:"setup-and-usages/audit",id:"version-0.109.7/setup-and-usages/audit",title:"Audit",description:"NocoDB provides all the user operation logs under Audit log",source:"@site/versioned_docs/version-0.109.7/030.setup-and-usages/250.audit.md",sourceDirName:"030.setup-and-usages",slug:"/setup-and-usages/audit",permalink:"/0.109.7/setup-and-usages/audit",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/versioned_docs/version-0.109.7/030.setup-and-usages/250.audit.md",tags:[],version:"0.109.7",sidebarPosition:250,frontMatter:{title:"Audit",description:"NocoDB provides all the user operation logs under Audit log"},sidebar:"tutorialSidebar",previous:{title:"Data Sources",permalink:"/0.109.7/setup-and-usages/meta-management"},next:{title:"Project settings",permalink:"/0.109.7/setup-and-usages/project-settings"}},u={},c=[{value:"Overview",id:"overview",level:2}],p={toc:c},l="wrapper";function d(e){let{components:t,...n}=e;return(0,o.kt)(l,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"overview"},"Overview"),(0,o.kt)("p",null,"We are keeping all the user operation logs under Audit. To access it, click the down arrow button next to Project Name on the top left side, then select ",(0,o.kt)("inlineCode",{parentName:"p"},"Team & Settings"),"."),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"We can disable audit logs by setting ",(0,o.kt)("inlineCode",{parentName:"p"},"NC_DISABLE_AUDIT")," to ",(0,o.kt)("inlineCode",{parentName:"p"},"true"),".")),(0,o.kt)("img",{width:"322",alt:"image",src:"https://user-images.githubusercontent.com/35857179/194856648-67936db0-ee4d-4060-be3d-af9f86ef8fc6.png"}),(0,o.kt)("p",null,"Then, under SETTINGS, click ",(0,o.kt)("inlineCode",{parentName:"p"},"Audit"),"."),(0,o.kt)("img",{width:"1399",alt:"image",src:"https://user-images.githubusercontent.com/35857179/194796474-417395db-08d5-45e5-8be4-c30ff0027e45.png"}))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/a18f2535.1d8c54f9.js b/packages/noco-docs/dist/assets/js/a18f2535.ce4459ca.js similarity index 70% rename from packages/noco-docs/dist/assets/js/a18f2535.1d8c54f9.js rename to packages/noco-docs/dist/assets/js/a18f2535.ce4459ca.js index 2dc590be14..992ac60777 100644 --- a/packages/noco-docs/dist/assets/js/a18f2535.1d8c54f9.js +++ b/packages/noco-docs/dist/assets/js/a18f2535.ce4459ca.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[6928],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>v});var o=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function n(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=o.createContext({}),d=function(e){var t=o.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):n(n({},t),e)),a},c=function(e){var t=d(e.components);return o.createElement(l.Provider,{value:t},e.children)},p="mdxType",w={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},h=o.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=d(a),h=r,v=p["".concat(l,".").concat(h)]||p[h]||w[h]||i;return a?o.createElement(v,n(n({ref:t},c),{},{components:a})):o.createElement(v,n({ref:t},c))}));function v(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,n=new Array(i);n[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:r,n[1]=s;for(var d=2;d{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>n,default:()=>w,frontMatter:()=>i,metadata:()=>s,toc:()=>d});var o=a(87462),r=(a(67294),a(3905));const i={title:"Share view",description:"Procedures to share a view publicly",tags:["Views","Share","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","share view","share","share view with password protection","share view with download options"]},n=void 0,s={unversionedId:"collaboration/share-view",id:"collaboration/share-view",title:"Share view",description:"Procedures to share a view publicly",source:"@site/docs/120.collaboration/040.share-view.md",sourceDirName:"120.collaboration",slug:"/collaboration/share-view",permalink:"/collaboration/share-view",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/120.collaboration/040.share-view.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Share",permalink:"/tags/share"},{label:"Grid view",permalink:"/tags/grid-view"},{label:"Form view",permalink:"/tags/form-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Gallery view",permalink:"/tags/gallery-view"}],version:"current",sidebarPosition:40,frontMatter:{title:"Share view",description:"Procedures to share a view publicly",tags:["Views","Share","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","share view","share","share view with password protection","share view with download options"]},sidebar:"tutorialSidebar",previous:{title:"Share base",permalink:"/collaboration/share-base"},next:{title:"In Open Source",permalink:"/collaboration/oss-specific-details"}},l={},d=[{value:"Generate Share View",id:"generate-share-view",level:2},{value:"Share view options",id:"share-view-options",level:3},{value:"Password protection",id:"password-protection",level:4},{value:"Download options",id:"download-options",level:4},{value:"Share Form View Options",id:"share-form-view-options",level:3},{value:"Access Share View",id:"access-share-view",level:2}],c={toc:d},p="wrapper";function w(e){let{components:t,...i}=e;return(0,r.kt)(p,(0,o.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"generate-share-view"},"Generate Share View"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Click ",(0,r.kt)("inlineCode",{parentName:"li"},"Share")," button on the top right of the toolbar"),(0,r.kt)("li",{parentName:"ol"},"Toggle ",(0,r.kt)("inlineCode",{parentName:"li"},"Enable public viewing")," to create shared view link"),(0,r.kt)("li",{parentName:"ol"},"Click ",(0,r.kt)("inlineCode",{parentName:"li"},"Copy")," button to copy the link to clipboard")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"share button",src:a(13890).Z,width:"2894",height:"864"})),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"shared view",src:a(34067).Z,width:"2876",height:"1800"})),(0,r.kt)("h3",{id:"share-view-options"},"Share view options"),(0,r.kt)("h4",{id:"password-protection"},"Password protection"),(0,r.kt)("p",null,"You can enable ",(0,r.kt)("inlineCode",{parentName:"p"},"Restrict access with a password")," if you want a password-protected view"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"password protection",src:a(80589).Z,width:"2876",height:"1800"})),(0,r.kt)("h4",{id:"download-options"},"Download options"),(0,r.kt)("p",null,"You can toggle ",(0,r.kt)("inlineCode",{parentName:"p"},"Allow Download")," button to enable or disable download CSV/XLSX options in the shared view link"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"download options",src:a(2008).Z,width:"2876",height:"1800"})),(0,r.kt)("h3",{id:"share-form-view-options"},"Share Form View Options"),(0,r.kt)("p",null,"Form view has additional customizations for shared view. You can enable/disable the following options for shared form view:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},"Survey mode"),": This option when enabled, will display the form in survey mode."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},"RTL Orientation"),": This option when enabled, will display the form in RTL orientation."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},"Themes"),": You can select a theme for the form from the dropdown.\n",(0,r.kt)("img",{alt:"form view options",src:a(27579).Z,width:"2876",height:"1800"}))),(0,r.kt)("h2",{id:"access-share-view"},"Access Share View"),(0,r.kt)("p",null,"To access the shared view, please follow the steps below:\nClick on the ",(0,r.kt)("inlineCode",{parentName:"p"},"Shared View URL"),". If the URL is password-protected, you will be prompted to enter the password to unlock it. Please input the required password to proceed."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"password modal",src:a(62814).Z,width:"1328",height:"846"})),(0,r.kt)("p",null,"Once the password is successfully entered and authenticated, you will gain access to the shared view.\nIn the event that the URL is not password-protected, you will be directed to the shared view directly, without the need for a password."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"share-view",src:a(90801).Z,width:"2880",height:"1800"})),(0,r.kt)("p",null,"Users with the shared view link can only view the data and cannot make any changes to the view or its content. Records and fields in the shared view will be updated in real-time as changes are made to the original view. Users accessing shared view can apply filters and sort records as per their requirements."),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"Note that, filters & sorts applied to shared view will not be persisted. These filters & sorts will be reset when the shared view is accessed again.")))}w.isMDXComponent=!0},13890:(e,t,a)=>{a.d(t,{Z:()=>o});const o=a.p+"assets/images/share-button-9751630544eab59c43f368bcbe4aaaae.png"},27579:(e,t,a)=>{a.d(t,{Z:()=>o});const o=a.p+"assets/images/share-view-form-a0f60904770cda6be5710e12a60077bd.png"},80589:(e,t,a)=>{a.d(t,{Z:()=>o});const o=a.p+"assets/images/share-view-modal-2-4bb63f03e7cb528595d3f2f6335fca02.png"},2008:(e,t,a)=>{a.d(t,{Z:()=>o});const o=a.p+"assets/images/share-view-modal-3-1202422c5c9bf2b234a5b5ed7a05e805.png"},34067:(e,t,a)=>{a.d(t,{Z:()=>o});const o=a.p+"assets/images/share-view-modal-2c40f95aa822fa2830e1f205431a4b4e.png"},62814:(e,t,a)=>{a.d(t,{Z:()=>o});const o=a.p+"assets/images/share-view-password-8b55b2f905ed895f6ceddccad842c205.png"},90801:(e,t,a)=>{a.d(t,{Z:()=>o});const o=a.p+"assets/images/share-view-22f8daabd281e5b6199d1e03ab814378.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[6928],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>v});var o=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function n(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=o.createContext({}),d=function(e){var t=o.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):n(n({},t),e)),a},c=function(e){var t=d(e.components);return o.createElement(l.Provider,{value:t},e.children)},p="mdxType",w={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},h=o.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=d(a),h=r,v=p["".concat(l,".").concat(h)]||p[h]||w[h]||i;return a?o.createElement(v,n(n({ref:t},c),{},{components:a})):o.createElement(v,n({ref:t},c))}));function v(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,n=new Array(i);n[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:r,n[1]=s;for(var d=2;d{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>n,default:()=>w,frontMatter:()=>i,metadata:()=>s,toc:()=>d});var o=a(87462),r=(a(67294),a(3905));const i={title:"Share view",description:"Procedures to share a view publicly",tags:["Views","Share","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","share view","share","share view with password protection","share view with download options"]},n=void 0,s={unversionedId:"collaboration/share-view",id:"collaboration/share-view",title:"Share view",description:"Procedures to share a view publicly",source:"@site/docs/120.collaboration/040.share-view.md",sourceDirName:"120.collaboration",slug:"/collaboration/share-view",permalink:"/collaboration/share-view",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/120.collaboration/040.share-view.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Share",permalink:"/tags/share"},{label:"Grid view",permalink:"/tags/grid-view"},{label:"Form view",permalink:"/tags/form-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Gallery view",permalink:"/tags/gallery-view"}],version:"current",sidebarPosition:40,frontMatter:{title:"Share view",description:"Procedures to share a view publicly",tags:["Views","Share","Grid view","Form view","Kanban view","Gallery view"],keywords:["NocoDB view","share view","share","share view with password protection","share view with download options"]},sidebar:"tutorialSidebar",previous:{title:"Share base",permalink:"/collaboration/share-base"},next:{title:"In Open Source",permalink:"/collaboration/oss-specific-details"}},l={},d=[{value:"Generate Share View",id:"generate-share-view",level:2},{value:"Share view options",id:"share-view-options",level:3},{value:"Password protection",id:"password-protection",level:4},{value:"Download options",id:"download-options",level:4},{value:"Share Form View Options",id:"share-form-view-options",level:3},{value:"Access Share View",id:"access-share-view",level:2}],c={toc:d},p="wrapper";function w(e){let{components:t,...i}=e;return(0,r.kt)(p,(0,o.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"generate-share-view"},"Generate Share View"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Click ",(0,r.kt)("inlineCode",{parentName:"li"},"Share")," button on the top right of the toolbar"),(0,r.kt)("li",{parentName:"ol"},"Toggle ",(0,r.kt)("inlineCode",{parentName:"li"},"Enable public viewing")," to create shared view link"),(0,r.kt)("li",{parentName:"ol"},"Click ",(0,r.kt)("inlineCode",{parentName:"li"},"Copy")," button to copy the link to clipboard")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"share button",src:a(10187).Z,width:"2894",height:"864"})),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"shared view",src:a(72717).Z,width:"2876",height:"1800"})),(0,r.kt)("h3",{id:"share-view-options"},"Share view options"),(0,r.kt)("h4",{id:"password-protection"},"Password protection"),(0,r.kt)("p",null,"You can enable ",(0,r.kt)("inlineCode",{parentName:"p"},"Restrict access with a password")," if you want a password-protected view"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"password protection",src:a(22050).Z,width:"2876",height:"1800"})),(0,r.kt)("h4",{id:"download-options"},"Download options"),(0,r.kt)("p",null,"You can toggle ",(0,r.kt)("inlineCode",{parentName:"p"},"Allow Download")," button to enable or disable download CSV/XLSX options in the shared view link"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"download options",src:a(78995).Z,width:"2876",height:"1800"})),(0,r.kt)("h3",{id:"share-form-view-options"},"Share Form View Options"),(0,r.kt)("p",null,"Form view has additional customizations for shared view. You can enable/disable the following options for shared form view:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},"Survey mode"),": This option when enabled, will display the form in survey mode."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},"RTL Orientation"),": This option when enabled, will display the form in RTL orientation."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("inlineCode",{parentName:"li"},"Themes"),": You can select a theme for the form from the dropdown.\n",(0,r.kt)("img",{alt:"form view options",src:a(33020).Z,width:"2880",height:"1800"}))),(0,r.kt)("h2",{id:"access-share-view"},"Access Share View"),(0,r.kt)("p",null,"To access the shared view, please follow the steps below:\nClick on the ",(0,r.kt)("inlineCode",{parentName:"p"},"Shared View URL"),". If the URL is password-protected, you will be prompted to enter the password to unlock it. Please input the required password to proceed."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"password modal",src:a(23267).Z,width:"1328",height:"846"})),(0,r.kt)("p",null,"Once the password is successfully entered and authenticated, you will gain access to the shared view.\nIn the event that the URL is not password-protected, you will be directed to the shared view directly, without the need for a password."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"share-view",src:a(7944).Z,width:"2880",height:"1800"})),(0,r.kt)("p",null,"Users with the shared view link can only view the data and cannot make any changes to the view or its content. Records and fields in the shared view will be updated in real-time as changes are made to the original view. Users accessing shared view can apply filters and sort records as per their requirements."),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"Note that, filters & sorts applied to shared view will not be persisted. These filters & sorts will be reset when the shared view is accessed again.")))}w.isMDXComponent=!0},10187:(e,t,a)=>{a.d(t,{Z:()=>o});const o=a.p+"assets/images/share-button-9751630544eab59c43f368bcbe4aaaae.png"},33020:(e,t,a)=>{a.d(t,{Z:()=>o});const o=a.p+"assets/images/share-view-form-a0f60904770cda6be5710e12a60077bd.png"},22050:(e,t,a)=>{a.d(t,{Z:()=>o});const o=a.p+"assets/images/share-view-modal-2-4bb63f03e7cb528595d3f2f6335fca02.png"},78995:(e,t,a)=>{a.d(t,{Z:()=>o});const o=a.p+"assets/images/share-view-modal-3-1202422c5c9bf2b234a5b5ed7a05e805.png"},72717:(e,t,a)=>{a.d(t,{Z:()=>o});const o=a.p+"assets/images/share-view-modal-2c40f95aa822fa2830e1f205431a4b4e.png"},23267:(e,t,a)=>{a.d(t,{Z:()=>o});const o=a.p+"assets/images/share-view-password-8b55b2f905ed895f6ceddccad842c205.png"},7944:(e,t,a)=>{a.d(t,{Z:()=>o});const o=a.p+"assets/images/share-view-22f8daabd281e5b6199d1e03ab814378.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/abbfc25c.8291f979.js b/packages/noco-docs/dist/assets/js/abbfc25c.6b75ff42.js similarity index 97% rename from packages/noco-docs/dist/assets/js/abbfc25c.8291f979.js rename to packages/noco-docs/dist/assets/js/abbfc25c.6b75ff42.js index da4605be5e..f76603c5a9 100644 --- a/packages/noco-docs/dist/assets/js/abbfc25c.8291f979.js +++ b/packages/noco-docs/dist/assets/js/abbfc25c.6b75ff42.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[6713],{3905:(e,t,l)=>{l.d(t,{Zo:()=>p,kt:()=>c});var i=l(67294);function n(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function o(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,i)}return l}function a(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var s=i.createContext({}),d=function(e){var t=i.useContext(s),l=t;return e&&(l="function"==typeof e?e(t):a(a({},t),e)),l},p=function(e){var t=d(e.components);return i.createElement(s.Provider,{value:t},e.children)},u="mdxType",k={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},f=i.forwardRef((function(e,t){var l=e.components,n=e.mdxType,o=e.originalType,s=e.parentName,p=r(e,["components","mdxType","originalType","parentName"]),u=d(l),f=n,c=u["".concat(s,".").concat(f)]||u[f]||k[f]||o;return l?i.createElement(c,a(a({ref:t},p),{},{components:l})):i.createElement(c,a({ref:t},p))}));function c(e,t){var l=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=l.length,a=new Array(o);a[0]=f;var r={};for(var s in t)hasOwnProperty.call(t,s)&&(r[s]=t[s]);r.originalType=e,r[u]="string"==typeof e?e:n,a[1]=r;for(var d=2;d{l.r(t),l.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>k,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var i=l(87462),n=(l(67294),l(3905));const o={title:"Lookup",description:"This article explains how to create & work with a Lookup field.",tags:["Fields","Field types","Links based types","Lookup"],keywords:["Fields","Field types","Links based types","Lookup","Create lookup field"]},a=void 0,r={unversionedId:"fields/field-types/links-based/lookup",id:"fields/field-types/links-based/lookup",title:"Lookup",description:"This article explains how to create & work with a Lookup field.",source:"@site/docs/070.fields/040.field-types/040.links-based/020.lookup.md",sourceDirName:"070.fields/040.field-types/040.links-based",slug:"/fields/field-types/links-based/lookup",permalink:"/fields/field-types/links-based/lookup",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/040.links-based/020.lookup.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Links based types",permalink:"/tags/links-based-types"},{label:"Lookup",permalink:"/tags/lookup"}],version:"current",sidebarPosition:20,frontMatter:{title:"Lookup",description:"This article explains how to create & work with a Lookup field.",tags:["Fields","Field types","Links based types","Lookup"],keywords:["Fields","Field types","Links based types","Lookup","Create lookup field"]},sidebar:"tutorialSidebar",previous:{title:"Links",permalink:"/fields/field-types/links-based/links"},next:{title:"Rollup",permalink:"/fields/field-types/links-based/rollup"}},s={},d=[{value:"Create a Lookup Field",id:"create-a-lookup-field",level:2},{value:"Similar links-based fields",id:"similar-links-based-fields",level:2}],p={toc:d},u="wrapper";function k(e){let{components:t,...o}=e;return(0,n.kt)(u,(0,i.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Lookup")," fields help bring additional field information from related table into the current table. This is useful when you want to display additional information about a record in a table. For example, if you have a table of ",(0,n.kt)("inlineCode",{parentName:"p"},"Orders")," and a table of ",(0,n.kt)("inlineCode",{parentName:"p"},"Customers"),", you can use a ",(0,n.kt)("inlineCode",{parentName:"p"},"Lookup")," field to display the customer's name and address in the ",(0,n.kt)("inlineCode",{parentName:"p"},"Orders")," table."),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"Lookup fields are read-only. You cannot edit the values in a lookup field."),(0,n.kt)("li",{parentName:"ul"},"Lookup fields are available only for ",(0,n.kt)("inlineCode",{parentName:"li"},"Belongs-to")," relational links in hosted cloud version. The additional processing complexity for ",(0,n.kt)("inlineCode",{parentName:"li"},"Has-many")," and ",(0,n.kt)("inlineCode",{parentName:"li"},"Many-to-many")," relational links outweighs the benefits of having lookup fields for these links. OSS will continue to support lookup fields for all relational links."))),(0,n.kt)("h2",{id:"create-a-lookup-field"},"Create a Lookup Field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Lookup")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Select the link field from the dropdown. This is the field that links the current table to the related table."),(0,n.kt)("li",{parentName:"ol"},"Select the field for display from the dropdown. This is the field that will be displayed in the current table."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:l(87425).Z,width:"2878",height:"1428"})),(0,n.kt)("h2",{id:"similar-links-based-fields"},"Similar links-based fields"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/links-based/links"},"Links")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/links-based/rollup"},"Rollup"))))}k.isMDXComponent=!0},87425:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/lookup-440e68c526f06230bf2783298951a749.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[6713],{3905:(e,t,l)=>{l.d(t,{Zo:()=>p,kt:()=>c});var i=l(67294);function n(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function o(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,i)}return l}function a(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var s=i.createContext({}),d=function(e){var t=i.useContext(s),l=t;return e&&(l="function"==typeof e?e(t):a(a({},t),e)),l},p=function(e){var t=d(e.components);return i.createElement(s.Provider,{value:t},e.children)},u="mdxType",k={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},f=i.forwardRef((function(e,t){var l=e.components,n=e.mdxType,o=e.originalType,s=e.parentName,p=r(e,["components","mdxType","originalType","parentName"]),u=d(l),f=n,c=u["".concat(s,".").concat(f)]||u[f]||k[f]||o;return l?i.createElement(c,a(a({ref:t},p),{},{components:l})):i.createElement(c,a({ref:t},p))}));function c(e,t){var l=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=l.length,a=new Array(o);a[0]=f;var r={};for(var s in t)hasOwnProperty.call(t,s)&&(r[s]=t[s]);r.originalType=e,r[u]="string"==typeof e?e:n,a[1]=r;for(var d=2;d{l.r(t),l.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>k,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var i=l(87462),n=(l(67294),l(3905));const o={title:"Lookup",description:"This article explains how to create & work with a Lookup field.",tags:["Fields","Field types","Links based types","Lookup"],keywords:["Fields","Field types","Links based types","Lookup","Create lookup field"]},a=void 0,r={unversionedId:"fields/field-types/links-based/lookup",id:"fields/field-types/links-based/lookup",title:"Lookup",description:"This article explains how to create & work with a Lookup field.",source:"@site/docs/070.fields/040.field-types/040.links-based/020.lookup.md",sourceDirName:"070.fields/040.field-types/040.links-based",slug:"/fields/field-types/links-based/lookup",permalink:"/fields/field-types/links-based/lookup",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/040.links-based/020.lookup.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Links based types",permalink:"/tags/links-based-types"},{label:"Lookup",permalink:"/tags/lookup"}],version:"current",sidebarPosition:20,frontMatter:{title:"Lookup",description:"This article explains how to create & work with a Lookup field.",tags:["Fields","Field types","Links based types","Lookup"],keywords:["Fields","Field types","Links based types","Lookup","Create lookup field"]},sidebar:"tutorialSidebar",previous:{title:"Links",permalink:"/fields/field-types/links-based/links"},next:{title:"Rollup",permalink:"/fields/field-types/links-based/rollup"}},s={},d=[{value:"Create a Lookup Field",id:"create-a-lookup-field",level:2},{value:"Similar links-based fields",id:"similar-links-based-fields",level:2}],p={toc:d},u="wrapper";function k(e){let{components:t,...o}=e;return(0,n.kt)(u,(0,i.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Lookup")," fields help bring additional field information from related table into the current table. This is useful when you want to display additional information about a record in a table. For example, if you have a table of ",(0,n.kt)("inlineCode",{parentName:"p"},"Orders")," and a table of ",(0,n.kt)("inlineCode",{parentName:"p"},"Customers"),", you can use a ",(0,n.kt)("inlineCode",{parentName:"p"},"Lookup")," field to display the customer's name and address in the ",(0,n.kt)("inlineCode",{parentName:"p"},"Orders")," table."),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"Lookup fields are read-only. You cannot edit the values in a lookup field."),(0,n.kt)("li",{parentName:"ul"},"Lookup fields are available only for ",(0,n.kt)("inlineCode",{parentName:"li"},"Belongs-to")," relational links in hosted cloud version. The additional processing complexity for ",(0,n.kt)("inlineCode",{parentName:"li"},"Has-many")," and ",(0,n.kt)("inlineCode",{parentName:"li"},"Many-to-many")," relational links outweighs the benefits of having lookup fields for these links. OSS will continue to support lookup fields for all relational links."))),(0,n.kt)("h2",{id:"create-a-lookup-field"},"Create a Lookup Field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Lookup")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Select the link field from the dropdown. This is the field that links the current table to the related table."),(0,n.kt)("li",{parentName:"ol"},"Select the field for display from the dropdown. This is the field that will be displayed in the current table."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:l(78668).Z,width:"2878",height:"1428"})),(0,n.kt)("h2",{id:"similar-links-based-fields"},"Similar links-based fields"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/links-based/links"},"Links")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/links-based/rollup"},"Rollup"))))}k.isMDXComponent=!0},78668:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/lookup-440e68c526f06230bf2783298951a749.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/b22d161b.b9dc16ef.js b/packages/noco-docs/dist/assets/js/b22d161b.956ab27b.js similarity index 98% rename from packages/noco-docs/dist/assets/js/b22d161b.b9dc16ef.js rename to packages/noco-docs/dist/assets/js/b22d161b.956ab27b.js index 3f3be26d78..1dc59dbdc3 100644 --- a/packages/noco-docs/dist/assets/js/b22d161b.b9dc16ef.js +++ b/packages/noco-docs/dist/assets/js/b22d161b.956ab27b.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[2773],{3905:(e,t,o)=>{o.d(t,{Zo:()=>u,kt:()=>h});var a=o(67294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,a)}return o}function i(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var l=a.createContext({}),c=function(e){var t=a.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},u=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var o=e.components,n=e.mdxType,r=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=c(o),m=n,h=d["".concat(l,".").concat(m)]||d[m]||p[m]||r;return o?a.createElement(h,i(i({ref:t},u),{},{components:o})):a.createElement(h,i({ref:t},u))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=o.length,i=new Array(r);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:n,i[1]=s;for(var c=2;c{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var a=o(87462),n=(o(67294),o(3905));const r={title:"Welcome",description:"NocoDB Documentation",slug:"/"},i=void 0,s={unversionedId:"index",id:"index",title:"Welcome",description:"NocoDB Documentation",source:"@site/docs/010.index.md",sourceDirName:".",slug:"/",permalink:"/",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/010.index.md",tags:[],version:"current",sidebarPosition:10,frontMatter:{title:"Welcome",description:"NocoDB Documentation",slug:"/"},sidebar:"tutorialSidebar",next:{title:"Quick start",permalink:"/getting-started/quick-start"}},l={},c=[{value:"Features",id:"features",level:2},{value:"Rich Spreadsheet Interface",id:"rich-spreadsheet-interface",level:3},{value:"App Store for Workflow Automations",id:"app-store-for-workflow-automations",level:3},{value:"Programmatic Access",id:"programmatic-access",level:3},{value:"Sync Schema",id:"sync-schema",level:3},{value:"Audit",id:"audit",level:3},{value:"Why are we building this?",id:"why-are-we-building-this",level:2},{value:"Our Mission",id:"our-mission",level:2},{value:"How can I contribute to NocoDB's development ?",id:"how-can-i-contribute-to-nocodbs-development-",level:2},{value:"Where can I join the NocoDB community?",id:"where-can-i-join-the-nocodb-community",level:2}],u={toc:c},d="wrapper";function p(e){let{components:t,...r}=e;return(0,n.kt)(d,(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:o(36562).Z,width:"1584",height:"396"})),(0,n.kt)("p",null,"NocoDB is a no-code database platform that allows teams to collaborate and build applications with ease of a familiar and intuitive spreadsheet interface. This allows even non-developers or business users to become software creators."),(0,n.kt)("p",null,"NocoDB works by connecting to any relational database and transforming them into a smart spreadsheet interface! This allows you to build no-code applications collaboratively with teams. NocoDB currently works with MySQL, PostgreSQL & SQLite (only in Open Source) databases. "),(0,n.kt)("p",null,"Also, NocoDB's app store allows you to build business workflows on views with combination of Slack, Microsoft Teams, Discord, Twilio, Whatsapp, Email & any 3rd party APIs too. Plus NocoDB provides programmatic access to APIs so that you can build integrations with Zapier / Integromat and custom applications too."),(0,n.kt)("h2",{id:"features"},"Features"),(0,n.kt)("h3",{id:"rich-spreadsheet-interface"},"Rich Spreadsheet Interface"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Basic Operations: Create, Read, Update and Delete on Tables, Fields, and Records"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Fields Operations: Sort, Filter, Hide / Un-hide Fields"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Multiple Views Types: Grid (By default), Gallery, Form View and Kanban View"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","View Permissions Types: Collaborative Views & Locked Views"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Share Bases / Views: either Public or Private (with Password Protected)"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Variant Cell Types: ID, Links, Lookup, Rollup, SingleLineText, Attachment, Currency, Formula and etc"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Access Control with Roles : Fine-grained Access Control at different levels"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","and more ...")),(0,n.kt)("h3",{id:"app-store-for-workflow-automations"},"App Store for Workflow Automations"),(0,n.kt)("p",null,"We provide different integrations in three main categories. See ",(0,n.kt)("a",{href:"/account-settings/oss-specific-details#app-store",target:"_blank"},"App Store")," for details."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Chat : Slack, Discord, Mattermost, and etc"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Email : AWS SES, SMTP, MailerSend, and etc"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Storage : AWS S3, Google Cloud Storage, Minio, and etc")),(0,n.kt)("h3",{id:"programmatic-access"},"Programmatic Access"),(0,n.kt)("p",null,"We provide the following ways to let users invoke actions in a programmatic way. You can use a token (either JWT or Social Auth) to sign your requests for authorization to NocoDB."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","REST APIs"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","NocoDB SDK"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","SQL Access : Run SQL queries on your data source from NocoDB UI itself (Coming soon!)")),(0,n.kt)("h3",{id:"sync-schema"},"Sync Schema"),(0,n.kt)("p",null,"We allow you to sync schema changes if you have made changes outside NocoDB GUI. However, it has to be noted then you will have to bring your own schema migrations for moving from environment to others. See ",(0,n.kt)("a",{href:"/data-sources/sync-with-data-source",target:"_blank"},"Sync Schema")," for details."),(0,n.kt)("h3",{id:"audit"},"Audit"),(0,n.kt)("p",null,"We are keeping all the user operation logs under one place. See ",(0,n.kt)("a",{href:"/data-sources/actions-on-data-sources#audit-logs",target:"_blank"},"Audit")," for details."),(0,n.kt)("h2",{id:"why-are-we-building-this"},"Why are we building this?"),(0,n.kt)("p",null,"Most internet businesses equip themselves with either spreadsheet or a database to solve their business needs. Spreadsheets are used by a Billion+ humans collaboratively every single day. However, we are way off working at similar speeds on databases which are way more powerful tools when it comes to computing. Attempts to solve this with SaaS offerings has meant horrible access controls, vendor lockin, data lockin, abrupt price changes & most importantly a glass ceiling on what's possible in the future."),(0,n.kt)("h2",{id:"our-mission"},"Our Mission"),(0,n.kt)("p",null,"Our mission is to provide the most powerful no-code interface for databases which is Open Source to every single internet business in the world. This would not only democratise access to a powerful computing tool but also bring forth a billion+ people who will have radical tinkering-and-building abilities on internet."),(0,n.kt)("h2",{id:"how-can-i-contribute-to-nocodbs-development-"},"How can I contribute to NocoDB's development ?"),(0,n.kt)("p",null,"Please refer to ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/nocodb/nocodb/blob/develop/.github/CONTRIBUTING.md"},"here")," for the contribution guidelines."),(0,n.kt)("img",{src:"https://static.scarf.sh/a.png?x-pxid=c12a77cc-855e-4602-8a0f-614b2d0da56a",style:{margin:"0px"}}),(0,n.kt)("h2",{id:"where-can-i-join-the-nocodb-community"},"Where can I join the NocoDB community?"),(0,n.kt)("p",null,"Follow us for daily updates, content, and other activities with our community:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.youtube.com/@nocodb"},"Youtube")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://twitter.com/nocodb"},"Twitter")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"http://discord.nocodb.com/"},"Discord")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://github.com/nocodb/nocodb"},"GitHub")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://community.nocodb.com/"},"Community Forums")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.linkedin.com/company/nocodb"},"LinkedIn")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.reddit.com/r/NocoDB/"},"Reddit"))))}p.isMDXComponent=!0},36562:(e,t,o)=>{o.d(t,{Z:()=>a});const a=o.p+"assets/images/banner-0a7a485798fc16881259280a1227725d.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[2773],{3905:(e,t,o)=>{o.d(t,{Zo:()=>u,kt:()=>h});var a=o(67294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,a)}return o}function i(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var l=a.createContext({}),c=function(e){var t=a.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},u=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var o=e.components,n=e.mdxType,r=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=c(o),m=n,h=d["".concat(l,".").concat(m)]||d[m]||p[m]||r;return o?a.createElement(h,i(i({ref:t},u),{},{components:o})):a.createElement(h,i({ref:t},u))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=o.length,i=new Array(r);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:n,i[1]=s;for(var c=2;c{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var a=o(87462),n=(o(67294),o(3905));const r={title:"Welcome",description:"NocoDB Documentation",slug:"/"},i=void 0,s={unversionedId:"index",id:"index",title:"Welcome",description:"NocoDB Documentation",source:"@site/docs/010.index.md",sourceDirName:".",slug:"/",permalink:"/",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/010.index.md",tags:[],version:"current",sidebarPosition:10,frontMatter:{title:"Welcome",description:"NocoDB Documentation",slug:"/"},sidebar:"tutorialSidebar",next:{title:"Quick start",permalink:"/getting-started/quick-start"}},l={},c=[{value:"Features",id:"features",level:2},{value:"Rich Spreadsheet Interface",id:"rich-spreadsheet-interface",level:3},{value:"App Store for Workflow Automations",id:"app-store-for-workflow-automations",level:3},{value:"Programmatic Access",id:"programmatic-access",level:3},{value:"Sync Schema",id:"sync-schema",level:3},{value:"Audit",id:"audit",level:3},{value:"Why are we building this?",id:"why-are-we-building-this",level:2},{value:"Our Mission",id:"our-mission",level:2},{value:"How can I contribute to NocoDB's development ?",id:"how-can-i-contribute-to-nocodbs-development-",level:2},{value:"Where can I join the NocoDB community?",id:"where-can-i-join-the-nocodb-community",level:2}],u={toc:c},d="wrapper";function p(e){let{components:t,...r}=e;return(0,n.kt)(d,(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:o(31082).Z,width:"1584",height:"396"})),(0,n.kt)("p",null,"NocoDB is a no-code database platform that allows teams to collaborate and build applications with ease of a familiar and intuitive spreadsheet interface. This allows even non-developers or business users to become software creators."),(0,n.kt)("p",null,"NocoDB works by connecting to any relational database and transforming them into a smart spreadsheet interface! This allows you to build no-code applications collaboratively with teams. NocoDB currently works with MySQL, PostgreSQL & SQLite (only in Open Source) databases. "),(0,n.kt)("p",null,"Also, NocoDB's app store allows you to build business workflows on views with combination of Slack, Microsoft Teams, Discord, Twilio, Whatsapp, Email & any 3rd party APIs too. Plus NocoDB provides programmatic access to APIs so that you can build integrations with Zapier / Integromat and custom applications too."),(0,n.kt)("h2",{id:"features"},"Features"),(0,n.kt)("h3",{id:"rich-spreadsheet-interface"},"Rich Spreadsheet Interface"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Basic Operations: Create, Read, Update and Delete on Tables, Fields, and Records"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Fields Operations: Sort, Filter, Hide / Un-hide Fields"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Multiple Views Types: Grid (By default), Gallery, Form View and Kanban View"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","View Permissions Types: Collaborative Views & Locked Views"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Share Bases / Views: either Public or Private (with Password Protected)"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Variant Cell Types: ID, Links, Lookup, Rollup, SingleLineText, Attachment, Currency, Formula and etc"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Access Control with Roles : Fine-grained Access Control at different levels"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","and more ...")),(0,n.kt)("h3",{id:"app-store-for-workflow-automations"},"App Store for Workflow Automations"),(0,n.kt)("p",null,"We provide different integrations in three main categories. See ",(0,n.kt)("a",{href:"/account-settings/oss-specific-details#app-store",target:"_blank"},"App Store")," for details."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Chat : Slack, Discord, Mattermost, and etc"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Email : AWS SES, SMTP, MailerSend, and etc"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","Storage : AWS S3, Google Cloud Storage, Minio, and etc")),(0,n.kt)("h3",{id:"programmatic-access"},"Programmatic Access"),(0,n.kt)("p",null,"We provide the following ways to let users invoke actions in a programmatic way. You can use a token (either JWT or Social Auth) to sign your requests for authorization to NocoDB."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","REST APIs"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","NocoDB SDK"),(0,n.kt)("li",{parentName:"ul"},"\u26a1 ","\xa0","SQL Access : Run SQL queries on your data source from NocoDB UI itself (Coming soon!)")),(0,n.kt)("h3",{id:"sync-schema"},"Sync Schema"),(0,n.kt)("p",null,"We allow you to sync schema changes if you have made changes outside NocoDB GUI. However, it has to be noted then you will have to bring your own schema migrations for moving from environment to others. See ",(0,n.kt)("a",{href:"/data-sources/sync-with-data-source",target:"_blank"},"Sync Schema")," for details."),(0,n.kt)("h3",{id:"audit"},"Audit"),(0,n.kt)("p",null,"We are keeping all the user operation logs under one place. See ",(0,n.kt)("a",{href:"/data-sources/actions-on-data-sources#audit-logs",target:"_blank"},"Audit")," for details."),(0,n.kt)("h2",{id:"why-are-we-building-this"},"Why are we building this?"),(0,n.kt)("p",null,"Most internet businesses equip themselves with either spreadsheet or a database to solve their business needs. Spreadsheets are used by a Billion+ humans collaboratively every single day. However, we are way off working at similar speeds on databases which are way more powerful tools when it comes to computing. Attempts to solve this with SaaS offerings has meant horrible access controls, vendor lockin, data lockin, abrupt price changes & most importantly a glass ceiling on what's possible in the future."),(0,n.kt)("h2",{id:"our-mission"},"Our Mission"),(0,n.kt)("p",null,"Our mission is to provide the most powerful no-code interface for databases which is Open Source to every single internet business in the world. This would not only democratise access to a powerful computing tool but also bring forth a billion+ people who will have radical tinkering-and-building abilities on internet."),(0,n.kt)("h2",{id:"how-can-i-contribute-to-nocodbs-development-"},"How can I contribute to NocoDB's development ?"),(0,n.kt)("p",null,"Please refer to ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/nocodb/nocodb/blob/develop/.github/CONTRIBUTING.md"},"here")," for the contribution guidelines."),(0,n.kt)("img",{src:"https://static.scarf.sh/a.png?x-pxid=c12a77cc-855e-4602-8a0f-614b2d0da56a",style:{margin:"0px"}}),(0,n.kt)("h2",{id:"where-can-i-join-the-nocodb-community"},"Where can I join the NocoDB community?"),(0,n.kt)("p",null,"Follow us for daily updates, content, and other activities with our community:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.youtube.com/@nocodb"},"Youtube")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://twitter.com/nocodb"},"Twitter")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"http://discord.nocodb.com/"},"Discord")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://github.com/nocodb/nocodb"},"GitHub")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://community.nocodb.com/"},"Community Forums")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.linkedin.com/company/nocodb"},"LinkedIn")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.reddit.com/r/NocoDB/"},"Reddit"))))}p.isMDXComponent=!0},31082:(e,t,o)=>{o.d(t,{Z:()=>a});const a=o.p+"assets/images/banner-0a7a485798fc16881259280a1227725d.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/b7abf355.93264657.js b/packages/noco-docs/dist/assets/js/b7abf355.bca89a1c.js similarity index 98% rename from packages/noco-docs/dist/assets/js/b7abf355.93264657.js rename to packages/noco-docs/dist/assets/js/b7abf355.bca89a1c.js index 004eaa924a..076ae44515 100644 --- a/packages/noco-docs/dist/assets/js/b7abf355.93264657.js +++ b/packages/noco-docs/dist/assets/js/b7abf355.bca89a1c.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3857],{3905:(e,a,r)=>{r.d(a,{Zo:()=>l,kt:()=>d});var t=r(67294);function o(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}function n(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),r.push.apply(r,t)}return r}function s(e){for(var a=1;a=0||(o[r]=e[r]);return o}(e,a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=t.createContext({}),p=function(e){var a=t.useContext(c),r=a;return e&&(r="function"==typeof e?e(a):s(s({},a),e)),r},l=function(e){var a=p(e.components);return t.createElement(c.Provider,{value:a},e.children)},m="mdxType",k={inlineCode:"code",wrapper:function(e){var a=e.children;return t.createElement(t.Fragment,{},a)}},w=t.forwardRef((function(e,a){var r=e.components,o=e.mdxType,n=e.originalType,c=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),m=p(r),w=o,d=m["".concat(c,".").concat(w)]||m[w]||k[w]||n;return r?t.createElement(d,s(s({ref:a},l),{},{components:r})):t.createElement(d,s({ref:a},l))}));function d(e,a){var r=arguments,o=a&&a.mdxType;if("string"==typeof e||o){var n=r.length,s=new Array(n);s[0]=w;var i={};for(var c in a)hasOwnProperty.call(a,c)&&(i[c]=a[c]);i.originalType=e,i[m]="string"==typeof e?e:o,s[1]=i;for(var p=2;p{r.r(a),r.d(a,{assets:()=>c,contentTitle:()=>s,default:()=>k,frontMatter:()=>n,metadata:()=>i,toc:()=>p});var t=r(87462),o=(r(67294),r(3905));const n={title:"Workspace overview",description:"This article briefs the concept of workspaces in NocoDB.",tags:["Workspaces","Overview"]},s=void 0,i={unversionedId:"workspaces/workspace-overview",id:"workspaces/workspace-overview",title:"Workspace overview",description:"This article briefs the concept of workspaces in NocoDB.",source:"@site/docs/030.workspaces/010.workspace-overview.md",sourceDirName:"030.workspaces",slug:"/workspaces/workspace-overview",permalink:"/workspaces/workspace-overview",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/030.workspaces/010.workspace-overview.md",tags:[{label:"Workspaces",permalink:"/tags/workspaces"},{label:"Overview",permalink:"/tags/overview"}],version:"current",sidebarPosition:10,frontMatter:{title:"Workspace overview",description:"This article briefs the concept of workspaces in NocoDB.",tags:["Workspaces","Overview"]},sidebar:"tutorialSidebar",previous:{title:"Upgrading",permalink:"/getting-started/self-hosted/upgrading"},next:{title:"Create workspace",permalink:"/workspaces/create-workspace"}},c={},p=[{value:"Workspace context menu",id:"workspace-context-menu",level:3},{value:"Related articles",id:"related-articles",level:2}],l={toc:p},m="wrapper";function k(e){let{components:a,...n}=e;return(0,o.kt)(m,(0,t.Z)({},l,n,{components:a,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"In NocoDB, workspaces play a pivotal role in facilitating collaborative and organized data management. A workspace serves as a container for one or more bases, allowing users to bring together interconnected tables, views, and various elements into a unified and coherent entity. Each workspace can house multiple bases, enabling users to categorize and structure their data in a way that suits their specific needs. Whether you're tracking projects, managing databases, or organizing information, NocoDB's workspaces provide the flexibility and organization required to make data-driven decisions and foster collaboration within your team. Additionally, workspaces allow for the assignment of specific access permissions to workspace members, ensuring that data security and privacy are maintained while enabling effective teamwork."),(0,o.kt)("p",null,"Some key points to note about workspaces are:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Each workspace contains its own set of bases, keeping your data separate and well-organized."),(0,o.kt)("li",{parentName:"ol"},"Workspaces have their own set of members and permissions, allowing you to control who can access and modify data within each workspace."),(0,o.kt)("li",{parentName:"ol"},"Workspaces offer unique settings and billing options, letting you customize configurations to suit specific needs."),(0,o.kt)("li",{parentName:"ol"},"Bases are tied exclusively to one workspace and can't be moved between workspaces, ensuring data integrity."),(0,o.kt)("li",{parentName:"ol"},"Members can be part of multiple workspaces. You can also fine-tune their roles within each workspace.")),(0,o.kt)("p",null,"In summary, NocoDB workspaces streamline data management and member control, providing the flexibility and oversight necessary for various projects and teams."),(0,o.kt)("p",null,"To begin, you can ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/create-workspace"},"create a workspace")," tailored to your project. Collaborate seamlessly by ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/workspace-collaboration"},"inviting team members")," to the workspace. If roles need adjustment, simply ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/workspace-collaboration#modifying-workspace-member-roles"},"modify a team member's role"),". When necessary, you can also ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/workspace-collaboration#removing-workspace-members"},"remove team members")," from the workspace. For organizational purposes, renaming the workspace is straightforward with the ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/actions-on-workspace#rename-workspace"},"rename workspace")," feature. Finally, if a workspace is no longer needed, you can easily ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/actions-on-workspace#delete-workspace"},"delete it"),". "),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The Open Source NocoDB includes a default workspace, and it does not allow the creation of additional workspaces.")),(0,o.kt)("h3",{id:"workspace-context-menu"},"Workspace context menu"),(0,o.kt)("p",null,"The workspace context menu, conveniently located in the left top of sidebar, provides a list of all the workspaces accessible to you.\nYou can easily switch between different workspaces by simply clicking on the respective workspace name within this menu."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:r(60538).Z,width:"2878",height:"1018"})),(0,o.kt)("h2",{id:"related-articles"},"Related articles"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/create-workspace"},"Create workspace")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/workspace-collaboration"},"Invite team members to workspace")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/workspace-collaboration#modifying-workspace-member-roles"},"Change team member role")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/workspace-collaboration#removing-workspace-members"},"Remove team member from workspace")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/actions-on-workspace#rename-workspace"},"Rename workspace")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/actions-on-workspace#delete-workspace"},"Delete workspace"))))}k.isMDXComponent=!0},60538:(e,a,r)=>{r.d(a,{Z:()=>t});const t=r.p+"assets/images/workspace-context-menu-6c2b64ca701e4c01ed8706bde7426f2d.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[3857],{3905:(e,a,r)=>{r.d(a,{Zo:()=>l,kt:()=>d});var t=r(67294);function o(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}function n(e,a){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),r.push.apply(r,t)}return r}function s(e){for(var a=1;a=0||(o[r]=e[r]);return o}(e,a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=t.createContext({}),p=function(e){var a=t.useContext(c),r=a;return e&&(r="function"==typeof e?e(a):s(s({},a),e)),r},l=function(e){var a=p(e.components);return t.createElement(c.Provider,{value:a},e.children)},m="mdxType",k={inlineCode:"code",wrapper:function(e){var a=e.children;return t.createElement(t.Fragment,{},a)}},w=t.forwardRef((function(e,a){var r=e.components,o=e.mdxType,n=e.originalType,c=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),m=p(r),w=o,d=m["".concat(c,".").concat(w)]||m[w]||k[w]||n;return r?t.createElement(d,s(s({ref:a},l),{},{components:r})):t.createElement(d,s({ref:a},l))}));function d(e,a){var r=arguments,o=a&&a.mdxType;if("string"==typeof e||o){var n=r.length,s=new Array(n);s[0]=w;var i={};for(var c in a)hasOwnProperty.call(a,c)&&(i[c]=a[c]);i.originalType=e,i[m]="string"==typeof e?e:o,s[1]=i;for(var p=2;p{r.r(a),r.d(a,{assets:()=>c,contentTitle:()=>s,default:()=>k,frontMatter:()=>n,metadata:()=>i,toc:()=>p});var t=r(87462),o=(r(67294),r(3905));const n={title:"Workspace overview",description:"This article briefs the concept of workspaces in NocoDB.",tags:["Workspaces","Overview"]},s=void 0,i={unversionedId:"workspaces/workspace-overview",id:"workspaces/workspace-overview",title:"Workspace overview",description:"This article briefs the concept of workspaces in NocoDB.",source:"@site/docs/030.workspaces/010.workspace-overview.md",sourceDirName:"030.workspaces",slug:"/workspaces/workspace-overview",permalink:"/workspaces/workspace-overview",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/030.workspaces/010.workspace-overview.md",tags:[{label:"Workspaces",permalink:"/tags/workspaces"},{label:"Overview",permalink:"/tags/overview"}],version:"current",sidebarPosition:10,frontMatter:{title:"Workspace overview",description:"This article briefs the concept of workspaces in NocoDB.",tags:["Workspaces","Overview"]},sidebar:"tutorialSidebar",previous:{title:"Upgrading",permalink:"/getting-started/self-hosted/upgrading"},next:{title:"Create workspace",permalink:"/workspaces/create-workspace"}},c={},p=[{value:"Workspace context menu",id:"workspace-context-menu",level:3},{value:"Related articles",id:"related-articles",level:2}],l={toc:p},m="wrapper";function k(e){let{components:a,...n}=e;return(0,o.kt)(m,(0,t.Z)({},l,n,{components:a,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"In NocoDB, workspaces play a pivotal role in facilitating collaborative and organized data management. A workspace serves as a container for one or more bases, allowing users to bring together interconnected tables, views, and various elements into a unified and coherent entity. Each workspace can house multiple bases, enabling users to categorize and structure their data in a way that suits their specific needs. Whether you're tracking projects, managing databases, or organizing information, NocoDB's workspaces provide the flexibility and organization required to make data-driven decisions and foster collaboration within your team. Additionally, workspaces allow for the assignment of specific access permissions to workspace members, ensuring that data security and privacy are maintained while enabling effective teamwork."),(0,o.kt)("p",null,"Some key points to note about workspaces are:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Each workspace contains its own set of bases, keeping your data separate and well-organized."),(0,o.kt)("li",{parentName:"ol"},"Workspaces have their own set of members and permissions, allowing you to control who can access and modify data within each workspace."),(0,o.kt)("li",{parentName:"ol"},"Workspaces offer unique settings and billing options, letting you customize configurations to suit specific needs."),(0,o.kt)("li",{parentName:"ol"},"Bases are tied exclusively to one workspace and can't be moved between workspaces, ensuring data integrity."),(0,o.kt)("li",{parentName:"ol"},"Members can be part of multiple workspaces. You can also fine-tune their roles within each workspace.")),(0,o.kt)("p",null,"In summary, NocoDB workspaces streamline data management and member control, providing the flexibility and oversight necessary for various projects and teams."),(0,o.kt)("p",null,"To begin, you can ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/create-workspace"},"create a workspace")," tailored to your project. Collaborate seamlessly by ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/workspace-collaboration"},"inviting team members")," to the workspace. If roles need adjustment, simply ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/workspace-collaboration#modifying-workspace-member-roles"},"modify a team member's role"),". When necessary, you can also ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/workspace-collaboration#removing-workspace-members"},"remove team members")," from the workspace. For organizational purposes, renaming the workspace is straightforward with the ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/actions-on-workspace#rename-workspace"},"rename workspace")," feature. Finally, if a workspace is no longer needed, you can easily ",(0,o.kt)("a",{parentName:"p",href:"/workspaces/actions-on-workspace#delete-workspace"},"delete it"),". "),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"The Open Source NocoDB includes a default workspace, and it does not allow the creation of additional workspaces.")),(0,o.kt)("h3",{id:"workspace-context-menu"},"Workspace context menu"),(0,o.kt)("p",null,"The workspace context menu, conveniently located in the left top of sidebar, provides a list of all the workspaces accessible to you.\nYou can easily switch between different workspaces by simply clicking on the respective workspace name within this menu."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:r(70801).Z,width:"2878",height:"1018"})),(0,o.kt)("h2",{id:"related-articles"},"Related articles"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/create-workspace"},"Create workspace")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/workspace-collaboration"},"Invite team members to workspace")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/workspace-collaboration#modifying-workspace-member-roles"},"Change team member role")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/workspace-collaboration#removing-workspace-members"},"Remove team member from workspace")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/actions-on-workspace#rename-workspace"},"Rename workspace")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/workspaces/actions-on-workspace#delete-workspace"},"Delete workspace"))))}k.isMDXComponent=!0},70801:(e,a,r)=>{r.d(a,{Z:()=>t});const t=r.p+"assets/images/workspace-context-menu-6c2b64ca701e4c01ed8706bde7426f2d.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/ba1d2c5b.231d6b55.js b/packages/noco-docs/dist/assets/js/ba1d2c5b.231d6b55.js deleted file mode 100644 index 4126c75030..0000000000 --- a/packages/noco-docs/dist/assets/js/ba1d2c5b.231d6b55.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[6779],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>k});var r=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function n(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var s=r.createContext({}),p=function(e){var t=r.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):n(n({},t),e)),a},m=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},b=r.forwardRef((function(e,t){var a=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,m=l(e,["components","mdxType","originalType","parentName"]),c=p(a),b=o,k=c["".concat(s,".").concat(b)]||c[b]||d[b]||i;return a?r.createElement(k,n(n({ref:t},m),{},{components:a})):r.createElement(k,n({ref:t},m))}));function k(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=a.length,n=new Array(i);n[0]=b;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[c]="string"==typeof e?e:o,n[1]=l;for(var p=2;p{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>p});var r=a(87462),o=(a(67294),a(3905));const i={title:"Import Airtable to NocoDB",description:"A complete import of your Airtable to any MySQL or Postgres databases within minutes",tags:["Bases","Import"],keywords:["NocoDB","Airtable","Import Airtable","Airtable to NocoDB","Airtable to MySQL","Airtable to Postgres"]},n=void 0,l={unversionedId:"bases/import-base-from-airtable",id:"bases/import-base-from-airtable",title:"Import Airtable to NocoDB",description:"A complete import of your Airtable to any MySQL or Postgres databases within minutes",source:"@site/docs/040.bases/040.import-base-from-airtable.md",sourceDirName:"040.bases",slug:"/bases/import-base-from-airtable",permalink:"/bases/import-base-from-airtable",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/040.bases/040.import-base-from-airtable.md",tags:[{label:"Bases",permalink:"/tags/bases"},{label:"Import",permalink:"/tags/import"}],version:"current",sidebarPosition:40,frontMatter:{title:"Import Airtable to NocoDB",description:"A complete import of your Airtable to any MySQL or Postgres databases within minutes",tags:["Bases","Import"],keywords:["NocoDB","Airtable","Import Airtable","Airtable to NocoDB","Airtable to MySQL","Airtable to Postgres"]},sidebar:"tutorialSidebar",previous:{title:"Create base",permalink:"/bases/create-base"},next:{title:"Base collaboration",permalink:"/bases/base-collaboration"}},s={},p=[{value:"Configuration options",id:"configuration-options",level:3},{value:"Get Airtable Credentials",id:"get-airtable-credentials",level:2},{value:"Create Personal Access Token",id:"create-personal-access-token",level:3},{value:"Retrieve API Key",id:"retrieve-api-key",level:3},{value:"Retrieve Share Base ID / URL",id:"retrieve-share-base-id--url",level:3},{value:"Related articles",id:"related-articles",level:2}],m={toc:p},c="wrapper";function d(e){let{components:t,...i}=e;return(0,o.kt)(c,(0,r.Z)({},m,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"NocoDB offers a streamlined process for seamlessly transferring your Airtable database to various database management systems, including MySQL, Postgres and SQLite, in just a matter of minutes. This feature is particularly useful for users who wish to migrate their Airtable database to a more robust and scalable database management system."),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"Import from Airtable is in beta version. See ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/nocodb/nocodb/discussions/2122"},"Importing Airtable To NocoDB")," for the migration notes.")),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"To proceed, you must have valid Airtable Credentials. Ensure you have access to the following information from your Airtable account:"),(0,o.kt)("ul",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#retrieve-api-key"},"API key")," or ",(0,o.kt)("a",{parentName:"li",href:"#create-personal-access-token"},"Personal Access Token")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#retrieve-share-base-id--url"},"Shared Base ID / URL")))),(0,o.kt)("p",null,"Open the ",(0,o.kt)("inlineCode",{parentName:"p"},"Quick Import- AIRTABLE")," modal begin the import process"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Hover over the base name in the left sidebar, click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"...")," icon to open base context menu"),(0,o.kt)("li",{parentName:"ol"},"Select ",(0,o.kt)("inlineCode",{parentName:"li"},"Import Data")," from the base context menu"),(0,o.kt)("li",{parentName:"ol"},"Select ",(0,o.kt)("inlineCode",{parentName:"li"},"Airtable"))),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"import data",src:a(38761).Z,width:"2880",height:"1800"})),(0,o.kt)("p",null,"Alternatively, you can also open the ",(0,o.kt)("inlineCode",{parentName:"p"},"Quick Import- AIRTABLE")," modal from the ",(0,o.kt)("inlineCode",{parentName:"p"},"Base dashboard")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Go to your Base dashboard, click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Import Data")," ")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Select ",(0,o.kt)("inlineCode",{parentName:"p"},"Airtable")),(0,o.kt)("p",{parentName:"li"},(0,o.kt)("img",{alt:"import data",src:a(1999).Z,width:"2878",height:"1208"})),(0,o.kt)("p",{parentName:"li"},(0,o.kt)("img",{alt:"import data",src:a(14403).Z,width:"2878",height:"1800"})))),(0,o.kt)("p",null,"Continue with the following steps on ",(0,o.kt)("inlineCode",{parentName:"p"},"Quick Import- AIRTABLE")," modal to complete the import process:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Input ",(0,o.kt)("a",{parentName:"li",href:"#retrieve-api-key"},"API key")," / ",(0,o.kt)("a",{parentName:"li",href:"#create-personal-access-token"},"Personal Access Token")," "),(0,o.kt)("li",{parentName:"ol"},"Input ",(0,o.kt)("a",{parentName:"li",href:"#retrieve-share-base-id--url"},"shared Base ID / URL")," "),(0,o.kt)("li",{parentName:"ol"},"Configure ",(0,o.kt)("a",{parentName:"li",href:"#configuration-options"},"Airtable import options")," (Optional)"),(0,o.kt)("li",{parentName:"ol"},"Click ",(0,o.kt)("inlineCode",{parentName:"li"},"Import"))),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"import data",src:a(80308).Z,width:"2880",height:"1800"})),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"Wait until ",(0,o.kt)("inlineCode",{parentName:"p"},"Go To Dashboard")," button is activated on the modal. Import details are captured in log window.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"import data",src:a(94358).Z,width:"2880",height:"1800"})),(0,o.kt)("h3",{id:"configuration-options"},"Configuration options"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Import Data"),": If you disable this option, only tables and views will be created (schema), excluding actual data records."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Import Secondary Views"),": If you disable this option, only the primary grid view for each table will be imported, omitting any secondary views."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Import Rollup Fields"),": If you disable this option, you can skip the import of Rollup fields. "),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Import Lookup Fields"),": If you disable this option, you can skip the import of Lookup fields. "),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Import Attachments Fields"),": If you disable this option, you can skip the import of Attachment fields, which typically store file attachments associated with records."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Import Formula Fields"),": Please be aware that import of formula fields from Airtable is currently not supported.")),(0,o.kt)("h2",{id:"get-airtable-credentials"},"Get Airtable Credentials"),(0,o.kt)("h3",{id:"create-personal-access-token"},"Create Personal Access Token"),(0,o.kt)("p",null,"Here are the steps to generate an Airtable Personal Access Token:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Visit the ",(0,o.kt)("a",{parentName:"li",href:"https://airtable.com/create/tokens"},"Airtable Create Tokens"),' page and click the "Create token" button.'),(0,o.kt)("li",{parentName:"ol"},"Provide a meaningful name for your token in the ",(0,o.kt)("inlineCode",{parentName:"li"},"Token name")," field."),(0,o.kt)("li",{parentName:"ol"},"Choose the necessary access scopes, with a minimum requirement of ",(0,o.kt)("inlineCode",{parentName:"li"},"data.records:read"),"."),(0,o.kt)("li",{parentName:"ol"},"Select the specific Base you wish to access with this token."),(0,o.kt)("li",{parentName:"ol"},"Confirm your choices by clicking the ",(0,o.kt)("inlineCode",{parentName:"li"},"Create token")," button."),(0,o.kt)("li",{parentName:"ol"},"Copy the newly generated ",(0,o.kt)("inlineCode",{parentName:"li"},"Personal Access Token")," for your use.")),(0,o.kt)("p",null,"For detailed information, you can refer to the ",(0,o.kt)("a",{parentName:"p",href:"https://airtable.com/developers/web/guides/personal-access-tokens"},"Airtable Personal Access Token guide"),"."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:a(63397).Z,width:"2876",height:"1576"})),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:a(99130).Z,width:"2876",height:"1576"})),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:a(74529).Z,width:"2876",height:"1576"})),(0,o.kt)("h3",{id:"retrieve-api-key"},"Retrieve API Key"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Copy your Airtable API Key from ",(0,o.kt)("a",{parentName:"li",href:"https://airtable.com/create/apikey"},"Airtable create API key")," page\n",(0,o.kt)("img",{alt:"API Key",src:a(16294).Z,width:"2878",height:"996"}))),(0,o.kt)("h3",{id:"retrieve-share-base-id--url"},"Retrieve Share Base ID / URL"),(0,o.kt)("p",null,"See ",(0,o.kt)("a",{parentName:"p",href:"https://support.airtable.com/hc/en-us/articles/205752117-Creating-a-base-share-link-or-a-view-share-link#basesharelink"},"here")," for detailed procedures."),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Open ",(0,o.kt)("inlineCode",{parentName:"li"},"Share")," menu in your Project / Base"),(0,o.kt)("li",{parentName:"ol"},"Open tab ",(0,o.kt)("inlineCode",{parentName:"li"},"Share Publicly")),(0,o.kt)("li",{parentName:"ol"},"Enable ",(0,o.kt)("inlineCode",{parentName:"li"},"Turn on full base access")),(0,o.kt)("li",{parentName:"ol"},"Copy generated shared base URL")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Shared base",src:a(58077).Z,width:"2876",height:"1422"})),(0,o.kt)("h2",{id:"related-articles"},"Related articles"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/base-overview"},"Base overview")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/create-base"},"Create an empty base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/import-base-from-airtable"},"Import base from Airtable")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/base-collaboration"},"Invite team members to work on a base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/share-base"},"Share base publicly")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#rename-base"},"Rename base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#duplicate-base"},"Duplicate base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#star-base"},"Bookmark base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#delete-base"},"Delete base"))))}d.isMDXComponent=!0},16294:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/airtable-api-key-877ce3d40ba4f18389ceede7c4fa50bb.png"},58077:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/airtable-share-base-c48341713680e60f512768432df19fec.png"},38761:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/base-import-airtable-1-3370c224db06eadddda7dd6224076af1.png"},80308:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/base-import-airtable-2-a758f2600b298ba29594cfb8da91e1a2.png"},94358:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/base-import-airtable-3-ff5f7ad98f229f0fcd630c0eea1432d6.png"},1999:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/base-import-from-dashboard-1-0ccc1e3e8508c11049dd45647d6c0f91.png"},14403:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/base-import-from-dashboard-2-d10a91e0ec28bbe4c620cdc5d4e871d6.png"},63397:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/pat-1-b1eb986ad72a1c426ccd1ad338b26ecc.png"},99130:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/pat-2-a3fcb811ed325a6d621f45e17e3aee2f.png"},74529:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/pat-3-fd78b26e00f9f01f395a073e54c465f6.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/ba1d2c5b.24c0e578.js b/packages/noco-docs/dist/assets/js/ba1d2c5b.24c0e578.js new file mode 100644 index 0000000000..3157a2c14c --- /dev/null +++ b/packages/noco-docs/dist/assets/js/ba1d2c5b.24c0e578.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[6779],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>k});var r=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function n(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var s=r.createContext({}),p=function(e){var t=r.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):n(n({},t),e)),a},m=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},b=r.forwardRef((function(e,t){var a=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,m=l(e,["components","mdxType","originalType","parentName"]),c=p(a),b=o,k=c["".concat(s,".").concat(b)]||c[b]||d[b]||i;return a?r.createElement(k,n(n({ref:t},m),{},{components:a})):r.createElement(k,n({ref:t},m))}));function k(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=a.length,n=new Array(i);n[0]=b;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[c]="string"==typeof e?e:o,n[1]=l;for(var p=2;p{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>p});var r=a(87462),o=(a(67294),a(3905));const i={title:"Import Airtable to NocoDB",description:"A complete import of your Airtable to any MySQL or Postgres databases within minutes",tags:["Bases","Import"],keywords:["NocoDB","Airtable","Import Airtable","Airtable to NocoDB","Airtable to MySQL","Airtable to Postgres"]},n=void 0,l={unversionedId:"bases/import-base-from-airtable",id:"bases/import-base-from-airtable",title:"Import Airtable to NocoDB",description:"A complete import of your Airtable to any MySQL or Postgres databases within minutes",source:"@site/docs/040.bases/040.import-base-from-airtable.md",sourceDirName:"040.bases",slug:"/bases/import-base-from-airtable",permalink:"/bases/import-base-from-airtable",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/040.bases/040.import-base-from-airtable.md",tags:[{label:"Bases",permalink:"/tags/bases"},{label:"Import",permalink:"/tags/import"}],version:"current",sidebarPosition:40,frontMatter:{title:"Import Airtable to NocoDB",description:"A complete import of your Airtable to any MySQL or Postgres databases within minutes",tags:["Bases","Import"],keywords:["NocoDB","Airtable","Import Airtable","Airtable to NocoDB","Airtable to MySQL","Airtable to Postgres"]},sidebar:"tutorialSidebar",previous:{title:"Create base",permalink:"/bases/create-base"},next:{title:"Base collaboration",permalink:"/bases/base-collaboration"}},s={},p=[{value:"Configuration options",id:"configuration-options",level:3},{value:"Get Airtable Credentials",id:"get-airtable-credentials",level:2},{value:"Create Personal Access Token",id:"create-personal-access-token",level:3},{value:"Retrieve API Key",id:"retrieve-api-key",level:3},{value:"Retrieve Share Base ID / URL",id:"retrieve-share-base-id--url",level:3},{value:"Related articles",id:"related-articles",level:2}],m={toc:p},c="wrapper";function d(e){let{components:t,...i}=e;return(0,o.kt)(c,(0,r.Z)({},m,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"NocoDB offers a streamlined process for seamlessly transferring your Airtable database to various database management systems, including MySQL, Postgres and SQLite, in just a matter of minutes. This feature is particularly useful for users who wish to migrate their Airtable database to a more robust and scalable database management system."),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"Import from Airtable is in beta version. See ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/nocodb/nocodb/discussions/2122"},"Importing Airtable To NocoDB")," for the migration notes.")),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"To proceed, you must have valid Airtable Credentials. Ensure you have access to the following information from your Airtable account:"),(0,o.kt)("ul",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#retrieve-api-key"},"API key")," or ",(0,o.kt)("a",{parentName:"li",href:"#create-personal-access-token"},"Personal Access Token")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"#retrieve-share-base-id--url"},"Shared Base ID / URL")))),(0,o.kt)("p",null,"Open the ",(0,o.kt)("inlineCode",{parentName:"p"},"Quick Import- AIRTABLE")," modal begin the import process"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Hover over the base name in the left sidebar, click on the ",(0,o.kt)("inlineCode",{parentName:"li"},"...")," icon to open base context menu"),(0,o.kt)("li",{parentName:"ol"},"Select ",(0,o.kt)("inlineCode",{parentName:"li"},"Import Data")," from the base context menu"),(0,o.kt)("li",{parentName:"ol"},"Select ",(0,o.kt)("inlineCode",{parentName:"li"},"Airtable"))),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"import data",src:a(97952).Z,width:"2880",height:"1800"})),(0,o.kt)("p",null,"Alternatively, you can also open the ",(0,o.kt)("inlineCode",{parentName:"p"},"Quick Import- AIRTABLE")," modal from the ",(0,o.kt)("inlineCode",{parentName:"p"},"Base dashboard")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Go to your Base dashboard, click on ",(0,o.kt)("inlineCode",{parentName:"p"},"Import Data")," ")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Select ",(0,o.kt)("inlineCode",{parentName:"p"},"Airtable")),(0,o.kt)("p",{parentName:"li"},(0,o.kt)("img",{alt:"import data",src:a(90245).Z,width:"2878",height:"1208"})),(0,o.kt)("p",{parentName:"li"},(0,o.kt)("img",{alt:"import data",src:a(35955).Z,width:"2878",height:"1800"})))),(0,o.kt)("p",null,"Continue with the following steps on ",(0,o.kt)("inlineCode",{parentName:"p"},"Quick Import- AIRTABLE")," modal to complete the import process:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Input ",(0,o.kt)("a",{parentName:"li",href:"#retrieve-api-key"},"API key")," / ",(0,o.kt)("a",{parentName:"li",href:"#create-personal-access-token"},"Personal Access Token")," "),(0,o.kt)("li",{parentName:"ol"},"Input ",(0,o.kt)("a",{parentName:"li",href:"#retrieve-share-base-id--url"},"shared Base ID / URL")," "),(0,o.kt)("li",{parentName:"ol"},"Configure ",(0,o.kt)("a",{parentName:"li",href:"#configuration-options"},"Airtable import options")," (Optional)"),(0,o.kt)("li",{parentName:"ol"},"Click ",(0,o.kt)("inlineCode",{parentName:"li"},"Import"))),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"import data",src:a(74614).Z,width:"2880",height:"1800"})),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"Wait until ",(0,o.kt)("inlineCode",{parentName:"p"},"Go To Dashboard")," button is activated on the modal. Import details are captured in log window.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"import data",src:a(39913).Z,width:"2880",height:"1800"})),(0,o.kt)("h3",{id:"configuration-options"},"Configuration options"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Import Data"),": If you disable this option, only tables and views will be created (schema), excluding actual data records."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Import Secondary Views"),": If you disable this option, only the primary grid view for each table will be imported, omitting any secondary views."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Import Rollup Fields"),": If you disable this option, you can skip the import of Rollup fields. "),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Import Lookup Fields"),": If you disable this option, you can skip the import of Lookup fields. "),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Import Attachments Fields"),": If you disable this option, you can skip the import of Attachment fields, which typically store file attachments associated with records."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Import Formula Fields"),": Please be aware that import of formula fields from Airtable is currently not supported.")),(0,o.kt)("h2",{id:"get-airtable-credentials"},"Get Airtable Credentials"),(0,o.kt)("h3",{id:"create-personal-access-token"},"Create Personal Access Token"),(0,o.kt)("p",null,"Here are the steps to generate an Airtable Personal Access Token:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Visit the ",(0,o.kt)("a",{parentName:"li",href:"https://airtable.com/create/tokens"},"Airtable Create Tokens"),' page and click the "Create token" button.'),(0,o.kt)("li",{parentName:"ol"},"Provide a meaningful name for your token in the ",(0,o.kt)("inlineCode",{parentName:"li"},"Token name")," field."),(0,o.kt)("li",{parentName:"ol"},"Choose the necessary access scopes, with a minimum requirement of ",(0,o.kt)("inlineCode",{parentName:"li"},"data.records:read"),"."),(0,o.kt)("li",{parentName:"ol"},"Select the specific Base you wish to access with this token."),(0,o.kt)("li",{parentName:"ol"},"Confirm your choices by clicking the ",(0,o.kt)("inlineCode",{parentName:"li"},"Create token")," button."),(0,o.kt)("li",{parentName:"ol"},"Copy the newly generated ",(0,o.kt)("inlineCode",{parentName:"li"},"Personal Access Token")," for your use.")),(0,o.kt)("p",null,"For detailed information, you can refer to the ",(0,o.kt)("a",{parentName:"p",href:"https://airtable.com/developers/web/guides/personal-access-tokens"},"Airtable Personal Access Token guide"),"."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:a(55052).Z,width:"2876",height:"1576"})),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:a(48351).Z,width:"2876",height:"1576"})),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:a(83013).Z,width:"2876",height:"1576"})),(0,o.kt)("h3",{id:"retrieve-api-key"},"Retrieve API Key"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Copy your Airtable API Key from ",(0,o.kt)("a",{parentName:"li",href:"https://airtable.com/create/apikey"},"Airtable create API key")," page\n",(0,o.kt)("img",{alt:"API Key",src:a(91848).Z,width:"2878",height:"996"}))),(0,o.kt)("h3",{id:"retrieve-share-base-id--url"},"Retrieve Share Base ID / URL"),(0,o.kt)("p",null,"See ",(0,o.kt)("a",{parentName:"p",href:"https://support.airtable.com/hc/en-us/articles/205752117-Creating-a-base-share-link-or-a-view-share-link#basesharelink"},"here")," for detailed procedures."),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Open ",(0,o.kt)("inlineCode",{parentName:"li"},"Share")," menu in your Project / Base"),(0,o.kt)("li",{parentName:"ol"},"Open tab ",(0,o.kt)("inlineCode",{parentName:"li"},"Share Publicly")),(0,o.kt)("li",{parentName:"ol"},"Enable ",(0,o.kt)("inlineCode",{parentName:"li"},"Turn on full base access")),(0,o.kt)("li",{parentName:"ol"},"Copy generated shared base URL")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Shared base",src:a(80261).Z,width:"2876",height:"1422"})),(0,o.kt)("h2",{id:"related-articles"},"Related articles"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/base-overview"},"Base overview")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/create-base"},"Create an empty base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/import-base-from-airtable"},"Import base from Airtable")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/base-collaboration"},"Invite team members to work on a base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/share-base"},"Share base publicly")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#rename-base"},"Rename base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#duplicate-base"},"Duplicate base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#star-base"},"Bookmark base")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/bases/actions-on-base#delete-base"},"Delete base"))))}d.isMDXComponent=!0},91848:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/airtable-api-key-877ce3d40ba4f18389ceede7c4fa50bb.png"},80261:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/airtable-share-base-c48341713680e60f512768432df19fec.png"},97952:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/base-import-airtable-1-3370c224db06eadddda7dd6224076af1.png"},74614:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/base-import-airtable-2-a758f2600b298ba29594cfb8da91e1a2.png"},39913:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/base-import-airtable-3-ff5f7ad98f229f0fcd630c0eea1432d6.png"},90245:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/base-import-from-dashboard-1-0ccc1e3e8508c11049dd45647d6c0f91.png"},35955:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/base-import-from-dashboard-2-d10a91e0ec28bbe4c620cdc5d4e871d6.png"},55052:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/pat-1-b1eb986ad72a1c426ccd1ad338b26ecc.png"},48351:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/pat-2-a3fcb811ed325a6d621f45e17e3aee2f.png"},83013:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/pat-3-fd78b26e00f9f01f395a073e54c465f6.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/bb516362.091774e0.js b/packages/noco-docs/dist/assets/js/bb516362.76d0d972.js similarity index 97% rename from packages/noco-docs/dist/assets/js/bb516362.091774e0.js rename to packages/noco-docs/dist/assets/js/bb516362.76d0d972.js index ba36e38608..c350cc477c 100644 --- a/packages/noco-docs/dist/assets/js/bb516362.091774e0.js +++ b/packages/noco-docs/dist/assets/js/bb516362.76d0d972.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[9721],{3905:(e,t,i)=>{i.d(t,{Zo:()=>d,kt:()=>u});var r=i(67294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function a(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var l=r.createContext({}),c=function(e){var t=r.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},d=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},p="mdxType",v={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},w=r.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(i),w=n,u=p["".concat(l,".").concat(w)]||p[w]||v[w]||o;return i?r.createElement(u,a(a({ref:t},d),{},{components:i})):r.createElement(u,a({ref:t},d))}));function u(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,a=new Array(o);a[0]=w;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:n,a[1]=s;for(var c=2;c{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>v,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var r=i(87462),n=(i(67294),i(3905));const o={title:"View overview",description:"Understanding Views in NocoDB!",tags:["Views","Overview"],keywords:["NocoDB view","Overview"]},a=void 0,s={unversionedId:"views/views-overview",id:"views/views-overview",title:"View overview",description:"Understanding Views in NocoDB!",source:"@site/docs/090.views/010.views-overview.md",sourceDirName:"090.views",slug:"/views/views-overview",permalink:"/views/views-overview",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/010.views-overview.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Overview",permalink:"/tags/overview"}],version:"current",sidebarPosition:10,frontMatter:{title:"View overview",description:"Understanding Views in NocoDB!",tags:["Views","Overview"],keywords:["NocoDB view","Overview"]},sidebar:"tutorialSidebar",previous:{title:"Actions on record",permalink:"/records/actions-on-record"},next:{title:"Create view",permalink:"/views/create-view"}},l={},c=[{value:"View Types Supported",id:"view-types-supported",level:2},{value:"View Permission Types",id:"view-permission-types",level:2},{value:"Collaborative Views (default)",id:"collaborative-views-default",level:3},{value:"Locked Views",id:"locked-views",level:3}],d={toc:c},p="wrapper";function v(e){let{components:t,...o}=e;return(0,n.kt)(p,(0,r.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"Views within NocoDB not only allow you to tailor the visual presentation to your liking but also provide independent\ncontrol over sorting and filtering of records within each view. Each view maintains its unique configuration for\nfilters, data display, and enabled fields, ensuring that modifications of these configuration does not impact any other view.\nThis feature empowers users to efficiently personalize their data visualization while\nmaintaining the integrity of other views."),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"View represents data from a table. Any updates to records in a view will be reflected in all other views of the same table.")),(0,n.kt)("h2",{id:"view-types-supported"},"View Types Supported"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("a",{parentName:"li",href:"view-types/grid"},"Grid View")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("a",{parentName:"li",href:"view-types/form"},"Form View")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("a",{parentName:"li",href:"view-types/gallery"},"Gallery View")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("a",{parentName:"li",href:"view-types/kanban"},"Kanban View"))),(0,n.kt)("h2",{id:"view-permission-types"},"View Permission Types"),(0,n.kt)("p",null,"We can apply permission to each View. By default, views are ",(0,n.kt)("inlineCode",{parentName:"p"},"Collaborative"),". To see or change the view type, expand ",(0,n.kt)("inlineCode",{parentName:"p"},"view-tool-bar-menu")," as shown below."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"locked view",src:i(47548).Z,width:"2320",height:"864"})),(0,n.kt)("h3",{id:"collaborative-views-default"},"Collaborative Views (default)"),(0,n.kt)("p",null,'By default, views are set to "Collaborative," allowing members with edit permissions or higher to modify view configurations. In this mode, all members can read and write data to the view. This is the default mode for all views.'),(0,n.kt)("h3",{id:"locked-views"},"Locked Views"),(0,n.kt)("p",null,'With "Locked Views," no one can edit the view configurations until they are unlocked. In this mode, all members are restricted to reading data from the view and are unable to make any changes to its settings or content. This mode is useful when you want to share a view with others but don\'t want them to make any changes to it.'))}v.isMDXComponent=!0},47548:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/locked-view-98e409b4c0859f73d2d59b6e418d338b.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[9721],{3905:(e,t,i)=>{i.d(t,{Zo:()=>d,kt:()=>u});var r=i(67294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function a(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var l=r.createContext({}),c=function(e){var t=r.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},d=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},p="mdxType",v={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},w=r.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(i),w=n,u=p["".concat(l,".").concat(w)]||p[w]||v[w]||o;return i?r.createElement(u,a(a({ref:t},d),{},{components:i})):r.createElement(u,a({ref:t},d))}));function u(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,a=new Array(o);a[0]=w;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:n,a[1]=s;for(var c=2;c{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>v,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var r=i(87462),n=(i(67294),i(3905));const o={title:"View overview",description:"Understanding Views in NocoDB!",tags:["Views","Overview"],keywords:["NocoDB view","Overview"]},a=void 0,s={unversionedId:"views/views-overview",id:"views/views-overview",title:"View overview",description:"Understanding Views in NocoDB!",source:"@site/docs/090.views/010.views-overview.md",sourceDirName:"090.views",slug:"/views/views-overview",permalink:"/views/views-overview",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/010.views-overview.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Overview",permalink:"/tags/overview"}],version:"current",sidebarPosition:10,frontMatter:{title:"View overview",description:"Understanding Views in NocoDB!",tags:["Views","Overview"],keywords:["NocoDB view","Overview"]},sidebar:"tutorialSidebar",previous:{title:"Actions on record",permalink:"/records/actions-on-record"},next:{title:"Create view",permalink:"/views/create-view"}},l={},c=[{value:"View Types Supported",id:"view-types-supported",level:2},{value:"View Permission Types",id:"view-permission-types",level:2},{value:"Collaborative Views (default)",id:"collaborative-views-default",level:3},{value:"Locked Views",id:"locked-views",level:3}],d={toc:c},p="wrapper";function v(e){let{components:t,...o}=e;return(0,n.kt)(p,(0,r.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"Views within NocoDB not only allow you to tailor the visual presentation to your liking but also provide independent\ncontrol over sorting and filtering of records within each view. Each view maintains its unique configuration for\nfilters, data display, and enabled fields, ensuring that modifications of these configuration does not impact any other view.\nThis feature empowers users to efficiently personalize their data visualization while\nmaintaining the integrity of other views."),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("p",{parentName:"admonition"},"View represents data from a table. Any updates to records in a view will be reflected in all other views of the same table.")),(0,n.kt)("h2",{id:"view-types-supported"},"View Types Supported"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("a",{parentName:"li",href:"view-types/grid"},"Grid View")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("a",{parentName:"li",href:"view-types/form"},"Form View")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("a",{parentName:"li",href:"view-types/gallery"},"Gallery View")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("a",{parentName:"li",href:"view-types/kanban"},"Kanban View"))),(0,n.kt)("h2",{id:"view-permission-types"},"View Permission Types"),(0,n.kt)("p",null,"We can apply permission to each View. By default, views are ",(0,n.kt)("inlineCode",{parentName:"p"},"Collaborative"),". To see or change the view type, expand ",(0,n.kt)("inlineCode",{parentName:"p"},"view-tool-bar-menu")," as shown below."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"locked view",src:i(34086).Z,width:"2320",height:"864"})),(0,n.kt)("h3",{id:"collaborative-views-default"},"Collaborative Views (default)"),(0,n.kt)("p",null,'By default, views are set to "Collaborative," allowing members with edit permissions or higher to modify view configurations. In this mode, all members can read and write data to the view. This is the default mode for all views.'),(0,n.kt)("h3",{id:"locked-views"},"Locked Views"),(0,n.kt)("p",null,'With "Locked Views," no one can edit the view configurations until they are unlocked. In this mode, all members are restricted to reading data from the view and are unable to make any changes to its settings or content. This mode is useful when you want to share a view with others but don\'t want them to make any changes to it.'))}v.isMDXComponent=!0},34086:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/locked-view-98e409b4c0859f73d2d59b6e418d338b.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/bb53f532.4d434c9f.js b/packages/noco-docs/dist/assets/js/bb53f532.072cdd30.js similarity index 97% rename from packages/noco-docs/dist/assets/js/bb53f532.4d434c9f.js rename to packages/noco-docs/dist/assets/js/bb53f532.072cdd30.js index ed52977e3e..06486d2e4b 100644 --- a/packages/noco-docs/dist/assets/js/bb53f532.4d434c9f.js +++ b/packages/noco-docs/dist/assets/js/bb53f532.072cdd30.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1641],{3905:(e,t,l)=>{l.d(t,{Zo:()=>p,kt:()=>m});var i=l(67294);function a(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function n(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,i)}return l}function r(e){for(var t=1;t=0||(a[l]=e[l]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(a[l]=e[l])}return a}var s=i.createContext({}),d=function(e){var t=i.useContext(s),l=t;return e&&(l="function"==typeof e?e(t):r(r({},t),e)),l},p=function(e){var t=d(e.components);return i.createElement(s.Provider,{value:t},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},u=i.forwardRef((function(e,t){var l=e.components,a=e.mdxType,n=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=d(l),u=a,m=c["".concat(s,".").concat(u)]||c[u]||f[u]||n;return l?i.createElement(m,r(r({ref:t},p),{},{components:l})):i.createElement(m,r({ref:t},p))}));function m(e,t){var l=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=l.length,r=new Array(n);r[0]=u;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:a,r[1]=o;for(var d=2;d{l.r(t),l.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>f,frontMatter:()=>n,metadata:()=>o,toc:()=>d});var i=l(87462),a=(l(67294),l(3905));const n={title:"URL",description:"This article explains how to create & work with an URL field.",tags:["Fields","Field types","Text based types","URL"],keywords:["Fields","Field types","Text based types","URL","Create URL field"]},r=void 0,o={unversionedId:"fields/field-types/text-based/url",id:"fields/field-types/text-based/url",title:"URL",description:"This article explains how to create & work with an URL field.",source:"@site/docs/070.fields/040.field-types/010.text-based/050.url.md",sourceDirName:"070.fields/040.field-types/010.text-based",slug:"/fields/field-types/text-based/url",permalink:"/fields/field-types/text-based/url",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/010.text-based/050.url.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Text based types",permalink:"/tags/text-based-types"},{label:"URL",permalink:"/tags/url"}],version:"current",sidebarPosition:50,frontMatter:{title:"URL",description:"This article explains how to create & work with an URL field.",tags:["Fields","Field types","Text based types","URL"],keywords:["Fields","Field types","Text based types","URL","Create URL field"]},sidebar:"tutorialSidebar",previous:{title:"Phone Number",permalink:"/fields/field-types/text-based/phonenumber"},next:{title:"Number",permalink:"/fields/field-types/numerical/number"}},s={},d=[{value:"Create an URL field",id:"create-an-url-field",level:2},{value:"Similar text based fields",id:"similar-text-based-fields",level:2}],p={toc:d},c="wrapper";function f(e){let{components:t,...n}=e;return(0,a.kt)(c,(0,i.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"URL")," field is text based field custom-built for storing URLs. It is a special type of ",(0,a.kt)("inlineCode",{parentName:"p"},"Single line text")," field with"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Optional validation for URL "),(0,a.kt)("li",{parentName:"ul"},"Cell display as clickable link")),(0,a.kt)("h2",{id:"create-an-url-field"},"Create an ",(0,a.kt)("inlineCode",{parentName:"h2"},"URL")," field"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,a.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,a.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,a.kt)("li",{parentName:"ol"},"Select the field type as ",(0,a.kt)("inlineCode",{parentName:"li"},"URL")," from the dropdown."),(0,a.kt)("li",{parentName:"ol"},"Enable validation by toggling the ",(0,a.kt)("inlineCode",{parentName:"li"},"Validate URL")," checkbox (Optional)."),(0,a.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:l(74599).Z,width:"2876",height:"1342"})),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("ul",{parentName:"admonition"},(0,a.kt)("li",{parentName:"ul"},"Specify default value without quotes."),(0,a.kt)("li",{parentName:"ul"},"Validation only ensures that the value entered is a valid URL. It does not check if the URL exists."))),(0,a.kt)("h2",{id:"similar-text-based-fields"},"Similar text based fields"),(0,a.kt)("p",null,"Following are the other text based fields available in NocoDB, custom-built for specific use cases."),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/single-line-text"},"Single line text")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/long-text"},"Long text")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/email"},"Email")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/phonenumber"},"Phone"))))}f.isMDXComponent=!0},74599:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/url-e3c332b08bb350cbbe1eb247f2c1de1e.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1641],{3905:(e,t,l)=>{l.d(t,{Zo:()=>p,kt:()=>m});var i=l(67294);function a(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function n(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,i)}return l}function r(e){for(var t=1;t=0||(a[l]=e[l]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(a[l]=e[l])}return a}var s=i.createContext({}),d=function(e){var t=i.useContext(s),l=t;return e&&(l="function"==typeof e?e(t):r(r({},t),e)),l},p=function(e){var t=d(e.components);return i.createElement(s.Provider,{value:t},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},u=i.forwardRef((function(e,t){var l=e.components,a=e.mdxType,n=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=d(l),u=a,m=c["".concat(s,".").concat(u)]||c[u]||f[u]||n;return l?i.createElement(m,r(r({ref:t},p),{},{components:l})):i.createElement(m,r({ref:t},p))}));function m(e,t){var l=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=l.length,r=new Array(n);r[0]=u;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:a,r[1]=o;for(var d=2;d{l.r(t),l.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>f,frontMatter:()=>n,metadata:()=>o,toc:()=>d});var i=l(87462),a=(l(67294),l(3905));const n={title:"URL",description:"This article explains how to create & work with an URL field.",tags:["Fields","Field types","Text based types","URL"],keywords:["Fields","Field types","Text based types","URL","Create URL field"]},r=void 0,o={unversionedId:"fields/field-types/text-based/url",id:"fields/field-types/text-based/url",title:"URL",description:"This article explains how to create & work with an URL field.",source:"@site/docs/070.fields/040.field-types/010.text-based/050.url.md",sourceDirName:"070.fields/040.field-types/010.text-based",slug:"/fields/field-types/text-based/url",permalink:"/fields/field-types/text-based/url",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/010.text-based/050.url.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Text based types",permalink:"/tags/text-based-types"},{label:"URL",permalink:"/tags/url"}],version:"current",sidebarPosition:50,frontMatter:{title:"URL",description:"This article explains how to create & work with an URL field.",tags:["Fields","Field types","Text based types","URL"],keywords:["Fields","Field types","Text based types","URL","Create URL field"]},sidebar:"tutorialSidebar",previous:{title:"Phone Number",permalink:"/fields/field-types/text-based/phonenumber"},next:{title:"Number",permalink:"/fields/field-types/numerical/number"}},s={},d=[{value:"Create an URL field",id:"create-an-url-field",level:2},{value:"Similar text based fields",id:"similar-text-based-fields",level:2}],p={toc:d},c="wrapper";function f(e){let{components:t,...n}=e;return(0,a.kt)(c,(0,i.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"URL")," field is text based field custom-built for storing URLs. It is a special type of ",(0,a.kt)("inlineCode",{parentName:"p"},"Single line text")," field with"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Optional validation for URL "),(0,a.kt)("li",{parentName:"ul"},"Cell display as clickable link")),(0,a.kt)("h2",{id:"create-an-url-field"},"Create an ",(0,a.kt)("inlineCode",{parentName:"h2"},"URL")," field"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,a.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,a.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,a.kt)("li",{parentName:"ol"},"Select the field type as ",(0,a.kt)("inlineCode",{parentName:"li"},"URL")," from the dropdown."),(0,a.kt)("li",{parentName:"ol"},"Enable validation by toggling the ",(0,a.kt)("inlineCode",{parentName:"li"},"Validate URL")," checkbox (Optional)."),(0,a.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:l(93244).Z,width:"2876",height:"1342"})),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("ul",{parentName:"admonition"},(0,a.kt)("li",{parentName:"ul"},"Specify default value without quotes."),(0,a.kt)("li",{parentName:"ul"},"Validation only ensures that the value entered is a valid URL. It does not check if the URL exists."))),(0,a.kt)("h2",{id:"similar-text-based-fields"},"Similar text based fields"),(0,a.kt)("p",null,"Following are the other text based fields available in NocoDB, custom-built for specific use cases."),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/single-line-text"},"Single line text")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/long-text"},"Long text")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/email"},"Email")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/phonenumber"},"Phone"))))}f.isMDXComponent=!0},93244:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/url-e3c332b08bb350cbbe1eb247f2c1de1e.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/bd02e23f.e789a668.js b/packages/noco-docs/dist/assets/js/bd02e23f.a1e3fbbd.js similarity index 98% rename from packages/noco-docs/dist/assets/js/bd02e23f.e789a668.js rename to packages/noco-docs/dist/assets/js/bd02e23f.a1e3fbbd.js index 286589a941..a65408f0ef 100644 --- a/packages/noco-docs/dist/assets/js/bd02e23f.e789a668.js +++ b/packages/noco-docs/dist/assets/js/bd02e23f.a1e3fbbd.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[2606],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var r=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=r.createContext({}),d=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=d(e.components);return r.createElement(s.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,l=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=d(n),m=i,f=u["".concat(s,".").concat(m)]||u[m]||c[m]||l;return n?r.createElement(f,a(a({ref:t},p),{},{components:n})):r.createElement(f,a({ref:t},p))}));function f(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=n.length,a=new Array(l);a[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[u]="string"==typeof e?e:i,a[1]=o;for(var d=2;d{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>c,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var r=n(87462),i=(n(67294),n(3905));const l={title:"Phone Number",description:"This article explains how to create & work with a Phone number field.",tags:["Fields","Field types","Text based types","Phone number"],keywords:["Fields","Field types","Text based types","Phone number","Create phone number field"]},a=void 0,o={unversionedId:"fields/field-types/text-based/phonenumber",id:"fields/field-types/text-based/phonenumber",title:"Phone Number",description:"This article explains how to create & work with a Phone number field.",source:"@site/docs/070.fields/040.field-types/010.text-based/040.phonenumber.md",sourceDirName:"070.fields/040.field-types/010.text-based",slug:"/fields/field-types/text-based/phonenumber",permalink:"/fields/field-types/text-based/phonenumber",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/010.text-based/040.phonenumber.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Text based types",permalink:"/tags/text-based-types"},{label:"Phone number",permalink:"/tags/phone-number"}],version:"current",sidebarPosition:40,frontMatter:{title:"Phone Number",description:"This article explains how to create & work with a Phone number field.",tags:["Fields","Field types","Text based types","Phone number"],keywords:["Fields","Field types","Text based types","Phone number","Create phone number field"]},sidebar:"tutorialSidebar",previous:{title:"Email",permalink:"/fields/field-types/text-based/email"},next:{title:"URL",permalink:"/fields/field-types/text-based/url"}},s={},d=[{value:"Create a Phone number field",id:"create-a-phone-number-field",level:2},{value:"Similar text based fields",id:"similar-text-based-fields",level:2}],p={toc:d},u="wrapper";function c(e){let{components:t,...l}=e;return(0,i.kt)(u,(0,r.Z)({},p,l,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"Phone number")," field is text based field that allows you to store phone numbers. It also allows you to validate the phone number."),(0,i.kt)("h2",{id:"create-a-phone-number-field"},"Create a ",(0,i.kt)("inlineCode",{parentName:"h2"},"Phone number")," field"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,i.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,i.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,i.kt)("li",{parentName:"ol"},"Select the field type as ",(0,i.kt)("inlineCode",{parentName:"li"},"Phonenumber")," from the dropdown."),(0,i.kt)("li",{parentName:"ol"},"Enable validation by toggling the ",(0,i.kt)("inlineCode",{parentName:"li"},"Validate Phonenumber")," checkbox (Optional)."),(0,i.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:n(30199).Z,width:"2876",height:"1230"})),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("ul",{parentName:"admonition"},(0,i.kt)("li",{parentName:"ul"},"Specify default value without quotes."),(0,i.kt)("li",{parentName:"ul"},"Validation only ensures that the value entered is a valid phone number. It does not check if the phone number exists."))),(0,i.kt)("h2",{id:"similar-text-based-fields"},"Similar text based fields"),(0,i.kt)("p",null,"Following are the other text based fields available in NocoDB, custom-built for specific use cases."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/single-line-text"},"Single line text")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/long-text"},"Long text")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/url"},"URL")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/email"},"Email"))))}c.isMDXComponent=!0},30199:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/phonenumber-1913eec12ec23e7b62e8c83ca69c7627.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[2606],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var r=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=r.createContext({}),d=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=d(e.components);return r.createElement(s.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,l=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=d(n),m=i,f=u["".concat(s,".").concat(m)]||u[m]||c[m]||l;return n?r.createElement(f,a(a({ref:t},p),{},{components:n})):r.createElement(f,a({ref:t},p))}));function f(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=n.length,a=new Array(l);a[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[u]="string"==typeof e?e:i,a[1]=o;for(var d=2;d{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>c,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var r=n(87462),i=(n(67294),n(3905));const l={title:"Phone Number",description:"This article explains how to create & work with a Phone number field.",tags:["Fields","Field types","Text based types","Phone number"],keywords:["Fields","Field types","Text based types","Phone number","Create phone number field"]},a=void 0,o={unversionedId:"fields/field-types/text-based/phonenumber",id:"fields/field-types/text-based/phonenumber",title:"Phone Number",description:"This article explains how to create & work with a Phone number field.",source:"@site/docs/070.fields/040.field-types/010.text-based/040.phonenumber.md",sourceDirName:"070.fields/040.field-types/010.text-based",slug:"/fields/field-types/text-based/phonenumber",permalink:"/fields/field-types/text-based/phonenumber",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/010.text-based/040.phonenumber.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Text based types",permalink:"/tags/text-based-types"},{label:"Phone number",permalink:"/tags/phone-number"}],version:"current",sidebarPosition:40,frontMatter:{title:"Phone Number",description:"This article explains how to create & work with a Phone number field.",tags:["Fields","Field types","Text based types","Phone number"],keywords:["Fields","Field types","Text based types","Phone number","Create phone number field"]},sidebar:"tutorialSidebar",previous:{title:"Email",permalink:"/fields/field-types/text-based/email"},next:{title:"URL",permalink:"/fields/field-types/text-based/url"}},s={},d=[{value:"Create a Phone number field",id:"create-a-phone-number-field",level:2},{value:"Similar text based fields",id:"similar-text-based-fields",level:2}],p={toc:d},u="wrapper";function c(e){let{components:t,...l}=e;return(0,i.kt)(u,(0,r.Z)({},p,l,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"Phone number")," field is text based field that allows you to store phone numbers. It also allows you to validate the phone number."),(0,i.kt)("h2",{id:"create-a-phone-number-field"},"Create a ",(0,i.kt)("inlineCode",{parentName:"h2"},"Phone number")," field"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,i.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,i.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,i.kt)("li",{parentName:"ol"},"Select the field type as ",(0,i.kt)("inlineCode",{parentName:"li"},"Phonenumber")," from the dropdown."),(0,i.kt)("li",{parentName:"ol"},"Enable validation by toggling the ",(0,i.kt)("inlineCode",{parentName:"li"},"Validate Phonenumber")," checkbox (Optional)."),(0,i.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:n(44263).Z,width:"2876",height:"1230"})),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("ul",{parentName:"admonition"},(0,i.kt)("li",{parentName:"ul"},"Specify default value without quotes."),(0,i.kt)("li",{parentName:"ul"},"Validation only ensures that the value entered is a valid phone number. It does not check if the phone number exists."))),(0,i.kt)("h2",{id:"similar-text-based-fields"},"Similar text based fields"),(0,i.kt)("p",null,"Following are the other text based fields available in NocoDB, custom-built for specific use cases."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/single-line-text"},"Single line text")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/long-text"},"Long text")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/url"},"URL")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/email"},"Email"))))}c.isMDXComponent=!0},44263:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/phonenumber-1913eec12ec23e7b62e8c83ca69c7627.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/c1a34d6e.84dde03c.js b/packages/noco-docs/dist/assets/js/c1a34d6e.06bb989c.js similarity index 95% rename from packages/noco-docs/dist/assets/js/c1a34d6e.84dde03c.js rename to packages/noco-docs/dist/assets/js/c1a34d6e.06bb989c.js index aeb1c859b7..3228a153d7 100644 --- a/packages/noco-docs/dist/assets/js/c1a34d6e.84dde03c.js +++ b/packages/noco-docs/dist/assets/js/c1a34d6e.06bb989c.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[636],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>f});var o=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function l(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var s=o.createContext({}),p=function(e){var t=o.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},c=function(e){var t=p(e.components);return o.createElement(s.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},y=o.forwardRef((function(e,t){var r=e.components,i=e.mdxType,n=e.originalType,s=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),d=p(r),y=i,f=d["".concat(s,".").concat(y)]||d[y]||m[y]||n;return r?o.createElement(f,l(l({ref:t},c),{},{components:r})):o.createElement(f,l({ref:t},c))}));function f(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=r.length,l=new Array(n);l[0]=y;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[d]="string"==typeof e?e:i,l[1]=a;for(var p=2;p{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>m,frontMatter:()=>n,metadata:()=>a,toc:()=>p});var o=r(87462),i=(r(67294),r(3905));const n={title:"Geometry",description:"This article explains how to create & work with a Geometry field.",tags:["Fields","Field types","Custom types","Geometry"],keywords:["Fields","Field types","Custom types","Geometry","Create geometry field"]},l=void 0,a={unversionedId:"fields/field-types/custom-types/geometry",id:"fields/field-types/custom-types/geometry",title:"Geometry",description:"This article explains how to create & work with a Geometry field.",source:"@site/docs/070.fields/040.field-types/050.custom-types/060.geometry.md",sourceDirName:"070.fields/040.field-types/050.custom-types",slug:"/fields/field-types/custom-types/geometry",permalink:"/fields/field-types/custom-types/geometry",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/050.custom-types/060.geometry.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"Geometry",permalink:"/tags/geometry"}],version:"current",sidebarPosition:60,frontMatter:{title:"Geometry",description:"This article explains how to create & work with a Geometry field.",tags:["Fields","Field types","Custom types","Geometry"],keywords:["Fields","Field types","Custom types","Geometry","Create geometry field"]},sidebar:"tutorialSidebar",previous:{title:"Barcode",permalink:"/fields/field-types/custom-types/barcode"},next:{title:"Specific DB type",permalink:"/fields/field-types/custom-types/specific-db-type"}},s={},p=[{value:"Create a geometry field",id:"create-a-geometry-field",level:2}],c={toc:p},d="wrapper";function m(e){let{components:t,...n}=e;return(0,i.kt)(d,(0,o.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"create-a-geometry-field"},"Create a geometry field"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,i.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,i.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)"),(0,i.kt)("li",{parentName:"ol"},"Select the field type as ",(0,i.kt)("inlineCode",{parentName:"li"},"Geometry")," from the dropdown."),(0,i.kt)("li",{parentName:"ol"},"Configure default value for the field (Optional)"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:r(63837).Z,width:"2874",height:"1274"})))}m.isMDXComponent=!0},63837:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/geometry-e43058dba3ccb3be62b68fb61ca7e67d.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[636],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>f});var o=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function l(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var s=o.createContext({}),p=function(e){var t=o.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},c=function(e){var t=p(e.components);return o.createElement(s.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},y=o.forwardRef((function(e,t){var r=e.components,i=e.mdxType,n=e.originalType,s=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),d=p(r),y=i,f=d["".concat(s,".").concat(y)]||d[y]||m[y]||n;return r?o.createElement(f,l(l({ref:t},c),{},{components:r})):o.createElement(f,l({ref:t},c))}));function f(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=r.length,l=new Array(n);l[0]=y;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[d]="string"==typeof e?e:i,l[1]=a;for(var p=2;p{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>m,frontMatter:()=>n,metadata:()=>a,toc:()=>p});var o=r(87462),i=(r(67294),r(3905));const n={title:"Geometry",description:"This article explains how to create & work with a Geometry field.",tags:["Fields","Field types","Custom types","Geometry"],keywords:["Fields","Field types","Custom types","Geometry","Create geometry field"]},l=void 0,a={unversionedId:"fields/field-types/custom-types/geometry",id:"fields/field-types/custom-types/geometry",title:"Geometry",description:"This article explains how to create & work with a Geometry field.",source:"@site/docs/070.fields/040.field-types/050.custom-types/060.geometry.md",sourceDirName:"070.fields/040.field-types/050.custom-types",slug:"/fields/field-types/custom-types/geometry",permalink:"/fields/field-types/custom-types/geometry",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/050.custom-types/060.geometry.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"Geometry",permalink:"/tags/geometry"}],version:"current",sidebarPosition:60,frontMatter:{title:"Geometry",description:"This article explains how to create & work with a Geometry field.",tags:["Fields","Field types","Custom types","Geometry"],keywords:["Fields","Field types","Custom types","Geometry","Create geometry field"]},sidebar:"tutorialSidebar",previous:{title:"Barcode",permalink:"/fields/field-types/custom-types/barcode"},next:{title:"Specific DB type",permalink:"/fields/field-types/custom-types/specific-db-type"}},s={},p=[{value:"Create a geometry field",id:"create-a-geometry-field",level:2}],c={toc:p},d="wrapper";function m(e){let{components:t,...n}=e;return(0,i.kt)(d,(0,o.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"create-a-geometry-field"},"Create a geometry field"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,i.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,i.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)"),(0,i.kt)("li",{parentName:"ol"},"Select the field type as ",(0,i.kt)("inlineCode",{parentName:"li"},"Geometry")," from the dropdown."),(0,i.kt)("li",{parentName:"ol"},"Configure default value for the field (Optional)"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:r(3169).Z,width:"2874",height:"1274"})))}m.isMDXComponent=!0},3169:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/geometry-e43058dba3ccb3be62b68fb61ca7e67d.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/c1dfffdd.09a49a06.js b/packages/noco-docs/dist/assets/js/c1dfffdd.8722fa05.js similarity index 74% rename from packages/noco-docs/dist/assets/js/c1dfffdd.09a49a06.js rename to packages/noco-docs/dist/assets/js/c1dfffdd.8722fa05.js index fa2b6d0d0d..ba25e824c7 100644 --- a/packages/noco-docs/dist/assets/js/c1dfffdd.09a49a06.js +++ b/packages/noco-docs/dist/assets/js/c1dfffdd.8722fa05.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4166],{3905:(e,t,l)=>{l.d(t,{Zo:()=>p,kt:()=>u});var i=l(67294);function n(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function a(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,i)}return l}function r(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var s=i.createContext({}),d=function(e){var t=i.useContext(s),l=t;return e&&(l="function"==typeof e?e(t):r(r({},t),e)),l},p=function(e){var t=d(e.components);return i.createElement(s.Provider,{value:t},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var l=e.components,n=e.mdxType,a=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=d(l),m=n,u=c["".concat(s,".").concat(m)]||c[m]||f[m]||a;return l?i.createElement(u,r(r({ref:t},p),{},{components:l})):i.createElement(u,r({ref:t},p))}));function u(e,t){var l=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=l.length,r=new Array(a);r[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:n,r[1]=o;for(var d=2;d{l.r(t),l.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>f,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var i=l(87462),n=(l(67294),l(3905));const a={title:"Long text",description:"This article explains how to create & work with a Long text field.",tags:["Fields","Field types","Text based types","Long text"],keywords:["Fields","Field types","Text based types","Long text","Create long text field"]},r=void 0,o={unversionedId:"fields/field-types/text-based/long-text",id:"fields/field-types/text-based/long-text",title:"Long text",description:"This article explains how to create & work with a Long text field.",source:"@site/docs/070.fields/040.field-types/010.text-based/020.long-text.md",sourceDirName:"070.fields/040.field-types/010.text-based",slug:"/fields/field-types/text-based/long-text",permalink:"/fields/field-types/text-based/long-text",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/010.text-based/020.long-text.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Text based types",permalink:"/tags/text-based-types"},{label:"Long text",permalink:"/tags/long-text"}],version:"current",sidebarPosition:20,frontMatter:{title:"Long text",description:"This article explains how to create & work with a Long text field.",tags:["Fields","Field types","Text based types","Long text"],keywords:["Fields","Field types","Text based types","Long text","Create long text field"]},sidebar:"tutorialSidebar",previous:{title:"Single line text",permalink:"/fields/field-types/text-based/single-line-text"},next:{title:"Email",permalink:"/fields/field-types/text-based/email"}},s={},d=[{value:"Create a Long Text field",id:"create-a-long-text-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"Similar text based fields",id:"similar-text-based-fields",level:2}],p={toc:d},c="wrapper";function f(e){let{components:t,...a}=e;return(0,n.kt)(c,(0,i.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Long Text")," field is text based field that allows text in multiple lines. It is useful for storing lengthy text like description, notes, etc."),(0,n.kt)("h2",{id:"create-a-long-text-field"},"Create a ",(0,n.kt)("inlineCode",{parentName:"h2"},"Long Text")," field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Long text")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:l(23984).Z,width:"2878",height:"1262"})),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"Specify default value without quotes."),(0,n.kt)("li",{parentName:"ul"},"Use ",(0,n.kt)("inlineCode",{parentName:"li"},"Enter")," key to add new line."))),(0,n.kt)("h3",{id:"cell-display"},"Cell display"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Long Text")," field is displayed as a single line text field in the table view. Click on the expand icon in the cell to view the full text."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:l(13676).Z,width:"1390",height:"515"}),"\n",(0,n.kt)("img",{alt:"image",src:l(50419).Z,width:"885",height:"760"})),(0,n.kt)("h2",{id:"similar-text-based-fields"},"Similar text based fields"),(0,n.kt)("p",null,"Following are the other text based fields available in NocoDB, custom-built for specific use cases."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/single-line-text"},"Single line text")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/url"},"URL")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/email"},"Email")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/phonenumber"},"Phone"))))}f.isMDXComponent=!0},50419:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/long-text-expand-2-09cce09ec85355082b79054a189abb37.png"},13676:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/long-text-expand-d15b69ace110a10185959d52b19bce63.png"},23984:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/longtext-6970b99c2c42d656b549a5b2a0f75123.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4166],{3905:(e,t,l)=>{l.d(t,{Zo:()=>p,kt:()=>u});var i=l(67294);function n(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function a(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,i)}return l}function r(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var s=i.createContext({}),d=function(e){var t=i.useContext(s),l=t;return e&&(l="function"==typeof e?e(t):r(r({},t),e)),l},p=function(e){var t=d(e.components);return i.createElement(s.Provider,{value:t},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var l=e.components,n=e.mdxType,a=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=d(l),m=n,u=c["".concat(s,".").concat(m)]||c[m]||f[m]||a;return l?i.createElement(u,r(r({ref:t},p),{},{components:l})):i.createElement(u,r({ref:t},p))}));function u(e,t){var l=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=l.length,r=new Array(a);r[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:n,r[1]=o;for(var d=2;d{l.r(t),l.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>f,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var i=l(87462),n=(l(67294),l(3905));const a={title:"Long text",description:"This article explains how to create & work with a Long text field.",tags:["Fields","Field types","Text based types","Long text"],keywords:["Fields","Field types","Text based types","Long text","Create long text field"]},r=void 0,o={unversionedId:"fields/field-types/text-based/long-text",id:"fields/field-types/text-based/long-text",title:"Long text",description:"This article explains how to create & work with a Long text field.",source:"@site/docs/070.fields/040.field-types/010.text-based/020.long-text.md",sourceDirName:"070.fields/040.field-types/010.text-based",slug:"/fields/field-types/text-based/long-text",permalink:"/fields/field-types/text-based/long-text",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/010.text-based/020.long-text.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Text based types",permalink:"/tags/text-based-types"},{label:"Long text",permalink:"/tags/long-text"}],version:"current",sidebarPosition:20,frontMatter:{title:"Long text",description:"This article explains how to create & work with a Long text field.",tags:["Fields","Field types","Text based types","Long text"],keywords:["Fields","Field types","Text based types","Long text","Create long text field"]},sidebar:"tutorialSidebar",previous:{title:"Single line text",permalink:"/fields/field-types/text-based/single-line-text"},next:{title:"Email",permalink:"/fields/field-types/text-based/email"}},s={},d=[{value:"Create a Long Text field",id:"create-a-long-text-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"Similar text based fields",id:"similar-text-based-fields",level:2}],p={toc:d},c="wrapper";function f(e){let{components:t,...a}=e;return(0,n.kt)(c,(0,i.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Long Text")," field is text based field that allows text in multiple lines. It is useful for storing lengthy text like description, notes, etc."),(0,n.kt)("h2",{id:"create-a-long-text-field"},"Create a ",(0,n.kt)("inlineCode",{parentName:"h2"},"Long Text")," field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Long text")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:l(8314).Z,width:"2878",height:"1262"})),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"Specify default value without quotes."),(0,n.kt)("li",{parentName:"ul"},"Use ",(0,n.kt)("inlineCode",{parentName:"li"},"Enter")," key to add new line."))),(0,n.kt)("h3",{id:"cell-display"},"Cell display"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Long Text")," field is displayed as a single line text field in the table view. Click on the expand icon in the cell to view the full text."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:l(36507).Z,width:"1390",height:"515"}),"\n",(0,n.kt)("img",{alt:"image",src:l(87320).Z,width:"885",height:"760"})),(0,n.kt)("h2",{id:"similar-text-based-fields"},"Similar text based fields"),(0,n.kt)("p",null,"Following are the other text based fields available in NocoDB, custom-built for specific use cases."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/single-line-text"},"Single line text")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/url"},"URL")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/email"},"Email")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/text-based/phonenumber"},"Phone"))))}f.isMDXComponent=!0},87320:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/long-text-expand-2-09cce09ec85355082b79054a189abb37.png"},36507:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/long-text-expand-d15b69ace110a10185959d52b19bce63.png"},8314:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/longtext-6970b99c2c42d656b549a5b2a0f75123.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/cb2030df.3cfcfbf0.js b/packages/noco-docs/dist/assets/js/cb2030df.77b2d2cc.js similarity index 93% rename from packages/noco-docs/dist/assets/js/cb2030df.3cfcfbf0.js rename to packages/noco-docs/dist/assets/js/cb2030df.77b2d2cc.js index 52d856e335..a841dab331 100644 --- a/packages/noco-docs/dist/assets/js/cb2030df.3cfcfbf0.js +++ b/packages/noco-docs/dist/assets/js/cb2030df.77b2d2cc.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5334],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>m});var l=i(67294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function r(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var s=l.createContext({}),d=function(e){var t=l.useContext(s),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},p=function(e){var t=d(e.components);return l.createElement(s.Provider,{value:t},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},u=l.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=d(i),u=n,m=c["".concat(s,".").concat(u)]||c[u]||f[u]||a;return i?l.createElement(m,r(r({ref:t},p),{},{components:i})):l.createElement(m,r({ref:t},p))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,r=new Array(a);r[0]=u;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:n,r[1]=o;for(var d=2;d{i.r(t),i.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>f,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var l=i(87462),n=(i(67294),i(3905));const a={title:"Rating",description:"This article explains how to create & work with a Rating field.",tags:["Fields","Field types","Custom types","Rating"],keywords:["Fields","Field types","Custom types","Rating","Create rating field"]},r=void 0,o={unversionedId:"fields/field-types/select-based/rating",id:"fields/field-types/select-based/rating",title:"Rating",description:"This article explains how to create & work with a Rating field.",source:"@site/docs/070.fields/040.field-types/030.select-based/030.rating.md",sourceDirName:"070.fields/040.field-types/030.select-based",slug:"/fields/field-types/select-based/rating",permalink:"/fields/field-types/select-based/rating",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/030.select-based/030.rating.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"Rating",permalink:"/tags/rating"}],version:"current",sidebarPosition:30,frontMatter:{title:"Rating",description:"This article explains how to create & work with a Rating field.",tags:["Fields","Field types","Custom types","Rating"],keywords:["Fields","Field types","Custom types","Rating","Create rating field"]},sidebar:"tutorialSidebar",previous:{title:"Multi Select",permalink:"/fields/field-types/select-based/multi-select"},next:{title:"Links",permalink:"/fields/field-types/links-based/links"}},s={},d=[{value:"Create a checkbox field",id:"create-a-checkbox-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"Setting value for the field",id:"setting-value-for-the-field",level:3},{value:"Unsetting value for the field",id:"unsetting-value-for-the-field",level:3},{value:"Supported icons",id:"supported-icons",level:3},{value:"Related fields",id:"related-fields",level:2}],p={toc:d},c="wrapper";function f(e){let{components:t,...a}=e;return(0,n.kt)(c,(0,l.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"The "),(0,n.kt)("h2",{id:"create-a-checkbox-field"},"Create a checkbox field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Rating")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Select icon for the field; defaults to ",(0,n.kt)("inlineCode",{parentName:"li"},"star")," icon (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Configure max count for the field; defaults to ",(0,n.kt)("inlineCode",{parentName:"li"},"5")," (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select color for the field; defaults to ",(0,n.kt)("inlineCode",{parentName:"li"},"grey")," (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:i(19442).Z,width:"2874",height:"1416"})),(0,n.kt)("h3",{id:"cell-display"},"Cell display"),(0,n.kt)("p",null,"Cell displays the ratings in the color & icon selected for the field.",(0,n.kt)("br",{parentName:"p"}),"\n",(0,n.kt)("img",{alt:"image",src:i(34466).Z,width:"1264",height:"593"})),(0,n.kt)("h3",{id:"setting-value-for-the-field"},"Setting value for the field"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"nth")," rating icon to set the rating value for the field as ",(0,n.kt)("inlineCode",{parentName:"li"},"n"),"."),(0,n.kt)("li",{parentName:"ul"},"Key in the rating value in the cell to set the rating value for the field."),(0,n.kt)("li",{parentName:"ul"},"Paste the rating value in the cell to set the rating value for the field.")),(0,n.kt)("h3",{id:"unsetting-value-for-the-field"},"Unsetting value for the field"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"nth")," rating icon again to set the rating value for the field as ",(0,n.kt)("inlineCode",{parentName:"li"},"0"),"."),(0,n.kt)("li",{parentName:"ul"},"Key in ",(0,n.kt)("inlineCode",{parentName:"li"},"0")," in the cell to set the rating value for the field as ",(0,n.kt)("inlineCode",{parentName:"li"},"0"),"."),(0,n.kt)("li",{parentName:"ul"},"Key in ",(0,n.kt)("inlineCode",{parentName:"li"},"Delete")," to set the rating value for the field as ",(0,n.kt)("inlineCode",{parentName:"li"},"0"),".")),(0,n.kt)("h3",{id:"supported-icons"},"Supported icons"),(0,n.kt)("p",null,"NocoDB supports the following icons for the rating field type.",(0,n.kt)("br",{parentName:"p"}),"\n",(0,n.kt)("img",{alt:"image",src:i(30639).Z,width:"400",height:"445"})),(0,n.kt)("h2",{id:"related-fields"},"Related fields"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/select-based/checkbox"},"Checkbox"))))}f.isMDXComponent=!0},34466:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/rating-cell-ab9000c7aa5624758b22f06f59b5495e.png"},30639:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/rating-icon-06378f121f8364a58ce1b0da016f6b12.png"},19442:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/rating-7dcce304ae8fbf78908c340a87e90da4.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5334],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>m});var l=i(67294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function r(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var s=l.createContext({}),d=function(e){var t=l.useContext(s),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},p=function(e){var t=d(e.components);return l.createElement(s.Provider,{value:t},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},u=l.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=d(i),u=n,m=c["".concat(s,".").concat(u)]||c[u]||f[u]||a;return i?l.createElement(m,r(r({ref:t},p),{},{components:i})):l.createElement(m,r({ref:t},p))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,r=new Array(a);r[0]=u;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:n,r[1]=o;for(var d=2;d{i.r(t),i.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>f,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var l=i(87462),n=(i(67294),i(3905));const a={title:"Rating",description:"This article explains how to create & work with a Rating field.",tags:["Fields","Field types","Custom types","Rating"],keywords:["Fields","Field types","Custom types","Rating","Create rating field"]},r=void 0,o={unversionedId:"fields/field-types/select-based/rating",id:"fields/field-types/select-based/rating",title:"Rating",description:"This article explains how to create & work with a Rating field.",source:"@site/docs/070.fields/040.field-types/030.select-based/030.rating.md",sourceDirName:"070.fields/040.field-types/030.select-based",slug:"/fields/field-types/select-based/rating",permalink:"/fields/field-types/select-based/rating",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/030.select-based/030.rating.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"Rating",permalink:"/tags/rating"}],version:"current",sidebarPosition:30,frontMatter:{title:"Rating",description:"This article explains how to create & work with a Rating field.",tags:["Fields","Field types","Custom types","Rating"],keywords:["Fields","Field types","Custom types","Rating","Create rating field"]},sidebar:"tutorialSidebar",previous:{title:"Multi Select",permalink:"/fields/field-types/select-based/multi-select"},next:{title:"Links",permalink:"/fields/field-types/links-based/links"}},s={},d=[{value:"Create a checkbox field",id:"create-a-checkbox-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"Setting value for the field",id:"setting-value-for-the-field",level:3},{value:"Unsetting value for the field",id:"unsetting-value-for-the-field",level:3},{value:"Supported icons",id:"supported-icons",level:3},{value:"Related fields",id:"related-fields",level:2}],p={toc:d},c="wrapper";function f(e){let{components:t,...a}=e;return(0,n.kt)(c,(0,l.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"The "),(0,n.kt)("h2",{id:"create-a-checkbox-field"},"Create a checkbox field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Rating")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Select icon for the field; defaults to ",(0,n.kt)("inlineCode",{parentName:"li"},"star")," icon (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Configure max count for the field; defaults to ",(0,n.kt)("inlineCode",{parentName:"li"},"5")," (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select color for the field; defaults to ",(0,n.kt)("inlineCode",{parentName:"li"},"grey")," (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:i(23845).Z,width:"2874",height:"1416"})),(0,n.kt)("h3",{id:"cell-display"},"Cell display"),(0,n.kt)("p",null,"Cell displays the ratings in the color & icon selected for the field.",(0,n.kt)("br",{parentName:"p"}),"\n",(0,n.kt)("img",{alt:"image",src:i(83415).Z,width:"1264",height:"593"})),(0,n.kt)("h3",{id:"setting-value-for-the-field"},"Setting value for the field"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"nth")," rating icon to set the rating value for the field as ",(0,n.kt)("inlineCode",{parentName:"li"},"n"),"."),(0,n.kt)("li",{parentName:"ul"},"Key in the rating value in the cell to set the rating value for the field."),(0,n.kt)("li",{parentName:"ul"},"Paste the rating value in the cell to set the rating value for the field.")),(0,n.kt)("h3",{id:"unsetting-value-for-the-field"},"Unsetting value for the field"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Click on the ",(0,n.kt)("inlineCode",{parentName:"li"},"nth")," rating icon again to set the rating value for the field as ",(0,n.kt)("inlineCode",{parentName:"li"},"0"),"."),(0,n.kt)("li",{parentName:"ul"},"Key in ",(0,n.kt)("inlineCode",{parentName:"li"},"0")," in the cell to set the rating value for the field as ",(0,n.kt)("inlineCode",{parentName:"li"},"0"),"."),(0,n.kt)("li",{parentName:"ul"},"Key in ",(0,n.kt)("inlineCode",{parentName:"li"},"Delete")," to set the rating value for the field as ",(0,n.kt)("inlineCode",{parentName:"li"},"0"),".")),(0,n.kt)("h3",{id:"supported-icons"},"Supported icons"),(0,n.kt)("p",null,"NocoDB supports the following icons for the rating field type.",(0,n.kt)("br",{parentName:"p"}),"\n",(0,n.kt)("img",{alt:"image",src:i(20457).Z,width:"400",height:"445"})),(0,n.kt)("h2",{id:"related-fields"},"Related fields"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/select-based/checkbox"},"Checkbox"))))}f.isMDXComponent=!0},83415:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/rating-cell-ab9000c7aa5624758b22f06f59b5495e.png"},20457:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/rating-icon-06378f121f8364a58ce1b0da016f6b12.png"},23845:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/rating-7dcce304ae8fbf78908c340a87e90da4.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/cd3c4207.f4ac9c87.js b/packages/noco-docs/dist/assets/js/cd3c4207.30d0f4d0.js similarity index 98% rename from packages/noco-docs/dist/assets/js/cd3c4207.f4ac9c87.js rename to packages/noco-docs/dist/assets/js/cd3c4207.30d0f4d0.js index 0b1f8e916f..88bbe86308 100644 --- a/packages/noco-docs/dist/assets/js/cd3c4207.f4ac9c87.js +++ b/packages/noco-docs/dist/assets/js/cd3c4207.30d0f4d0.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[485],{3905:(e,t,l)=>{l.d(t,{Zo:()=>p,kt:()=>f});var a=l(67294);function n(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function r(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function i(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var s=a.createContext({}),d=function(e){var t=a.useContext(s),l=t;return e&&(l="function"==typeof e?e(t):i(i({},t),e)),l},p=function(e){var t=d(e.components);return a.createElement(s.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var l=e.components,n=e.mdxType,r=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=d(l),m=n,f=u["".concat(s,".").concat(m)]||u[m]||c[m]||r;return l?a.createElement(f,i(i({ref:t},p),{},{components:l})):a.createElement(f,i({ref:t},p))}));function f(e,t){var l=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=l.length,i=new Array(r);i[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[u]="string"==typeof e?e:n,i[1]=o;for(var d=2;d{l.r(t),l.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>r,metadata:()=>o,toc:()=>d});var a=l(87462),n=(l(67294),l(3905));const r={title:"Rollup",description:"This article explains how to create & work with a Rollup field.",tags:["Fields","Field types","Links based types","Rollup"],keywords:["Fields","Field types","Links based types","Rollup","Create rollup field"]},i=void 0,o={unversionedId:"fields/field-types/links-based/rollup",id:"fields/field-types/links-based/rollup",title:"Rollup",description:"This article explains how to create & work with a Rollup field.",source:"@site/docs/070.fields/040.field-types/040.links-based/030.rollup.md",sourceDirName:"070.fields/040.field-types/040.links-based",slug:"/fields/field-types/links-based/rollup",permalink:"/fields/field-types/links-based/rollup",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/040.links-based/030.rollup.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Links based types",permalink:"/tags/links-based-types"},{label:"Rollup",permalink:"/tags/rollup"}],version:"current",sidebarPosition:30,frontMatter:{title:"Rollup",description:"This article explains how to create & work with a Rollup field.",tags:["Fields","Field types","Links based types","Rollup"],keywords:["Fields","Field types","Links based types","Rollup","Create rollup field"]},sidebar:"tutorialSidebar",previous:{title:"Lookup",permalink:"/fields/field-types/links-based/lookup"},next:{title:"Attachment",permalink:"/fields/field-types/custom-types/attachment"}},s={},d=[{value:"Create a Rollup Field",id:"create-a-rollup-field",level:2},{value:"Aggregation Functions",id:"aggregation-functions",level:3},{value:"Similar links-based fields",id:"similar-links-based-fields",level:2}],p={toc:d},u="wrapper";function c(e){let{components:t,...r}=e;return(0,n.kt)(u,(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Rollup")," fields are used to aggregate data from fields in the related table. Often used to calculate totals, averages, and other aggregate data."),(0,n.kt)("h2",{id:"create-a-rollup-field"},"Create a Rollup Field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Lookup")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Select the link field from the dropdown. This is the field that links the current table to the related table."),(0,n.kt)("li",{parentName:"ol"},"Select the field for display from the dropdown. This is the field that will be displayed in the current table."),(0,n.kt)("li",{parentName:"ol"},"Select the aggregation function from the dropdown. This is the function that will be used to aggregate the data."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:l(11345).Z,width:"2880",height:"1480"})),(0,n.kt)("h3",{id:"aggregation-functions"},"Aggregation Functions"),(0,n.kt)("p",null,"Here's a table with brief descriptions for each of the aggregation functions supported by NocoDB:"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Aggregation Function"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Count"),(0,n.kt)("td",{parentName:"tr",align:null},"Counts the number of records in a dataset.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Minimum"),(0,n.kt)("td",{parentName:"tr",align:null},"Retrieves the minimum value from a dataset.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Maximum"),(0,n.kt)("td",{parentName:"tr",align:null},"Retrieves the maximum value from a dataset.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Average"),(0,n.kt)("td",{parentName:"tr",align:null},"Calculates the average value in a dataset.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sum"),(0,n.kt)("td",{parentName:"tr",align:null},"Adds up all the values in a dataset.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Count Distinct"),(0,n.kt)("td",{parentName:"tr",align:null},"Counts the number of distinct values in a dataset.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sum Distinct"),(0,n.kt)("td",{parentName:"tr",align:null},"Adds up all the distinct values in a dataset.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Average Distinct"),(0,n.kt)("td",{parentName:"tr",align:null},"Calculates the average of distinct values in a dataset.")))),(0,n.kt)("h2",{id:"similar-links-based-fields"},"Similar links-based fields"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/links-based/links"},"Links")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/links-based/lookup"},"Lookup"))))}c.isMDXComponent=!0},11345:(e,t,l)=>{l.d(t,{Z:()=>a});const a=l.p+"assets/images/rollup-bf68cdbc91743484a43f978f74ce18ef.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[485],{3905:(e,t,l)=>{l.d(t,{Zo:()=>p,kt:()=>f});var a=l(67294);function n(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function r(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function i(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var s=a.createContext({}),d=function(e){var t=a.useContext(s),l=t;return e&&(l="function"==typeof e?e(t):i(i({},t),e)),l},p=function(e){var t=d(e.components);return a.createElement(s.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var l=e.components,n=e.mdxType,r=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=d(l),m=n,f=u["".concat(s,".").concat(m)]||u[m]||c[m]||r;return l?a.createElement(f,i(i({ref:t},p),{},{components:l})):a.createElement(f,i({ref:t},p))}));function f(e,t){var l=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=l.length,i=new Array(r);i[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[u]="string"==typeof e?e:n,i[1]=o;for(var d=2;d{l.r(t),l.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>r,metadata:()=>o,toc:()=>d});var a=l(87462),n=(l(67294),l(3905));const r={title:"Rollup",description:"This article explains how to create & work with a Rollup field.",tags:["Fields","Field types","Links based types","Rollup"],keywords:["Fields","Field types","Links based types","Rollup","Create rollup field"]},i=void 0,o={unversionedId:"fields/field-types/links-based/rollup",id:"fields/field-types/links-based/rollup",title:"Rollup",description:"This article explains how to create & work with a Rollup field.",source:"@site/docs/070.fields/040.field-types/040.links-based/030.rollup.md",sourceDirName:"070.fields/040.field-types/040.links-based",slug:"/fields/field-types/links-based/rollup",permalink:"/fields/field-types/links-based/rollup",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/040.links-based/030.rollup.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Links based types",permalink:"/tags/links-based-types"},{label:"Rollup",permalink:"/tags/rollup"}],version:"current",sidebarPosition:30,frontMatter:{title:"Rollup",description:"This article explains how to create & work with a Rollup field.",tags:["Fields","Field types","Links based types","Rollup"],keywords:["Fields","Field types","Links based types","Rollup","Create rollup field"]},sidebar:"tutorialSidebar",previous:{title:"Lookup",permalink:"/fields/field-types/links-based/lookup"},next:{title:"Attachment",permalink:"/fields/field-types/custom-types/attachment"}},s={},d=[{value:"Create a Rollup Field",id:"create-a-rollup-field",level:2},{value:"Aggregation Functions",id:"aggregation-functions",level:3},{value:"Similar links-based fields",id:"similar-links-based-fields",level:2}],p={toc:d},u="wrapper";function c(e){let{components:t,...r}=e;return(0,n.kt)(u,(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Rollup")," fields are used to aggregate data from fields in the related table. Often used to calculate totals, averages, and other aggregate data."),(0,n.kt)("h2",{id:"create-a-rollup-field"},"Create a Rollup Field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Lookup")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Select the link field from the dropdown. This is the field that links the current table to the related table."),(0,n.kt)("li",{parentName:"ol"},"Select the field for display from the dropdown. This is the field that will be displayed in the current table."),(0,n.kt)("li",{parentName:"ol"},"Select the aggregation function from the dropdown. This is the function that will be used to aggregate the data."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:l(22870).Z,width:"2880",height:"1480"})),(0,n.kt)("h3",{id:"aggregation-functions"},"Aggregation Functions"),(0,n.kt)("p",null,"Here's a table with brief descriptions for each of the aggregation functions supported by NocoDB:"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Aggregation Function"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Count"),(0,n.kt)("td",{parentName:"tr",align:null},"Counts the number of records in a dataset.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Minimum"),(0,n.kt)("td",{parentName:"tr",align:null},"Retrieves the minimum value from a dataset.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Maximum"),(0,n.kt)("td",{parentName:"tr",align:null},"Retrieves the maximum value from a dataset.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Average"),(0,n.kt)("td",{parentName:"tr",align:null},"Calculates the average value in a dataset.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sum"),(0,n.kt)("td",{parentName:"tr",align:null},"Adds up all the values in a dataset.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Count Distinct"),(0,n.kt)("td",{parentName:"tr",align:null},"Counts the number of distinct values in a dataset.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sum Distinct"),(0,n.kt)("td",{parentName:"tr",align:null},"Adds up all the distinct values in a dataset.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Average Distinct"),(0,n.kt)("td",{parentName:"tr",align:null},"Calculates the average of distinct values in a dataset.")))),(0,n.kt)("h2",{id:"similar-links-based-fields"},"Similar links-based fields"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/links-based/links"},"Links")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/links-based/lookup"},"Lookup"))))}c.isMDXComponent=!0},22870:(e,t,l)=>{l.d(t,{Z:()=>a});const a=l.p+"assets/images/rollup-bf68cdbc91743484a43f978f74ce18ef.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/cfe1d2b7.e157c52a.js b/packages/noco-docs/dist/assets/js/cfe1d2b7.e157c52a.js deleted file mode 100644 index db8f79cb0a..0000000000 --- a/packages/noco-docs/dist/assets/js/cfe1d2b7.e157c52a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[8466],{58137:e=>{e.exports=JSON.parse('{"name":"docusaurus-theme-search-typesense","id":"default"}')}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/d767d123.35c7072a.js b/packages/noco-docs/dist/assets/js/d767d123.35c7072a.js deleted file mode 100644 index f9d7c1f5b7..0000000000 --- a/packages/noco-docs/dist/assets/js/d767d123.35c7072a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4743],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function s(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=n.createContext({}),p=function(e){var t=n.useContext(r),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},c=function(e){var t=p(e.components);return n.createElement(r.Provider,{value:t},e.children)},d="mdxType",b={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,l=e.originalType,r=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),d=p(a),m=i,h=d["".concat(r,".").concat(m)]||d[m]||b[m]||l;return a?n.createElement(h,s(s({ref:t},c),{},{components:a})):n.createElement(h,s({ref:t},c))}));function h(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=a.length,s=new Array(l);s[0]=m;var o={};for(var r in t)hasOwnProperty.call(t,r)&&(o[r]=t[r]);o.originalType=e,o[d]="string"==typeof e?e:i,s[1]=o;for(var p=2;p{a.r(t),a.d(t,{assets:()=>r,contentTitle:()=>s,default:()=>b,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var n=a(87462),i=(a(67294),a(3905));const l={title:"Actions on base",description:"Actions you can perform on a base in NocoDB: Rename, duplicate, delete, star a base.",tags:["Bases","Rename","Duplicate","Delete","Relations","Swagger","REST APIs"],keywords:["NocoDB base","base rename","base duplicate","base delete","base star","base context menu","base owner","base collaboration","base actions"]},s=void 0,o={unversionedId:"bases/actions-on-base",id:"bases/actions-on-base",title:"Actions on base",description:"Actions you can perform on a base in NocoDB: Rename, duplicate, delete, star a base.",source:"@site/docs/040.bases/070.actions-on-base.md",sourceDirName:"040.bases",slug:"/bases/actions-on-base",permalink:"/bases/actions-on-base",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/040.bases/070.actions-on-base.md",tags:[{label:"Bases",permalink:"/tags/bases"},{label:"Rename",permalink:"/tags/rename"},{label:"Duplicate",permalink:"/tags/duplicate"},{label:"Delete",permalink:"/tags/delete"},{label:"Relations",permalink:"/tags/relations"},{label:"Swagger",permalink:"/tags/swagger"},{label:"REST APIs",permalink:"/tags/rest-ap-is"}],version:"current",sidebarPosition:70,frontMatter:{title:"Actions on base",description:"Actions you can perform on a base in NocoDB: Rename, duplicate, delete, star a base.",tags:["Bases","Rename","Duplicate","Delete","Relations","Swagger","REST APIs"],keywords:["NocoDB base","base rename","base duplicate","base delete","base star","base context menu","base owner","base collaboration","base actions"]},sidebar:"tutorialSidebar",previous:{title:"Share base",permalink:"/bases/share-base"},next:{title:"Table overview",permalink:"/tables/table-overview"}},r={},p=[{value:"Base context menu",id:"base-context-menu",level:2},{value:"Rename base",id:"rename-base",level:2},{value:"Star base",id:"star-base",level:2},{value:"Remove a base from starred list",id:"remove-a-base-from-starred-list",level:3},{value:"Duplicate base",id:"duplicate-base",level:2},{value:"Delete base",id:"delete-base",level:2},{value:"Developer features",id:"developer-features",level:2},{value:"Base settings",id:"base-settings",level:3},{value:"REST APIs",id:"rest-apis",level:3},{value:"Relations",id:"relations",level:3},{value:"Related articles",id:"related-articles",level:2}],c={toc:p},d="wrapper";function b(e){let{components:t,...l}=e;return(0,i.kt)(d,(0,n.Z)({},c,l,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"base-context-menu"},"Base context menu"),(0,i.kt)("p",null,"The base context menu offers a selection of swift actions that can be executed on a base. To access this menu, click on the ellipsis symbol (",(0,i.kt)("inlineCode",{parentName:"p"},"..."),") located adjacent to the base name within the left sidebar.\n",(0,i.kt)("img",{alt:"base context menu",src:a(66831).Z,width:"2876",height:"1412"})),(0,i.kt)("h2",{id:"rename-base"},"Rename base"),(0,i.kt)("p",null,"To modify the name of a base, you can easily do so by following these steps:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"Rename")," option."),(0,i.kt)("li",{parentName:"ol"},"Input the new name for the base directly within the field provided and then press the ",(0,i.kt)("inlineCode",{parentName:"li"},"Enter")," key to confirm and save the updated name.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base context menu",src:a(66831).Z,width:"2876",height:"1412"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base rename",src:a(34810).Z,width:"2876",height:"970"})),(0,i.kt)("h2",{id:"star-base"},"Star base"),(0,i.kt)("p",null,"You can star a base by following simple steps below:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"Add to Starred")," option."),(0,i.kt)("li",{parentName:"ol"},'Subsequently, the designated base will be placed into the "Starred" section, conveniently positioned within the left sidebar.')),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base context menu",src:a(66831).Z,width:"2876",height:"1412"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base starred",src:a(49581).Z,width:"2878",height:"1022"})),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Starred base will appear in both ",(0,i.kt)("inlineCode",{parentName:"p"},"Starred")," section and ",(0,i.kt)("inlineCode",{parentName:"p"},"All Bases")," section on the left sidebar.")),(0,i.kt)("h3",{id:"remove-a-base-from-starred-list"},"Remove a base from starred list"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"Remove from Starred")," option."),(0,i.kt)("li",{parentName:"ol"},"Subsequently, the designated base will be removed from the ",(0,i.kt)("inlineCode",{parentName:"li"},"Starred")," section.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(49879).Z,width:"2878",height:"1414"})),(0,i.kt)("h2",{id:"duplicate-base"},"Duplicate base"),(0,i.kt)("p",null,"To duplicate a base, you can follow these straightforward steps:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"Duplicate")," option."),(0,i.kt)("li",{parentName:"ol"},"Optionally, you can configure the duplication process with the following choices:\na) ",(0,i.kt)("inlineCode",{parentName:"li"},"Include data"),": You have the flexibility to choose whether to duplicate the base with or without its data.\nb) ",(0,i.kt)("inlineCode",{parentName:"li"},"Include views"),": You can decide whether to duplicate the base with or without its views."),(0,i.kt)("li",{parentName:"ol"},"Click the ",(0,i.kt)("inlineCode",{parentName:"li"},"Confirm")," button in the confirmation modal that pops up."),(0,i.kt)("li",{parentName:"ol"},"A new base will be created, mirroring the original base's schema and data/views based on the configurations specified in step 3.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base context menu",src:a(66831).Z,width:"2876",height:"1412"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(99065).Z,width:"2876",height:"1008"})),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("ul",{parentName:"admonition"},(0,i.kt)("li",{parentName:"ul"},"A duplicate base will be generated within the same workspace as the original base."),(0,i.kt)("li",{parentName:"ul"},"The duplicated base will be suffixed with ",(0,i.kt)("inlineCode",{parentName:"li"}," Copy")," in its name."),(0,i.kt)("li",{parentName:"ul"},"You will be designated as the ",(0,i.kt)("inlineCode",{parentName:"li"},"base owner")," upon the duplication of the base."),(0,i.kt)("li",{parentName:"ul"},"Existing base members will not be transferred to the duplicated base."))),(0,i.kt)("h2",{id:"delete-base"},"Delete base"),(0,i.kt)("p",null,"If you determine that a base is no longer necessary, you have the option to permanently remove it from your workspace. Deleting a base will delete all the tables and data associated with it."),(0,i.kt)("admonition",{type:"danger"},(0,i.kt)("p",{parentName:"admonition"},(0,i.kt)("strong",{parentName:"p"},"This action cannot be undone."))),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Only ",(0,i.kt)("strong",{parentName:"p"},"base owner")," can delete a workspace.")),(0,i.kt)("p",null,"To delete a base:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"Delete")," option."),(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Delete base")," button on the confirmation dialog box.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base context menu",src:a(66831).Z,width:"2876",height:"1412"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base delete",src:a(30521).Z,width:"2876",height:"1156"})),(0,i.kt)("h2",{id:"developer-features"},"Developer features"),(0,i.kt)("h3",{id:"base-settings"},"Base settings"),(0,i.kt)("p",null,"Some general configurations are available for you to modify within the base settings."),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("strong",{parentName:"li"},"Show M2M tables"),": Toggle this option to display/hide M2M tables within the left sidebar. Many-to-many relation is supported via a junction table & is hidden by default."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("strong",{parentName:"li"},"Show NULL in cells"),": Toggle this option to display/hide NULL values within the cells of the table. This helps differentiate against cells holding EMPTY string."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("strong",{parentName:"li"},"Show NULL & Empty in Filters"),": Enable 'additional' filters to differentiate fields containing NULL & Empty Strings. Default support for Blank treats both NULL & Empty strings alike.")),(0,i.kt)("p",null,"To configure base settings, you can follow these steps:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"Settings")," option.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base context menu",src:a(66831).Z,width:"2876",height:"1412"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"bsae settings",src:a(53920).Z,width:"2876",height:"1146"})),(0,i.kt)("h3",{id:"rest-apis"},"REST APIs"),(0,i.kt)("p",null,"NocoDB provides a Swagger UI for each base. To access the Swagger UI, follow these steps:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"REST APIs")," option.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base context menu",src:a(66831).Z,width:"2876",height:"1412"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"swagger",src:a(4230).Z,width:"2874",height:"1746"})),(0,i.kt)("h3",{id:"relations"},"Relations"),(0,i.kt)("p",null,"NocoDB provides a visual representation of the relations between tables within a base. To access the relations diagram, follow these steps:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"Relations")," option.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base context menu",src:a(66831).Z,width:"2876",height:"1412"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base relations",src:a(5929).Z,width:"2876",height:"1796"})),(0,i.kt)("h2",{id:"related-articles"},"Related articles"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/base-overview"},"Base overview")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/create-base"},"Create an empty base")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/import-base-from-airtable"},"Import base from Airtable")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/base-collaboration"},"Invite team members to work on a base")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/share-base"},"Share base publicly")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/actions-on-base#rename-base"},"Rename base")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/actions-on-base#duplicate-base"},"Duplicate base")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/actions-on-base#star-base"},"Bookmark base")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/actions-on-base#delete-base"},"Delete base"))))}b.isMDXComponent=!0},66831:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-context-menu-8cdc9e3b6c6f450d66cb324e8ea1feea.png"},30521:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-delete-15390ff1d15eddee39ea1ea63f72a6af.png"},99065:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-duplicate-88ebe6a5fcc9c36b5f7d76b65726d9b5.png"},5929:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-relations-aaa09c0623353f552c7b90a8aa6beacb.png"},49879:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-remove-from-starred-a5fc6ed9e9cbc2251844fc0cd8afba24.png"},34810:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-rename-027fd5fbcdca058a00c8213c263d1836.png"},53920:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-settings-194c9bb15d79c76f4bfea5746a077125.png"},49581:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-starred-082719a6b8a527be8b23a2d511867ccd.png"},4230:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-swagger-66b41d2cd5d5e0a8f51ff026b6cfab85.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/d767d123.e75b1e9e.js b/packages/noco-docs/dist/assets/js/d767d123.e75b1e9e.js new file mode 100644 index 0000000000..b48a8f1b82 --- /dev/null +++ b/packages/noco-docs/dist/assets/js/d767d123.e75b1e9e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4743],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function s(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=n.createContext({}),p=function(e){var t=n.useContext(r),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},c=function(e){var t=p(e.components);return n.createElement(r.Provider,{value:t},e.children)},d="mdxType",b={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,l=e.originalType,r=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),d=p(a),m=i,h=d["".concat(r,".").concat(m)]||d[m]||b[m]||l;return a?n.createElement(h,s(s({ref:t},c),{},{components:a})):n.createElement(h,s({ref:t},c))}));function h(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=a.length,s=new Array(l);s[0]=m;var o={};for(var r in t)hasOwnProperty.call(t,r)&&(o[r]=t[r]);o.originalType=e,o[d]="string"==typeof e?e:i,s[1]=o;for(var p=2;p{a.r(t),a.d(t,{assets:()=>r,contentTitle:()=>s,default:()=>b,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var n=a(87462),i=(a(67294),a(3905));const l={title:"Actions on base",description:"Actions you can perform on a base in NocoDB: Rename, duplicate, delete, star a base.",tags:["Bases","Rename","Duplicate","Delete","Relations","Swagger","REST APIs"],keywords:["NocoDB base","base rename","base duplicate","base delete","base star","base context menu","base owner","base collaboration","base actions"]},s=void 0,o={unversionedId:"bases/actions-on-base",id:"bases/actions-on-base",title:"Actions on base",description:"Actions you can perform on a base in NocoDB: Rename, duplicate, delete, star a base.",source:"@site/docs/040.bases/070.actions-on-base.md",sourceDirName:"040.bases",slug:"/bases/actions-on-base",permalink:"/bases/actions-on-base",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/040.bases/070.actions-on-base.md",tags:[{label:"Bases",permalink:"/tags/bases"},{label:"Rename",permalink:"/tags/rename"},{label:"Duplicate",permalink:"/tags/duplicate"},{label:"Delete",permalink:"/tags/delete"},{label:"Relations",permalink:"/tags/relations"},{label:"Swagger",permalink:"/tags/swagger"},{label:"REST APIs",permalink:"/tags/rest-ap-is"}],version:"current",sidebarPosition:70,frontMatter:{title:"Actions on base",description:"Actions you can perform on a base in NocoDB: Rename, duplicate, delete, star a base.",tags:["Bases","Rename","Duplicate","Delete","Relations","Swagger","REST APIs"],keywords:["NocoDB base","base rename","base duplicate","base delete","base star","base context menu","base owner","base collaboration","base actions"]},sidebar:"tutorialSidebar",previous:{title:"Share base",permalink:"/bases/share-base"},next:{title:"Table overview",permalink:"/tables/table-overview"}},r={},p=[{value:"Base context menu",id:"base-context-menu",level:2},{value:"Rename base",id:"rename-base",level:2},{value:"Star base",id:"star-base",level:2},{value:"Remove a base from starred list",id:"remove-a-base-from-starred-list",level:3},{value:"Duplicate base",id:"duplicate-base",level:2},{value:"Delete base",id:"delete-base",level:2},{value:"Developer features",id:"developer-features",level:2},{value:"Base settings",id:"base-settings",level:3},{value:"REST APIs",id:"rest-apis",level:3},{value:"Relations",id:"relations",level:3},{value:"Related articles",id:"related-articles",level:2}],c={toc:p},d="wrapper";function b(e){let{components:t,...l}=e;return(0,i.kt)(d,(0,n.Z)({},c,l,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"base-context-menu"},"Base context menu"),(0,i.kt)("p",null,"The base context menu offers a selection of swift actions that can be executed on a base. To access this menu, click on the ellipsis symbol (",(0,i.kt)("inlineCode",{parentName:"p"},"..."),") located adjacent to the base name within the left sidebar.\n",(0,i.kt)("img",{alt:"base context menu",src:a(40086).Z,width:"2880",height:"1800"})),(0,i.kt)("h2",{id:"rename-base"},"Rename base"),(0,i.kt)("p",null,"To modify the name of a base, you can easily do so by following these steps:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"Rename")," option."),(0,i.kt)("li",{parentName:"ol"},"Input the new name for the base directly within the field provided and then press the ",(0,i.kt)("inlineCode",{parentName:"li"},"Enter")," key to confirm and save the updated name.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base context menu",src:a(40086).Z,width:"2880",height:"1800"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base rename",src:a(99021).Z,width:"2878",height:"1216"})),(0,i.kt)("h2",{id:"star-base"},"Star base"),(0,i.kt)("p",null,"You can star a base by following simple steps below:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"Add to Starred")," option."),(0,i.kt)("li",{parentName:"ol"},'Subsequently, the designated base will be placed into the "Starred" section, conveniently positioned within the left sidebar.')),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base context menu",src:a(40086).Z,width:"2880",height:"1800"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base starred",src:a(55035).Z,width:"2878",height:"1168"})),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Starred base will appear in both ",(0,i.kt)("inlineCode",{parentName:"p"},"Starred")," section and ",(0,i.kt)("inlineCode",{parentName:"p"},"All Bases")," section on the left sidebar.")),(0,i.kt)("h3",{id:"remove-a-base-from-starred-list"},"Remove a base from starred list"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"Remove from Starred")," option."),(0,i.kt)("li",{parentName:"ol"},"Subsequently, the designated base will be removed from the ",(0,i.kt)("inlineCode",{parentName:"li"},"Starred")," section.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(41549).Z,width:"2878",height:"1324"})),(0,i.kt)("h2",{id:"duplicate-base"},"Duplicate base"),(0,i.kt)("p",null,"To duplicate a base, you can follow these straightforward steps:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"Duplicate")," option."),(0,i.kt)("li",{parentName:"ol"},"Optionally, you can configure the duplication process with the following choices:\na) ",(0,i.kt)("inlineCode",{parentName:"li"},"Include data"),": You have the flexibility to choose whether to duplicate the base with or without its data.\nb) ",(0,i.kt)("inlineCode",{parentName:"li"},"Include views"),": You can decide whether to duplicate the base with or without its views."),(0,i.kt)("li",{parentName:"ol"},"Click the ",(0,i.kt)("inlineCode",{parentName:"li"},"Confirm")," button in the confirmation modal that pops up."),(0,i.kt)("li",{parentName:"ol"},"A new base will be created, mirroring the original base's schema and data/views based on the configurations specified in step 3.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base context menu",src:a(40086).Z,width:"2880",height:"1800"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(96325).Z,width:"2876",height:"1234"})),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("ul",{parentName:"admonition"},(0,i.kt)("li",{parentName:"ul"},"A duplicate base will be generated within the same workspace as the original base."),(0,i.kt)("li",{parentName:"ul"},"The duplicated base will be suffixed with ",(0,i.kt)("inlineCode",{parentName:"li"}," Copy")," in its name."),(0,i.kt)("li",{parentName:"ul"},"You will be designated as the ",(0,i.kt)("inlineCode",{parentName:"li"},"base owner")," upon the duplication of the base."),(0,i.kt)("li",{parentName:"ul"},"Existing base members will not be transferred to the duplicated base."))),(0,i.kt)("h2",{id:"delete-base"},"Delete base"),(0,i.kt)("p",null,"If you determine that a base is no longer necessary, you have the option to permanently remove it from your workspace. Deleting a base will delete all the tables and data associated with it."),(0,i.kt)("admonition",{type:"danger"},(0,i.kt)("p",{parentName:"admonition"},(0,i.kt)("strong",{parentName:"p"},"This action cannot be undone."))),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Only ",(0,i.kt)("strong",{parentName:"p"},"base owner")," can delete a workspace.")),(0,i.kt)("p",null,"To delete a base:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"Delete")," option."),(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Delete base")," button on the confirmation dialog box.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base context menu",src:a(40086).Z,width:"2880",height:"1800"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base delete",src:a(6624).Z,width:"2878",height:"1800"})),(0,i.kt)("h2",{id:"developer-features"},"Developer features"),(0,i.kt)("h3",{id:"base-settings"},"Base settings"),(0,i.kt)("p",null,"Some general configurations are available for you to modify within the base settings."),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("strong",{parentName:"li"},"Show M2M tables"),": Toggle this option to display/hide M2M tables within the left sidebar. Many-to-many relation is supported via a junction table & is hidden by default."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("strong",{parentName:"li"},"Show NULL in cells"),": Toggle this option to display/hide NULL values within the cells of the table. This helps differentiate against cells holding EMPTY string."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("strong",{parentName:"li"},"Show NULL & Empty in Filters"),": Enable 'additional' filters to differentiate fields containing NULL & Empty Strings. Default support for Blank treats both NULL & Empty strings alike.")),(0,i.kt)("p",null,"To configure base settings, you can follow these steps:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"Settings")," option.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base context menu",src:a(40086).Z,width:"2880",height:"1800"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"bsae settings",src:a(40287).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"rest-apis"},"REST APIs"),(0,i.kt)("p",null,"NocoDB provides a Swagger UI for each base. To access the Swagger UI, follow these steps:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"REST APIs")," option.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base context menu",src:a(40086).Z,width:"2880",height:"1800"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"swagger",src:a(47366).Z,width:"2874",height:"1746"})),(0,i.kt)("h3",{id:"relations"},"Relations"),(0,i.kt)("p",null,"NocoDB provides a visual representation of the relations between tables within a base. To access the relations diagram, follow these steps:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Initiate the base context menu by clicking on the ellipses ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," located next to the base name within the left sidebar."),(0,i.kt)("li",{parentName:"ol"},"In the dropdown menu that appears, choose the ",(0,i.kt)("inlineCode",{parentName:"li"},"Relations")," option.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base context menu",src:a(40086).Z,width:"2880",height:"1800"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"base relations",src:a(56867).Z,width:"2880",height:"1800"})),(0,i.kt)("h2",{id:"related-articles"},"Related articles"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/base-overview"},"Base overview")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/create-base"},"Create an empty base")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/import-base-from-airtable"},"Import base from Airtable")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/base-collaboration"},"Invite team members to work on a base")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/share-base"},"Share base publicly")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/actions-on-base#rename-base"},"Rename base")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/actions-on-base#duplicate-base"},"Duplicate base")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/actions-on-base#star-base"},"Bookmark base")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/bases/actions-on-base#delete-base"},"Delete base"))))}b.isMDXComponent=!0},40086:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-context-menu-8cdc9e3b6c6f450d66cb324e8ea1feea.png"},6624:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-delete-15390ff1d15eddee39ea1ea63f72a6af.png"},96325:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-duplicate-88ebe6a5fcc9c36b5f7d76b65726d9b5.png"},56867:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-relations-aaa09c0623353f552c7b90a8aa6beacb.png"},41549:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-remove-from-starred-a5fc6ed9e9cbc2251844fc0cd8afba24.png"},99021:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-rename-027fd5fbcdca058a00c8213c263d1836.png"},40287:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-settings-194c9bb15d79c76f4bfea5746a077125.png"},55035:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-starred-082719a6b8a527be8b23a2d511867ccd.png"},47366:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/base-swagger-66b41d2cd5d5e0a8f51ff026b6cfab85.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/da4f93ee.15205e4b.js b/packages/noco-docs/dist/assets/js/da4f93ee.87e6ee2b.js similarity index 91% rename from packages/noco-docs/dist/assets/js/da4f93ee.15205e4b.js rename to packages/noco-docs/dist/assets/js/da4f93ee.87e6ee2b.js index aca06e1c43..25fd4d0a93 100644 --- a/packages/noco-docs/dist/assets/js/da4f93ee.15205e4b.js +++ b/packages/noco-docs/dist/assets/js/da4f93ee.87e6ee2b.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4882],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>m});var l=i(67294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function d(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var r=l.createContext({}),s=function(e){var t=l.useContext(r),i=t;return e&&(i="function"==typeof e?e(t):d(d({},t),e)),i},c=function(e){var t=s(e.components);return l.createElement(r.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},f=l.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,r=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),p=s(i),f=n,m=p["".concat(r,".").concat(f)]||p[f]||u[f]||a;return i?l.createElement(m,d(d({ref:t},c),{},{components:i})):l.createElement(m,d({ref:t},c))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,d=new Array(a);d[0]=f;var o={};for(var r in t)hasOwnProperty.call(t,r)&&(o[r]=t[r]);o.originalType=e,o[p]="string"==typeof e?e:n,d[1]=o;for(var s=2;s{i.r(t),i.d(t,{assets:()=>r,contentTitle:()=>d,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>s});var l=i(87462),n=(i(67294),i(3905));const a={title:"Multi-field editor",description:"Understanding use of multi-field editor in NocoDB!",tags:["Fields","Multi-fields editor","Productivity hacks"],keywords:["NocoDB fields editor","fields editor","fields editor in nocoDB"]},d=void 0,o={unversionedId:"fields/multi-fields-editor",id:"fields/multi-fields-editor",title:"Multi-field editor",description:"Understanding use of multi-field editor in NocoDB!",source:"@site/docs/070.fields/050.multi-fields-editor.md",sourceDirName:"070.fields",slug:"/fields/multi-fields-editor",permalink:"/fields/multi-fields-editor",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/050.multi-fields-editor.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Multi-fields editor",permalink:"/tags/multi-fields-editor"},{label:"Productivity hacks",permalink:"/tags/productivity-hacks"}],version:"current",sidebarPosition:50,frontMatter:{title:"Multi-field editor",description:"Understanding use of multi-field editor in NocoDB!",tags:["Fields","Multi-fields editor","Productivity hacks"],keywords:["NocoDB fields editor","fields editor","fields editor in nocoDB"]},sidebar:"tutorialSidebar",previous:{title:"Duration",permalink:"/fields/field-types/date-time-based/duration"},next:{title:"Actions on field",permalink:"/fields/actions-on-field"}},r={},s=[{value:"Accessing the Multi-Field Editor",id:"accessing-the-multi-field-editor",level:2},{value:"Adding fields",id:"adding-fields",level:2},{value:"Editing fields",id:"editing-fields",level:2},{value:"Deleting fields",id:"deleting-fields",level:2},{value:"Reordering fields",id:"reordering-fields",level:2},{value:"Show / Hide fields",id:"show--hide-fields",level:2}],c={toc:s},p="wrapper";function u(e){let{components:t,...a}=e;return(0,n.kt)(p,(0,l.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"NocoDB offers a handy tool for easily managing the fields within a table. With this tool, you can add, modify, rename, arrange, or hide fields efficiently. It's particularly useful when creating a new table structure or making changes to an existing one."),(0,n.kt)("h2",{id:"accessing-the-multi-field-editor"},"Accessing the Multi-Field Editor"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Navigate to the table you wish to edit"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Details")," in the navbar"),(0,n.kt)("li",{parentName:"ol"},"Select ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields")," tab")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Access",src:i(67171).Z,width:"2880",height:"1824"})),(0,n.kt)("h2",{id:"adding-fields"},"Adding fields"),(0,n.kt)("p",null,"On the Multi-field editor page, "),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Add Field")," button to add a new field."),(0,n.kt)("li",{parentName:"ol"},"Enter the field name and select the field type; configure default value (optional)."),(0,n.kt)("li",{parentName:"ol"},"Field will be added to the end of the list. You can reorder the fields as needed. You can add / update multiple fields in one go & save all at once."),(0,n.kt)("li",{parentName:"ol"},"Click ",(0,n.kt)("inlineCode",{parentName:"li"},"Save changes")," button to save the changes.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Add field",src:i(39180).Z,width:"2880",height:"1800"})),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"You can add / update/ delete multiple fields & save changes in one go."),(0,n.kt)("li",{parentName:"ul"},"Use ",(0,n.kt)("inlineCode",{parentName:"li"},"Restore")," to discard edits to a particular field. Use ",(0,n.kt)("inlineCode",{parentName:"li"},"Reset")," to discard all active changes on multi-field editor."))),(0,n.kt)("h2",{id:"editing-fields"},"Editing fields"),(0,n.kt)("p",null,"On the Multi-field editor page,"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on the field you wish to edit."),(0,n.kt)("li",{parentName:"ol"},"Make the necessary changes in the ",(0,n.kt)("inlineCode",{parentName:"li"},"Edit Field")," modal. You can update the field name, type, default value, and other attributes."),(0,n.kt)("li",{parentName:"ol"},"Updates to the field are recorded in the fields list view. You can add / update multiple fields in one go & save all at once."),(0,n.kt)("li",{parentName:"ol"},"Click ",(0,n.kt)("inlineCode",{parentName:"li"},"Save changes")," button to save the changes.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Edit field",src:i(24327).Z,width:"2880",height:"1800"})),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"You can add / update/ delete multiple fields & save changes in one go. "),(0,n.kt)("li",{parentName:"ul"},"Use ",(0,n.kt)("inlineCode",{parentName:"li"},"Restore")," to discard edits to a particular field. Use ",(0,n.kt)("inlineCode",{parentName:"li"},"Reset")," to discard all active changes on multi-field editor."))),(0,n.kt)("h2",{id:"deleting-fields"},"Deleting fields"),(0,n.kt)("p",null,"On the Multi-field editor page,"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Hover over the field you wish to delete, select ",(0,n.kt)("inlineCode",{parentName:"li"},"...")," icon to open context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Delete")," option to delete the field."),(0,n.kt)("li",{parentName:"ol"},"Deletions in the table are recorded in the fields list view. You can delete multiple fields in one go & save all at once."),(0,n.kt)("li",{parentName:"ol"},"Click ",(0,n.kt)("inlineCode",{parentName:"li"},"Save changes")," button to save the changes.")),(0,n.kt)("p",null,"After all the changes are made, click ",(0,n.kt)("inlineCode",{parentName:"p"},"Save changes")," button to save the changes."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Delete field",src:i(92766).Z,width:"2880",height:"1800"})),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Delete field",src:i(10853).Z,width:"2880",height:"1800"})),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"You can add / update/ delete multiple fields & save changes in one go."),(0,n.kt)("li",{parentName:"ul"},"Use ",(0,n.kt)("inlineCode",{parentName:"li"},"Restore")," to discard edits to a particular field. Use ",(0,n.kt)("inlineCode",{parentName:"li"},"Reset")," to discard all active changes on multi-field editor."))),(0,n.kt)("h2",{id:"reordering-fields"},"Reordering fields"),(0,n.kt)("p",null,"On the Multi-field editor page, use ",(0,n.kt)("inlineCode",{parentName:"p"},"drag-drop")," handle to drag and drop the fields to reorder them."),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"The changes will only be saved when you click ",(0,n.kt)("inlineCode",{parentName:"p"},"Save changes")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Reorder fields",src:i(40169).Z,width:"2880",height:"1800"})),(0,n.kt)("h2",{id:"show--hide-fields"},"Show / Hide fields"),(0,n.kt)("p",null,"On the Multi-field editor page, use the ",(0,n.kt)("inlineCode",{parentName:"p"},"toggle")," button next to the fields to show or hide them."),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"The changes will only be saved when you click ",(0,n.kt)("inlineCode",{parentName:"p"},"Save changes")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Show / Hide fields",src:i(93750).Z,width:"2880",height:"1800"})))}u.isMDXComponent=!0},67171:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/editor-1-ddd6d6729461087c92975c45ce91d6f5.png"},39180:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/editor-2-0667da2fd4b01aff63dd46bd6de88c45.png"},24327:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/editor-3-ad3441d6a5768c22f4492f08b27f1e1c.png"},92766:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/editor-4-fe455a4c037d3a57453c392882011d3f.png"},10853:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/editor-5-c94a775143e65de178bf5433a3d065e0.png"},93750:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/editor-6-b620074db2f4712246b9cc176b31fbf4.png"},40169:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/editor-7-70e0e1228c366d69cbe4b261fa7e0368.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4882],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>m});var l=i(67294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function d(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var r=l.createContext({}),s=function(e){var t=l.useContext(r),i=t;return e&&(i="function"==typeof e?e(t):d(d({},t),e)),i},c=function(e){var t=s(e.components);return l.createElement(r.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},f=l.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,r=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),p=s(i),f=n,m=p["".concat(r,".").concat(f)]||p[f]||u[f]||a;return i?l.createElement(m,d(d({ref:t},c),{},{components:i})):l.createElement(m,d({ref:t},c))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,d=new Array(a);d[0]=f;var o={};for(var r in t)hasOwnProperty.call(t,r)&&(o[r]=t[r]);o.originalType=e,o[p]="string"==typeof e?e:n,d[1]=o;for(var s=2;s{i.r(t),i.d(t,{assets:()=>r,contentTitle:()=>d,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>s});var l=i(87462),n=(i(67294),i(3905));const a={title:"Multi-field editor",description:"Understanding use of multi-field editor in NocoDB!",tags:["Fields","Multi-fields editor","Productivity hacks"],keywords:["NocoDB fields editor","fields editor","fields editor in nocoDB"]},d=void 0,o={unversionedId:"fields/multi-fields-editor",id:"fields/multi-fields-editor",title:"Multi-field editor",description:"Understanding use of multi-field editor in NocoDB!",source:"@site/docs/070.fields/050.multi-fields-editor.md",sourceDirName:"070.fields",slug:"/fields/multi-fields-editor",permalink:"/fields/multi-fields-editor",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/050.multi-fields-editor.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Multi-fields editor",permalink:"/tags/multi-fields-editor"},{label:"Productivity hacks",permalink:"/tags/productivity-hacks"}],version:"current",sidebarPosition:50,frontMatter:{title:"Multi-field editor",description:"Understanding use of multi-field editor in NocoDB!",tags:["Fields","Multi-fields editor","Productivity hacks"],keywords:["NocoDB fields editor","fields editor","fields editor in nocoDB"]},sidebar:"tutorialSidebar",previous:{title:"Duration",permalink:"/fields/field-types/date-time-based/duration"},next:{title:"Actions on field",permalink:"/fields/actions-on-field"}},r={},s=[{value:"Accessing the Multi-Field Editor",id:"accessing-the-multi-field-editor",level:2},{value:"Adding fields",id:"adding-fields",level:2},{value:"Editing fields",id:"editing-fields",level:2},{value:"Deleting fields",id:"deleting-fields",level:2},{value:"Reordering fields",id:"reordering-fields",level:2},{value:"Show / Hide fields",id:"show--hide-fields",level:2}],c={toc:s},p="wrapper";function u(e){let{components:t,...a}=e;return(0,n.kt)(p,(0,l.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"NocoDB offers a handy tool for easily managing the fields within a table. With this tool, you can add, modify, rename, arrange, or hide fields efficiently. It's particularly useful when creating a new table structure or making changes to an existing one."),(0,n.kt)("h2",{id:"accessing-the-multi-field-editor"},"Accessing the Multi-Field Editor"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Navigate to the table you wish to edit"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Details")," in the navbar"),(0,n.kt)("li",{parentName:"ol"},"Select ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields")," tab")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Access",src:i(51775).Z,width:"2880",height:"1824"})),(0,n.kt)("h2",{id:"adding-fields"},"Adding fields"),(0,n.kt)("p",null,"On the Multi-field editor page, "),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Add Field")," button to add a new field."),(0,n.kt)("li",{parentName:"ol"},"Enter the field name and select the field type; configure default value (optional)."),(0,n.kt)("li",{parentName:"ol"},"Field will be added to the end of the list. You can reorder the fields as needed. You can add / update multiple fields in one go & save all at once."),(0,n.kt)("li",{parentName:"ol"},"Click ",(0,n.kt)("inlineCode",{parentName:"li"},"Save changes")," button to save the changes.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Add field",src:i(85870).Z,width:"2880",height:"1800"})),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"You can add / update/ delete multiple fields & save changes in one go."),(0,n.kt)("li",{parentName:"ul"},"Use ",(0,n.kt)("inlineCode",{parentName:"li"},"Restore")," to discard edits to a particular field. Use ",(0,n.kt)("inlineCode",{parentName:"li"},"Reset")," to discard all active changes on multi-field editor."))),(0,n.kt)("h2",{id:"editing-fields"},"Editing fields"),(0,n.kt)("p",null,"On the Multi-field editor page,"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on the field you wish to edit."),(0,n.kt)("li",{parentName:"ol"},"Make the necessary changes in the ",(0,n.kt)("inlineCode",{parentName:"li"},"Edit Field")," modal. You can update the field name, type, default value, and other attributes."),(0,n.kt)("li",{parentName:"ol"},"Updates to the field are recorded in the fields list view. You can add / update multiple fields in one go & save all at once."),(0,n.kt)("li",{parentName:"ol"},"Click ",(0,n.kt)("inlineCode",{parentName:"li"},"Save changes")," button to save the changes.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Edit field",src:i(32722).Z,width:"2880",height:"1800"})),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"You can add / update/ delete multiple fields & save changes in one go. "),(0,n.kt)("li",{parentName:"ul"},"Use ",(0,n.kt)("inlineCode",{parentName:"li"},"Restore")," to discard edits to a particular field. Use ",(0,n.kt)("inlineCode",{parentName:"li"},"Reset")," to discard all active changes on multi-field editor."))),(0,n.kt)("h2",{id:"deleting-fields"},"Deleting fields"),(0,n.kt)("p",null,"On the Multi-field editor page,"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Hover over the field you wish to delete, select ",(0,n.kt)("inlineCode",{parentName:"li"},"...")," icon to open context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Delete")," option to delete the field."),(0,n.kt)("li",{parentName:"ol"},"Deletions in the table are recorded in the fields list view. You can delete multiple fields in one go & save all at once."),(0,n.kt)("li",{parentName:"ol"},"Click ",(0,n.kt)("inlineCode",{parentName:"li"},"Save changes")," button to save the changes.")),(0,n.kt)("p",null,"After all the changes are made, click ",(0,n.kt)("inlineCode",{parentName:"p"},"Save changes")," button to save the changes."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Delete field",src:i(71623).Z,width:"2880",height:"1800"})),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Delete field",src:i(18749).Z,width:"2880",height:"1800"})),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"You can add / update/ delete multiple fields & save changes in one go."),(0,n.kt)("li",{parentName:"ul"},"Use ",(0,n.kt)("inlineCode",{parentName:"li"},"Restore")," to discard edits to a particular field. Use ",(0,n.kt)("inlineCode",{parentName:"li"},"Reset")," to discard all active changes on multi-field editor."))),(0,n.kt)("h2",{id:"reordering-fields"},"Reordering fields"),(0,n.kt)("p",null,"On the Multi-field editor page, use ",(0,n.kt)("inlineCode",{parentName:"p"},"drag-drop")," handle to drag and drop the fields to reorder them."),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"The changes will only be saved when you click ",(0,n.kt)("inlineCode",{parentName:"p"},"Save changes")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Reorder fields",src:i(74932).Z,width:"2880",height:"1800"})),(0,n.kt)("h2",{id:"show--hide-fields"},"Show / Hide fields"),(0,n.kt)("p",null,"On the Multi-field editor page, use the ",(0,n.kt)("inlineCode",{parentName:"p"},"toggle")," button next to the fields to show or hide them."),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"The changes will only be saved when you click ",(0,n.kt)("inlineCode",{parentName:"p"},"Save changes")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Show / Hide fields",src:i(46531).Z,width:"2880",height:"1800"})))}u.isMDXComponent=!0},51775:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/editor-1-ddd6d6729461087c92975c45ce91d6f5.png"},85870:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/editor-2-0667da2fd4b01aff63dd46bd6de88c45.png"},32722:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/editor-3-ad3441d6a5768c22f4492f08b27f1e1c.png"},71623:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/editor-4-fe455a4c037d3a57453c392882011d3f.png"},18749:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/editor-5-c94a775143e65de178bf5433a3d065e0.png"},46531:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/editor-6-b620074db2f4712246b9cc176b31fbf4.png"},74932:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/editor-7-70e0e1228c366d69cbe4b261fa7e0368.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/ded49de4.41121548.js b/packages/noco-docs/dist/assets/js/ded49de4.d9e697bc.js similarity index 98% rename from packages/noco-docs/dist/assets/js/ded49de4.41121548.js rename to packages/noco-docs/dist/assets/js/ded49de4.d9e697bc.js index a811d0a268..d44f4c12ac 100644 --- a/packages/noco-docs/dist/assets/js/ded49de4.41121548.js +++ b/packages/noco-docs/dist/assets/js/ded49de4.d9e697bc.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[9868],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>c});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),p=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},m=function(e){var t=p(e.components);return r.createElement(o.Provider,{value:t},e.children)},s="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,m=d(e,["components","mdxType","originalType","parentName"]),s=p(a),f=n,c=s["".concat(o,".").concat(f)]||s[f]||u[f]||l;return a?r.createElement(c,i(i({ref:t},m),{},{components:a})):r.createElement(c,i({ref:t},m))}));function c(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=f;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d[s]="string"==typeof e?e:n,i[1]=d;for(var p=2;p{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>d,toc:()=>p});var r=a(87462),n=(a(67294),a(3905));const l={title:"Date Time",description:"This article explains how to create & work with a Date Time field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create date time field"]},i=void 0,d={unversionedId:"fields/field-types/date-time-based/date-time",id:"fields/field-types/date-time-based/date-time",title:"Date Time",description:"This article explains how to create & work with a Date Time field.",source:"@site/docs/070.fields/040.field-types/070.date-time-based/010.date-time.md",sourceDirName:"070.fields/040.field-types/070.date-time-based",slug:"/fields/field-types/date-time-based/date-time",permalink:"/fields/field-types/date-time-based/date-time",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/070.date-time-based/010.date-time.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Date & Time",permalink:"/tags/date-time"}],version:"current",sidebarPosition:10,frontMatter:{title:"Date Time",description:"This article explains how to create & work with a Date Time field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create date time field"]},sidebar:"tutorialSidebar",previous:{title:"Conditional expressions",permalink:"/fields/field-types/formula/conditional-expressions"},next:{title:"Date",permalink:"/fields/field-types/date-time-based/date"}},o={},p=[{value:"Create a date time field",id:"create-a-date-time-field",level:2},{value:"Supported date formats",id:"supported-date-formats",level:3},{value:"Supported time formats",id:"supported-time-formats",level:3},{value:"Related fields",id:"related-fields",level:2}],m={toc:p},s="wrapper";function u(e){let{components:t,...l}=e;return(0,n.kt)(s,(0,r.Z)({},m,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Date Time")," field type is used to store both date and time values in a single field."),(0,n.kt)("h2",{id:"create-a-date-time-field"},"Create a date time field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"DateTime")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Configure ",(0,n.kt)("inlineCode",{parentName:"li"},"Date Format")),(0,n.kt)("li",{parentName:"ol"},"Configure ",(0,n.kt)("inlineCode",{parentName:"li"},"Time Format")),(0,n.kt)("li",{parentName:"ol"},"Configure default value (Optional)"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:a(32317).Z,width:"2876",height:"1494"})),(0,n.kt)("h3",{id:"supported-date-formats"},"Supported date formats"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Format"),(0,n.kt)("th",{parentName:"tr",align:null},"Example"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"YYYY-MM-DD"),(0,n.kt)("td",{parentName:"tr",align:null},"2023-09-22")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"YYYY/MM/DD"),(0,n.kt)("td",{parentName:"tr",align:null},"2023/09/22")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"DD-MM-YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"22-09-2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"MM-DD-YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"09-22-2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"DD/MM/YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"22/09/2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"MM/DD/YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"09/22/2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"DD MM YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"22 09 2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"MM DD YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"09 22 2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"YYYY MM DD"),(0,n.kt)("td",{parentName:"tr",align:null},"2023 09 22")))),(0,n.kt)("h3",{id:"supported-time-formats"},"Supported time formats"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Format"),(0,n.kt)("th",{parentName:"tr",align:null},"Example"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"HH:mm:ss"),(0,n.kt)("td",{parentName:"tr",align:null},"12:45:30")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"HH:mm"),(0,n.kt)("td",{parentName:"tr",align:null},"14:20")))),(0,n.kt)("h2",{id:"related-fields"},"Related fields"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/date"},"Date")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/time"},"Time")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/duration"},"Duration"))))}u.isMDXComponent=!0},32317:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/datetime-b83c4ad4a6b314544003b8b721c323a2.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[9868],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>c});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),p=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},m=function(e){var t=p(e.components);return r.createElement(o.Provider,{value:t},e.children)},s="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,m=d(e,["components","mdxType","originalType","parentName"]),s=p(a),f=n,c=s["".concat(o,".").concat(f)]||s[f]||u[f]||l;return a?r.createElement(c,i(i({ref:t},m),{},{components:a})):r.createElement(c,i({ref:t},m))}));function c(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=f;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d[s]="string"==typeof e?e:n,i[1]=d;for(var p=2;p{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>d,toc:()=>p});var r=a(87462),n=(a(67294),a(3905));const l={title:"Date Time",description:"This article explains how to create & work with a Date Time field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create date time field"]},i=void 0,d={unversionedId:"fields/field-types/date-time-based/date-time",id:"fields/field-types/date-time-based/date-time",title:"Date Time",description:"This article explains how to create & work with a Date Time field.",source:"@site/docs/070.fields/040.field-types/070.date-time-based/010.date-time.md",sourceDirName:"070.fields/040.field-types/070.date-time-based",slug:"/fields/field-types/date-time-based/date-time",permalink:"/fields/field-types/date-time-based/date-time",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/070.date-time-based/010.date-time.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Date & Time",permalink:"/tags/date-time"}],version:"current",sidebarPosition:10,frontMatter:{title:"Date Time",description:"This article explains how to create & work with a Date Time field.",tags:["Fields","Field types","Date & Time"],keywords:["Fields","Field types","Date & Time","Create date time field"]},sidebar:"tutorialSidebar",previous:{title:"Conditional expressions",permalink:"/fields/field-types/formula/conditional-expressions"},next:{title:"Date",permalink:"/fields/field-types/date-time-based/date"}},o={},p=[{value:"Create a date time field",id:"create-a-date-time-field",level:2},{value:"Supported date formats",id:"supported-date-formats",level:3},{value:"Supported time formats",id:"supported-time-formats",level:3},{value:"Related fields",id:"related-fields",level:2}],m={toc:p},s="wrapper";function u(e){let{components:t,...l}=e;return(0,n.kt)(s,(0,r.Z)({},m,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Date Time")," field type is used to store both date and time values in a single field."),(0,n.kt)("h2",{id:"create-a-date-time-field"},"Create a date time field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"DateTime")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Configure ",(0,n.kt)("inlineCode",{parentName:"li"},"Date Format")),(0,n.kt)("li",{parentName:"ol"},"Configure ",(0,n.kt)("inlineCode",{parentName:"li"},"Time Format")),(0,n.kt)("li",{parentName:"ol"},"Configure default value (Optional)"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:a(60658).Z,width:"2876",height:"1494"})),(0,n.kt)("h3",{id:"supported-date-formats"},"Supported date formats"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Format"),(0,n.kt)("th",{parentName:"tr",align:null},"Example"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"YYYY-MM-DD"),(0,n.kt)("td",{parentName:"tr",align:null},"2023-09-22")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"YYYY/MM/DD"),(0,n.kt)("td",{parentName:"tr",align:null},"2023/09/22")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"DD-MM-YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"22-09-2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"MM-DD-YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"09-22-2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"DD/MM/YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"22/09/2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"MM/DD/YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"09/22/2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"DD MM YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"22 09 2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"MM DD YYYY"),(0,n.kt)("td",{parentName:"tr",align:null},"09 22 2023")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"YYYY MM DD"),(0,n.kt)("td",{parentName:"tr",align:null},"2023 09 22")))),(0,n.kt)("h3",{id:"supported-time-formats"},"Supported time formats"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Format"),(0,n.kt)("th",{parentName:"tr",align:null},"Example"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"HH:mm:ss"),(0,n.kt)("td",{parentName:"tr",align:null},"12:45:30")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"HH:mm"),(0,n.kt)("td",{parentName:"tr",align:null},"14:20")))),(0,n.kt)("h2",{id:"related-fields"},"Related fields"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/date"},"Date")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/time"},"Time")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/date-time-based/duration"},"Duration"))))}u.isMDXComponent=!0},60658:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/datetime-b83c4ad4a6b314544003b8b721c323a2.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/e11b3e19.33ad4247.js b/packages/noco-docs/dist/assets/js/e11b3e19.ce554a5e.js similarity index 92% rename from packages/noco-docs/dist/assets/js/e11b3e19.33ad4247.js rename to packages/noco-docs/dist/assets/js/e11b3e19.ce554a5e.js index efb2006699..45e04411d6 100644 --- a/packages/noco-docs/dist/assets/js/e11b3e19.33ad4247.js +++ b/packages/noco-docs/dist/assets/js/e11b3e19.ce554a5e.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5650],{3905:(e,t,l)=>{l.d(t,{Zo:()=>d,kt:()=>b});var i=l(67294);function o(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function r(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,i)}return l}function n(e){for(var t=1;t=0||(o[l]=e[l]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(o[l]=e[l])}return o}var c=i.createContext({}),s=function(e){var t=i.useContext(c),l=t;return e&&(l="function"==typeof e?e(t):n(n({},t),e)),l},d=function(e){var t=s(e.components);return i.createElement(c.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},u=i.forwardRef((function(e,t){var l=e.components,o=e.mdxType,r=e.originalType,c=e.parentName,d=a(e,["components","mdxType","originalType","parentName"]),p=s(l),u=o,b=p["".concat(c,".").concat(u)]||p[u]||f[u]||r;return l?i.createElement(b,n(n({ref:t},d),{},{components:l})):i.createElement(b,n({ref:t},d))}));function b(e,t){var l=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=l.length,n=new Array(r);n[0]=u;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a[p]="string"==typeof e?e:o,n[1]=a;for(var s=2;s{l.r(t),l.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>f,frontMatter:()=>r,metadata:()=>a,toc:()=>s});var i=l(87462),o=(l(67294),l(3905));const r={title:"Checkbox",description:"This article explains how to create & work with a Checkbox field.",tags:["Fields","Field types","Custom types","Checkbox"],keywords:["Fields","Field types","Custom types","Checkbox","Create checkbox field"]},n=void 0,a={unversionedId:"fields/field-types/select-based/checkbox",id:"fields/field-types/select-based/checkbox",title:"Checkbox",description:"This article explains how to create & work with a Checkbox field.",source:"@site/docs/070.fields/040.field-types/030.select-based/020.checkbox.md",sourceDirName:"070.fields/040.field-types/030.select-based",slug:"/fields/field-types/select-based/checkbox",permalink:"/fields/field-types/select-based/checkbox",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/030.select-based/020.checkbox.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"Checkbox",permalink:"/tags/checkbox"}],version:"current",sidebarPosition:20,frontMatter:{title:"Checkbox",description:"This article explains how to create & work with a Checkbox field.",tags:["Fields","Field types","Custom types","Checkbox"],keywords:["Fields","Field types","Custom types","Checkbox","Create checkbox field"]},sidebar:"tutorialSidebar",previous:{title:"Single Select",permalink:"/fields/field-types/select-based/single-select"},next:{title:"Multi Select",permalink:"/fields/field-types/select-based/multi-select"}},c={},s=[{value:"Create a checkbox field",id:"create-a-checkbox-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"Supported icons",id:"supported-icons",level:3},{value:"Related fields",id:"related-fields",level:2}],d={toc:s},p="wrapper";function f(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,i.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"The checkbox field type is used to store boolean values. It can be used to store a simple yes/no value, or true/false, or any other boolean value."),(0,o.kt)("h2",{id:"create-a-checkbox-field"},"Create a checkbox field"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,o.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,o.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Select the field type as ",(0,o.kt)("inlineCode",{parentName:"li"},"Checkbox")," from the dropdown."),(0,o.kt)("li",{parentName:"ol"},"Select icon for the field; defaults to ",(0,o.kt)("inlineCode",{parentName:"li"},"check")," icon (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Select color for the field; defaults to ",(0,o.kt)("inlineCode",{parentName:"li"},"grey")," (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:l(25409).Z,width:"2874",height:"1396"})),(0,o.kt)("h3",{id:"cell-display"},"Cell display"),(0,o.kt)("p",null,"Cell displays the icon in the color selected for the field. A true value will be represented by a checked icon or a filled icon",(0,o.kt)("br",{parentName:"p"}),"\n",(0,o.kt)("img",{alt:"image",src:l(54081).Z,width:"1268",height:"513"})),(0,o.kt)("h3",{id:"supported-icons"},"Supported icons"),(0,o.kt)("p",null,"NocoDB supports the following icons for the checkbox field type.",(0,o.kt)("br",{parentName:"p"}),"\n",(0,o.kt)("img",{alt:"image",src:l(43321).Z,width:"401",height:"479"})),(0,o.kt)("h2",{id:"related-fields"},"Related fields"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/fields/field-types/select-based/rating"},"Rating"))))}f.isMDXComponent=!0},54081:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/attachment-cell-display-d0e036b051275db64f5a516ad8c604b5.png"},43321:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/checkbox-icon-50a0b9c5edbae35ca181d433419c943c.png"},25409:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/checkbox-d62bbc732b50b8328ce528b7a9496cee.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5650],{3905:(e,t,l)=>{l.d(t,{Zo:()=>d,kt:()=>b});var i=l(67294);function o(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function r(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,i)}return l}function n(e){for(var t=1;t=0||(o[l]=e[l]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(o[l]=e[l])}return o}var c=i.createContext({}),s=function(e){var t=i.useContext(c),l=t;return e&&(l="function"==typeof e?e(t):n(n({},t),e)),l},d=function(e){var t=s(e.components);return i.createElement(c.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},u=i.forwardRef((function(e,t){var l=e.components,o=e.mdxType,r=e.originalType,c=e.parentName,d=a(e,["components","mdxType","originalType","parentName"]),p=s(l),u=o,b=p["".concat(c,".").concat(u)]||p[u]||f[u]||r;return l?i.createElement(b,n(n({ref:t},d),{},{components:l})):i.createElement(b,n({ref:t},d))}));function b(e,t){var l=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=l.length,n=new Array(r);n[0]=u;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a[p]="string"==typeof e?e:o,n[1]=a;for(var s=2;s{l.r(t),l.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>f,frontMatter:()=>r,metadata:()=>a,toc:()=>s});var i=l(87462),o=(l(67294),l(3905));const r={title:"Checkbox",description:"This article explains how to create & work with a Checkbox field.",tags:["Fields","Field types","Custom types","Checkbox"],keywords:["Fields","Field types","Custom types","Checkbox","Create checkbox field"]},n=void 0,a={unversionedId:"fields/field-types/select-based/checkbox",id:"fields/field-types/select-based/checkbox",title:"Checkbox",description:"This article explains how to create & work with a Checkbox field.",source:"@site/docs/070.fields/040.field-types/030.select-based/020.checkbox.md",sourceDirName:"070.fields/040.field-types/030.select-based",slug:"/fields/field-types/select-based/checkbox",permalink:"/fields/field-types/select-based/checkbox",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/030.select-based/020.checkbox.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"Checkbox",permalink:"/tags/checkbox"}],version:"current",sidebarPosition:20,frontMatter:{title:"Checkbox",description:"This article explains how to create & work with a Checkbox field.",tags:["Fields","Field types","Custom types","Checkbox"],keywords:["Fields","Field types","Custom types","Checkbox","Create checkbox field"]},sidebar:"tutorialSidebar",previous:{title:"Single Select",permalink:"/fields/field-types/select-based/single-select"},next:{title:"Multi Select",permalink:"/fields/field-types/select-based/multi-select"}},c={},s=[{value:"Create a checkbox field",id:"create-a-checkbox-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"Supported icons",id:"supported-icons",level:3},{value:"Related fields",id:"related-fields",level:2}],d={toc:s},p="wrapper";function f(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,i.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"The checkbox field type is used to store boolean values. It can be used to store a simple yes/no value, or true/false, or any other boolean value."),(0,o.kt)("h2",{id:"create-a-checkbox-field"},"Create a checkbox field"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,o.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,o.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Select the field type as ",(0,o.kt)("inlineCode",{parentName:"li"},"Checkbox")," from the dropdown."),(0,o.kt)("li",{parentName:"ol"},"Select icon for the field; defaults to ",(0,o.kt)("inlineCode",{parentName:"li"},"check")," icon (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Select color for the field; defaults to ",(0,o.kt)("inlineCode",{parentName:"li"},"grey")," (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,o.kt)("li",{parentName:"ol"},"Click on ",(0,o.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"image",src:l(57034).Z,width:"2874",height:"1396"})),(0,o.kt)("h3",{id:"cell-display"},"Cell display"),(0,o.kt)("p",null,"Cell displays the icon in the color selected for the field. A true value will be represented by a checked icon or a filled icon",(0,o.kt)("br",{parentName:"p"}),"\n",(0,o.kt)("img",{alt:"image",src:l(62484).Z,width:"1268",height:"513"})),(0,o.kt)("h3",{id:"supported-icons"},"Supported icons"),(0,o.kt)("p",null,"NocoDB supports the following icons for the checkbox field type.",(0,o.kt)("br",{parentName:"p"}),"\n",(0,o.kt)("img",{alt:"image",src:l(53006).Z,width:"401",height:"479"})),(0,o.kt)("h2",{id:"related-fields"},"Related fields"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/fields/field-types/select-based/rating"},"Rating"))))}f.isMDXComponent=!0},62484:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/attachment-cell-display-d0e036b051275db64f5a516ad8c604b5.png"},53006:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/checkbox-icon-50a0b9c5edbae35ca181d433419c943c.png"},57034:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/checkbox-d62bbc732b50b8328ce528b7a9496cee.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/e302cfc9.d9580788.js b/packages/noco-docs/dist/assets/js/e302cfc9.7c7be6e0.js similarity index 96% rename from packages/noco-docs/dist/assets/js/e302cfc9.d9580788.js rename to packages/noco-docs/dist/assets/js/e302cfc9.7c7be6e0.js index aea4662aec..d65e6a7d75 100644 --- a/packages/noco-docs/dist/assets/js/e302cfc9.d9580788.js +++ b/packages/noco-docs/dist/assets/js/e302cfc9.7c7be6e0.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1313],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function s(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=n.createContext({}),p=function(e){var t=n.useContext(r),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},c=function(e){var t=p(e.components);return n.createElement(r.Provider,{value:t},e.children)},m="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,l=e.originalType,r=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),m=p(a),u=i,h=m["".concat(r,".").concat(u)]||m[u]||d[u]||l;return a?n.createElement(h,s(s({ref:t},c),{},{components:a})):n.createElement(h,s({ref:t},c))}));function h(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=a.length,s=new Array(l);s[0]=u;var o={};for(var r in t)hasOwnProperty.call(t,r)&&(o[r]=t[r]);o.originalType=e,o[m]="string"==typeof e?e:i,s[1]=o;for(var p=2;p{a.r(t),a.d(t,{assets:()=>r,contentTitle:()=>s,default:()=>b,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var n=a(87462),i=(a(67294),a(3905));const l={title:"Table details overview",description:"Table details overview",tags:["Table details","Table","Overview"],keywords:["table details","table overview","table"]},s=void 0,o={unversionedId:"table-details/table-details-overview",id:"table-details/table-details-overview",title:"Table details overview",description:"Table details overview",source:"@site/docs/065.table-details/table-details-overview.md",sourceDirName:"065.table-details",slug:"/table-details/table-details-overview",permalink:"/table-details/table-details-overview",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/065.table-details/table-details-overview.md",tags:[{label:"Table details",permalink:"/tags/table-details"},{label:"Table",permalink:"/tags/table"},{label:"Overview",permalink:"/tags/overview"}],version:"current",frontMatter:{title:"Table details overview",description:"Table details overview",tags:["Table details","Table","Overview"],keywords:["table details","table overview","table"]},sidebar:"tutorialSidebar",previous:{title:"Download",permalink:"/table-operations/download"},next:{title:"Fields overview",permalink:"/fields/fields-overview"}},r={},p=[{value:"Fields",id:"fields",level:2},{value:"Relations",id:"relations",level:2},{value:"API Snippet",id:"api-snippet",level:2},{value:"Sample snippets",id:"sample-snippets",level:3},{value:"Supported Snippet",id:"supported-snippet",level:2},{value:"Shell",id:"shell",level:3},{value:"Javascript",id:"javascript",level:3},{value:"Node",id:"node",level:3},{value:"NocoDB SDK",id:"nocodb-sdk",level:3},{value:"PHP",id:"php",level:3},{value:"Python",id:"python",level:3},{value:"Ruby",id:"ruby",level:3},{value:"Java",id:"java",level:3},{value:"C",id:"c",level:3},{value:"Webhook",id:"webhook",level:2}],c=e=>function(t){return console.warn("Component "+e+" was not imported, exported, or provided by MDXProvider as global scope"),(0,i.kt)("div",t)},m=c("Tabs"),d=c("TabItem"),u={toc:p},h="wrapper";function b(e){let{components:t,...l}=e;return(0,i.kt)(h,(0,n.Z)({},u,l,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"Table Details")," section houses various tools & utilities to manage & work with your table schema & data. This essentially is a place for 'Creators' to build & manage their tables quickly. ",(0,i.kt)("inlineCode",{parentName:"p"},"Details")," section is accessible using the ",(0,i.kt)("inlineCode",{parentName:"p"},"Data-Details")," toggle switcher in the top navbar. "),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(52243).Z,width:"2876",height:"208"})),(0,i.kt)("p",null,"This section is divided into 4 parts:"),(0,i.kt)("h2",{id:"fields"},"Fields"),(0,i.kt)("p",null,"Fields is a multi-field table schema editor that allows you to add, edit, delete and reorder fields quickly & easily from one place. Additional details about multi-field editor can be found ",(0,i.kt)("a",{parentName:"p",href:"/fields/multi-fields-editor"},"here")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(63955).Z,width:"2880",height:"1800"})),(0,i.kt)("h2",{id:"relations"},"Relations"),(0,i.kt)("p",null,"Relations are vital for managing data connections in a database. In a complex schema, it's essential to have a clear understanding of these connections because they:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Maintain data accuracy."),(0,i.kt)("li",{parentName:"ol"},"Enhance query efficiency."),(0,i.kt)("li",{parentName:"ol"},"Aid in logical schema design."),(0,i.kt)("li",{parentName:"ol"},"Support data analysis."),(0,i.kt)("li",{parentName:"ol"},"Enable proper application development.")),(0,i.kt)("p",null,"Visualizing these relations through an Entity Relationship Diagram (ERD) simplifies their comprehension and management, especially as the database grows in complexity."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(29613).Z,width:"2880",height:"1800"})),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"You can drag drop the tables to rearrange them in the diagram. Note that, such reordering will not persist across sessions.")),(0,i.kt)("h2",{id:"api-snippet"},"API Snippet"),(0,i.kt)("p",null,"NocoDB provides programmatic access to your data via REST APIs. API snippets in NocoDB offer ready-made code examples in various programming languages, simplifying the process of integrating your data with external applications. These snippets save time and effort by providing a quick and easy reference for developers, enabling them to interact with your NocoDB database programmatically without the need to write code from scratch."),(0,i.kt)("p",null,"A quick snippet for different scripts & languages is listed in this section."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(30175).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"sample-snippets"},"Sample snippets"),(0,i.kt)(m,{mdxType:"Tabs"},(0,i.kt)(d,{value:"Shell",label:"Shell",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"curl --request GET \\\n --url 'http://localhost:8080/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer?offset=0&limit=25&where=' \\\n --header 'xc-auth: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU'\n"))),(0,i.kt)(d,{value:"Javascript",label:"Javascript",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"import axios from \"axios\";\n\nconst options = {\n method: 'GET',\n url: 'http://localhost:8080/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer',\n params: {offset: '0', limit: '25', where: ''},\n headers: {\n 'xc-auth': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU'\n }\n};\n\naxios.request(options).then(function (response) {\n console.log(response.data);\n}).catch(function (error) {\n console.error(error);\n});\n"))),(0,i.kt)(d,{value:"Node",label:"Node",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"var axios = require(\"axios\").default;\n\nvar options = {\n method: 'GET',\n url: 'http://localhost:8080/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer',\n params: {offset: '0', limit: '25', where: ''},\n headers: {\n 'xc-auth': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU'\n }\n};\n\naxios.request(options).then(function (response) {\n console.log(response.data);\n}).catch(function (error) {\n console.error(error);\n});\n"))),(0,i.kt)(d,{value:"NocoDB SDK",label:"NocoDB SDK",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},'import { Api } from "nocodb-sdk";\nconst api = new Api({\n baseURL: "http://localhost:8080",\n headers: {\n "xc-auth": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU"\n }\n})\n\napi.dbViewRow.list(\n "noco",\n "ExternalDB",\n "Customer",\n "Customer", {\n "offset": 0,\n "limit": 25,\n "where": ""\n}).then(function (data) {\n console.log(data);\n}).catch(function (error) {\n console.error(error);\n});\n'))),(0,i.kt)(d,{value:"PHP",label:"PHP",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},' "8080",\n CURLOPT_URL => "http://localhost:8080/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer?offset=0&limit=25&where=",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => "",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => "GET",\n CURLOPT_HTTPHEADER => [\n "xc-auth: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU"\n ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo "cURL Error #:" . $err;\n} else {\n echo $response;\n}\n'))),(0,i.kt)(d,{value:"Python",label:"Python",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},'import http.client\n\nconn = http.client.HTTPConnection("localhost:8080")\n\nheaders = { \'xc-auth\': "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU" }\n\nconn.request("GET", "/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer?offset=0&limit=25&where=", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode("utf-8"))\n'))),(0,i.kt)(d,{value:"Ruby",label:"Ruby",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"require 'uri'\nrequire 'net/http'\n\nurl = URI(\"http://localhost:8080/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer?offset=0&limit=25&where=\")\n\nhttp = Net::HTTP.new(url.host, url.port)\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"xc-auth\"] = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU'\n\nresponse = http.request(request)\nputs response.read_body\n"))),(0,i.kt)(d,{value:"Java",label:"Java",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},'HttpResponse response = Unirest.get("http://localhost:8080/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer?offset=0&limit=25&where=")\n .header("xc-auth", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU")\n .asString();\n'))),(0,i.kt)(d,{value:"C",label:"C",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},'CURL *hnd = curl_easy_init();\n\ncurl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");\ncurl_easy_setopt(hnd, CURLOPT_URL, "http://localhost:8080/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer?offset=0&limit=25&where=");\n\nstruct curl_slist *headers = NULL;\nheaders = curl_slist_append(headers, "xc-auth: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU");\ncurl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);\n\nCURLcode ret = curl_easy_perform(hnd);\n')))),(0,i.kt)("h2",{id:"supported-snippet"},"Supported Snippet"),(0,i.kt)("h3",{id:"shell"},"Shell"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"cURL"),(0,i.kt)("li",{parentName:"ul"},"wget")),(0,i.kt)("h3",{id:"javascript"},"Javascript"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Axios"),(0,i.kt)("li",{parentName:"ul"},"Fetch"),(0,i.kt)("li",{parentName:"ul"},"jQuery"),(0,i.kt)("li",{parentName:"ul"},"XHR")),(0,i.kt)("h3",{id:"node"},"Node"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Axios"),(0,i.kt)("li",{parentName:"ul"},"Fetch"),(0,i.kt)("li",{parentName:"ul"},"Request"),(0,i.kt)("li",{parentName:"ul"},"Native"),(0,i.kt)("li",{parentName:"ul"},"Unirest")),(0,i.kt)("h3",{id:"nocodb-sdk"},"NocoDB SDK"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Javascript"),(0,i.kt)("li",{parentName:"ul"},"Node")),(0,i.kt)("h3",{id:"php"},"PHP"),(0,i.kt)("h3",{id:"python"},"Python"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"http.client"),(0,i.kt)("li",{parentName:"ul"},"request")),(0,i.kt)("h3",{id:"ruby"},"Ruby"),(0,i.kt)("h3",{id:"java"},"Java"),(0,i.kt)("h3",{id:"c"},"C"),(0,i.kt)("h2",{id:"webhook"},"Webhook"),(0,i.kt)("p",null,"Webhooks are essential for real-time communication and automation between NocoDB and external systems. They serve several crucial purposes:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Instant Notifications:")," Webhooks enable immediate notifications when there are changes in your NocoDB database. This real-time information can be crucial for timely responses to important events, such as new data entries, updates, or deletions.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Automation:")," They facilitate the automation of processes by triggering actions in external systems based on database events. For example, you can automate tasks like sending emails, updating spreadsheets, or syncing data with other applications in response to changes in NocoDB.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Integration:")," Webhooks allow you to seamlessly integrate NocoDB with other tools and services, enhancing the overall functionality of your database. This integration can streamline workflows, improve data consistency, and reduce manual data entry.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Bulk Operations:")," NocoDB's support for webhooks in bulk endpoints makes it efficient to handle multiple records simultaneously. This is especially useful when dealing with large datasets or when you need to perform batch operations in external systems."))),(0,i.kt)("p",null,"In summary, webhooks in NocoDB empower you to create dynamic, responsive, and interconnected workflows by keeping external systems in sync with your database's activities."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(30731).Z,width:"2880",height:"1800"})),(0,i.kt)("p",null,"Note that, Webhooks currently are specific for associated table. Additional procedural details about webhooks can be found ",(0,i.kt)("a",{parentName:"p",href:"/automation/webhook/webhook-overview"},"here")))}b.isMDXComponent=!0},30175:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/details-api-snippet-78906ef3b2248845b8955eed84a3031e.png"},63955:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/details-field-editor-6b80e39a53b09c20af27e53b9777ea9a.png"},29613:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/details-relations-0716794b3e749928f581e2a2f78931a3.png"},52243:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/details-tab-8aeca1f70ead223a641ead51b82e97f5.png"},30731:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/details-webhook-834a408cf5a6b9d711ac6ab63a1eaa4a.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[1313],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function s(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var r=n.createContext({}),p=function(e){var t=n.useContext(r),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},c=function(e){var t=p(e.components);return n.createElement(r.Provider,{value:t},e.children)},m="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,l=e.originalType,r=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),m=p(a),u=i,h=m["".concat(r,".").concat(u)]||m[u]||d[u]||l;return a?n.createElement(h,s(s({ref:t},c),{},{components:a})):n.createElement(h,s({ref:t},c))}));function h(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=a.length,s=new Array(l);s[0]=u;var o={};for(var r in t)hasOwnProperty.call(t,r)&&(o[r]=t[r]);o.originalType=e,o[m]="string"==typeof e?e:i,s[1]=o;for(var p=2;p{a.r(t),a.d(t,{assets:()=>r,contentTitle:()=>s,default:()=>b,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var n=a(87462),i=(a(67294),a(3905));const l={title:"Table details overview",description:"Table details overview",tags:["Table details","Table","Overview"],keywords:["table details","table overview","table"]},s=void 0,o={unversionedId:"table-details/table-details-overview",id:"table-details/table-details-overview",title:"Table details overview",description:"Table details overview",source:"@site/docs/065.table-details/table-details-overview.md",sourceDirName:"065.table-details",slug:"/table-details/table-details-overview",permalink:"/table-details/table-details-overview",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/065.table-details/table-details-overview.md",tags:[{label:"Table details",permalink:"/tags/table-details"},{label:"Table",permalink:"/tags/table"},{label:"Overview",permalink:"/tags/overview"}],version:"current",frontMatter:{title:"Table details overview",description:"Table details overview",tags:["Table details","Table","Overview"],keywords:["table details","table overview","table"]},sidebar:"tutorialSidebar",previous:{title:"Download",permalink:"/table-operations/download"},next:{title:"Fields overview",permalink:"/fields/fields-overview"}},r={},p=[{value:"Fields",id:"fields",level:2},{value:"Relations",id:"relations",level:2},{value:"API Snippet",id:"api-snippet",level:2},{value:"Sample snippets",id:"sample-snippets",level:3},{value:"Supported Snippet",id:"supported-snippet",level:2},{value:"Shell",id:"shell",level:3},{value:"Javascript",id:"javascript",level:3},{value:"Node",id:"node",level:3},{value:"NocoDB SDK",id:"nocodb-sdk",level:3},{value:"PHP",id:"php",level:3},{value:"Python",id:"python",level:3},{value:"Ruby",id:"ruby",level:3},{value:"Java",id:"java",level:3},{value:"C",id:"c",level:3},{value:"Webhook",id:"webhook",level:2}],c=e=>function(t){return console.warn("Component "+e+" was not imported, exported, or provided by MDXProvider as global scope"),(0,i.kt)("div",t)},m=c("Tabs"),d=c("TabItem"),u={toc:p},h="wrapper";function b(e){let{components:t,...l}=e;return(0,i.kt)(h,(0,n.Z)({},u,l,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"Table Details")," section houses various tools & utilities to manage & work with your table schema & data. This essentially is a place for 'Creators' to build & manage their tables quickly. ",(0,i.kt)("inlineCode",{parentName:"p"},"Details")," section is accessible using the ",(0,i.kt)("inlineCode",{parentName:"p"},"Data-Details")," toggle switcher in the top navbar. "),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(48352).Z,width:"2876",height:"208"})),(0,i.kt)("p",null,"This section is divided into 4 parts:"),(0,i.kt)("h2",{id:"fields"},"Fields"),(0,i.kt)("p",null,"Fields is a multi-field table schema editor that allows you to add, edit, delete and reorder fields quickly & easily from one place. Additional details about multi-field editor can be found ",(0,i.kt)("a",{parentName:"p",href:"/fields/multi-fields-editor"},"here")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(50710).Z,width:"2880",height:"1800"})),(0,i.kt)("h2",{id:"relations"},"Relations"),(0,i.kt)("p",null,"Relations are vital for managing data connections in a database. In a complex schema, it's essential to have a clear understanding of these connections because they:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Maintain data accuracy."),(0,i.kt)("li",{parentName:"ol"},"Enhance query efficiency."),(0,i.kt)("li",{parentName:"ol"},"Aid in logical schema design."),(0,i.kt)("li",{parentName:"ol"},"Support data analysis."),(0,i.kt)("li",{parentName:"ol"},"Enable proper application development.")),(0,i.kt)("p",null,"Visualizing these relations through an Entity Relationship Diagram (ERD) simplifies their comprehension and management, especially as the database grows in complexity."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(83735).Z,width:"2880",height:"1800"})),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"You can drag drop the tables to rearrange them in the diagram. Note that, such reordering will not persist across sessions.")),(0,i.kt)("h2",{id:"api-snippet"},"API Snippet"),(0,i.kt)("p",null,"NocoDB provides programmatic access to your data via REST APIs. API snippets in NocoDB offer ready-made code examples in various programming languages, simplifying the process of integrating your data with external applications. These snippets save time and effort by providing a quick and easy reference for developers, enabling them to interact with your NocoDB database programmatically without the need to write code from scratch."),(0,i.kt)("p",null,"A quick snippet for different scripts & languages is listed in this section."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(92611).Z,width:"2880",height:"1800"})),(0,i.kt)("h3",{id:"sample-snippets"},"Sample snippets"),(0,i.kt)(m,{mdxType:"Tabs"},(0,i.kt)(d,{value:"Shell",label:"Shell",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"curl --request GET \\\n --url 'http://localhost:8080/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer?offset=0&limit=25&where=' \\\n --header 'xc-auth: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU'\n"))),(0,i.kt)(d,{value:"Javascript",label:"Javascript",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"import axios from \"axios\";\n\nconst options = {\n method: 'GET',\n url: 'http://localhost:8080/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer',\n params: {offset: '0', limit: '25', where: ''},\n headers: {\n 'xc-auth': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU'\n }\n};\n\naxios.request(options).then(function (response) {\n console.log(response.data);\n}).catch(function (error) {\n console.error(error);\n});\n"))),(0,i.kt)(d,{value:"Node",label:"Node",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"var axios = require(\"axios\").default;\n\nvar options = {\n method: 'GET',\n url: 'http://localhost:8080/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer',\n params: {offset: '0', limit: '25', where: ''},\n headers: {\n 'xc-auth': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU'\n }\n};\n\naxios.request(options).then(function (response) {\n console.log(response.data);\n}).catch(function (error) {\n console.error(error);\n});\n"))),(0,i.kt)(d,{value:"NocoDB SDK",label:"NocoDB SDK",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},'import { Api } from "nocodb-sdk";\nconst api = new Api({\n baseURL: "http://localhost:8080",\n headers: {\n "xc-auth": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU"\n }\n})\n\napi.dbViewRow.list(\n "noco",\n "ExternalDB",\n "Customer",\n "Customer", {\n "offset": 0,\n "limit": 25,\n "where": ""\n}).then(function (data) {\n console.log(data);\n}).catch(function (error) {\n console.error(error);\n});\n'))),(0,i.kt)(d,{value:"PHP",label:"PHP",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},' "8080",\n CURLOPT_URL => "http://localhost:8080/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer?offset=0&limit=25&where=",\n CURLOPT_RETURNTRANSFER => true,\n CURLOPT_ENCODING => "",\n CURLOPT_MAXREDIRS => 10,\n CURLOPT_TIMEOUT => 30,\n CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n CURLOPT_CUSTOMREQUEST => "GET",\n CURLOPT_HTTPHEADER => [\n "xc-auth: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU"\n ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n echo "cURL Error #:" . $err;\n} else {\n echo $response;\n}\n'))),(0,i.kt)(d,{value:"Python",label:"Python",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},'import http.client\n\nconn = http.client.HTTPConnection("localhost:8080")\n\nheaders = { \'xc-auth\': "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU" }\n\nconn.request("GET", "/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer?offset=0&limit=25&where=", headers=headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode("utf-8"))\n'))),(0,i.kt)(d,{value:"Ruby",label:"Ruby",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"require 'uri'\nrequire 'net/http'\n\nurl = URI(\"http://localhost:8080/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer?offset=0&limit=25&where=\")\n\nhttp = Net::HTTP.new(url.host, url.port)\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"xc-auth\"] = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU'\n\nresponse = http.request(request)\nputs response.read_body\n"))),(0,i.kt)(d,{value:"Java",label:"Java",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},'HttpResponse response = Unirest.get("http://localhost:8080/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer?offset=0&limit=25&where=")\n .header("xc-auth", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU")\n .asString();\n'))),(0,i.kt)(d,{value:"C",label:"C",mdxType:"TabItem"},(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-bash"},'CURL *hnd = curl_easy_init();\n\ncurl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");\ncurl_easy_setopt(hnd, CURLOPT_URL, "http://localhost:8080/api/v1/db/data/noco/p18h72lcfwzpsvu/Customer/views/Customer?offset=0&limit=25&where=");\n\nstruct curl_slist *headers = NULL;\nheaders = curl_slist_append(headers, "xc-auth: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InVzZXJAbm9jb2RiLmNvbSIsImRpc3BsYXlfbmFtZSI6IlJpY2hhcmQiLCJhdmF0YXIiOm51bGwsInVzZXJfbmFtZSI6bnVsbCwiaWQiOiJ1c3ExbGNpeWp4ejh5bzY4Iiwicm9sZXMiOnsib3JnLWxldmVsLXZpZXdlciI6dHJ1ZX0sInRva2VuX3ZlcnNpb24iOiI0ZjUyOTUxZGQwOTZmMTVjMTY0Y2U5MDM1OTk1YzlmMDE1MTJjMGNjOThkYmRiMDU2ZmFhM2JhZWE1OWY4Y2QzMTcyN2FjOWZkMTJjNDA2ZiIsImlhdCI6MTY5NTk5MTg0NywiZXhwIjoxNjk2MDI3ODQ3fQ.I7P5caoiDSO4j_3D032XxWxxXwyEju6pL5y3Mnu_MNU");\ncurl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);\n\nCURLcode ret = curl_easy_perform(hnd);\n')))),(0,i.kt)("h2",{id:"supported-snippet"},"Supported Snippet"),(0,i.kt)("h3",{id:"shell"},"Shell"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"cURL"),(0,i.kt)("li",{parentName:"ul"},"wget")),(0,i.kt)("h3",{id:"javascript"},"Javascript"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Axios"),(0,i.kt)("li",{parentName:"ul"},"Fetch"),(0,i.kt)("li",{parentName:"ul"},"jQuery"),(0,i.kt)("li",{parentName:"ul"},"XHR")),(0,i.kt)("h3",{id:"node"},"Node"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Axios"),(0,i.kt)("li",{parentName:"ul"},"Fetch"),(0,i.kt)("li",{parentName:"ul"},"Request"),(0,i.kt)("li",{parentName:"ul"},"Native"),(0,i.kt)("li",{parentName:"ul"},"Unirest")),(0,i.kt)("h3",{id:"nocodb-sdk"},"NocoDB SDK"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Javascript"),(0,i.kt)("li",{parentName:"ul"},"Node")),(0,i.kt)("h3",{id:"php"},"PHP"),(0,i.kt)("h3",{id:"python"},"Python"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"http.client"),(0,i.kt)("li",{parentName:"ul"},"request")),(0,i.kt)("h3",{id:"ruby"},"Ruby"),(0,i.kt)("h3",{id:"java"},"Java"),(0,i.kt)("h3",{id:"c"},"C"),(0,i.kt)("h2",{id:"webhook"},"Webhook"),(0,i.kt)("p",null,"Webhooks are essential for real-time communication and automation between NocoDB and external systems. They serve several crucial purposes:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Instant Notifications:")," Webhooks enable immediate notifications when there are changes in your NocoDB database. This real-time information can be crucial for timely responses to important events, such as new data entries, updates, or deletions.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Automation:")," They facilitate the automation of processes by triggering actions in external systems based on database events. For example, you can automate tasks like sending emails, updating spreadsheets, or syncing data with other applications in response to changes in NocoDB.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Integration:")," Webhooks allow you to seamlessly integrate NocoDB with other tools and services, enhancing the overall functionality of your database. This integration can streamline workflows, improve data consistency, and reduce manual data entry.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Bulk Operations:")," NocoDB's support for webhooks in bulk endpoints makes it efficient to handle multiple records simultaneously. This is especially useful when dealing with large datasets or when you need to perform batch operations in external systems."))),(0,i.kt)("p",null,"In summary, webhooks in NocoDB empower you to create dynamic, responsive, and interconnected workflows by keeping external systems in sync with your database's activities."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(30349).Z,width:"2880",height:"1800"})),(0,i.kt)("p",null,"Note that, Webhooks currently are specific for associated table. Additional procedural details about webhooks can be found ",(0,i.kt)("a",{parentName:"p",href:"/automation/webhook/webhook-overview"},"here")))}b.isMDXComponent=!0},92611:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/details-api-snippet-78906ef3b2248845b8955eed84a3031e.png"},50710:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/details-field-editor-6b80e39a53b09c20af27e53b9777ea9a.png"},83735:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/details-relations-0716794b3e749928f581e2a2f78931a3.png"},48352:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/details-tab-8aeca1f70ead223a641ead51b82e97f5.png"},30349:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/details-webhook-834a408cf5a6b9d711ac6ab63a1eaa4a.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/e4367861.d460a6d1.js b/packages/noco-docs/dist/assets/js/e4367861.4f2366a4.js similarity index 94% rename from packages/noco-docs/dist/assets/js/e4367861.d460a6d1.js rename to packages/noco-docs/dist/assets/js/e4367861.4f2366a4.js index 7effb21f25..0865a38143 100644 --- a/packages/noco-docs/dist/assets/js/e4367861.d460a6d1.js +++ b/packages/noco-docs/dist/assets/js/e4367861.4f2366a4.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[6263],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>b});var l=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,l)}return a}function r(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var p=l.createContext({}),d=function(e){var t=l.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},m=function(e){var t=d(e.components);return l.createElement(p.Provider,{value:t},e.children)},s="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},u=l.forwardRef((function(e,t){var a=e.components,i=e.mdxType,n=e.originalType,p=e.parentName,m=o(e,["components","mdxType","originalType","parentName"]),s=d(a),u=i,b=s["".concat(p,".").concat(u)]||s[u]||c[u]||n;return a?l.createElement(b,r(r({ref:t},m),{},{components:a})):l.createElement(b,r({ref:t},m))}));function b(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=a.length,r=new Array(n);r[0]=u;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[s]="string"==typeof e?e:i,r[1]=o;for(var d=2;d{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>r,default:()=>c,frontMatter:()=>n,metadata:()=>o,toc:()=>d});var l=a(87462),i=(a(67294),a(3905));const n={title:"Import data into an existing table",description:"Learn how to import data into an existing table in NocoDB.",tags:["Tables","Upload","CSV","Excel","JSON"],keywords:["NocoDB table","import data into table","import data from csv","import data from excel","import data from xlsx"]},r=void 0,o={unversionedId:"tables/import-data-into-existing-table",id:"tables/import-data-into-existing-table",title:"Import data into an existing table",description:"Learn how to import data into an existing table in NocoDB.",source:"@site/docs/050.tables/040.import-data-into-existing-table.md",sourceDirName:"050.tables",slug:"/tables/import-data-into-existing-table",permalink:"/tables/import-data-into-existing-table",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/050.tables/040.import-data-into-existing-table.md",tags:[{label:"Tables",permalink:"/tags/tables"},{label:"Upload",permalink:"/tags/upload"},{label:"CSV",permalink:"/tags/csv"},{label:"Excel",permalink:"/tags/excel"},{label:"JSON",permalink:"/tags/json"}],version:"current",sidebarPosition:40,frontMatter:{title:"Import data into an existing table",description:"Learn how to import data into an existing table in NocoDB.",tags:["Tables","Upload","CSV","Excel","JSON"],keywords:["NocoDB table","import data into table","import data from csv","import data from excel","import data from xlsx"]},sidebar:"tutorialSidebar",previous:{title:"Create table via import",permalink:"/tables/create-table-via-import"},next:{title:"Actions on table",permalink:"/tables/actions-on-table"}},p={},d=[{value:"Import data from CSV / Excel",id:"import-data-from-csv--excel",level:2},{value:"Accessing import modal",id:"accessing-import-modal",level:3},{value:"Importing file data",id:"importing-file-data",level:3},{value:"1. Upload from local directory",id:"1-upload-from-local-directory",level:4},{value:"2. Upload from URL",id:"2-upload-from-url",level:4},{value:"Field mapping",id:"field-mapping",level:3},{value:"Advance settings",id:"advance-settings",level:3},{value:"Related articles",id:"related-articles",level:2}],m={toc:d},s="wrapper";function c(e){let{components:t,...n}=e;return(0,i.kt)(s,(0,l.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"import-data-from-csv--excel"},"Import data from CSV / Excel"),(0,i.kt)("h3",{id:"accessing-import-modal"},"Accessing import modal"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," context menu from the toolbar."),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Upload")," button."),(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Upload CSV")," / ",(0,i.kt)("inlineCode",{parentName:"li"},"Upload Excel")," option. ")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(93541).Z,width:"2896",height:"940"})),(0,i.kt)("h3",{id:"importing-file-data"},"Importing file data"),(0,i.kt)("p",null,"There are two ways to upload source file:"),(0,i.kt)("h4",{id:"1-upload-from-local-directory"},"1. Upload from local directory"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Upload")," tab from the Quick import modal."),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"file upload")," button or drag and drop file to the modal."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"#advance-settings"},"Advance Settings")," (optional)"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Import")," button. ")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(41445).Z,width:"2876",height:"1798"})),(0,i.kt)("h4",{id:"2-upload-from-url"},"2. Upload from URL"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"URL")," tab from the Quick import modal."),(0,i.kt)("li",{parentName:"ol"},"Paste the URL of the file."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"#advance-settings"},"Advance Settings")," (optional)"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Import")," button.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(98940).Z,width:"2876",height:"1796"})),(0,i.kt)("h3",{id:"field-mapping"},"Field mapping"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Table Name")," (Optional)"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Defaults to the name of the file; double-click to edit."))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Mapping Fields")," (Optional)"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Existing field names are listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Source field"),", while new fields identified from the import file are listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Destination field"),"."),(0,i.kt)("li",{parentName:"ul"},"NocoDB automatically maps destination field names based on the source field names."),(0,i.kt)("li",{parentName:"ul"},"You can reconfigure the mapping by utilizing the dropdown menu that appears when you click on the destination field."))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Exclude fields")," (Optional)"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"A checkbox is provided to exclude a field from being imported."))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Initiate Import")),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Click on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Import")," button to commence the file import process.")))),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(56138).Z,width:"2872",height:"1800"})),(0,i.kt)("h3",{id:"advance-settings"},"Advance settings"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"# of records to parse to infer datatype")," - defaults to 500 records."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"Utilize First Record as Headers"),"**`: Enabled by default. If selected, the first record in the spreadsheet will be treated as the header record and its contents will be used as field names.")),(0,i.kt)("h2",{id:"related-articles"},"Related articles"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/create-table"},"Create a new table")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/create-table-via-import"},"Create a table using a CSV, Excel or a JSON")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/actions-on-table#rename-table"},"Rename a table")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/actions-on-table#duplicate-table"},"Duplicate a table")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/actions-on-table#delete-table"},"Delete a table"))))}c.isMDXComponent=!0},93541:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/upload-csv-1-5060880a942894e2cf7d72a27b048520.png"},41445:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/upload-csv-2-8d2bf537b779871fcd91d482507b6ec2.png"},56138:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/upload-csv-3-2b437b676c7ea55dfc099c630c62bc32.png"},98940:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/upload-csv-url-e91498d1e314587238b1379f73bee6b1.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[6263],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>b});var l=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,l)}return a}function r(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var p=l.createContext({}),d=function(e){var t=l.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},m=function(e){var t=d(e.components);return l.createElement(p.Provider,{value:t},e.children)},s="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},u=l.forwardRef((function(e,t){var a=e.components,i=e.mdxType,n=e.originalType,p=e.parentName,m=o(e,["components","mdxType","originalType","parentName"]),s=d(a),u=i,b=s["".concat(p,".").concat(u)]||s[u]||c[u]||n;return a?l.createElement(b,r(r({ref:t},m),{},{components:a})):l.createElement(b,r({ref:t},m))}));function b(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=a.length,r=new Array(n);r[0]=u;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[s]="string"==typeof e?e:i,r[1]=o;for(var d=2;d{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>r,default:()=>c,frontMatter:()=>n,metadata:()=>o,toc:()=>d});var l=a(87462),i=(a(67294),a(3905));const n={title:"Import data into an existing table",description:"Learn how to import data into an existing table in NocoDB.",tags:["Tables","Upload","CSV","Excel","JSON"],keywords:["NocoDB table","import data into table","import data from csv","import data from excel","import data from xlsx"]},r=void 0,o={unversionedId:"tables/import-data-into-existing-table",id:"tables/import-data-into-existing-table",title:"Import data into an existing table",description:"Learn how to import data into an existing table in NocoDB.",source:"@site/docs/050.tables/040.import-data-into-existing-table.md",sourceDirName:"050.tables",slug:"/tables/import-data-into-existing-table",permalink:"/tables/import-data-into-existing-table",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/050.tables/040.import-data-into-existing-table.md",tags:[{label:"Tables",permalink:"/tags/tables"},{label:"Upload",permalink:"/tags/upload"},{label:"CSV",permalink:"/tags/csv"},{label:"Excel",permalink:"/tags/excel"},{label:"JSON",permalink:"/tags/json"}],version:"current",sidebarPosition:40,frontMatter:{title:"Import data into an existing table",description:"Learn how to import data into an existing table in NocoDB.",tags:["Tables","Upload","CSV","Excel","JSON"],keywords:["NocoDB table","import data into table","import data from csv","import data from excel","import data from xlsx"]},sidebar:"tutorialSidebar",previous:{title:"Create table via import",permalink:"/tables/create-table-via-import"},next:{title:"Actions on table",permalink:"/tables/actions-on-table"}},p={},d=[{value:"Import data from CSV / Excel",id:"import-data-from-csv--excel",level:2},{value:"Accessing import modal",id:"accessing-import-modal",level:3},{value:"Importing file data",id:"importing-file-data",level:3},{value:"1. Upload from local directory",id:"1-upload-from-local-directory",level:4},{value:"2. Upload from URL",id:"2-upload-from-url",level:4},{value:"Field mapping",id:"field-mapping",level:3},{value:"Advance settings",id:"advance-settings",level:3},{value:"Related articles",id:"related-articles",level:2}],m={toc:d},s="wrapper";function c(e){let{components:t,...n}=e;return(0,i.kt)(s,(0,l.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"import-data-from-csv--excel"},"Import data from CSV / Excel"),(0,i.kt)("h3",{id:"accessing-import-modal"},"Accessing import modal"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"...")," context menu from the toolbar."),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Upload")," button."),(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Upload CSV")," / ",(0,i.kt)("inlineCode",{parentName:"li"},"Upload Excel")," option. ")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(99499).Z,width:"2896",height:"940"})),(0,i.kt)("h3",{id:"importing-file-data"},"Importing file data"),(0,i.kt)("p",null,"There are two ways to upload source file:"),(0,i.kt)("h4",{id:"1-upload-from-local-directory"},"1. Upload from local directory"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"Upload")," tab from the Quick import modal."),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"file upload")," button or drag and drop file to the modal."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"#advance-settings"},"Advance Settings")," (optional)"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Import")," button. ")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(33038).Z,width:"2876",height:"1798"})),(0,i.kt)("h4",{id:"2-upload-from-url"},"2. Upload from URL"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Select ",(0,i.kt)("inlineCode",{parentName:"li"},"URL")," tab from the Quick import modal."),(0,i.kt)("li",{parentName:"ol"},"Paste the URL of the file."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"#advance-settings"},"Advance Settings")," (optional)"),(0,i.kt)("li",{parentName:"ol"},"Click on ",(0,i.kt)("inlineCode",{parentName:"li"},"Import")," button.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(83147).Z,width:"2876",height:"1796"})),(0,i.kt)("h3",{id:"field-mapping"},"Field mapping"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Table Name")," (Optional)"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Defaults to the name of the file; double-click to edit."))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Mapping Fields")," (Optional)"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Existing field names are listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Source field"),", while new fields identified from the import file are listed under ",(0,i.kt)("inlineCode",{parentName:"li"},"Destination field"),"."),(0,i.kt)("li",{parentName:"ul"},"NocoDB automatically maps destination field names based on the source field names."),(0,i.kt)("li",{parentName:"ul"},"You can reconfigure the mapping by utilizing the dropdown menu that appears when you click on the destination field."))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Exclude fields")," (Optional)"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"A checkbox is provided to exclude a field from being imported."))),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Initiate Import")),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Click on the ",(0,i.kt)("inlineCode",{parentName:"li"},"Import")," button to commence the file import process.")))),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"image",src:a(29809).Z,width:"2872",height:"1800"})),(0,i.kt)("h3",{id:"advance-settings"},"Advance settings"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"# of records to parse to infer datatype")," - defaults to 500 records."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"Utilize First Record as Headers"),"**`: Enabled by default. If selected, the first record in the spreadsheet will be treated as the header record and its contents will be used as field names.")),(0,i.kt)("h2",{id:"related-articles"},"Related articles"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/create-table"},"Create a new table")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/create-table-via-import"},"Create a table using a CSV, Excel or a JSON")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/actions-on-table#rename-table"},"Rename a table")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/actions-on-table#duplicate-table"},"Duplicate a table")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/tables/actions-on-table#delete-table"},"Delete a table"))))}c.isMDXComponent=!0},99499:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/upload-csv-1-5060880a942894e2cf7d72a27b048520.png"},33038:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/upload-csv-2-8d2bf537b779871fcd91d482507b6ec2.png"},29809:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/upload-csv-3-2b437b676c7ea55dfc099c630c62bc32.png"},83147:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/upload-csv-url-e91498d1e314587238b1379f73bee6b1.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/e55064b4.d39acb60.js b/packages/noco-docs/dist/assets/js/e55064b4.d39acb60.js new file mode 100644 index 0000000000..a505346c83 --- /dev/null +++ b/packages/noco-docs/dist/assets/js/e55064b4.d39acb60.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4341],{3905:(t,e,a)=>{a.d(e,{Zo:()=>u,kt:()=>g});var n=a(67294);function l(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function r(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function i(t){for(var e=1;e=0||(l[a]=t[a]);return l}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(l[a]=t[a])}return l}var d=n.createContext({}),m=function(t){var e=n.useContext(d),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},u=function(t){var e=m(t.components);return n.createElement(d.Provider,{value:e},t.children)},k="mdxType",N={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},o=n.forwardRef((function(t,e){var a=t.components,l=t.mdxType,r=t.originalType,d=t.parentName,u=p(t,["components","mdxType","originalType","parentName"]),k=m(a),o=l,g=k["".concat(d,".").concat(o)]||k[o]||N[o]||r;return a?n.createElement(g,i(i({ref:e},u),{},{components:a})):n.createElement(g,i({ref:e},u))}));function g(t,e){var a=arguments,l=e&&e.mdxType;if("string"==typeof t||l){var r=a.length,i=new Array(r);i[0]=o;var p={};for(var d in e)hasOwnProperty.call(e,d)&&(p[d]=e[d]);p.originalType=t,p[k]="string"==typeof t?t:l,i[1]=p;for(var m=2;m{a.r(e),a.d(e,{assets:()=>d,contentTitle:()=>i,default:()=>N,frontMatter:()=>r,metadata:()=>p,toc:()=>m});var n=a(87462),l=(a(67294),a(3905));const r={title:"Currency",description:"This article explains how to create & work with a Currency field.",tags:["Fields","Field types","Numerical types","Currency"],keywords:["Fields","Field types","Numerical types","Currency","Create currency field"]},i=void 0,p={unversionedId:"fields/field-types/numerical/currency",id:"fields/field-types/numerical/currency",title:"Currency",description:"This article explains how to create & work with a Currency field.",source:"@site/docs/070.fields/040.field-types/020.numerical/040.currency.md",sourceDirName:"070.fields/040.field-types/020.numerical",slug:"/fields/field-types/numerical/currency",permalink:"/fields/field-types/numerical/currency",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/020.numerical/040.currency.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Numerical types",permalink:"/tags/numerical-types"},{label:"Currency",permalink:"/tags/currency"}],version:"current",sidebarPosition:40,frontMatter:{title:"Currency",description:"This article explains how to create & work with a Currency field.",tags:["Fields","Field types","Numerical types","Currency"],keywords:["Fields","Field types","Numerical types","Currency","Create currency field"]},sidebar:"tutorialSidebar",previous:{title:"Percent",permalink:"/fields/field-types/numerical/percent"},next:{title:"Single Select",permalink:"/fields/field-types/select-based/single-select"}},d={},m=[{value:"Create field",id:"create-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"Supported locales",id:"supported-locales",level:3},{value:"Supported currencies",id:"supported-currencies",level:3},{value:"Similar numerical fields",id:"similar-numerical-fields",level:2}],u={toc:m},k="wrapper";function N(t){let{components:e,...r}=t;return(0,l.kt)(k,(0,n.Z)({},u,r,{components:e,mdxType:"MDXLayout"}),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"Currency")," field type is used to store currency values. It is a numerical field with additional provision to set the currency symbol in display."),(0,l.kt)("h2",{id:"create-field"},"Create field"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Click on ",(0,l.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,l.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,l.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,l.kt)("li",{parentName:"ol"},"Select the field type as ",(0,l.kt)("inlineCode",{parentName:"li"},"Currency")," from the dropdown."),(0,l.kt)("li",{parentName:"ol"},"Configure ",(0,l.kt)("inlineCode",{parentName:"li"},"Currency Locale")," : defaults to ",(0,l.kt)("inlineCode",{parentName:"li"},"en-US")),(0,l.kt)("li",{parentName:"ol"},"Configure ",(0,l.kt)("inlineCode",{parentName:"li"},"Currency Symbol")," : defaults to ",(0,l.kt)("inlineCode",{parentName:"li"},"$")),(0,l.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,l.kt)("li",{parentName:"ol"},"Click on ",(0,l.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(59015).Z,width:"2876",height:"1360"})),(0,l.kt)("h3",{id:"cell-display"},"Cell display"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(1318).Z,width:"1087",height:"523"})),(0,l.kt)("h3",{id:"supported-locales"},"Supported locales"),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://www.npmjs.com/package/locale-codes#locale-list"},"https://www.npmjs.com/package/locale-codes#locale-list")),(0,l.kt)("admonition",{type:"note"},(0,l.kt)("p",{parentName:"admonition"},"NocoDB adheres to ISO639-1 standard for locale codes.")),(0,l.kt)("h3",{id:"supported-currencies"},"Supported currencies"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null}),(0,l.kt)("th",{parentName:"tr",align:null}),(0,l.kt)("th",{parentName:"tr",align:null}),(0,l.kt)("th",{parentName:"tr",align:null}),(0,l.kt)("th",{parentName:"tr",align:null}),(0,l.kt)("th",{parentName:"tr",align:null}))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"AED"),(0,l.kt)("td",{parentName:"tr",align:null},"AFN"),(0,l.kt)("td",{parentName:"tr",align:null},"ALL"),(0,l.kt)("td",{parentName:"tr",align:null},"AMD"),(0,l.kt)("td",{parentName:"tr",align:null},"ANG"),(0,l.kt)("td",{parentName:"tr",align:null},"AOA")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"ARS"),(0,l.kt)("td",{parentName:"tr",align:null},"AUD"),(0,l.kt)("td",{parentName:"tr",align:null},"AWG"),(0,l.kt)("td",{parentName:"tr",align:null},"AZN"),(0,l.kt)("td",{parentName:"tr",align:null},"BAM"),(0,l.kt)("td",{parentName:"tr",align:null},"BBD")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"BDT"),(0,l.kt)("td",{parentName:"tr",align:null},"BGN"),(0,l.kt)("td",{parentName:"tr",align:null},"BHD"),(0,l.kt)("td",{parentName:"tr",align:null},"BIF"),(0,l.kt)("td",{parentName:"tr",align:null},"BMD"),(0,l.kt)("td",{parentName:"tr",align:null},"BND")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"BOB"),(0,l.kt)("td",{parentName:"tr",align:null},"BOV"),(0,l.kt)("td",{parentName:"tr",align:null},"BRL"),(0,l.kt)("td",{parentName:"tr",align:null},"BSD"),(0,l.kt)("td",{parentName:"tr",align:null},"BTN"),(0,l.kt)("td",{parentName:"tr",align:null},"BWP")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"BYR"),(0,l.kt)("td",{parentName:"tr",align:null},"BZD"),(0,l.kt)("td",{parentName:"tr",align:null},"CAD"),(0,l.kt)("td",{parentName:"tr",align:null},"CDF"),(0,l.kt)("td",{parentName:"tr",align:null},"CHE"),(0,l.kt)("td",{parentName:"tr",align:null},"CHF")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"CHW"),(0,l.kt)("td",{parentName:"tr",align:null},"CLF"),(0,l.kt)("td",{parentName:"tr",align:null},"CLP"),(0,l.kt)("td",{parentName:"tr",align:null},"CNY"),(0,l.kt)("td",{parentName:"tr",align:null},"COP"),(0,l.kt)("td",{parentName:"tr",align:null},"COU")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"CRC"),(0,l.kt)("td",{parentName:"tr",align:null},"CUP"),(0,l.kt)("td",{parentName:"tr",align:null},"CVE"),(0,l.kt)("td",{parentName:"tr",align:null},"CYP"),(0,l.kt)("td",{parentName:"tr",align:null},"CZK"),(0,l.kt)("td",{parentName:"tr",align:null},"DJF")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"DKK"),(0,l.kt)("td",{parentName:"tr",align:null},"DOP"),(0,l.kt)("td",{parentName:"tr",align:null},"DZD"),(0,l.kt)("td",{parentName:"tr",align:null},"EEK"),(0,l.kt)("td",{parentName:"tr",align:null},"EGP"),(0,l.kt)("td",{parentName:"tr",align:null},"ERN")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"ETB"),(0,l.kt)("td",{parentName:"tr",align:null},"EUR"),(0,l.kt)("td",{parentName:"tr",align:null},"FJD"),(0,l.kt)("td",{parentName:"tr",align:null},"FKP"),(0,l.kt)("td",{parentName:"tr",align:null},"GBP"),(0,l.kt)("td",{parentName:"tr",align:null},"GEL")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"GHC"),(0,l.kt)("td",{parentName:"tr",align:null},"GIP"),(0,l.kt)("td",{parentName:"tr",align:null},"GMD"),(0,l.kt)("td",{parentName:"tr",align:null},"GNF"),(0,l.kt)("td",{parentName:"tr",align:null},"GTQ"),(0,l.kt)("td",{parentName:"tr",align:null},"GYD")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"HKD"),(0,l.kt)("td",{parentName:"tr",align:null},"HNL"),(0,l.kt)("td",{parentName:"tr",align:null},"HRK"),(0,l.kt)("td",{parentName:"tr",align:null},"HTG"),(0,l.kt)("td",{parentName:"tr",align:null},"HUF"),(0,l.kt)("td",{parentName:"tr",align:null},"IDR")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"ILS"),(0,l.kt)("td",{parentName:"tr",align:null},"INR"),(0,l.kt)("td",{parentName:"tr",align:null},"IQD"),(0,l.kt)("td",{parentName:"tr",align:null},"IRR"),(0,l.kt)("td",{parentName:"tr",align:null},"ISK"),(0,l.kt)("td",{parentName:"tr",align:null},"JMD")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"JOD"),(0,l.kt)("td",{parentName:"tr",align:null},"JPY"),(0,l.kt)("td",{parentName:"tr",align:null},"KES"),(0,l.kt)("td",{parentName:"tr",align:null},"KGS"),(0,l.kt)("td",{parentName:"tr",align:null},"KHR"),(0,l.kt)("td",{parentName:"tr",align:null},"KMF")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"KPW"),(0,l.kt)("td",{parentName:"tr",align:null},"KRW"),(0,l.kt)("td",{parentName:"tr",align:null},"KWD"),(0,l.kt)("td",{parentName:"tr",align:null},"KYD"),(0,l.kt)("td",{parentName:"tr",align:null},"KZT"),(0,l.kt)("td",{parentName:"tr",align:null},"LAK")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"LBP"),(0,l.kt)("td",{parentName:"tr",align:null},"LKR"),(0,l.kt)("td",{parentName:"tr",align:null},"LRD"),(0,l.kt)("td",{parentName:"tr",align:null},"LSL"),(0,l.kt)("td",{parentName:"tr",align:null},"LTL"),(0,l.kt)("td",{parentName:"tr",align:null},"LVL")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"LYD"),(0,l.kt)("td",{parentName:"tr",align:null},"MAD"),(0,l.kt)("td",{parentName:"tr",align:null},"MDL"),(0,l.kt)("td",{parentName:"tr",align:null},"MGA"),(0,l.kt)("td",{parentName:"tr",align:null},"MKD"),(0,l.kt)("td",{parentName:"tr",align:null},"MMK")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"MNT"),(0,l.kt)("td",{parentName:"tr",align:null},"MOP"),(0,l.kt)("td",{parentName:"tr",align:null},"MRO"),(0,l.kt)("td",{parentName:"tr",align:null},"MTL"),(0,l.kt)("td",{parentName:"tr",align:null},"MUR"),(0,l.kt)("td",{parentName:"tr",align:null},"MVR")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"MWK"),(0,l.kt)("td",{parentName:"tr",align:null},"MXN"),(0,l.kt)("td",{parentName:"tr",align:null},"MXV"),(0,l.kt)("td",{parentName:"tr",align:null},"MYR"),(0,l.kt)("td",{parentName:"tr",align:null},"MZN"),(0,l.kt)("td",{parentName:"tr",align:null},"NAD")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"NGN"),(0,l.kt)("td",{parentName:"tr",align:null},"NIO"),(0,l.kt)("td",{parentName:"tr",align:null},"NOK"),(0,l.kt)("td",{parentName:"tr",align:null},"NPR"),(0,l.kt)("td",{parentName:"tr",align:null},"NZD"),(0,l.kt)("td",{parentName:"tr",align:null},"OMR")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"PAB"),(0,l.kt)("td",{parentName:"tr",align:null},"PEN"),(0,l.kt)("td",{parentName:"tr",align:null},"PGK"),(0,l.kt)("td",{parentName:"tr",align:null},"PHP"),(0,l.kt)("td",{parentName:"tr",align:null},"PKR"),(0,l.kt)("td",{parentName:"tr",align:null},"PLN")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"PYG"),(0,l.kt)("td",{parentName:"tr",align:null},"QAR"),(0,l.kt)("td",{parentName:"tr",align:null},"ROL"),(0,l.kt)("td",{parentName:"tr",align:null},"RON"),(0,l.kt)("td",{parentName:"tr",align:null},"RSD"),(0,l.kt)("td",{parentName:"tr",align:null},"RUB")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"RWF"),(0,l.kt)("td",{parentName:"tr",align:null},"SAR"),(0,l.kt)("td",{parentName:"tr",align:null},"SBD"),(0,l.kt)("td",{parentName:"tr",align:null},"SCR"),(0,l.kt)("td",{parentName:"tr",align:null},"SDD"),(0,l.kt)("td",{parentName:"tr",align:null},"SEK")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"SGD"),(0,l.kt)("td",{parentName:"tr",align:null},"SHP"),(0,l.kt)("td",{parentName:"tr",align:null},"SIT"),(0,l.kt)("td",{parentName:"tr",align:null},"SKK"),(0,l.kt)("td",{parentName:"tr",align:null},"SLL"),(0,l.kt)("td",{parentName:"tr",align:null},"SOS")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"SRD"),(0,l.kt)("td",{parentName:"tr",align:null},"STD"),(0,l.kt)("td",{parentName:"tr",align:null},"SYP"),(0,l.kt)("td",{parentName:"tr",align:null},"SZL"),(0,l.kt)("td",{parentName:"tr",align:null},"THB"),(0,l.kt)("td",{parentName:"tr",align:null},"TJS")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"TMM"),(0,l.kt)("td",{parentName:"tr",align:null},"TND"),(0,l.kt)("td",{parentName:"tr",align:null},"TOP"),(0,l.kt)("td",{parentName:"tr",align:null},"TRY"),(0,l.kt)("td",{parentName:"tr",align:null},"TTD"),(0,l.kt)("td",{parentName:"tr",align:null},"TWD")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"TZS"),(0,l.kt)("td",{parentName:"tr",align:null},"UAH"),(0,l.kt)("td",{parentName:"tr",align:null},"UGX"),(0,l.kt)("td",{parentName:"tr",align:null},"USD"),(0,l.kt)("td",{parentName:"tr",align:null},"USN"),(0,l.kt)("td",{parentName:"tr",align:null},"USS")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"UYU"),(0,l.kt)("td",{parentName:"tr",align:null},"UZS"),(0,l.kt)("td",{parentName:"tr",align:null},"VEB"),(0,l.kt)("td",{parentName:"tr",align:null},"VND"),(0,l.kt)("td",{parentName:"tr",align:null},"VUV"),(0,l.kt)("td",{parentName:"tr",align:null},"WST")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"XAF"),(0,l.kt)("td",{parentName:"tr",align:null},"XAG"),(0,l.kt)("td",{parentName:"tr",align:null},"XAU"),(0,l.kt)("td",{parentName:"tr",align:null},"XBA"),(0,l.kt)("td",{parentName:"tr",align:null},"XBB"),(0,l.kt)("td",{parentName:"tr",align:null},"XBC")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"XBD"),(0,l.kt)("td",{parentName:"tr",align:null},"XCD"),(0,l.kt)("td",{parentName:"tr",align:null},"XDR"),(0,l.kt)("td",{parentName:"tr",align:null},"XFO"),(0,l.kt)("td",{parentName:"tr",align:null},"XFU"),(0,l.kt)("td",{parentName:"tr",align:null},"XOF")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"XPD"),(0,l.kt)("td",{parentName:"tr",align:null},"XPF"),(0,l.kt)("td",{parentName:"tr",align:null},"XPT"),(0,l.kt)("td",{parentName:"tr",align:null},"XTS"),(0,l.kt)("td",{parentName:"tr",align:null},"XXX"),(0,l.kt)("td",{parentName:"tr",align:null},"YER")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"ZAR"),(0,l.kt)("td",{parentName:"tr",align:null},"ZMK"),(0,l.kt)("td",{parentName:"tr",align:null},"ZWD"),(0,l.kt)("td",{parentName:"tr",align:null}),(0,l.kt)("td",{parentName:"tr",align:null}),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h2",{id:"similar-numerical-fields"},"Similar numerical fields"),(0,l.kt)("p",null,"Following are the other numerical fields available in NocoDB, with some custom add-on features."),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/number"},"Number")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/decimal"},"Decimal")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/percent"},"Percent"))))}N.isMDXComponent=!0},1318:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/currency-cell-display-d3e0309151ff2bb7cc72a48861a565bd.png"},59015:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/currency-97e11fde0e86cf5aa78c6e3117bd9ee8.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/e55064b4.f6b45318.js b/packages/noco-docs/dist/assets/js/e55064b4.f6b45318.js deleted file mode 100644 index efc2858db2..0000000000 --- a/packages/noco-docs/dist/assets/js/e55064b4.f6b45318.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4341],{3905:(t,e,a)=>{a.d(e,{Zo:()=>u,kt:()=>g});var n=a(67294);function l(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function r(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function i(t){for(var e=1;e=0||(l[a]=t[a]);return l}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(l[a]=t[a])}return l}var d=n.createContext({}),m=function(t){var e=n.useContext(d),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},u=function(t){var e=m(t.components);return n.createElement(d.Provider,{value:e},t.children)},k="mdxType",N={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},o=n.forwardRef((function(t,e){var a=t.components,l=t.mdxType,r=t.originalType,d=t.parentName,u=p(t,["components","mdxType","originalType","parentName"]),k=m(a),o=l,g=k["".concat(d,".").concat(o)]||k[o]||N[o]||r;return a?n.createElement(g,i(i({ref:e},u),{},{components:a})):n.createElement(g,i({ref:e},u))}));function g(t,e){var a=arguments,l=e&&e.mdxType;if("string"==typeof t||l){var r=a.length,i=new Array(r);i[0]=o;var p={};for(var d in e)hasOwnProperty.call(e,d)&&(p[d]=e[d]);p.originalType=t,p[k]="string"==typeof t?t:l,i[1]=p;for(var m=2;m{a.r(e),a.d(e,{assets:()=>d,contentTitle:()=>i,default:()=>N,frontMatter:()=>r,metadata:()=>p,toc:()=>m});var n=a(87462),l=(a(67294),a(3905));const r={title:"Currency",description:"This article explains how to create & work with a Currency field.",tags:["Fields","Field types","Numerical types","Currency"],keywords:["Fields","Field types","Numerical types","Currency","Create currency field"]},i=void 0,p={unversionedId:"fields/field-types/numerical/currency",id:"fields/field-types/numerical/currency",title:"Currency",description:"This article explains how to create & work with a Currency field.",source:"@site/docs/070.fields/040.field-types/020.numerical/040.currency.md",sourceDirName:"070.fields/040.field-types/020.numerical",slug:"/fields/field-types/numerical/currency",permalink:"/fields/field-types/numerical/currency",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/020.numerical/040.currency.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Numerical types",permalink:"/tags/numerical-types"},{label:"Currency",permalink:"/tags/currency"}],version:"current",sidebarPosition:40,frontMatter:{title:"Currency",description:"This article explains how to create & work with a Currency field.",tags:["Fields","Field types","Numerical types","Currency"],keywords:["Fields","Field types","Numerical types","Currency","Create currency field"]},sidebar:"tutorialSidebar",previous:{title:"Percent",permalink:"/fields/field-types/numerical/percent"},next:{title:"Single Select",permalink:"/fields/field-types/select-based/single-select"}},d={},m=[{value:"Create field",id:"create-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"Supported locales",id:"supported-locales",level:3},{value:"Supported currencies",id:"supported-currencies",level:3},{value:"Similar numerical fields",id:"similar-numerical-fields",level:2}],u={toc:m},k="wrapper";function N(t){let{components:e,...r}=t;return(0,l.kt)(k,(0,n.Z)({},u,r,{components:e,mdxType:"MDXLayout"}),(0,l.kt)("p",null,(0,l.kt)("inlineCode",{parentName:"p"},"Currency")," field type is used to store currency values. It is a numerical field with additional provision to set the currency symbol in display."),(0,l.kt)("h2",{id:"create-field"},"Create field"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"Click on ",(0,l.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,l.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,l.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,l.kt)("li",{parentName:"ol"},"Select the field type as ",(0,l.kt)("inlineCode",{parentName:"li"},"Currency")," from the dropdown."),(0,l.kt)("li",{parentName:"ol"},"Configure ",(0,l.kt)("inlineCode",{parentName:"li"},"Currency Locale")," : defaults to ",(0,l.kt)("inlineCode",{parentName:"li"},"en-US")),(0,l.kt)("li",{parentName:"ol"},"Configure ",(0,l.kt)("inlineCode",{parentName:"li"},"Currency Symbol")," : defaults to ",(0,l.kt)("inlineCode",{parentName:"li"},"$")),(0,l.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,l.kt)("li",{parentName:"ol"},"Click on ",(0,l.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(65357).Z,width:"2876",height:"1360"})),(0,l.kt)("h3",{id:"cell-display"},"Cell display"),(0,l.kt)("p",null,(0,l.kt)("img",{alt:"image",src:a(36616).Z,width:"1087",height:"523"})),(0,l.kt)("h3",{id:"supported-locales"},"Supported locales"),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://www.npmjs.com/package/locale-codes#locale-list"},"https://www.npmjs.com/package/locale-codes#locale-list")),(0,l.kt)("admonition",{type:"note"},(0,l.kt)("p",{parentName:"admonition"},"NocoDB adheres to ISO639-1 standard for locale codes.")),(0,l.kt)("h3",{id:"supported-currencies"},"Supported currencies"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null}),(0,l.kt)("th",{parentName:"tr",align:null}),(0,l.kt)("th",{parentName:"tr",align:null}),(0,l.kt)("th",{parentName:"tr",align:null}),(0,l.kt)("th",{parentName:"tr",align:null}),(0,l.kt)("th",{parentName:"tr",align:null}))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"AED"),(0,l.kt)("td",{parentName:"tr",align:null},"AFN"),(0,l.kt)("td",{parentName:"tr",align:null},"ALL"),(0,l.kt)("td",{parentName:"tr",align:null},"AMD"),(0,l.kt)("td",{parentName:"tr",align:null},"ANG"),(0,l.kt)("td",{parentName:"tr",align:null},"AOA")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"ARS"),(0,l.kt)("td",{parentName:"tr",align:null},"AUD"),(0,l.kt)("td",{parentName:"tr",align:null},"AWG"),(0,l.kt)("td",{parentName:"tr",align:null},"AZN"),(0,l.kt)("td",{parentName:"tr",align:null},"BAM"),(0,l.kt)("td",{parentName:"tr",align:null},"BBD")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"BDT"),(0,l.kt)("td",{parentName:"tr",align:null},"BGN"),(0,l.kt)("td",{parentName:"tr",align:null},"BHD"),(0,l.kt)("td",{parentName:"tr",align:null},"BIF"),(0,l.kt)("td",{parentName:"tr",align:null},"BMD"),(0,l.kt)("td",{parentName:"tr",align:null},"BND")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"BOB"),(0,l.kt)("td",{parentName:"tr",align:null},"BOV"),(0,l.kt)("td",{parentName:"tr",align:null},"BRL"),(0,l.kt)("td",{parentName:"tr",align:null},"BSD"),(0,l.kt)("td",{parentName:"tr",align:null},"BTN"),(0,l.kt)("td",{parentName:"tr",align:null},"BWP")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"BYR"),(0,l.kt)("td",{parentName:"tr",align:null},"BZD"),(0,l.kt)("td",{parentName:"tr",align:null},"CAD"),(0,l.kt)("td",{parentName:"tr",align:null},"CDF"),(0,l.kt)("td",{parentName:"tr",align:null},"CHE"),(0,l.kt)("td",{parentName:"tr",align:null},"CHF")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"CHW"),(0,l.kt)("td",{parentName:"tr",align:null},"CLF"),(0,l.kt)("td",{parentName:"tr",align:null},"CLP"),(0,l.kt)("td",{parentName:"tr",align:null},"CNY"),(0,l.kt)("td",{parentName:"tr",align:null},"COP"),(0,l.kt)("td",{parentName:"tr",align:null},"COU")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"CRC"),(0,l.kt)("td",{parentName:"tr",align:null},"CUP"),(0,l.kt)("td",{parentName:"tr",align:null},"CVE"),(0,l.kt)("td",{parentName:"tr",align:null},"CYP"),(0,l.kt)("td",{parentName:"tr",align:null},"CZK"),(0,l.kt)("td",{parentName:"tr",align:null},"DJF")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"DKK"),(0,l.kt)("td",{parentName:"tr",align:null},"DOP"),(0,l.kt)("td",{parentName:"tr",align:null},"DZD"),(0,l.kt)("td",{parentName:"tr",align:null},"EEK"),(0,l.kt)("td",{parentName:"tr",align:null},"EGP"),(0,l.kt)("td",{parentName:"tr",align:null},"ERN")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"ETB"),(0,l.kt)("td",{parentName:"tr",align:null},"EUR"),(0,l.kt)("td",{parentName:"tr",align:null},"FJD"),(0,l.kt)("td",{parentName:"tr",align:null},"FKP"),(0,l.kt)("td",{parentName:"tr",align:null},"GBP"),(0,l.kt)("td",{parentName:"tr",align:null},"GEL")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"GHC"),(0,l.kt)("td",{parentName:"tr",align:null},"GIP"),(0,l.kt)("td",{parentName:"tr",align:null},"GMD"),(0,l.kt)("td",{parentName:"tr",align:null},"GNF"),(0,l.kt)("td",{parentName:"tr",align:null},"GTQ"),(0,l.kt)("td",{parentName:"tr",align:null},"GYD")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"HKD"),(0,l.kt)("td",{parentName:"tr",align:null},"HNL"),(0,l.kt)("td",{parentName:"tr",align:null},"HRK"),(0,l.kt)("td",{parentName:"tr",align:null},"HTG"),(0,l.kt)("td",{parentName:"tr",align:null},"HUF"),(0,l.kt)("td",{parentName:"tr",align:null},"IDR")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"ILS"),(0,l.kt)("td",{parentName:"tr",align:null},"INR"),(0,l.kt)("td",{parentName:"tr",align:null},"IQD"),(0,l.kt)("td",{parentName:"tr",align:null},"IRR"),(0,l.kt)("td",{parentName:"tr",align:null},"ISK"),(0,l.kt)("td",{parentName:"tr",align:null},"JMD")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"JOD"),(0,l.kt)("td",{parentName:"tr",align:null},"JPY"),(0,l.kt)("td",{parentName:"tr",align:null},"KES"),(0,l.kt)("td",{parentName:"tr",align:null},"KGS"),(0,l.kt)("td",{parentName:"tr",align:null},"KHR"),(0,l.kt)("td",{parentName:"tr",align:null},"KMF")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"KPW"),(0,l.kt)("td",{parentName:"tr",align:null},"KRW"),(0,l.kt)("td",{parentName:"tr",align:null},"KWD"),(0,l.kt)("td",{parentName:"tr",align:null},"KYD"),(0,l.kt)("td",{parentName:"tr",align:null},"KZT"),(0,l.kt)("td",{parentName:"tr",align:null},"LAK")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"LBP"),(0,l.kt)("td",{parentName:"tr",align:null},"LKR"),(0,l.kt)("td",{parentName:"tr",align:null},"LRD"),(0,l.kt)("td",{parentName:"tr",align:null},"LSL"),(0,l.kt)("td",{parentName:"tr",align:null},"LTL"),(0,l.kt)("td",{parentName:"tr",align:null},"LVL")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"LYD"),(0,l.kt)("td",{parentName:"tr",align:null},"MAD"),(0,l.kt)("td",{parentName:"tr",align:null},"MDL"),(0,l.kt)("td",{parentName:"tr",align:null},"MGA"),(0,l.kt)("td",{parentName:"tr",align:null},"MKD"),(0,l.kt)("td",{parentName:"tr",align:null},"MMK")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"MNT"),(0,l.kt)("td",{parentName:"tr",align:null},"MOP"),(0,l.kt)("td",{parentName:"tr",align:null},"MRO"),(0,l.kt)("td",{parentName:"tr",align:null},"MTL"),(0,l.kt)("td",{parentName:"tr",align:null},"MUR"),(0,l.kt)("td",{parentName:"tr",align:null},"MVR")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"MWK"),(0,l.kt)("td",{parentName:"tr",align:null},"MXN"),(0,l.kt)("td",{parentName:"tr",align:null},"MXV"),(0,l.kt)("td",{parentName:"tr",align:null},"MYR"),(0,l.kt)("td",{parentName:"tr",align:null},"MZN"),(0,l.kt)("td",{parentName:"tr",align:null},"NAD")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"NGN"),(0,l.kt)("td",{parentName:"tr",align:null},"NIO"),(0,l.kt)("td",{parentName:"tr",align:null},"NOK"),(0,l.kt)("td",{parentName:"tr",align:null},"NPR"),(0,l.kt)("td",{parentName:"tr",align:null},"NZD"),(0,l.kt)("td",{parentName:"tr",align:null},"OMR")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"PAB"),(0,l.kt)("td",{parentName:"tr",align:null},"PEN"),(0,l.kt)("td",{parentName:"tr",align:null},"PGK"),(0,l.kt)("td",{parentName:"tr",align:null},"PHP"),(0,l.kt)("td",{parentName:"tr",align:null},"PKR"),(0,l.kt)("td",{parentName:"tr",align:null},"PLN")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"PYG"),(0,l.kt)("td",{parentName:"tr",align:null},"QAR"),(0,l.kt)("td",{parentName:"tr",align:null},"ROL"),(0,l.kt)("td",{parentName:"tr",align:null},"RON"),(0,l.kt)("td",{parentName:"tr",align:null},"RSD"),(0,l.kt)("td",{parentName:"tr",align:null},"RUB")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"RWF"),(0,l.kt)("td",{parentName:"tr",align:null},"SAR"),(0,l.kt)("td",{parentName:"tr",align:null},"SBD"),(0,l.kt)("td",{parentName:"tr",align:null},"SCR"),(0,l.kt)("td",{parentName:"tr",align:null},"SDD"),(0,l.kt)("td",{parentName:"tr",align:null},"SEK")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"SGD"),(0,l.kt)("td",{parentName:"tr",align:null},"SHP"),(0,l.kt)("td",{parentName:"tr",align:null},"SIT"),(0,l.kt)("td",{parentName:"tr",align:null},"SKK"),(0,l.kt)("td",{parentName:"tr",align:null},"SLL"),(0,l.kt)("td",{parentName:"tr",align:null},"SOS")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"SRD"),(0,l.kt)("td",{parentName:"tr",align:null},"STD"),(0,l.kt)("td",{parentName:"tr",align:null},"SYP"),(0,l.kt)("td",{parentName:"tr",align:null},"SZL"),(0,l.kt)("td",{parentName:"tr",align:null},"THB"),(0,l.kt)("td",{parentName:"tr",align:null},"TJS")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"TMM"),(0,l.kt)("td",{parentName:"tr",align:null},"TND"),(0,l.kt)("td",{parentName:"tr",align:null},"TOP"),(0,l.kt)("td",{parentName:"tr",align:null},"TRY"),(0,l.kt)("td",{parentName:"tr",align:null},"TTD"),(0,l.kt)("td",{parentName:"tr",align:null},"TWD")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"TZS"),(0,l.kt)("td",{parentName:"tr",align:null},"UAH"),(0,l.kt)("td",{parentName:"tr",align:null},"UGX"),(0,l.kt)("td",{parentName:"tr",align:null},"USD"),(0,l.kt)("td",{parentName:"tr",align:null},"USN"),(0,l.kt)("td",{parentName:"tr",align:null},"USS")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"UYU"),(0,l.kt)("td",{parentName:"tr",align:null},"UZS"),(0,l.kt)("td",{parentName:"tr",align:null},"VEB"),(0,l.kt)("td",{parentName:"tr",align:null},"VND"),(0,l.kt)("td",{parentName:"tr",align:null},"VUV"),(0,l.kt)("td",{parentName:"tr",align:null},"WST")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"XAF"),(0,l.kt)("td",{parentName:"tr",align:null},"XAG"),(0,l.kt)("td",{parentName:"tr",align:null},"XAU"),(0,l.kt)("td",{parentName:"tr",align:null},"XBA"),(0,l.kt)("td",{parentName:"tr",align:null},"XBB"),(0,l.kt)("td",{parentName:"tr",align:null},"XBC")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"XBD"),(0,l.kt)("td",{parentName:"tr",align:null},"XCD"),(0,l.kt)("td",{parentName:"tr",align:null},"XDR"),(0,l.kt)("td",{parentName:"tr",align:null},"XFO"),(0,l.kt)("td",{parentName:"tr",align:null},"XFU"),(0,l.kt)("td",{parentName:"tr",align:null},"XOF")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"XPD"),(0,l.kt)("td",{parentName:"tr",align:null},"XPF"),(0,l.kt)("td",{parentName:"tr",align:null},"XPT"),(0,l.kt)("td",{parentName:"tr",align:null},"XTS"),(0,l.kt)("td",{parentName:"tr",align:null},"XXX"),(0,l.kt)("td",{parentName:"tr",align:null},"YER")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"ZAR"),(0,l.kt)("td",{parentName:"tr",align:null},"ZMK"),(0,l.kt)("td",{parentName:"tr",align:null},"ZWD"),(0,l.kt)("td",{parentName:"tr",align:null}),(0,l.kt)("td",{parentName:"tr",align:null}),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h2",{id:"similar-numerical-fields"},"Similar numerical fields"),(0,l.kt)("p",null,"Following are the other numerical fields available in NocoDB, with some custom add-on features."),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/number"},"Number")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/decimal"},"Decimal")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/percent"},"Percent"))))}N.isMDXComponent=!0},36616:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/currency-cell-display-d3e0309151ff2bb7cc72a48861a565bd.png"},65357:(t,e,a)=>{a.d(e,{Z:()=>n});const n=a.p+"assets/images/currency-97e11fde0e86cf5aa78c6e3117bd9ee8.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/e5a54c1b.6ee5594a.js b/packages/noco-docs/dist/assets/js/e5a54c1b.aaecaed0.js similarity index 97% rename from packages/noco-docs/dist/assets/js/e5a54c1b.6ee5594a.js rename to packages/noco-docs/dist/assets/js/e5a54c1b.aaecaed0.js index e311065a06..6ef8ddf5b5 100644 --- a/packages/noco-docs/dist/assets/js/e5a54c1b.6ee5594a.js +++ b/packages/noco-docs/dist/assets/js/e5a54c1b.aaecaed0.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7283],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function a(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=i.createContext({}),c=function(e){var t=i.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=c(e.components);return i.createElement(s.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),d=c(r),m=n,f=d["".concat(s,".").concat(m)]||d[m]||u[m]||l;return r?i.createElement(f,a(a({ref:t},p),{},{components:r})):i.createElement(f,a({ref:t},p))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,a=new Array(l);a[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[d]="string"==typeof e?e:n,a[1]=o;for(var c=2;c{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var i=r(87462),n=(r(67294),r(3905));const l={title:"Number",description:"This article explains how to create & work with a Number field.",tags:["Fields","Field types","Numerical types","Number"],keywords:["Fields","Field types","Numerical types","Number","Create number field"]},a=void 0,o={unversionedId:"fields/field-types/numerical/number",id:"fields/field-types/numerical/number",title:"Number",description:"This article explains how to create & work with a Number field.",source:"@site/docs/070.fields/040.field-types/020.numerical/010.number.md",sourceDirName:"070.fields/040.field-types/020.numerical",slug:"/fields/field-types/numerical/number",permalink:"/fields/field-types/numerical/number",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/020.numerical/010.number.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Numerical types",permalink:"/tags/numerical-types"},{label:"Number",permalink:"/tags/number"}],version:"current",sidebarPosition:10,frontMatter:{title:"Number",description:"This article explains how to create & work with a Number field.",tags:["Fields","Field types","Numerical types","Number"],keywords:["Fields","Field types","Numerical types","Number","Create number field"]},sidebar:"tutorialSidebar",previous:{title:"URL",permalink:"/fields/field-types/text-based/url"},next:{title:"Decimal",permalink:"/fields/field-types/numerical/decimal"}},s={},c=[{value:"Create a number field",id:"create-a-number-field",level:2},{value:"Similar numerical fields",id:"similar-numerical-fields",level:2}],p={toc:c},d="wrapper";function u(e){let{components:t,...l}=e;return(0,n.kt)(d,(0,i.Z)({},p,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Number")," field type is used to store numerical values. Use cases include storing ",(0,n.kt)("inlineCode",{parentName:"p"},"age"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"salary"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"price"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"quantity"),", etc."),(0,n.kt)("h2",{id:"create-a-number-field"},"Create a number field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Number")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:r(28180).Z,width:"2876",height:"1178"})),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"This field type can hold both positive and negative numbers."),(0,n.kt)("li",{parentName:"ul"},"Supported range (JavaScript): -9007199254740991 to 9007199254740991"))),(0,n.kt)("h2",{id:"similar-numerical-fields"},"Similar numerical fields"),(0,n.kt)("p",null,"Following are the other numerical fields available in NocoDB, with some custom add-on features."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/decimal"},"Decimal")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/percent"},"Percent")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/currency"},"Currency"))))}u.isMDXComponent=!0},28180:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/number-a3e4b9f394fc28d0cd3a7dc2297d608f.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7283],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function a(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=i.createContext({}),c=function(e){var t=i.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=c(e.components);return i.createElement(s.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),d=c(r),m=n,f=d["".concat(s,".").concat(m)]||d[m]||u[m]||l;return r?i.createElement(f,a(a({ref:t},p),{},{components:r})):i.createElement(f,a({ref:t},p))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,a=new Array(l);a[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[d]="string"==typeof e?e:n,a[1]=o;for(var c=2;c{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var i=r(87462),n=(r(67294),r(3905));const l={title:"Number",description:"This article explains how to create & work with a Number field.",tags:["Fields","Field types","Numerical types","Number"],keywords:["Fields","Field types","Numerical types","Number","Create number field"]},a=void 0,o={unversionedId:"fields/field-types/numerical/number",id:"fields/field-types/numerical/number",title:"Number",description:"This article explains how to create & work with a Number field.",source:"@site/docs/070.fields/040.field-types/020.numerical/010.number.md",sourceDirName:"070.fields/040.field-types/020.numerical",slug:"/fields/field-types/numerical/number",permalink:"/fields/field-types/numerical/number",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/020.numerical/010.number.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Numerical types",permalink:"/tags/numerical-types"},{label:"Number",permalink:"/tags/number"}],version:"current",sidebarPosition:10,frontMatter:{title:"Number",description:"This article explains how to create & work with a Number field.",tags:["Fields","Field types","Numerical types","Number"],keywords:["Fields","Field types","Numerical types","Number","Create number field"]},sidebar:"tutorialSidebar",previous:{title:"URL",permalink:"/fields/field-types/text-based/url"},next:{title:"Decimal",permalink:"/fields/field-types/numerical/decimal"}},s={},c=[{value:"Create a number field",id:"create-a-number-field",level:2},{value:"Similar numerical fields",id:"similar-numerical-fields",level:2}],p={toc:c},d="wrapper";function u(e){let{components:t,...l}=e;return(0,n.kt)(d,(0,i.Z)({},p,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Number")," field type is used to store numerical values. Use cases include storing ",(0,n.kt)("inlineCode",{parentName:"p"},"age"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"salary"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"price"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"quantity"),", etc."),(0,n.kt)("h2",{id:"create-a-number-field"},"Create a number field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,n.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,n.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Select the field type as ",(0,n.kt)("inlineCode",{parentName:"li"},"Number")," from the dropdown."),(0,n.kt)("li",{parentName:"ol"},"Set default value for the field (Optional)."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"image",src:r(66222).Z,width:"2876",height:"1178"})),(0,n.kt)("admonition",{type:"info"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"This field type can hold both positive and negative numbers."),(0,n.kt)("li",{parentName:"ul"},"Supported range (JavaScript): -9007199254740991 to 9007199254740991"))),(0,n.kt)("h2",{id:"similar-numerical-fields"},"Similar numerical fields"),(0,n.kt)("p",null,"Following are the other numerical fields available in NocoDB, with some custom add-on features."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/decimal"},"Decimal")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/percent"},"Percent")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/fields/field-types/numerical/currency"},"Currency"))))}u.isMDXComponent=!0},66222:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/number-a3e4b9f394fc28d0cd3a7dc2297d608f.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/e68614dc.3109c382.js b/packages/noco-docs/dist/assets/js/e68614dc.05254431.js similarity index 59% rename from packages/noco-docs/dist/assets/js/e68614dc.3109c382.js rename to packages/noco-docs/dist/assets/js/e68614dc.05254431.js index 50f8605be5..5646002f80 100644 --- a/packages/noco-docs/dist/assets/js/e68614dc.3109c382.js +++ b/packages/noco-docs/dist/assets/js/e68614dc.05254431.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[771],{3905:(e,t,l)=>{l.d(t,{Zo:()=>c,kt:()=>u});var n=l(67294);function a(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function i(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,n)}return l}function o(e){for(var t=1;t=0||(a[l]=e[l]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(a[l]=e[l])}return a}var d=n.createContext({}),p=function(e){var t=n.useContext(d),l=t;return e&&(l="function"==typeof e?e(t):o(o({},t),e)),l},c=function(e){var t=p(e.components);return n.createElement(d.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var l=e.components,a=e.mdxType,i=e.originalType,d=e.parentName,c=r(e,["components","mdxType","originalType","parentName"]),s=p(l),f=a,u=s["".concat(d,".").concat(f)]||s[f]||m[f]||i;return l?n.createElement(u,o(o({ref:t},c),{},{components:l})):n.createElement(u,o({ref:t},c))}));function u(e,t){var l=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=l.length,o=new Array(i);o[0]=f;var r={};for(var d in t)hasOwnProperty.call(t,d)&&(r[d]=t[d]);r.originalType=e,r[s]="string"==typeof e?e:a,o[1]=r;for(var p=2;p{l.r(t),l.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>r,toc:()=>p});var n=l(87462),a=(l(67294),l(3905));const i={title:"Attachment",description:"This article explains how to create & work with an Attachment field.",tags:["Fields","Field types","Custom types","Attachment"],keywords:["Fields","Field types","Custom types","Attachment","Create attachment field"]},o=void 0,r={unversionedId:"fields/field-types/custom-types/attachment",id:"fields/field-types/custom-types/attachment",title:"Attachment",description:"This article explains how to create & work with an Attachment field.",source:"@site/docs/070.fields/040.field-types/050.custom-types/010.attachment.md",sourceDirName:"070.fields/040.field-types/050.custom-types",slug:"/fields/field-types/custom-types/attachment",permalink:"/fields/field-types/custom-types/attachment",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/050.custom-types/010.attachment.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"Attachment",permalink:"/tags/attachment"}],version:"current",sidebarPosition:10,frontMatter:{title:"Attachment",description:"This article explains how to create & work with an Attachment field.",tags:["Fields","Field types","Custom types","Attachment"],keywords:["Fields","Field types","Custom types","Attachment","Create attachment field"]},sidebar:"tutorialSidebar",previous:{title:"Rollup",permalink:"/fields/field-types/links-based/rollup"},next:{title:"QR code",permalink:"/fields/field-types/custom-types/QR-code"}},d={},p=[{value:"Create an Attachment field",id:"create-an-attachment-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"Upload files",id:"upload-files",level:3},{value:"Expand modal",id:"expand-modal",level:2},{value:"Attach file(s)",id:"attach-files",level:3},{value:"Delete file",id:"delete-file",level:3},{value:"Download file",id:"download-file",level:3},{value:"Bulk Download file(s)",id:"bulk-download-files",level:3},{value:"Rename file",id:"rename-file",level:3}],c={toc:p},s="wrapper";function m(e){let{components:t,...i}=e;return(0,a.kt)(s,(0,n.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Attachment")," fields allow you to upload files to your records. You can upload any file type, and the file will be linked to the record. You can also upload multiple files to a single ",(0,a.kt)("inlineCode",{parentName:"p"},"Attachment")," field record."),(0,a.kt)("h2",{id:"create-an-attachment-field"},"Create an Attachment field"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,a.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,a.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,a.kt)("li",{parentName:"ol"},"Select the field type as ",(0,a.kt)("inlineCode",{parentName:"li"},"Attachment")," from the dropdown."),(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:l(18290).Z,width:"2878",height:"1110"})),(0,a.kt)("admonition",{type:"info"},(0,a.kt)("p",{parentName:"admonition"},"Max size for an attachment file is currently limited to 5 MB")),(0,a.kt)("h3",{id:"cell-display"},"Cell display"),(0,a.kt)("p",null,"The cell display for ",(0,a.kt)("inlineCode",{parentName:"p"},"Attachment")," field is either a clickable preview if file is an image in recognizable format or a file-type icon.",(0,a.kt)("br",{parentName:"p"}),"\n",(0,a.kt)("img",{alt:"image",src:l(14684).Z,width:"1266",height:"687"})),(0,a.kt)("h3",{id:"upload-files"},"Upload files"),(0,a.kt)("p",null,"To upload files to an ",(0,a.kt)("inlineCode",{parentName:"p"},"Attachment")," field, "),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"+")," icon in the cell, choose the file to upload and click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Upload")," button. OR"),(0,a.kt)("li",{parentName:"ul"},"Drag drop the file to the cell. OR"),(0,a.kt)("li",{parentName:"ul"},"Click on expand icon ",(0,a.kt)("inlineCode",{parentName:"li"},"<>"),", choose the file to upload or drag-drop file; click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Upload")," button.")),(0,a.kt)("h2",{id:"expand-modal"},"Expand modal"),(0,a.kt)("p",null,"Expand modal for ",(0,a.kt)("inlineCode",{parentName:"p"},"Attachment")," field displays the list of files uploaded to the field. You can also upload files from the expand modal. To access expand modal, click on the expand icon ",(0,a.kt)("inlineCode",{parentName:"p"},"<>")," in the cell."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:l(94577).Z,width:"1527",height:"638"})),(0,a.kt)("p",null,"Expand modal supports the following actions:"),(0,a.kt)("h3",{id:"attach-files"},"Attach file(s)"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Attach file(s)")," button <1>"),(0,a.kt)("li",{parentName:"ul"},"Choose the file(s) to upload")),(0,a.kt)("h3",{id:"delete-file"},"Delete file"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"x")," icon <2> to the top left of the image card to delete the file")),(0,a.kt)("h3",{id:"download-file"},"Download file"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Download")," button <5> to download the file")),(0,a.kt)("h3",{id:"bulk-download-files"},"Bulk Download file(s)"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Select the files by clicking on the checkbox <3> to the top left of the image card"),(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Bulk Download")," button <4> to download the selected files")),(0,a.kt)("h3",{id:"rename-file"},"Rename file"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Rename")," button <5> to rename the file"),(0,a.kt)("li",{parentName:"ul"},"Enter the new name in the input field"),(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Rename")," button to save the new name")),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("p",{parentName:"admonition"},"Rename file only renames the file in NocoDB display (expand record & tool tip on hover). It does not rename the file in the storage.")))}m.isMDXComponent=!0},14684:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/attachment-cell-63aeff518251334ef9ebdd018c752b1b.png"},94577:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/attachment-expand-bf0a44f3b002a3efa120b55211ac4d3c.png"},18290:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/attachment-68efc9fbeb85c49731a9d441cd90bda8.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[771],{3905:(e,t,l)=>{l.d(t,{Zo:()=>c,kt:()=>u});var n=l(67294);function a(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function i(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,n)}return l}function o(e){for(var t=1;t=0||(a[l]=e[l]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(a[l]=e[l])}return a}var d=n.createContext({}),p=function(e){var t=n.useContext(d),l=t;return e&&(l="function"==typeof e?e(t):o(o({},t),e)),l},c=function(e){var t=p(e.components);return n.createElement(d.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var l=e.components,a=e.mdxType,i=e.originalType,d=e.parentName,c=r(e,["components","mdxType","originalType","parentName"]),s=p(l),f=a,u=s["".concat(d,".").concat(f)]||s[f]||m[f]||i;return l?n.createElement(u,o(o({ref:t},c),{},{components:l})):n.createElement(u,o({ref:t},c))}));function u(e,t){var l=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=l.length,o=new Array(i);o[0]=f;var r={};for(var d in t)hasOwnProperty.call(t,d)&&(r[d]=t[d]);r.originalType=e,r[s]="string"==typeof e?e:a,o[1]=r;for(var p=2;p{l.r(t),l.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>r,toc:()=>p});var n=l(87462),a=(l(67294),l(3905));const i={title:"Attachment",description:"This article explains how to create & work with an Attachment field.",tags:["Fields","Field types","Custom types","Attachment"],keywords:["Fields","Field types","Custom types","Attachment","Create attachment field"]},o=void 0,r={unversionedId:"fields/field-types/custom-types/attachment",id:"fields/field-types/custom-types/attachment",title:"Attachment",description:"This article explains how to create & work with an Attachment field.",source:"@site/docs/070.fields/040.field-types/050.custom-types/010.attachment.md",sourceDirName:"070.fields/040.field-types/050.custom-types",slug:"/fields/field-types/custom-types/attachment",permalink:"/fields/field-types/custom-types/attachment",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/040.field-types/050.custom-types/010.attachment.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Field types",permalink:"/tags/field-types"},{label:"Custom types",permalink:"/tags/custom-types"},{label:"Attachment",permalink:"/tags/attachment"}],version:"current",sidebarPosition:10,frontMatter:{title:"Attachment",description:"This article explains how to create & work with an Attachment field.",tags:["Fields","Field types","Custom types","Attachment"],keywords:["Fields","Field types","Custom types","Attachment","Create attachment field"]},sidebar:"tutorialSidebar",previous:{title:"Rollup",permalink:"/fields/field-types/links-based/rollup"},next:{title:"QR code",permalink:"/fields/field-types/custom-types/QR-code"}},d={},p=[{value:"Create an Attachment field",id:"create-an-attachment-field",level:2},{value:"Cell display",id:"cell-display",level:3},{value:"Upload files",id:"upload-files",level:3},{value:"Expand modal",id:"expand-modal",level:2},{value:"Attach file(s)",id:"attach-files",level:3},{value:"Delete file",id:"delete-file",level:3},{value:"Download file",id:"download-file",level:3},{value:"Bulk Download file(s)",id:"bulk-download-files",level:3},{value:"Rename file",id:"rename-file",level:3}],c={toc:p},s="wrapper";function m(e){let{components:t,...i}=e;return(0,a.kt)(s,(0,n.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"Attachment")," fields allow you to upload files to your records. You can upload any file type, and the file will be linked to the record. You can also upload multiple files to a single ",(0,a.kt)("inlineCode",{parentName:"p"},"Attachment")," field record."),(0,a.kt)("h2",{id:"create-an-attachment-field"},"Create an Attachment field"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"+")," icon to the right of ",(0,a.kt)("inlineCode",{parentName:"li"},"Fields header")),(0,a.kt)("li",{parentName:"ol"},"On the dropdown modal, enter the field name (Optional)."),(0,a.kt)("li",{parentName:"ol"},"Select the field type as ",(0,a.kt)("inlineCode",{parentName:"li"},"Attachment")," from the dropdown."),(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:l(2e3).Z,width:"2878",height:"1110"})),(0,a.kt)("admonition",{type:"info"},(0,a.kt)("p",{parentName:"admonition"},"Max size for an attachment file is currently limited to 5 MB")),(0,a.kt)("h3",{id:"cell-display"},"Cell display"),(0,a.kt)("p",null,"The cell display for ",(0,a.kt)("inlineCode",{parentName:"p"},"Attachment")," field is either a clickable preview if file is an image in recognizable format or a file-type icon.",(0,a.kt)("br",{parentName:"p"}),"\n",(0,a.kt)("img",{alt:"image",src:l(50781).Z,width:"1266",height:"687"})),(0,a.kt)("h3",{id:"upload-files"},"Upload files"),(0,a.kt)("p",null,"To upload files to an ",(0,a.kt)("inlineCode",{parentName:"p"},"Attachment")," field, "),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Click on the ",(0,a.kt)("inlineCode",{parentName:"li"},"+")," icon in the cell, choose the file to upload and click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Upload")," button. OR"),(0,a.kt)("li",{parentName:"ul"},"Drag drop the file to the cell. OR"),(0,a.kt)("li",{parentName:"ul"},"Click on expand icon ",(0,a.kt)("inlineCode",{parentName:"li"},"<>"),", choose the file to upload or drag-drop file; click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Upload")," button.")),(0,a.kt)("h2",{id:"expand-modal"},"Expand modal"),(0,a.kt)("p",null,"Expand modal for ",(0,a.kt)("inlineCode",{parentName:"p"},"Attachment")," field displays the list of files uploaded to the field. You can also upload files from the expand modal. To access expand modal, click on the expand icon ",(0,a.kt)("inlineCode",{parentName:"p"},"<>")," in the cell."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:l(16491).Z,width:"1527",height:"638"})),(0,a.kt)("p",null,"Expand modal supports the following actions:"),(0,a.kt)("h3",{id:"attach-files"},"Attach file(s)"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Attach file(s)")," button <1>"),(0,a.kt)("li",{parentName:"ul"},"Choose the file(s) to upload")),(0,a.kt)("h3",{id:"delete-file"},"Delete file"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"x")," icon <2> to the top left of the image card to delete the file")),(0,a.kt)("h3",{id:"download-file"},"Download file"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Download")," button <5> to download the file")),(0,a.kt)("h3",{id:"bulk-download-files"},"Bulk Download file(s)"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Select the files by clicking on the checkbox <3> to the top left of the image card"),(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Bulk Download")," button <4> to download the selected files")),(0,a.kt)("h3",{id:"rename-file"},"Rename file"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Rename")," button <5> to rename the file"),(0,a.kt)("li",{parentName:"ul"},"Enter the new name in the input field"),(0,a.kt)("li",{parentName:"ul"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Rename")," button to save the new name")),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("p",{parentName:"admonition"},"Rename file only renames the file in NocoDB display (expand record & tool tip on hover). It does not rename the file in the storage.")))}m.isMDXComponent=!0},50781:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/attachment-cell-63aeff518251334ef9ebdd018c752b1b.png"},16491:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/attachment-expand-bf0a44f3b002a3efa120b55211ac4d3c.png"},2e3:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/attachment-68efc9fbeb85c49731a9d441cd90bda8.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/eb689018.3b279b4e.js b/packages/noco-docs/dist/assets/js/eb689018.734338fd.js similarity index 98% rename from packages/noco-docs/dist/assets/js/eb689018.3b279b4e.js rename to packages/noco-docs/dist/assets/js/eb689018.734338fd.js index c7998017a6..3ab7e85bd6 100644 --- a/packages/noco-docs/dist/assets/js/eb689018.3b279b4e.js +++ b/packages/noco-docs/dist/assets/js/eb689018.734338fd.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4851],{3905:(e,a,t)=>{t.d(a,{Zo:()=>b,kt:()=>h});var s=t(67294);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function n(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);a&&(s=s.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,s)}return t}function o(e){for(var a=1;a=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(s=0;s=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var l=s.createContext({}),c=function(e){var a=s.useContext(l),t=a;return e&&(t="function"==typeof e?e(a):o(o({},a),e)),t},b=function(e){var a=c(e.components);return s.createElement(l.Provider,{value:a},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var a=e.children;return s.createElement(s.Fragment,{},a)}},m=s.forwardRef((function(e,a){var t=e.components,r=e.mdxType,n=e.originalType,l=e.parentName,b=i(e,["components","mdxType","originalType","parentName"]),p=c(t),m=r,h=p["".concat(l,".").concat(m)]||p[m]||d[m]||n;return t?s.createElement(h,o(o({ref:a},b),{},{components:t})):s.createElement(h,o({ref:a},b))}));function h(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var n=t.length,o=new Array(n);o[0]=m;var i={};for(var l in a)hasOwnProperty.call(a,l)&&(i[l]=a[l]);i.originalType=e,i[p]="string"==typeof e?e:r,o[1]=i;for(var c=2;c{t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>n,metadata:()=>i,toc:()=>c});var s=t(87462),r=(t(67294),t(3905));const n={title:"Base overview",description:"This article explains the concept of bases in NocoDB.",tags:["Bases","Overview","Dashboard"],keywords:["NocoDB base","base overview","base dashboard","base collaboration","base actions","delete base","base management","base administration","base settings","base organization"]},o=void 0,i={unversionedId:"bases/base-overview",id:"bases/base-overview",title:"Base overview",description:"This article explains the concept of bases in NocoDB.",source:"@site/docs/040.bases/010.base-overview.md",sourceDirName:"040.bases",slug:"/bases/base-overview",permalink:"/bases/base-overview",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/040.bases/010.base-overview.md",tags:[{label:"Bases",permalink:"/tags/bases"},{label:"Overview",permalink:"/tags/overview"},{label:"Dashboard",permalink:"/tags/dashboard"}],version:"current",sidebarPosition:10,frontMatter:{title:"Base overview",description:"This article explains the concept of bases in NocoDB.",tags:["Bases","Overview","Dashboard"],keywords:["NocoDB base","base overview","base dashboard","base collaboration","base actions","delete base","base management","base administration","base settings","base organization"]},sidebar:"tutorialSidebar",previous:{title:"Actions on workspace",permalink:"/workspaces/actions-on-workspace"},next:{title:"Create base",permalink:"/bases/create-base"}},l={},c=[{value:"Base Dashboard",id:"base-dashboard",level:2},{value:"Related articles",id:"related-articles",level:2}],b={toc:c},p="wrapper";function d(e){let{components:a,...n}=e;return(0,r.kt)(p,(0,s.Z)({},b,n,{components:a,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"In NocoDB, bases are the foundational elements that encompass tables, views, forms, and webhooks, providing a structured framework for data organization and collaborative work. It's essential to understand that each base is inherently tied to a specific workspace and cannot be transferred between different workspaces. The creator of a base is designated as the 'base owner,' and this ownership status is non-transferable, conferring exclusive authority over the base, including the ability to delete it."),(0,r.kt)("p",null,"Bases also come with their unique set of members and access permissions, which take precedence over any permissions set at the workspace level. This fine-grained control allows for tailored collaboration and data management within each base. Importantly, there are no restrictions on the number of members you can invite to a base, fostering open teamwork. Similarly, you have the freedom to create as many tables as needed within a single base,\noffering the scalability required to accommodate diverse datasets and projects. "),(0,r.kt)("p",null,"To get started, you can ",(0,r.kt)("a",{parentName:"p",href:"/bases/create-base"},"create an empty base")," if you want to start from scratch. If you've already been using Airtable, we make it easy to ",(0,r.kt)("a",{parentName:"p",href:"/bases/import-base-from-airtable"},"import your base"),". When collaborating with your team, you can ",(0,r.kt)("a",{parentName:"p",href:"/bases/base-collaboration"},"invite them")," to work on a base together. If you want to share your data with a broader audience, you can ",(0,r.kt)("a",{parentName:"p",href:"/bases/share-base"},"make your base public"),". If you ever need to rename your base, you can do so by using the ",(0,r.kt)("a",{parentName:"p",href:"/bases/actions-on-base#rename-base"},"rename base")," feature. And, if you find a base especially useful, you can ",(0,r.kt)("a",{parentName:"p",href:"/bases/actions-on-base#star-base"},"bookmark it")," for quick access. However, when the time comes to remove a base, you can ",(0,r.kt)("a",{parentName:"p",href:"/bases/actions-on-base#delete-base"},"delete it"),". "),(0,r.kt)("h2",{id:"base-dashboard"},"Base Dashboard"),(0,r.kt)("p",null,"The Base Dashboard serves as the primary landing page for a base, offering users a concise summary of its contents and functionality.\nThis central hub provides users with swift access to essential features such as base settings and collaboration tools.\nTo access the Base Dashboard, simply click on the base name located in the left sidebar. "),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image",src:t(31963).Z,width:"2880",height:"1800"})),(0,r.kt)("p",null,"The Base Dashboard is organized into three key sections, each serving a distinct purpose:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Table List"),": This section provides a comprehensive list of all tables within the base,\nincluding those sourced from external data repositories. Users can conveniently access a specific table by clicking\non its name. Tables originating from external sources are clearly highlighted in the list for easy identification.")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Base Members"),": In this section, users can view a roster of members associated with the base, along with their\nrespective permission levels. It's worth noting that members who are part of the workspace automatically inherit\naccess permissions at the base level. However, the base owner retains the ability to adjust these permissions,\neither increasing or decreasing them. Further details on collaboration management can be found in the dedicated\n",(0,r.kt)("a",{parentName:"p",href:"base-collaboration"},"Base Collaborations")," section.")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Data Sources"),": NocoDB offers the functionality to connect with external data sources and seamlessly\nintegrate them as native tables. This section provides a listing of connected data sources, setting the stage\nfor additional details on this feature, which will be covered in the forthcoming ",(0,r.kt)("a",{parentName:"p",href:"/data-sources/data-source-overview"},"Data Sources")," section.\nThis feature empowers users to work with external data as effortlessly as with in-house data tables, enhancing the versatility\nand scope of data management within the base."))),(0,r.kt)("h2",{id:"related-articles"},"Related articles"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/create-base"},"Create an empty base")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/import-base-from-airtable"},"Import base from Airtable")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/base-collaboration"},"Invite team members to work on a base")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/share-base"},"Share base publicly")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/actions-on-base#rename-base"},"Rename base")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/actions-on-base#duplicate-base"},"Duplicate base")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/actions-on-base#star-base"},"Bookmark base")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/actions-on-base#delete-base"},"Delete base"))))}d.isMDXComponent=!0},31963:(e,a,t)=>{t.d(a,{Z:()=>s});const s=t.p+"assets/images/base-dashboard-1c778031a554f46f75392fc786212606.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[4851],{3905:(e,a,t)=>{t.d(a,{Zo:()=>b,kt:()=>h});var s=t(67294);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function n(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);a&&(s=s.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,s)}return t}function o(e){for(var a=1;a=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(s=0;s=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var l=s.createContext({}),c=function(e){var a=s.useContext(l),t=a;return e&&(t="function"==typeof e?e(a):o(o({},a),e)),t},b=function(e){var a=c(e.components);return s.createElement(l.Provider,{value:a},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var a=e.children;return s.createElement(s.Fragment,{},a)}},m=s.forwardRef((function(e,a){var t=e.components,r=e.mdxType,n=e.originalType,l=e.parentName,b=i(e,["components","mdxType","originalType","parentName"]),p=c(t),m=r,h=p["".concat(l,".").concat(m)]||p[m]||d[m]||n;return t?s.createElement(h,o(o({ref:a},b),{},{components:t})):s.createElement(h,o({ref:a},b))}));function h(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var n=t.length,o=new Array(n);o[0]=m;var i={};for(var l in a)hasOwnProperty.call(a,l)&&(i[l]=a[l]);i.originalType=e,i[p]="string"==typeof e?e:r,o[1]=i;for(var c=2;c{t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>n,metadata:()=>i,toc:()=>c});var s=t(87462),r=(t(67294),t(3905));const n={title:"Base overview",description:"This article explains the concept of bases in NocoDB.",tags:["Bases","Overview","Dashboard"],keywords:["NocoDB base","base overview","base dashboard","base collaboration","base actions","delete base","base management","base administration","base settings","base organization"]},o=void 0,i={unversionedId:"bases/base-overview",id:"bases/base-overview",title:"Base overview",description:"This article explains the concept of bases in NocoDB.",source:"@site/docs/040.bases/010.base-overview.md",sourceDirName:"040.bases",slug:"/bases/base-overview",permalink:"/bases/base-overview",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/040.bases/010.base-overview.md",tags:[{label:"Bases",permalink:"/tags/bases"},{label:"Overview",permalink:"/tags/overview"},{label:"Dashboard",permalink:"/tags/dashboard"}],version:"current",sidebarPosition:10,frontMatter:{title:"Base overview",description:"This article explains the concept of bases in NocoDB.",tags:["Bases","Overview","Dashboard"],keywords:["NocoDB base","base overview","base dashboard","base collaboration","base actions","delete base","base management","base administration","base settings","base organization"]},sidebar:"tutorialSidebar",previous:{title:"Actions on workspace",permalink:"/workspaces/actions-on-workspace"},next:{title:"Create base",permalink:"/bases/create-base"}},l={},c=[{value:"Base Dashboard",id:"base-dashboard",level:2},{value:"Related articles",id:"related-articles",level:2}],b={toc:c},p="wrapper";function d(e){let{components:a,...n}=e;return(0,r.kt)(p,(0,s.Z)({},b,n,{components:a,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"In NocoDB, bases are the foundational elements that encompass tables, views, forms, and webhooks, providing a structured framework for data organization and collaborative work. It's essential to understand that each base is inherently tied to a specific workspace and cannot be transferred between different workspaces. The creator of a base is designated as the 'base owner,' and this ownership status is non-transferable, conferring exclusive authority over the base, including the ability to delete it."),(0,r.kt)("p",null,"Bases also come with their unique set of members and access permissions, which take precedence over any permissions set at the workspace level. This fine-grained control allows for tailored collaboration and data management within each base. Importantly, there are no restrictions on the number of members you can invite to a base, fostering open teamwork. Similarly, you have the freedom to create as many tables as needed within a single base,\noffering the scalability required to accommodate diverse datasets and projects. "),(0,r.kt)("p",null,"To get started, you can ",(0,r.kt)("a",{parentName:"p",href:"/bases/create-base"},"create an empty base")," if you want to start from scratch. If you've already been using Airtable, we make it easy to ",(0,r.kt)("a",{parentName:"p",href:"/bases/import-base-from-airtable"},"import your base"),". When collaborating with your team, you can ",(0,r.kt)("a",{parentName:"p",href:"/bases/base-collaboration"},"invite them")," to work on a base together. If you want to share your data with a broader audience, you can ",(0,r.kt)("a",{parentName:"p",href:"/bases/share-base"},"make your base public"),". If you ever need to rename your base, you can do so by using the ",(0,r.kt)("a",{parentName:"p",href:"/bases/actions-on-base#rename-base"},"rename base")," feature. And, if you find a base especially useful, you can ",(0,r.kt)("a",{parentName:"p",href:"/bases/actions-on-base#star-base"},"bookmark it")," for quick access. However, when the time comes to remove a base, you can ",(0,r.kt)("a",{parentName:"p",href:"/bases/actions-on-base#delete-base"},"delete it"),". "),(0,r.kt)("h2",{id:"base-dashboard"},"Base Dashboard"),(0,r.kt)("p",null,"The Base Dashboard serves as the primary landing page for a base, offering users a concise summary of its contents and functionality.\nThis central hub provides users with swift access to essential features such as base settings and collaboration tools.\nTo access the Base Dashboard, simply click on the base name located in the left sidebar. "),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"image",src:t(71048).Z,width:"2880",height:"1800"})),(0,r.kt)("p",null,"The Base Dashboard is organized into three key sections, each serving a distinct purpose:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Table List"),": This section provides a comprehensive list of all tables within the base,\nincluding those sourced from external data repositories. Users can conveniently access a specific table by clicking\non its name. Tables originating from external sources are clearly highlighted in the list for easy identification.")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Base Members"),": In this section, users can view a roster of members associated with the base, along with their\nrespective permission levels. It's worth noting that members who are part of the workspace automatically inherit\naccess permissions at the base level. However, the base owner retains the ability to adjust these permissions,\neither increasing or decreasing them. Further details on collaboration management can be found in the dedicated\n",(0,r.kt)("a",{parentName:"p",href:"base-collaboration"},"Base Collaborations")," section.")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("strong",{parentName:"p"},"Data Sources"),": NocoDB offers the functionality to connect with external data sources and seamlessly\nintegrate them as native tables. This section provides a listing of connected data sources, setting the stage\nfor additional details on this feature, which will be covered in the forthcoming ",(0,r.kt)("a",{parentName:"p",href:"/data-sources/data-source-overview"},"Data Sources")," section.\nThis feature empowers users to work with external data as effortlessly as with in-house data tables, enhancing the versatility\nand scope of data management within the base."))),(0,r.kt)("h2",{id:"related-articles"},"Related articles"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/create-base"},"Create an empty base")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/import-base-from-airtable"},"Import base from Airtable")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/base-collaboration"},"Invite team members to work on a base")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/share-base"},"Share base publicly")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/actions-on-base#rename-base"},"Rename base")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/actions-on-base#duplicate-base"},"Duplicate base")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/actions-on-base#star-base"},"Bookmark base")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/bases/actions-on-base#delete-base"},"Delete base"))))}d.isMDXComponent=!0},71048:(e,a,t)=>{t.d(a,{Z:()=>s});const s=t.p+"assets/images/base-dashboard-1c778031a554f46f75392fc786212606.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/ebb99180.69344f2a.js b/packages/noco-docs/dist/assets/js/ebb99180.98caab2e.js similarity index 97% rename from packages/noco-docs/dist/assets/js/ebb99180.69344f2a.js rename to packages/noco-docs/dist/assets/js/ebb99180.98caab2e.js index b873530109..b04acea673 100644 --- a/packages/noco-docs/dist/assets/js/ebb99180.69344f2a.js +++ b/packages/noco-docs/dist/assets/js/ebb99180.98caab2e.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[346],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>v});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var s=a.createContext({}),p=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},c=function(e){var t=p(e.components);return a.createElement(s.Provider,{value:t},e.children)},w="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},y=a.forwardRef((function(e,t){var r=e.components,i=e.mdxType,l=e.originalType,s=e.parentName,c=n(e,["components","mdxType","originalType","parentName"]),w=p(r),y=i,v=w["".concat(s,".").concat(y)]||w[y]||d[y]||l;return r?a.createElement(v,o(o({ref:t},c),{},{components:r})):a.createElement(v,o({ref:t},c))}));function v(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=r.length,o=new Array(l);o[0]=y;var n={};for(var s in t)hasOwnProperty.call(t,s)&&(n[s]=t[s]);n.originalType=e,n[w]="string"==typeof e?e:i,o[1]=n;for(var p=2;p{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>l,metadata:()=>n,toc:()=>p});var a=r(87462),i=(r(67294),r(3905));const l={title:"Gallery",description:"Learn how to work with gallery view in NocoDB.",tags:["Views","Gallery view"],keywords:["NocoDB gallery view","gallery view","gallery"]},o=void 0,n={unversionedId:"views/view-types/gallery",id:"views/view-types/gallery",title:"Gallery",description:"Learn how to work with gallery view in NocoDB.",source:"@site/docs/090.views/040.view-types/020.gallery.md",sourceDirName:"090.views/040.view-types",slug:"/views/view-types/gallery",permalink:"/views/view-types/gallery",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/040.view-types/020.gallery.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Gallery view",permalink:"/tags/gallery-view"}],version:"current",sidebarPosition:20,frontMatter:{title:"Gallery",description:"Learn how to work with gallery view in NocoDB.",tags:["Views","Gallery view"],keywords:["NocoDB gallery view","gallery view","gallery"]},sidebar:"tutorialSidebar",previous:{title:"Grid",permalink:"/views/view-types/grid"},next:{title:"Form",permalink:"/views/view-types/form"}},s={},p=[{value:"Gallery View Actions",id:"gallery-view-actions",level:2},{value:"Gallery View Operations",id:"gallery-view-operations",level:2},{value:"Gallery View Record Operations",id:"gallery-view-record-operations",level:2},{value:"Related articles",id:"related-articles",level:2}],c={toc:p},w="wrapper";function d(e){let{components:t,...l}=e;return(0,i.kt)(w,(0,a.Z)({},c,l,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"Gallery View allows you to display images as thumbnails with other fields just like a gallery. This view type is ideal for viewing images in a gallery-like interface. Like in Gallery, you can also perform various operations on the gallery view, such as sorting, filtering, grouping, and searching. You can also export the data in the gallery view to CSV or Excel format. This section will cover all the operations that can be performed on the gallery view."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"1010-2 Gallery",src:r(20656).Z,width:"2880",height:"1800"})),(0,i.kt)("h2",{id:"gallery-view-actions"},"Gallery View Actions"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/create-view/#create-new-view"},"Create a New Gallery View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/actions-on-view#rename-view"},"Rename an Existing Gallery View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/actions-on-view#duplicate-view"},"Duplicate a Gallery View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/actions-on-view#delete-view"},"Remove a Gallery View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/share-view"},"Share a Gallery View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/views-overview#view-permission-types"},"Lock Gallery View for Edits"))),(0,i.kt)("h2",{id:"gallery-view-operations"},"Gallery View Operations"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/field-operations#rearranging-fields"},"Rearrange Fields Within the Gallery")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/field-operations#showhide-fields"},"Show or Hide Fields Within the Gallery")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/filter"},"Apply Filters to Display Specific Records on the Gallery")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/sort"},"Sort Records on the Gallery by One or More Criteria")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/search"},"Perform Quick Searches for Specific Data Within Fields")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/download#download-data"},"Export Data to CSV or Excel Format")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/field-operations#change-cover-field-gallerykanban-view"},"Change Cover Image")," ")),(0,i.kt)("h2",{id:"gallery-view-record-operations"},"Gallery View Record Operations"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("strong",{parentName:"li"},"Add a New Record to the Gallery"),": Currently it is not possible to insert a new record directly on the gallery view. However, you can add a new record to the table, and it will be displayed on the gallery view."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("strong",{parentName:"li"},"Edit an Existing Record on the Gallery"),": Click on the card on the gallery view to open the record in the expanded record view. You can edit the record in the form view and save it."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("strong",{parentName:"li"},"Delete a Single Record from the Gallery"),": Click on the card on the gallery view to open the record in the expanded record view. You can delete the record in the form view by using the expanded record context menu."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("strong",{parentName:"li"},"Delete Multiple Records in Bulk from the Gallery"),": Currently it is not possible to delete multiple records in bulk directly on the gallery view. However, you can delete multiple records in bulk from the grid view & it will be reflected on the gallery view.")),(0,i.kt)("h2",{id:"related-articles"},"Related articles"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"/views/view-types/grid"},"Grid View"),(0,i.kt)("br",{parentName:"p"}),"\n",(0,i.kt)("a",{parentName:"p",href:"/views/view-types/form"},"Form View"),(0,i.kt)("br",{parentName:"p"}),"\n",(0,i.kt)("a",{parentName:"p",href:"/views/view-types/kanban"},"Kanban View")))}d.isMDXComponent=!0},20656:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/gallery-45f0b39f541ab7afc2a5b7d44f010406.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[346],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>v});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var s=a.createContext({}),p=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},c=function(e){var t=p(e.components);return a.createElement(s.Provider,{value:t},e.children)},w="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},y=a.forwardRef((function(e,t){var r=e.components,i=e.mdxType,l=e.originalType,s=e.parentName,c=n(e,["components","mdxType","originalType","parentName"]),w=p(r),y=i,v=w["".concat(s,".").concat(y)]||w[y]||d[y]||l;return r?a.createElement(v,o(o({ref:t},c),{},{components:r})):a.createElement(v,o({ref:t},c))}));function v(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=r.length,o=new Array(l);o[0]=y;var n={};for(var s in t)hasOwnProperty.call(t,s)&&(n[s]=t[s]);n.originalType=e,n[w]="string"==typeof e?e:i,o[1]=n;for(var p=2;p{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>l,metadata:()=>n,toc:()=>p});var a=r(87462),i=(r(67294),r(3905));const l={title:"Gallery",description:"Learn how to work with gallery view in NocoDB.",tags:["Views","Gallery view"],keywords:["NocoDB gallery view","gallery view","gallery"]},o=void 0,n={unversionedId:"views/view-types/gallery",id:"views/view-types/gallery",title:"Gallery",description:"Learn how to work with gallery view in NocoDB.",source:"@site/docs/090.views/040.view-types/020.gallery.md",sourceDirName:"090.views/040.view-types",slug:"/views/view-types/gallery",permalink:"/views/view-types/gallery",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/090.views/040.view-types/020.gallery.md",tags:[{label:"Views",permalink:"/tags/views"},{label:"Gallery view",permalink:"/tags/gallery-view"}],version:"current",sidebarPosition:20,frontMatter:{title:"Gallery",description:"Learn how to work with gallery view in NocoDB.",tags:["Views","Gallery view"],keywords:["NocoDB gallery view","gallery view","gallery"]},sidebar:"tutorialSidebar",previous:{title:"Grid",permalink:"/views/view-types/grid"},next:{title:"Form",permalink:"/views/view-types/form"}},s={},p=[{value:"Gallery View Actions",id:"gallery-view-actions",level:2},{value:"Gallery View Operations",id:"gallery-view-operations",level:2},{value:"Gallery View Record Operations",id:"gallery-view-record-operations",level:2},{value:"Related articles",id:"related-articles",level:2}],c={toc:p},w="wrapper";function d(e){let{components:t,...l}=e;return(0,i.kt)(w,(0,a.Z)({},c,l,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"Gallery View allows you to display images as thumbnails with other fields just like a gallery. This view type is ideal for viewing images in a gallery-like interface. Like in Gallery, you can also perform various operations on the gallery view, such as sorting, filtering, grouping, and searching. You can also export the data in the gallery view to CSV or Excel format. This section will cover all the operations that can be performed on the gallery view."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"1010-2 Gallery",src:r(29031).Z,width:"2880",height:"1800"})),(0,i.kt)("h2",{id:"gallery-view-actions"},"Gallery View Actions"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/create-view/#create-new-view"},"Create a New Gallery View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/actions-on-view#rename-view"},"Rename an Existing Gallery View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/actions-on-view#duplicate-view"},"Duplicate a Gallery View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/actions-on-view#delete-view"},"Remove a Gallery View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/share-view"},"Share a Gallery View")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/views/views-overview#view-permission-types"},"Lock Gallery View for Edits"))),(0,i.kt)("h2",{id:"gallery-view-operations"},"Gallery View Operations"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/field-operations#rearranging-fields"},"Rearrange Fields Within the Gallery")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/field-operations#showhide-fields"},"Show or Hide Fields Within the Gallery")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/filter"},"Apply Filters to Display Specific Records on the Gallery")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/sort"},"Sort Records on the Gallery by One or More Criteria")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/search"},"Perform Quick Searches for Specific Data Within Fields")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/download#download-data"},"Export Data to CSV or Excel Format")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"/table-operations/field-operations#change-cover-field-gallerykanban-view"},"Change Cover Image")," ")),(0,i.kt)("h2",{id:"gallery-view-record-operations"},"Gallery View Record Operations"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("strong",{parentName:"li"},"Add a New Record to the Gallery"),": Currently it is not possible to insert a new record directly on the gallery view. However, you can add a new record to the table, and it will be displayed on the gallery view."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("strong",{parentName:"li"},"Edit an Existing Record on the Gallery"),": Click on the card on the gallery view to open the record in the expanded record view. You can edit the record in the form view and save it."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("strong",{parentName:"li"},"Delete a Single Record from the Gallery"),": Click on the card on the gallery view to open the record in the expanded record view. You can delete the record in the form view by using the expanded record context menu."),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("strong",{parentName:"li"},"Delete Multiple Records in Bulk from the Gallery"),": Currently it is not possible to delete multiple records in bulk directly on the gallery view. However, you can delete multiple records in bulk from the grid view & it will be reflected on the gallery view.")),(0,i.kt)("h2",{id:"related-articles"},"Related articles"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"/views/view-types/grid"},"Grid View"),(0,i.kt)("br",{parentName:"p"}),"\n",(0,i.kt)("a",{parentName:"p",href:"/views/view-types/form"},"Form View"),(0,i.kt)("br",{parentName:"p"}),"\n",(0,i.kt)("a",{parentName:"p",href:"/views/view-types/kanban"},"Kanban View")))}d.isMDXComponent=!0},29031:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/gallery-45f0b39f541ab7afc2a5b7d44f010406.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/f7d905ba.ac350311.js b/packages/noco-docs/dist/assets/js/f7d905ba.edb12578.js similarity index 64% rename from packages/noco-docs/dist/assets/js/f7d905ba.ac350311.js rename to packages/noco-docs/dist/assets/js/f7d905ba.edb12578.js index 1a66ef1d56..ba92577760 100644 --- a/packages/noco-docs/dist/assets/js/f7d905ba.ac350311.js +++ b/packages/noco-docs/dist/assets/js/f7d905ba.edb12578.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7746],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>g});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function a(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=i.createContext({}),p=function(e){var t=i.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},d=function(e){var t=p(e.components);return i.createElement(s.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},f=i.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),c=p(r),f=n,g=c["".concat(s,".").concat(f)]||c[f]||u[f]||l;return r?i.createElement(g,a(a({ref:t},d),{},{components:r})):i.createElement(g,a({ref:t},d))}));function g(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,a=new Array(l);a[0]=f;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:n,a[1]=o;for(var p=2;p{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var i=r(87462),n=(r(67294),r(3905));const l={title:"Filtering records",description:"Learn how to filter records in NocoDB.",tags:["Table operations","Filter","Gallery view","Kanban view","Grid view"],keywords:["NocoDB table operations","table operations overview","filter"]},a=void 0,o={unversionedId:"table-operations/filter",id:"table-operations/filter",title:"Filtering records",description:"Learn how to filter records in NocoDB.",source:"@site/docs/060.table-operations/030.filter.md",sourceDirName:"060.table-operations",slug:"/table-operations/filter",permalink:"/table-operations/filter",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/060.table-operations/030.filter.md",tags:[{label:"Table operations",permalink:"/tags/table-operations"},{label:"Filter",permalink:"/tags/filter"},{label:"Gallery view",permalink:"/tags/gallery-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Grid view",permalink:"/tags/grid-view"}],version:"current",sidebarPosition:30,frontMatter:{title:"Filtering records",description:"Learn how to filter records in NocoDB.",tags:["Table operations","Filter","Gallery view","Kanban view","Grid view"],keywords:["NocoDB table operations","table operations overview","filter"]},sidebar:"tutorialSidebar",previous:{title:"Hide & reorder fields",permalink:"/table-operations/field-operations"},next:{title:"Sorting records",permalink:"/table-operations/sort"}},s={},p=[{value:"Adding or Editing Filters",id:"adding-or-editing-filters",level:3},{value:"Deleting Filters",id:"deleting-filters",level:3},{value:"Grouping Filters",id:"grouping-filters",level:3},{value:"Enabling NULL and EMPTY Filters",id:"enabling-null-and-empty-filters",level:2},{value:"Supported Filters",id:"supported-filters",level:3},{value:"Related topics",id:"related-topics",level:3}],d={toc:p},c="wrapper";function u(e){let{components:t,...l}=e;return(0,n.kt)(c,(0,i.Z)({},d,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"Filters provide a powerful way to narrow down and organize your data according to your specific requirements. NocoDB supports nested filters, allowing you to select multiple fields and conditions for filtering. You can choose between ",(0,n.kt)("inlineCode",{parentName:"p"},"and")," or ",(0,n.kt)("inlineCode",{parentName:"p"},"or")," mode of operation to combine filters, and filtering also supports Lookup, Formula, and Nested Data."),(0,n.kt)("h3",{id:"adding-or-editing-filters"},"Adding or Editing Filters"),(0,n.kt)("p",null,"To add or edit a filter, simply click the ",(0,n.kt)("inlineCode",{parentName:"p"},"Filter")," button in the toolbar and select either ",(0,n.kt)("inlineCode",{parentName:"p"},"Add filter")," or ",(0,n.kt)("inlineCode",{parentName:"p"},"Add filter group"),"."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Add Filter",src:r(59155).Z,width:"2300",height:"610"})),(0,n.kt)("p",null,"Configure the filter by specifying the ",(0,n.kt)("inlineCode",{parentName:"p"},"Field,")," ",(0,n.kt)("inlineCode",{parentName:"p"},"Operation,")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"Value")," (if applicable)."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Filter Configuration",src:r(19911).Z,width:"2298",height:"800"})),(0,n.kt)("p",null,"You can combine multiple filter conditions using either ",(0,n.kt)("inlineCode",{parentName:"p"},"And")," or ",(0,n.kt)("inlineCode",{parentName:"p"},"Or")," mode of operation."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Nested Filters",src:r(48448).Z,width:"2296",height:"1056"})),(0,n.kt)("h3",{id:"deleting-filters"},"Deleting Filters"),(0,n.kt)("p",null,"To remove a filter, click on the bin icon located to the right of the respective filter."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Delete Filter",src:r(92390).Z,width:"2296",height:"1056"})),(0,n.kt)("h3",{id:"grouping-filters"},"Grouping Filters"),(0,n.kt)("p",null,"You also have the option to group multiple filters together using a Filter Group."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Grouped Filters",src:r(51970).Z,width:"2298",height:"1268"})),(0,n.kt)("h2",{id:"enabling-null-and-empty-filters"},"Enabling NULL and EMPTY Filters"),(0,n.kt)("p",null,"By default, NULL filters (",(0,n.kt)("inlineCode",{parentName:"p"},"is null")," & ",(0,n.kt)("inlineCode",{parentName:"p"},"is not null"),") and EMPTY filters (",(0,n.kt)("inlineCode",{parentName:"p"},"is empty")," & ",(0,n.kt)("inlineCode",{parentName:"p"},"is not empty"),") are hidden. If you wish to filter out either of these explicitly, you can enable ",(0,n.kt)("inlineCode",{parentName:"p"},"Show NULL and EMPTY Filter")," in ",(0,n.kt)("a",{parentName:"p",href:"/bases/actions-on-base#base-settings"},"Project settings"),"."),(0,n.kt)("p",null,"Before enabling ",(0,n.kt)("inlineCode",{parentName:"p"},"Show NULL and EMPTY Filter"),":"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Show isBlank",src:r(75518).Z,width:"2300",height:"1028"})),(0,n.kt)("p",null,"Once enabled, you can use the ",(0,n.kt)("inlineCode",{parentName:"p"},"is null")," & ",(0,n.kt)("inlineCode",{parentName:"p"},"is empty")," filters to filter out cells with NULL or EMPTY values."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Show NULL and EMPTY Filter",src:r(76227).Z,width:"2300",height:"1112"})),(0,n.kt)("p",null,"Alternatively, you can use Blank filters to filter out cells with NULL or EMPTY values."),(0,n.kt)("h3",{id:"supported-filters"},"Supported Filters"),(0,n.kt)("p",null,"NocoDB currently supports various types of filters for corresponding fields. Please refer to the matrix below for detailed information."),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://docs.google.com/spreadsheets/d/e/2PACX-1vTpCNKtA-szaXUKJEO5uuSIRnzUOK793MKnyBz9m2rQcwn7HqK19jPHeER-IIRWH9X56J78wfxXZuuv/pubhtml?gid=427284630&single=true&widget=true&headers=false"},"Filter Matrix")),(0,n.kt)("h3",{id:"related-topics"},"Related topics"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"field-operations"},"Field operations")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"sort"},"Sort")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"group-by"},"GroupBy")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"row-height"},"Row height")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"search"},"Quick Search")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"download"},"Download"))))}u.isMDXComponent=!0},59155:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/filter-1-6d82d6adaa0df9338b4c29b6376de557.png"},19911:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/filter-2-51019e4c6061e78b8b3df002cf6db8f5.png"},48448:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/filter-3-f6db70222f513a250bf4b0bd36e3c158.png"},51970:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/filter-4-058ba55633cb86f5b1a5431c1ee8766d.png"},92390:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/filter-5-e2ea016b369c57c5787ec7c4259f7fc6.png"},75518:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/filter-is-blank-93b9ad8f1a235a7a0c0e198c076a7caf.png"},76227:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/filter-is-null-empty-1341b5cc9439c361df4992106ff00ad6.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[7746],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>g});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function a(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=i.createContext({}),p=function(e){var t=i.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},d=function(e){var t=p(e.components);return i.createElement(s.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},f=i.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),c=p(r),f=n,g=c["".concat(s,".").concat(f)]||c[f]||u[f]||l;return r?i.createElement(g,a(a({ref:t},d),{},{components:r})):i.createElement(g,a({ref:t},d))}));function g(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,a=new Array(l);a[0]=f;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:n,a[1]=o;for(var p=2;p{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var i=r(87462),n=(r(67294),r(3905));const l={title:"Filtering records",description:"Learn how to filter records in NocoDB.",tags:["Table operations","Filter","Gallery view","Kanban view","Grid view"],keywords:["NocoDB table operations","table operations overview","filter"]},a=void 0,o={unversionedId:"table-operations/filter",id:"table-operations/filter",title:"Filtering records",description:"Learn how to filter records in NocoDB.",source:"@site/docs/060.table-operations/030.filter.md",sourceDirName:"060.table-operations",slug:"/table-operations/filter",permalink:"/table-operations/filter",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/060.table-operations/030.filter.md",tags:[{label:"Table operations",permalink:"/tags/table-operations"},{label:"Filter",permalink:"/tags/filter"},{label:"Gallery view",permalink:"/tags/gallery-view"},{label:"Kanban view",permalink:"/tags/kanban-view"},{label:"Grid view",permalink:"/tags/grid-view"}],version:"current",sidebarPosition:30,frontMatter:{title:"Filtering records",description:"Learn how to filter records in NocoDB.",tags:["Table operations","Filter","Gallery view","Kanban view","Grid view"],keywords:["NocoDB table operations","table operations overview","filter"]},sidebar:"tutorialSidebar",previous:{title:"Hide & reorder fields",permalink:"/table-operations/field-operations"},next:{title:"Sorting records",permalink:"/table-operations/sort"}},s={},p=[{value:"Adding or Editing Filters",id:"adding-or-editing-filters",level:3},{value:"Deleting Filters",id:"deleting-filters",level:3},{value:"Grouping Filters",id:"grouping-filters",level:3},{value:"Enabling NULL and EMPTY Filters",id:"enabling-null-and-empty-filters",level:2},{value:"Supported Filters",id:"supported-filters",level:3},{value:"Related topics",id:"related-topics",level:3}],d={toc:p},c="wrapper";function u(e){let{components:t,...l}=e;return(0,n.kt)(c,(0,i.Z)({},d,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"Filters provide a powerful way to narrow down and organize your data according to your specific requirements. NocoDB supports nested filters, allowing you to select multiple fields and conditions for filtering. You can choose between ",(0,n.kt)("inlineCode",{parentName:"p"},"and")," or ",(0,n.kt)("inlineCode",{parentName:"p"},"or")," mode of operation to combine filters, and filtering also supports Lookup, Formula, and Nested Data."),(0,n.kt)("h3",{id:"adding-or-editing-filters"},"Adding or Editing Filters"),(0,n.kt)("p",null,"To add or edit a filter, simply click the ",(0,n.kt)("inlineCode",{parentName:"p"},"Filter")," button in the toolbar and select either ",(0,n.kt)("inlineCode",{parentName:"p"},"Add filter")," or ",(0,n.kt)("inlineCode",{parentName:"p"},"Add filter group"),"."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Add Filter",src:r(46365).Z,width:"2300",height:"610"})),(0,n.kt)("p",null,"Configure the filter by specifying the ",(0,n.kt)("inlineCode",{parentName:"p"},"Field,")," ",(0,n.kt)("inlineCode",{parentName:"p"},"Operation,")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"Value")," (if applicable)."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Filter Configuration",src:r(58738).Z,width:"2298",height:"800"})),(0,n.kt)("p",null,"You can combine multiple filter conditions using either ",(0,n.kt)("inlineCode",{parentName:"p"},"And")," or ",(0,n.kt)("inlineCode",{parentName:"p"},"Or")," mode of operation."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Nested Filters",src:r(32632).Z,width:"2296",height:"1056"})),(0,n.kt)("h3",{id:"deleting-filters"},"Deleting Filters"),(0,n.kt)("p",null,"To remove a filter, click on the bin icon located to the right of the respective filter."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Delete Filter",src:r(54770).Z,width:"2296",height:"1056"})),(0,n.kt)("h3",{id:"grouping-filters"},"Grouping Filters"),(0,n.kt)("p",null,"You also have the option to group multiple filters together using a Filter Group."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Grouped Filters",src:r(5997).Z,width:"2298",height:"1268"})),(0,n.kt)("h2",{id:"enabling-null-and-empty-filters"},"Enabling NULL and EMPTY Filters"),(0,n.kt)("p",null,"By default, NULL filters (",(0,n.kt)("inlineCode",{parentName:"p"},"is null")," & ",(0,n.kt)("inlineCode",{parentName:"p"},"is not null"),") and EMPTY filters (",(0,n.kt)("inlineCode",{parentName:"p"},"is empty")," & ",(0,n.kt)("inlineCode",{parentName:"p"},"is not empty"),") are hidden. If you wish to filter out either of these explicitly, you can enable ",(0,n.kt)("inlineCode",{parentName:"p"},"Show NULL and EMPTY Filter")," in ",(0,n.kt)("a",{parentName:"p",href:"/bases/actions-on-base#base-settings"},"Project settings"),"."),(0,n.kt)("p",null,"Before enabling ",(0,n.kt)("inlineCode",{parentName:"p"},"Show NULL and EMPTY Filter"),":"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Show isBlank",src:r(44954).Z,width:"2300",height:"1028"})),(0,n.kt)("p",null,"Once enabled, you can use the ",(0,n.kt)("inlineCode",{parentName:"p"},"is null")," & ",(0,n.kt)("inlineCode",{parentName:"p"},"is empty")," filters to filter out cells with NULL or EMPTY values."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Show NULL and EMPTY Filter",src:r(9955).Z,width:"2300",height:"1112"})),(0,n.kt)("p",null,"Alternatively, you can use Blank filters to filter out cells with NULL or EMPTY values."),(0,n.kt)("h3",{id:"supported-filters"},"Supported Filters"),(0,n.kt)("p",null,"NocoDB currently supports various types of filters for corresponding fields. Please refer to the matrix below for detailed information."),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://docs.google.com/spreadsheets/d/e/2PACX-1vTpCNKtA-szaXUKJEO5uuSIRnzUOK793MKnyBz9m2rQcwn7HqK19jPHeER-IIRWH9X56J78wfxXZuuv/pubhtml?gid=427284630&single=true&widget=true&headers=false"},"Filter Matrix")),(0,n.kt)("h3",{id:"related-topics"},"Related topics"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"field-operations"},"Field operations")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"sort"},"Sort")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"group-by"},"GroupBy")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"row-height"},"Row height")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"search"},"Quick Search")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"download"},"Download"))))}u.isMDXComponent=!0},46365:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/filter-1-6d82d6adaa0df9338b4c29b6376de557.png"},58738:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/filter-2-51019e4c6061e78b8b3df002cf6db8f5.png"},32632:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/filter-3-f6db70222f513a250bf4b0bd36e3c158.png"},5997:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/filter-4-058ba55633cb86f5b1a5431c1ee8766d.png"},54770:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/filter-5-e2ea016b369c57c5787ec7c4259f7fc6.png"},44954:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/filter-is-blank-93b9ad8f1a235a7a0c0e198c076a7caf.png"},9955:(e,t,r)=>{r.d(t,{Z:()=>i});const i=r.p+"assets/images/filter-is-null-empty-1341b5cc9439c361df4992106ff00ad6.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/fb60c522.cccea2fd.js b/packages/noco-docs/dist/assets/js/fb60c522.5a98688b.js similarity index 56% rename from packages/noco-docs/dist/assets/js/fb60c522.cccea2fd.js rename to packages/noco-docs/dist/assets/js/fb60c522.5a98688b.js index afef48fab5..6f234757cb 100644 --- a/packages/noco-docs/dist/assets/js/fb60c522.cccea2fd.js +++ b/packages/noco-docs/dist/assets/js/fb60c522.5a98688b.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5407],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>m});var l=i(67294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function o(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var r=l.createContext({}),s=function(e){var t=l.useContext(r),i=t;return e&&(i="function"==typeof e?e(t):o(o({},t),e)),i},p=function(e){var t=s(e.components);return l.createElement(r.Provider,{value:t},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},u=l.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,r=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),c=s(i),u=n,m=c["".concat(r,".").concat(u)]||c[u]||f[u]||a;return i?l.createElement(m,o(o({ref:t},p),{},{components:i})):l.createElement(m,o({ref:t},p))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,o=new Array(a);o[0]=u;var d={};for(var r in t)hasOwnProperty.call(t,r)&&(d[r]=t[r]);d.originalType=e,d[c]="string"==typeof e?e:n,o[1]=d;for(var s=2;s{i.r(t),i.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>f,frontMatter:()=>a,metadata:()=>d,toc:()=>s});var l=i(87462),n=(i(67294),i(3905));const a={title:"Actions on field",description:"This article explains how to perform various actions on a field- like rename, change field type, default, field width, record height, show/hide.",tags:["Fields","Rename","Delete","Duplicate","Hide","Display value","Sort","Record Height","Field Width"],keywords:["NocoDB fields","fields overview","field administration","field organization"]},o=void 0,d={unversionedId:"fields/actions-on-field",id:"fields/actions-on-field",title:"Actions on field",description:"This article explains how to perform various actions on a field- like rename, change field type, default, field width, record height, show/hide.",source:"@site/docs/070.fields/060.actions-on-field.md",sourceDirName:"070.fields",slug:"/fields/actions-on-field",permalink:"/fields/actions-on-field",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/060.actions-on-field.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Rename",permalink:"/tags/rename"},{label:"Delete",permalink:"/tags/delete"},{label:"Duplicate",permalink:"/tags/duplicate"},{label:"Hide",permalink:"/tags/hide"},{label:"Display value",permalink:"/tags/display-value"},{label:"Sort",permalink:"/tags/sort"},{label:"Record Height",permalink:"/tags/record-height"},{label:"Field Width",permalink:"/tags/field-width"}],version:"current",sidebarPosition:60,frontMatter:{title:"Actions on field",description:"This article explains how to perform various actions on a field- like rename, change field type, default, field width, record height, show/hide.",tags:["Fields","Rename","Delete","Duplicate","Hide","Display value","Sort","Record Height","Field Width"],keywords:["NocoDB fields","fields overview","field administration","field organization"]},sidebar:"tutorialSidebar",previous:{title:"Multi-field editor",permalink:"/fields/multi-fields-editor"},next:{title:"Records overview",permalink:"/records/records-overview"}},r={},s=[{value:"Fields context menu",id:"fields-context-menu",level:2},{value:"Edit",id:"edit",level:3},{value:"Rename field",id:"rename-field",level:4},{value:"Change field type",id:"change-field-type",level:4},{value:"Change default value",id:"change-default-value",level:4},{value:"Change field width",id:"change-field-width",level:3},{value:"Hide field",id:"hide-field",level:3},{value:"Set as Display value",id:"set-as-display-value",level:3},{value:"Sort Ascending",id:"sort-ascending",level:3},{value:"Sort Descending",id:"sort-descending",level:3},{value:"Duplicate field",id:"duplicate-field",level:3},{value:"Insert after a field",id:"insert-after-a-field",level:3},{value:"Insert before a field",id:"insert-before-a-field",level:3},{value:"Delete field",id:"delete-field",level:3}],p={toc:s},c="wrapper";function f(e){let{components:t,...a}=e;return(0,n.kt)(c,(0,l.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"fields-context-menu"},"Fields context menu"),(0,n.kt)("p",null,"Fields context menu can be accessed by clicking on the dropdown icon (\ud83d\udd3d) next to the field name.",(0,n.kt)("br",{parentName:"p"}),"\n",(0,n.kt)("img",{alt:"Fields context menu",src:i(63523).Z,width:"2880",height:"1800"})),(0,n.kt)("h3",{id:"edit"},"Edit"),(0,n.kt)("h4",{id:"rename-field"},"Rename field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Edit")," option."),(0,n.kt)("li",{parentName:"ol"},"Enter new field name as required in the ",(0,n.kt)("inlineCode",{parentName:"li"},"Field Name")," field."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Rename field",src:i(61446).Z,width:"2876",height:"1348"})),(0,n.kt)("h4",{id:"change-field-type"},"Change field type"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Edit")," option."),(0,n.kt)("li",{parentName:"ol"},"Select new field type from the ",(0,n.kt)("inlineCode",{parentName:"li"},"Field Type")," dropdown."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Change field type",src:i(20229).Z,width:"2876",height:"1348"})),(0,n.kt)("h4",{id:"change-default-value"},"Change default value"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Edit")," option."),(0,n.kt)("li",{parentName:"ol"},"Enter new default value in the ",(0,n.kt)("inlineCode",{parentName:"li"},"Default Value")," field. To disable, click on ",(0,n.kt)("inlineCode",{parentName:"li"},"x")," icon."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Change default value",src:i(68895).Z,width:"2876",height:"1348"})),(0,n.kt)("h3",{id:"change-field-width"},"Change field width"),(0,n.kt)("p",null,"To adjust the width of the field, hover over the field edge and drag to adjust the width."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Change field width",src:i(83970).Z,width:"2360",height:"860"})),(0,n.kt)("h3",{id:"hide-field"},"Hide field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Hide Field")," option ")),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"Hidden fields are not visible in the table view, but will still be accessible for Formulas, Sort, Filter, etc."),(0,n.kt)("li",{parentName:"ul"},"To un hide a field, use ",(0,n.kt)("inlineCode",{parentName:"li"},"Toolbar > Fields")," menu"),(0,n.kt)("li",{parentName:"ul"},"Fields can also be marked as hidden from ",(0,n.kt)("inlineCode",{parentName:"li"},"Toolbar > Fields")," menu"))),(0,n.kt)("h3",{id:"set-as-display-value"},"Set as Display value"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Set as Display Value")," option.")),(0,n.kt)("p",null,"Refer to ",(0,n.kt)("a",{parentName:"p",href:"/fields/display-value"},"Display Value")," for more details."),(0,n.kt)("h3",{id:"sort-ascending"},"Sort Ascending"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Sort Ascending")," option.")),(0,n.kt)("h3",{id:"sort-descending"},"Sort Descending"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Sort Descending")," option.")),(0,n.kt)("h3",{id:"duplicate-field"},"Duplicate field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Duplicate")," option.")),(0,n.kt)("p",null,"Duplicated field sans the data will be created with suffix ",(0,n.kt)("inlineCode",{parentName:"p"},"_copy")," in its name & will be placed to the right of the original field."),(0,n.kt)("h3",{id:"insert-after-a-field"},"Insert after a field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Insert after")," option.")),(0,n.kt)("p",null,"New field will be created to the right of the original field."),(0,n.kt)("h3",{id:"insert-before-a-field"},"Insert before a field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Insert before")," option.")),(0,n.kt)("p",null,"New field will be created to the left of the original field."),(0,n.kt)("h3",{id:"delete-field"},"Delete field"),(0,n.kt)("admonition",{type:"danger"},(0,n.kt)("p",{parentName:"admonition"},(0,n.kt)("strong",{parentName:"p"},"This action cannot be undone."))),(0,n.kt)("p",null,"To delete a field, follow the steps below:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu by clicking on dropdown icon (\ud83d\udd3d) ."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("strong",{parentName:"li"},"Delete"),"."),(0,n.kt)("li",{parentName:"ol"},"Confirm the deletion by clicking on ",(0,n.kt)("strong",{parentName:"li"},"Delete Field")," on the confirmation modal.")))}f.isMDXComponent=!0},63523:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/fields-context-menu-bdaf40426dd6cee3e064967ef9c0e1bd.png"},61446:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/fields-edit-2-565e86f68e89b2c0d5a009e26825586b.png"},20229:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/fields-edit-3-9f36d47020d18da0b1f30c893bc62b73.png"},68895:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/fields-edit-4-5eb8140cd39f4ee2364081b214612861.png"},83970:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/fields-width-b843c90fee1c762db57dd39a37c931cf.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[5407],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>m});var l=i(67294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function o(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var r=l.createContext({}),s=function(e){var t=l.useContext(r),i=t;return e&&(i="function"==typeof e?e(t):o(o({},t),e)),i},p=function(e){var t=s(e.components);return l.createElement(r.Provider,{value:t},e.children)},c="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},u=l.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,r=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),c=s(i),u=n,m=c["".concat(r,".").concat(u)]||c[u]||f[u]||a;return i?l.createElement(m,o(o({ref:t},p),{},{components:i})):l.createElement(m,o({ref:t},p))}));function m(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,o=new Array(a);o[0]=u;var d={};for(var r in t)hasOwnProperty.call(t,r)&&(d[r]=t[r]);d.originalType=e,d[c]="string"==typeof e?e:n,o[1]=d;for(var s=2;s{i.r(t),i.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>f,frontMatter:()=>a,metadata:()=>d,toc:()=>s});var l=i(87462),n=(i(67294),i(3905));const a={title:"Actions on field",description:"This article explains how to perform various actions on a field- like rename, change field type, default, field width, record height, show/hide.",tags:["Fields","Rename","Delete","Duplicate","Hide","Display value","Sort","Record Height","Field Width"],keywords:["NocoDB fields","fields overview","field administration","field organization"]},o=void 0,d={unversionedId:"fields/actions-on-field",id:"fields/actions-on-field",title:"Actions on field",description:"This article explains how to perform various actions on a field- like rename, change field type, default, field width, record height, show/hide.",source:"@site/docs/070.fields/060.actions-on-field.md",sourceDirName:"070.fields",slug:"/fields/actions-on-field",permalink:"/fields/actions-on-field",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/070.fields/060.actions-on-field.md",tags:[{label:"Fields",permalink:"/tags/fields"},{label:"Rename",permalink:"/tags/rename"},{label:"Delete",permalink:"/tags/delete"},{label:"Duplicate",permalink:"/tags/duplicate"},{label:"Hide",permalink:"/tags/hide"},{label:"Display value",permalink:"/tags/display-value"},{label:"Sort",permalink:"/tags/sort"},{label:"Record Height",permalink:"/tags/record-height"},{label:"Field Width",permalink:"/tags/field-width"}],version:"current",sidebarPosition:60,frontMatter:{title:"Actions on field",description:"This article explains how to perform various actions on a field- like rename, change field type, default, field width, record height, show/hide.",tags:["Fields","Rename","Delete","Duplicate","Hide","Display value","Sort","Record Height","Field Width"],keywords:["NocoDB fields","fields overview","field administration","field organization"]},sidebar:"tutorialSidebar",previous:{title:"Multi-field editor",permalink:"/fields/multi-fields-editor"},next:{title:"Records overview",permalink:"/records/records-overview"}},r={},s=[{value:"Fields context menu",id:"fields-context-menu",level:2},{value:"Edit",id:"edit",level:3},{value:"Rename field",id:"rename-field",level:4},{value:"Change field type",id:"change-field-type",level:4},{value:"Change default value",id:"change-default-value",level:4},{value:"Change field width",id:"change-field-width",level:3},{value:"Hide field",id:"hide-field",level:3},{value:"Set as Display value",id:"set-as-display-value",level:3},{value:"Sort Ascending",id:"sort-ascending",level:3},{value:"Sort Descending",id:"sort-descending",level:3},{value:"Duplicate field",id:"duplicate-field",level:3},{value:"Insert after a field",id:"insert-after-a-field",level:3},{value:"Insert before a field",id:"insert-before-a-field",level:3},{value:"Delete field",id:"delete-field",level:3}],p={toc:s},c="wrapper";function f(e){let{components:t,...a}=e;return(0,n.kt)(c,(0,l.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"fields-context-menu"},"Fields context menu"),(0,n.kt)("p",null,"Fields context menu can be accessed by clicking on the dropdown icon (\ud83d\udd3d) next to the field name.",(0,n.kt)("br",{parentName:"p"}),"\n",(0,n.kt)("img",{alt:"Fields context menu",src:i(93762).Z,width:"2880",height:"1800"})),(0,n.kt)("h3",{id:"edit"},"Edit"),(0,n.kt)("h4",{id:"rename-field"},"Rename field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Edit")," option."),(0,n.kt)("li",{parentName:"ol"},"Enter new field name as required in the ",(0,n.kt)("inlineCode",{parentName:"li"},"Field Name")," field."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Rename field",src:i(69698).Z,width:"2876",height:"1348"})),(0,n.kt)("h4",{id:"change-field-type"},"Change field type"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Edit")," option."),(0,n.kt)("li",{parentName:"ol"},"Select new field type from the ",(0,n.kt)("inlineCode",{parentName:"li"},"Field Type")," dropdown."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Change field type",src:i(9798).Z,width:"2876",height:"1348"})),(0,n.kt)("h4",{id:"change-default-value"},"Change default value"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Edit")," option."),(0,n.kt)("li",{parentName:"ol"},"Enter new default value in the ",(0,n.kt)("inlineCode",{parentName:"li"},"Default Value")," field. To disable, click on ",(0,n.kt)("inlineCode",{parentName:"li"},"x")," icon."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Save Field")," button.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Change default value",src:i(22471).Z,width:"2876",height:"1348"})),(0,n.kt)("h3",{id:"change-field-width"},"Change field width"),(0,n.kt)("p",null,"To adjust the width of the field, hover over the field edge and drag to adjust the width."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Change field width",src:i(86633).Z,width:"2360",height:"860"})),(0,n.kt)("h3",{id:"hide-field"},"Hide field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Hide Field")," option ")),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("ul",{parentName:"admonition"},(0,n.kt)("li",{parentName:"ul"},"Hidden fields are not visible in the table view, but will still be accessible for Formulas, Sort, Filter, etc."),(0,n.kt)("li",{parentName:"ul"},"To un hide a field, use ",(0,n.kt)("inlineCode",{parentName:"li"},"Toolbar > Fields")," menu"),(0,n.kt)("li",{parentName:"ul"},"Fields can also be marked as hidden from ",(0,n.kt)("inlineCode",{parentName:"li"},"Toolbar > Fields")," menu"))),(0,n.kt)("h3",{id:"set-as-display-value"},"Set as Display value"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Set as Display Value")," option.")),(0,n.kt)("p",null,"Refer to ",(0,n.kt)("a",{parentName:"p",href:"/fields/display-value"},"Display Value")," for more details."),(0,n.kt)("h3",{id:"sort-ascending"},"Sort Ascending"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Sort Ascending")," option.")),(0,n.kt)("h3",{id:"sort-descending"},"Sort Descending"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Sort Descending")," option.")),(0,n.kt)("h3",{id:"duplicate-field"},"Duplicate field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Duplicate")," option.")),(0,n.kt)("p",null,"Duplicated field sans the data will be created with suffix ",(0,n.kt)("inlineCode",{parentName:"p"},"_copy")," in its name & will be placed to the right of the original field."),(0,n.kt)("h3",{id:"insert-after-a-field"},"Insert after a field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Insert after")," option.")),(0,n.kt)("p",null,"New field will be created to the right of the original field."),(0,n.kt)("h3",{id:"insert-before-a-field"},"Insert before a field"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu"),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("inlineCode",{parentName:"li"},"Insert before")," option.")),(0,n.kt)("p",null,"New field will be created to the left of the original field."),(0,n.kt)("h3",{id:"delete-field"},"Delete field"),(0,n.kt)("admonition",{type:"danger"},(0,n.kt)("p",{parentName:"admonition"},(0,n.kt)("strong",{parentName:"p"},"This action cannot be undone."))),(0,n.kt)("p",null,"To delete a field, follow the steps below:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Open the field context menu by clicking on dropdown icon (\ud83d\udd3d) ."),(0,n.kt)("li",{parentName:"ol"},"Click on ",(0,n.kt)("strong",{parentName:"li"},"Delete"),"."),(0,n.kt)("li",{parentName:"ol"},"Confirm the deletion by clicking on ",(0,n.kt)("strong",{parentName:"li"},"Delete Field")," on the confirmation modal.")))}f.isMDXComponent=!0},93762:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/fields-context-menu-bdaf40426dd6cee3e064967ef9c0e1bd.png"},69698:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/fields-edit-2-565e86f68e89b2c0d5a009e26825586b.png"},9798:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/fields-edit-3-9f36d47020d18da0b1f30c893bc62b73.png"},22471:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/fields-edit-4-5eb8140cd39f4ee2364081b214612861.png"},86633:(e,t,i)=>{i.d(t,{Z:()=>l});const l=i.p+"assets/images/fields-width-b843c90fee1c762db57dd39a37c931cf.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/fe112e79.e62e8f04.js b/packages/noco-docs/dist/assets/js/fe112e79.398b5097.js similarity index 73% rename from packages/noco-docs/dist/assets/js/fe112e79.e62e8f04.js rename to packages/noco-docs/dist/assets/js/fe112e79.398b5097.js index 5516322486..0ee3f3aa98 100644 --- a/packages/noco-docs/dist/assets/js/fe112e79.e62e8f04.js +++ b/packages/noco-docs/dist/assets/js/fe112e79.398b5097.js @@ -1 +1 @@ -"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[2776],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>b});var o=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function n(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=o.createContext({}),c=function(e){var t=o.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):n(n({},t),e)),r},p=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},m="mdxType",k={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var r=e.components,a=e.mdxType,s=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),m=c(r),d=a,b=m["".concat(l,".").concat(d)]||m[d]||k[d]||s;return r?o.createElement(b,n(n({ref:t},p),{},{components:r})):o.createElement(b,n({ref:t},p))}));function b(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var s=r.length,n=new Array(s);n[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[m]="string"==typeof e?e:a,n[1]=i;for(var c=2;c{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>n,default:()=>k,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var o=r(87462),a=(r(67294),r(3905));const s={title:"Workspace collaboration",description:"This article explains how to invite members to your workspace, change their roles and procedure to remove them from the workspace.",tags:["Workspaces","Collaboration","Members","Invite","Roles","Permissions"],keywords:["Workspace configuration","Invite members","Member roles","Access permissions","Displaying workspace members","Modifying member roles","Removing workspace members","Workspace collaboration","Team collaboration","Access control","Role-based permissions","Workspace management","User roles","Workspace settings","Workspace administration","Member invitation","User access","Member management","Workspace teamwork","Workspace organization"]},n=void 0,i={unversionedId:"workspaces/workspace-collaboration",id:"workspaces/workspace-collaboration",title:"Workspace collaboration",description:"This article explains how to invite members to your workspace, change their roles and procedure to remove them from the workspace.",source:"@site/docs/030.workspaces/030.workspace-collaboration.md",sourceDirName:"030.workspaces",slug:"/workspaces/workspace-collaboration",permalink:"/workspaces/workspace-collaboration",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/030.workspaces/030.workspace-collaboration.md",tags:[{label:"Workspaces",permalink:"/tags/workspaces"},{label:"Collaboration",permalink:"/tags/collaboration"},{label:"Members",permalink:"/tags/members"},{label:"Invite",permalink:"/tags/invite"},{label:"Roles",permalink:"/tags/roles"},{label:"Permissions",permalink:"/tags/permissions"}],version:"current",sidebarPosition:30,frontMatter:{title:"Workspace collaboration",description:"This article explains how to invite members to your workspace, change their roles and procedure to remove them from the workspace.",tags:["Workspaces","Collaboration","Members","Invite","Roles","Permissions"],keywords:["Workspace configuration","Invite members","Member roles","Access permissions","Displaying workspace members","Modifying member roles","Removing workspace members","Workspace collaboration","Team collaboration","Access control","Role-based permissions","Workspace management","User roles","Workspace settings","Workspace administration","Member invitation","User access","Member management","Workspace teamwork","Workspace organization"]},sidebar:"tutorialSidebar",previous:{title:"Create workspace",permalink:"/workspaces/create-workspace"},next:{title:"Actions on workspace",permalink:"/workspaces/actions-on-workspace"}},l={},c=[{value:"Invite members to Workspace",id:"invite-members-to-workspace",level:2},{value:"List Workspace members",id:"list-workspace-members",level:2},{value:"Modify Workspace Member Roles",id:"modify-workspace-member-roles",level:2},{value:"Remove Workspace Members",id:"remove-workspace-members",level:2},{value:"Related articles",id:"related-articles",level:2}],p={toc:c},m="wrapper";function k(e){let{components:t,...s}=e;return(0,a.kt)(m,(0,o.Z)({},p,s,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Next logical step after creating a workspace is to invite members to it. In this section, we will guide you through the process of inviting members to your workspace.\nA comprehensive guide regarding roles and permissions can be accessed ",(0,a.kt)("a",{parentName:"p",href:"/roles-and-permissions/roles-permissions-overview"},"here"),"."),(0,a.kt)("h2",{id:"invite-members-to-workspace"},"Invite members to Workspace"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Navigate to the Workspace configuration page by selecting ",(0,a.kt)("inlineCode",{parentName:"li"},"Team & Settings")," in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Access the ",(0,a.kt)("inlineCode",{parentName:"li"},"Members")," tab."),(0,a.kt)("li",{parentName:"ol"},"Input the email address of the intended member for the invitation."),(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Role")," dropdown menu"),(0,a.kt)("li",{parentName:"ol"},"Choose the appropriate access permission for the member from the dropdown menu."),(0,a.kt)("li",{parentName:"ol"},"Conclude the process by selecting the ",(0,a.kt)("inlineCode",{parentName:"li"},"Add Member(s)")," button.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:r(63013).Z,width:"2874",height:"1574"})," "),(0,a.kt)("admonition",{type:"tip"},(0,a.kt)("p",{parentName:"admonition"},"You can invite multiple members simultaneously by entering their email addresses, separated by commas.")),(0,a.kt)("h2",{id:"list-workspace-members"},"List Workspace members"),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"Members")," tab in ",(0,a.kt)("inlineCode",{parentName:"p"},"Team & Settings")," displays a list of users who have been granted access to the workspace."),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Navigate to the Workspace configuration page by selecting ",(0,a.kt)("inlineCode",{parentName:"li"},"Team & Settings")," in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Access the ",(0,a.kt)("inlineCode",{parentName:"li"},"Members")," tab.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:r(2594).Z,width:"2878",height:"1476"})),(0,a.kt)("h2",{id:"modify-workspace-member-roles"},"Modify Workspace Member Roles"),(0,a.kt)("p",null,"You can modify the access permissions of members by following these steps:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Navigate to the Workspace configuration page by selecting ",(0,a.kt)("inlineCode",{parentName:"li"},"Team & Settings")," in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Access the ",(0,a.kt)("inlineCode",{parentName:"li"},"Members")," tab."),(0,a.kt)("li",{parentName:"ol"},"Access the dropdown menu."),(0,a.kt)("li",{parentName:"ol"},"Select the desired new role option.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:r(64593).Z,width:"2872",height:"1324"})),(0,a.kt)("h2",{id:"remove-workspace-members"},"Remove Workspace Members"),(0,a.kt)("p",null,"To remove a member from the workspace, take the following steps:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Navigate to the Workspace configuration page by selecting ",(0,a.kt)("inlineCode",{parentName:"li"},"Team & Settings")," in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Access the ",(0,a.kt)("inlineCode",{parentName:"li"},"Members")," tab."),(0,a.kt)("li",{parentName:"ol"},"Click on the vertical ellipses ",(0,a.kt)("inlineCode",{parentName:"li"},"\u22ee")," to open the context menu."),(0,a.kt)("li",{parentName:"ol"},"Select the ",(0,a.kt)("inlineCode",{parentName:"li"},"Remove User")," option.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:r(5401).Z,width:"2868",height:"1396"})),(0,a.kt)("h2",{id:"related-articles"},"Related articles"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/workspaces/workspace-overview"},"Workspace overview")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/workspaces/create-workspace"},"Create workspace")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/workspaces/actions-on-workspace#rename-workspace"},"Rename workspace")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/workspaces/actions-on-workspace#delete-workspace"},"Delete workspace"))))}k.isMDXComponent=!0},63013:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/workspace-collaboration-acb162d8d579249744a6a2d6e3280fbf.png"},2594:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/workspace-members-list-52e58f7e389b1a6840ce31a4a195104a.png"},5401:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/workspace-members-remove-70769f0f7d860d5436cd08030d0e26c2.png"},64593:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/workspace-members-role-change-be6445f0fa9629193ac81affb3b843f1.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[2776],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>b});var o=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function n(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=o.createContext({}),c=function(e){var t=o.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):n(n({},t),e)),r},p=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},m="mdxType",k={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var r=e.components,a=e.mdxType,s=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),m=c(r),d=a,b=m["".concat(l,".").concat(d)]||m[d]||k[d]||s;return r?o.createElement(b,n(n({ref:t},p),{},{components:r})):o.createElement(b,n({ref:t},p))}));function b(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var s=r.length,n=new Array(s);n[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[m]="string"==typeof e?e:a,n[1]=i;for(var c=2;c{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>n,default:()=>k,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var o=r(87462),a=(r(67294),r(3905));const s={title:"Workspace collaboration",description:"This article explains how to invite members to your workspace, change their roles and procedure to remove them from the workspace.",tags:["Workspaces","Collaboration","Members","Invite","Roles","Permissions"],keywords:["Workspace configuration","Invite members","Member roles","Access permissions","Displaying workspace members","Modifying member roles","Removing workspace members","Workspace collaboration","Team collaboration","Access control","Role-based permissions","Workspace management","User roles","Workspace settings","Workspace administration","Member invitation","User access","Member management","Workspace teamwork","Workspace organization"]},n=void 0,i={unversionedId:"workspaces/workspace-collaboration",id:"workspaces/workspace-collaboration",title:"Workspace collaboration",description:"This article explains how to invite members to your workspace, change their roles and procedure to remove them from the workspace.",source:"@site/docs/030.workspaces/030.workspace-collaboration.md",sourceDirName:"030.workspaces",slug:"/workspaces/workspace-collaboration",permalink:"/workspaces/workspace-collaboration",draft:!1,editUrl:"https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/docs/030.workspaces/030.workspace-collaboration.md",tags:[{label:"Workspaces",permalink:"/tags/workspaces"},{label:"Collaboration",permalink:"/tags/collaboration"},{label:"Members",permalink:"/tags/members"},{label:"Invite",permalink:"/tags/invite"},{label:"Roles",permalink:"/tags/roles"},{label:"Permissions",permalink:"/tags/permissions"}],version:"current",sidebarPosition:30,frontMatter:{title:"Workspace collaboration",description:"This article explains how to invite members to your workspace, change their roles and procedure to remove them from the workspace.",tags:["Workspaces","Collaboration","Members","Invite","Roles","Permissions"],keywords:["Workspace configuration","Invite members","Member roles","Access permissions","Displaying workspace members","Modifying member roles","Removing workspace members","Workspace collaboration","Team collaboration","Access control","Role-based permissions","Workspace management","User roles","Workspace settings","Workspace administration","Member invitation","User access","Member management","Workspace teamwork","Workspace organization"]},sidebar:"tutorialSidebar",previous:{title:"Create workspace",permalink:"/workspaces/create-workspace"},next:{title:"Actions on workspace",permalink:"/workspaces/actions-on-workspace"}},l={},c=[{value:"Invite members to Workspace",id:"invite-members-to-workspace",level:2},{value:"List Workspace members",id:"list-workspace-members",level:2},{value:"Modify Workspace Member Roles",id:"modify-workspace-member-roles",level:2},{value:"Remove Workspace Members",id:"remove-workspace-members",level:2},{value:"Related articles",id:"related-articles",level:2}],p={toc:c},m="wrapper";function k(e){let{components:t,...s}=e;return(0,a.kt)(m,(0,o.Z)({},p,s,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Next logical step after creating a workspace is to invite members to it. In this section, we will guide you through the process of inviting members to your workspace.\nA comprehensive guide regarding roles and permissions can be accessed ",(0,a.kt)("a",{parentName:"p",href:"/roles-and-permissions/roles-permissions-overview"},"here"),"."),(0,a.kt)("h2",{id:"invite-members-to-workspace"},"Invite members to Workspace"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Navigate to the Workspace configuration page by selecting ",(0,a.kt)("inlineCode",{parentName:"li"},"Team & Settings")," in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Access the ",(0,a.kt)("inlineCode",{parentName:"li"},"Members")," tab."),(0,a.kt)("li",{parentName:"ol"},"Input the email address of the intended member for the invitation."),(0,a.kt)("li",{parentName:"ol"},"Click on ",(0,a.kt)("inlineCode",{parentName:"li"},"Role")," dropdown menu"),(0,a.kt)("li",{parentName:"ol"},"Choose the appropriate access permission for the member from the dropdown menu."),(0,a.kt)("li",{parentName:"ol"},"Conclude the process by selecting the ",(0,a.kt)("inlineCode",{parentName:"li"},"Add Member(s)")," button.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:r(33845).Z,width:"2880",height:"1800"})," "),(0,a.kt)("admonition",{type:"tip"},(0,a.kt)("p",{parentName:"admonition"},"You can invite multiple members simultaneously by entering their email addresses, separated by commas.")),(0,a.kt)("h2",{id:"list-workspace-members"},"List Workspace members"),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"Members")," tab in ",(0,a.kt)("inlineCode",{parentName:"p"},"Team & Settings")," displays a list of users who have been granted access to the workspace."),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Navigate to the Workspace configuration page by selecting ",(0,a.kt)("inlineCode",{parentName:"li"},"Team & Settings")," in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Access the ",(0,a.kt)("inlineCode",{parentName:"li"},"Members")," tab.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:r(52817).Z,width:"2876",height:"1508"})),(0,a.kt)("h2",{id:"modify-workspace-member-roles"},"Modify Workspace Member Roles"),(0,a.kt)("p",null,"You can modify the access permissions of members by following these steps:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Navigate to the Workspace configuration page by selecting ",(0,a.kt)("inlineCode",{parentName:"li"},"Team & Settings")," in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Access the ",(0,a.kt)("inlineCode",{parentName:"li"},"Members")," tab."),(0,a.kt)("li",{parentName:"ol"},"Access the dropdown menu."),(0,a.kt)("li",{parentName:"ol"},"Select the desired new role option.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:r(44721).Z,width:"2878",height:"1520"})),(0,a.kt)("h2",{id:"remove-workspace-members"},"Remove Workspace Members"),(0,a.kt)("p",null,"To remove a member from the workspace, take the following steps:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Navigate to the Workspace configuration page by selecting ",(0,a.kt)("inlineCode",{parentName:"li"},"Team & Settings")," in the left sidebar."),(0,a.kt)("li",{parentName:"ol"},"Access the ",(0,a.kt)("inlineCode",{parentName:"li"},"Members")," tab."),(0,a.kt)("li",{parentName:"ol"},"Click on the vertical ellipses ",(0,a.kt)("inlineCode",{parentName:"li"},"\u22ee")," to open the context menu."),(0,a.kt)("li",{parentName:"ol"},"Select the ",(0,a.kt)("inlineCode",{parentName:"li"},"Remove User")," option.")),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"image",src:r(48955).Z,width:"2880",height:"1504"})),(0,a.kt)("h2",{id:"related-articles"},"Related articles"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/workspaces/workspace-overview"},"Workspace overview")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/workspaces/create-workspace"},"Create workspace")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/workspaces/actions-on-workspace#rename-workspace"},"Rename workspace")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/workspaces/actions-on-workspace#delete-workspace"},"Delete workspace"))))}k.isMDXComponent=!0},33845:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/workspace-collaboration-acb162d8d579249744a6a2d6e3280fbf.png"},52817:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/workspace-members-list-52e58f7e389b1a6840ce31a4a195104a.png"},48955:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/workspace-members-remove-70769f0f7d860d5436cd08030d0e26c2.png"},44721:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/workspace-members-role-change-be6445f0fa9629193ac81affb3b843f1.png"}}]); \ No newline at end of file diff --git a/packages/noco-docs/dist/assets/js/main.264ef3ee.js b/packages/noco-docs/dist/assets/js/main.264ef3ee.js new file mode 100644 index 0000000000..23919f8d8b --- /dev/null +++ b/packages/noco-docs/dist/assets/js/main.264ef3ee.js @@ -0,0 +1,2 @@ +/*! For license information please see main.264ef3ee.js.LICENSE.txt */ +(self.webpackChunknoco_docs=self.webpackChunknoco_docs||[]).push([[179],{50997:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var a=n(67294),r=n(87462),o=n(68356),i=n.n(o),s=n(16887);const l={"006c1c22":[()=>n.e(1015).then(n.t.bind(n,40992,19)),"~docs/default/tag-tags-geometry-c6f.json",40992],"00aa88f5":[()=>n.e(1185).then(n.bind(n,28350)),"@site/docs/140.account-settings/030.oss-specific-details.md",28350],"013b8728":[()=>n.e(1371).then(n.t.bind(n,68542,19)),"~docs/default/tag-tags-productivity-hacks-06f.json",68542],"01865ba3":[()=>n.e(43).then(n.bind(n,71661)),"@site/docs/020.getting-started/020.quick-start.md",71661],"023320c3":[()=>n.e(1484).then(n.bind(n,9014)),"@site/docs/140.account-settings/020.api-tokens.md",9014],"037e2c34":[()=>n.e(7820).then(n.bind(n,16779)),"@site/docs/120.collaboration/030.share-base.md",16779],"03af2c79":[()=>n.e(6570).then(n.t.bind(n,52806,19)),"~docs/default/tag-tags-qr-code-af6.json",52806],"052736b6":[()=>n.e(7657).then(n.bind(n,76947)),"@site/docs/130.automation/020.webhook/040.actions-on-webhook.md",76947],"052c7f5b":[()=>n.e(3595).then(n.t.bind(n,88739,19)),"~docs/default/tag-tags-number-1d2.json",88739],"0834b429":[()=>n.e(1305).then(n.bind(n,5439)),"@site/docs/150.engineering/060.builds-and-releases.md",5439],"0908b333":[()=>n.e(6187).then(n.bind(n,50388)),"@site/docs/090.views/040.view-types/010.grid.md",50388],"0938fe36":[()=>n.e(7075).then(n.t.bind(n,36171,19)),"~docs/default/tag-tags-expanded-record-87b.json",36171],"09ceb1a0":[()=>n.e(4936).then(n.bind(n,51719)),"@site/versioned_docs/version-0.109.7/050.engineering/030.development-setup.md",51719],"0a7c5cbc":[()=>n.e(809).then(n.bind(n,30495)),"@site/docs/070.fields/040.field-types/060.formula/010.formula.md",30495],"0ac1e38e":[()=>n.e(5305).then(n.bind(n,59934)),"@site/docs/070.fields/040.field-types/060.formula/030.string-functions.md",59934],"0aea064e":[()=>n.e(7026).then(n.t.bind(n,16777,19)),"~docs/default/tag-tags-field-width-ece.json",16777],"0b819d8c":[()=>n.e(757).then(n.bind(n,62114)),"@site/docs/100.data-sources/030.sync-with-data-source.md",62114],"0b97ee01":[()=>n.e(1590).then(n.t.bind(n,30648,19)),"~docs/default/tag-tags-upload-681.json",30648],"0bd8cdc6":[()=>n.e(5707).then(n.t.bind(n,93713,19)),"~docs/default/tag-tags-roles-236.json",93713],"0c130525":[()=>n.e(604).then(n.bind(n,37456)),"@site/versioned_docs/version-0.109.7/020.getting-started/020.environment-variables.md",37456],"0cab3fcc":[()=>n.e(3479).then(n.bind(n,14503)),"@site/docs/130.automation/020.webhook/020.create-webhook.md",14503],"0d8de604":[()=>n.e(2092).then(n.t.bind(n,34398,19)),"~docs/default/tag-tags-custom-types-2ab.json",34398],"0ecc5e11":[()=>n.e(117).then(n.bind(n,98369)),"@site/docs/020.getting-started/040.keyboard-shortcuts.md",98369],"0f4f52c0":[()=>n.e(5822).then(n.bind(n,92005)),"@site/docs/050.tables/060.actions-on-table.md",92005],"0f6b8098":[()=>n.e(6157).then(n.bind(n,32934)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/020.table-operations.md",32934],"105fb6bf":[()=>n.e(5408).then(n.t.bind(n,93163,19)),"~docs/default/tag-tags-url-4e5.json",93163],"10779e77":[()=>n.e(1990).then(n.bind(n,40695)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/140.share-view.md",40695],"10b0edf0":[()=>n.e(8946).then(n.t.bind(n,27046,19)),"~docs/default/tag-tags-checkbox-bb0.json",27046],"11d84c26":[()=>n.e(5336).then(n.bind(n,45896)),"@site/docs/070.fields/040.field-types/010.text-based/030.email.md",45896],"14095bfc":[()=>n.e(5922).then(n.bind(n,98184)),"@site/docs/070.fields/040.field-types/030.select-based/010.single-select.md",98184],"147f12f7":[()=>n.e(4918).then(n.t.bind(n,28123,19)),"~docs/default/tag-tags-rename-649.json",28123],"14d6025d":[()=>n.e(7539).then(n.bind(n,76561)),"@site/docs/070.fields/040.field-types/070.date-time-based/020.date.md",76561],"16d5baaf":[()=>n.e(65).then(n.bind(n,11560)),"@site/docs/070.fields/040.field-types/040.links-based/010.links.md",11560],"177ad845":[()=>n.e(8252).then(n.t.bind(n,2035,19)),"~docs/default/tag-tags-formula-732.json",2035],17896441:[()=>Promise.all([n.e(532),n.e(9059),n.e(7918)]).then(n.bind(n,94776)),"@theme/DocItem",94776],"181f370e":[()=>n.e(6786).then(n.t.bind(n,48513,19)),"~docs/default/tag-tags-barcode-e70.json",48513],"18c96d41":[()=>n.e(9449).then(n.bind(n,6458)),"@site/docs/070.fields/040.field-types/060.formula/050.conditional-expressions.md",6458],"1970c274":[()=>n.e(1140).then(n.bind(n,43292)),"@site/docs/090.views/040.view-types/040.kanban.md",43292],"1a4e3797":[()=>Promise.all([n.e(532),n.e(118),n.e(4496),n.e(7920)]).then(n.bind(n,84496)),"@theme/SearchPage",84496],"1b14dca8":[()=>n.e(5404).then(n.bind(n,22831)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/170.account-settings.md",22831],"1b3738fb":[()=>n.e(8149).then(n.bind(n,90806)),"@site/docs/150.engineering/040.unit-testing.md",90806],"1be78505":[()=>Promise.all([n.e(532),n.e(9514)]).then(n.bind(n,81299)),"@theme/DocPage",81299],"1c2ab191":[()=>n.e(5518).then(n.t.bind(n,84031,19)),"~docs/default/tag-tags-overview-08f.json",84031],"1e403fb7":[()=>n.e(4796).then(n.bind(n,86461)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/160.views.md",86461],"1e898359":[()=>n.e(8704).then(n.bind(n,99544)),"@site/versioned_docs/version-0.109.7/010.index.md",99544],"1fb5f022":[()=>n.e(9020).then(n.bind(n,65566)),"@site/docs/100.data-sources/010.data-source-overview.md",65566],"20e10381":[()=>n.e(405).then(n.bind(n,37577)),"@site/docs/990.FAQs.md",37577],"2226a1e9":[()=>n.e(9552).then(n.bind(n,76013)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/070.lookup.md",76013],"224f2b0f":[()=>n.e(2562).then(n.bind(n,84961)),"@site/docs/070.fields/040.field-types/060.formula/020.numeric-functions.md",84961],22580739:[()=>n.e(1796).then(n.bind(n,70629)),"@site/docs/060.table-operations/020.field-operations.md",70629],"22aab9a3":[()=>n.e(6907).then(n.bind(n,82255)),"@site/docs/070.fields/040.field-types/010.text-based/010.single-line-text.md",82255],23371042:[()=>n.e(5375).then(n.t.bind(n,67337,19)),"~docs/default/tag-tags-members-c98.json",67337],"2556c3eb":[()=>n.e(8).then(n.t.bind(n,91033,19)),"~docs/default/tag-tags-pg-aeb.json",91033],"25ad7bcb":[()=>n.e(8789).then(n.bind(n,35837)),"@site/docs/120.collaboration/020.base-collaboration.md",35837],"275c23cd":[()=>n.e(2289).then(n.t.bind(n,55513,19)),"~docs/default/tag-tags-remove-4d3.json",55513],"276e2b0f":[()=>n.e(2439).then(n.t.bind(n,41962,19)),"~docs/default/tag-tags-edit-81a.json",41962],"278121a5":[()=>n.e(2556).then(n.bind(n,28117)),"@site/docs/080.records/030.expand-record.md",28117],"27b20541":[()=>n.e(3238).then(n.t.bind(n,47090,19)),"~docs/default/tag-tags-gallery-view-170.json",47090],"2888903d":[()=>n.e(3259).then(n.bind(n,69357)),"@site/docs/080.records/020.create-record.md",69357],"2a1ace55":[()=>n.e(4829).then(n.bind(n,12484)),"@site/docs/020.getting-started/050.self-hosted/010.installation.md",12484],"2a42d1d2":[()=>n.e(2636).then(n.bind(n,7212)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/200.import-airtable-to-sql-database-within-a-minute-for-free.md",7212],"2b263996":[()=>n.e(403).then(n.bind(n,81360)),"@site/docs/130.automation/020.webhook/010.webhook-overview.md",81360],"2bb712de":[()=>n.e(1771).then(n.bind(n,49826)),"@site/docs/090.views/025.share-view.md",49826],"2c8a1eac":[()=>n.e(5631).then(n.t.bind(n,71411,19)),"~docs/default/tag-tags-kanban-view-4dc.json",71411],"2cbe0325":[()=>n.e(1245).then(n.bind(n,53499)),"@site/docs/070.fields/040.field-types/070.date-time-based/030.time.md",53499],"2d5bd7a1":[()=>n.e(7666).then(n.t.bind(n,18972,19)),"~docs/default/tag-tags-duplicate-74f.json",18972],"2d8eea4e":[()=>n.e(5837).then(n.t.bind(n,65804,19)),"~docs/default/tag-tags-invite-e9c.json",65804],"2eb4ec02":[()=>n.e(1876).then(n.bind(n,75509)),"@site/docs/040.bases/020.create-base.md",75509],"2f81bee2":[()=>n.e(9677).then(n.t.bind(n,13316,19)),"~docs/default/tag-tags-connect-2c6.json",13316],"300d0b41":[()=>n.e(2534).then(n.t.bind(n,48717,19)),"~docs/default/tag-tags-enable-429.json",48717],"310a23cf":[()=>n.e(1878).then(n.bind(n,29518)),"@site/docs/070.fields/010.fields-overview.md",29518],"319e5695":[()=>n.e(9542).then(n.bind(n,9607)),"@site/docs/030.workspaces/040.actions-on-workspace.md",9607],"31befc1e":[()=>n.e(6799).then(n.bind(n,35958)),"@site/docs/070.fields/040.field-types/060.formula/040.date-functions.md",35958],"31f9cd1a":[()=>n.e(7130).then(n.bind(n,59269)),"@site/docs/070.fields/040.field-types/020.numerical/030.percent.md",59269],"324eab63":[()=>n.e(2642).then(n.t.bind(n,59555,19)),"~docs/default/tag-tags-record-height-a1f.json",59555],"32e0f401":[()=>n.e(9789).then(n.bind(n,54093)),"@site/docs/050.tables/020.create-table.md",54093],"34b71ab6":[()=>n.e(4364).then(n.bind(n,47445)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/040.column-types.md",47445],"35af5afe":[()=>n.e(1179).then(n.bind(n,88161)),"@site/docs/070.fields/040.field-types/030.select-based/020.multi-select.md",88161],"3615d78a":[()=>n.e(3590).then(n.bind(n,75124)),"@site/versioned_docs/version-0.109.7/050.engineering/060.builds-and-releases.md",75124],"3720c009":[()=>Promise.all([n.e(532),n.e(3751)]).then(n.bind(n,76495)),"@theme/DocTagsListPage",76495],"3a7c0cf6":[()=>n.e(2533).then(n.t.bind(n,30637,19)),"~docs/default/tag-tags-collaboration-e59.json",30637],"3aad05b1":[()=>n.e(3512).then(n.t.bind(n,28445,19)),"~docs/default/tag-tags-account-settings-aab.json",28445],"3ac80ba6":[()=>n.e(3515).then(n.t.bind(n,21504,19)),"~docs/default/tag-tags-data-sources-eaa.json",21504],"3da8114c":[()=>n.e(3338).then(n.t.bind(n,54021,19)),"~docs/default/tag-tags-workspaces-5c0.json",54021],"408139c4":[()=>n.e(8248).then(n.bind(n,96262)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/180.languages.md",96262],"4145e2b1":[()=>n.e(7530).then(n.t.bind(n,66146,19)),"~docs/default/tag-tags-hide-1ea.json",66146],"41a696e1":[()=>n.e(5146).then(n.t.bind(n,58137,19)),"/Users/srom/repos/nocodb/packages/noco-docs/.docusaurus/docusaurus-theme-search-typesense/default/plugin-route-context-module-100.json",58137],44655909:[()=>n.e(2406).then(n.t.bind(n,89104,19)),"~docs/default/tag-tags-text-based-types-00e.json",89104],"44eb4aec":[()=>n.e(9693).then(n.t.bind(n,36718,19)),"~docs/default/tag-tags-share-base-a82.json",36718],"458ed5bd":[()=>n.e(2237).then(n.t.bind(n,61774,19)),"~docs/default/tag-tags-dashboard-5a9.json",61774],"45c1aab2":[()=>n.e(4304).then(n.t.bind(n,70005,19)),"~docs/default/tag-tags-email-e39.json",70005],"468275e6":[()=>n.e(6844).then(n.t.bind(n,29968,19)),"~docs/default/tag-tags-my-sql-0ad.json",29968],"4bab5100":[()=>n.e(5207).then(n.bind(n,73414)),"@site/docs/040.bases/050.base-collaboration.md",73414],"4c6b0ee7":[()=>n.e(6325).then(n.bind(n,74653)),"@site/docs/020.getting-started/050.self-hosted/020.environment-variables.md",74653],"4cd0de40":[()=>n.e(1730).then(n.bind(n,5848)),"@site/docs/070.fields/040.field-types/050.custom-types/050.barcode.md",5848],"4ed1386c":[()=>n.e(1753).then(n.bind(n,23868)),"@site/versioned_docs/version-0.109.7/060.FAQs.md",23868],"4efb7b3c":[()=>n.e(3755).then(n.bind(n,1106)),"@site/docs/150.engineering/010.architecture.md",1106],"4f577b60":[()=>n.e(2922).then(n.t.bind(n,55913,19)),"~docs/default/tag-tags-records-b8e.json",55913],"523749b8":[()=>n.e(9508).then(n.t.bind(n,64307,19)),"~docs/default/tag-tags-search-b34.json",64307],"524f61e0":[()=>n.e(5150).then(n.t.bind(n,84549,19)),"~docs/default/tag-tags-delete-7ef.json",84549],"525fa7b4":[()=>n.e(3469).then(n.bind(n,694)),"@site/docs/070.fields/040.field-types/050.custom-types/040.QR-code.md",694],"529c2981":[()=>n.e(7152).then(n.bind(n,46494)),"@site/versioned_docs/version-0.109.7/040.developer-resources/040.webhooks.md",46494],"52df1fbb":[()=>n.e(8395).then(n.bind(n,57549)),"@site/docs/150.engineering/020.repository-structure.md",57549],"5436f7e6":[()=>n.e(3939).then(n.bind(n,26869)),"@site/versioned_docs/version-0.109.7/040.developer-resources/050.upload-via-api.md",26869],55156658:[()=>n.e(1802).then(n.t.bind(n,80394,19)),"~docs/default/tag-tags-lookup-6f6.json",80394],"55403ccd":[()=>n.e(2650).then(n.bind(n,91059)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/090.formulas.md",91059],"55960ee5":[()=>n.e(4121).then(n.t.bind(n,88070,19)),"~docs/default/tags-list-current-prop-15a.json",88070],"576905f1":[()=>n.e(5772).then(n.bind(n,27072)),"@site/docs/120.collaboration/050.oss-specific-details.md",27072],"58354ae8":[()=>n.e(3164).then(n.bind(n,83679)),"@site/docs/150.engineering/030.development-setup.md",83679],"5af3a857":[()=>n.e(8838).then(n.bind(n,80131)),"@site/docs/090.views/040.view-types/030.form.md",80131],"5c9cf4c7":[()=>n.e(5187).then(n.bind(n,21984)),"@site/versioned_docs/version-0.109.7/020.getting-started/010.installation.md",21984],"5ccd3149":[()=>n.e(4033).then(n.bind(n,43452)),"@site/versioned_docs/version-0.109.7/050.engineering/050.playwright.md",43452],"5dcc9f57":[()=>n.e(7395).then(n.t.bind(n,34861,19)),"~docs/default/tag-tags-table-operations-01a.json",34861],"5eaf3a75":[()=>n.e(1944).then(n.bind(n,49571)),"@site/docs/030.workspaces/020.create-workspace.md",49571],"603e048e":[()=>n.e(7700).then(n.bind(n,57742)),"@site/docs/070.fields/030.display-value.md",57742],"60b8b995":[()=>n.e(3463).then(n.bind(n,47611)),"@site/docs/070.fields/040.field-types/070.date-time-based/040.duration.md",47611],"615746d5":[()=>n.e(678).then(n.bind(n,79584)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/050.code-snippets.md",79584],"61a3d417":[()=>n.e(6591).then(n.bind(n,35713)),"@site/docs/090.views/020.create-view.md",35713],"61af7884":[()=>n.e(7621).then(n.t.bind(n,51261,19)),"~docs/default/tag-tags-form-view-94e.json",51261],"6233b6dc":[()=>n.e(7647).then(n.t.bind(n,10950,19)),"~docs/default/tag-tags-excel-813.json",10950],"6485a1bf":[()=>n.e(6640).then(n.t.bind(n,81067,19)),"~docs/default/tag-tags-multi-select-0c8.json",81067],"6502d10a":[()=>n.e(6078).then(n.t.bind(n,92793,19)),"~docs/default/tag-tags-long-text-c05.json",92793],"654123f4":[()=>n.e(9933).then(n.bind(n,49893)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/100.primary-key.md",49893],"68fa8000":[()=>n.e(7549).then(n.bind(n,83407)),"@site/docs/070.fields/040.field-types/050.custom-types/070.specific-db-type.md",83407],"69895f00":[()=>n.e(4289).then(n.bind(n,37087)),"@site/docs/070.fields/040.field-types/020.numerical/020.decimal.md",37087],"69bed9e5":[()=>n.e(3869).then(n.bind(n,99300)),"@site/docs/060.table-operations/060.row-height.md",99300],"69bee932":[()=>n.e(3454).then(n.bind(n,55286)),"@site/docs/020.getting-started/030.terminologies.md",55286],"6a0eac6b":[()=>n.e(4158).then(n.bind(n,18637)),"@site/docs/060.table-operations/080.download.md",18637],"6a105426":[()=>n.e(7592).then(n.t.bind(n,51533,19)),"~docs/default/tag-tags-getting-started-564.json",51533],"6a2ab9d1":[()=>n.e(8537).then(n.t.bind(n,40264,19)),"~docs/default/tag-tags-date-time-e33.json",40264],"6aee45b4":[()=>n.e(8535).then(n.t.bind(n,61777,19)),"~docs/default/tag-tags-select-based-types-ed9.json",61777],"6d2f78d9":[()=>n.e(254).then(n.bind(n,78688)),"@site/docs/070.fields/040.field-types/050.custom-types/080.json.md",78688],"6f7695df":[()=>n.e(3011).then(n.bind(n,29486)),"@site/docs/040.bases/060.share-base.md",29486],"6fe2a298":[()=>n.e(7219).then(n.bind(n,13773)),"@site/versioned_docs/version-0.109.7/050.engineering/020.repository-structure.md",13773],70424118:[()=>n.e(332).then(n.t.bind(n,15231,19)),"~docs/default/tag-tags-engineering-fa4.json",15231],"7077aad6":[()=>n.e(5971).then(n.bind(n,49437)),"@site/docs/100.data-sources/040.actions-on-data-sources.md",49437],"709f8fcb":[()=>n.e(4021).then(n.bind(n,31250)),"@site/docs/100.data-sources/020.connect-to-data-source.md",31250],"70efa42e":[()=>n.e(4815).then(n.bind(n,53683)),"@site/docs/050.tables/030.create-table-via-import.md",53683],71540999:[()=>n.e(8954).then(n.bind(n,98336)),"@site/versioned_docs/version-0.109.7/050.engineering/010.architecture.md",98336],"71f80183":[()=>n.e(924).then(n.t.bind(n,5068,19)),"~docs/default/tag-tags-shortcuts-33c.json",5068],"775b7682":[()=>n.e(949).then(n.t.bind(n,32263,19)),"~docs/default/tag-tags-ui-acl-4e2.json",32263],"78ec2f26":[()=>n.e(2673).then(n.t.bind(n,44413,19)),"~docs/default/tag-tags-relations-887.json",44413],"7a733070":[()=>n.e(4223).then(n.t.bind(n,46864,19)),"~docs/default/tag-tags-share-2bf.json",46864],"7c4b6d90":[()=>n.e(5580).then(n.bind(n,2891)),"@site/docs/150.engineering/080.writing-docs.md",2891],"7ce1d842":[()=>n.e(3998).then(n.bind(n,32723)),"@site/docs/050.tables/010.table-overview.md",32723],"7d5d7de6":[()=>n.e(5017).then(n.t.bind(n,40108,19)),"~docs/default/tag-tags-rating-b67.json",40108],"7dce83b4":[()=>n.e(1193).then(n.bind(n,77848)),"@site/docs/060.table-operations/070.search.md",77848],"7dea24c2":[()=>n.e(2262).then(n.t.bind(n,83769,19)),"/Users/srom/repos/nocodb/packages/noco-docs/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",83769],"7e18769a":[()=>n.e(4177).then(n.bind(n,18329)),"@site/docs/090.views/090.actions-on-view.md",18329],"81862c4f":[()=>n.e(1499).then(n.bind(n,14919)),"@site/versioned_docs/version-0.109.7/040.developer-resources/010.accessing-apis.md",14919],"824dfda1":[()=>n.e(4570).then(n.bind(n,89138)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/210.usage-information.md",89138],"832fc58a":[()=>n.e(9874).then(n.t.bind(n,56038,19)),"~docs/default/tag-tags-comments-65d.json",56038],83533542:[()=>n.e(3878).then(n.t.bind(n,83762,19)),"~docs/default/tag-tags-fields-8d7.json",83762],"83cf658d":[()=>n.e(3845).then(n.t.bind(n,43678,19)),"~docs/default/tag-tags-rest-ap-is-150.json",43678],"8498c216":[()=>n.e(3381).then(n.bind(n,62162)),"@site/docs/150.engineering/070.translation.md",62162],"855d76bb":[()=>n.e(6141).then(n.bind(n,58640)),"@site/versioned_docs/version-0.109.7/040.developer-resources/030.sdk.md",58640],"86fc9284":[()=>n.e(305).then(n.bind(n,73842)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/060.link-to-another-record.md",73842],"87e9af65":[()=>n.e(4507).then(n.bind(n,16371)),"@site/versioned_docs/version-0.109.7/020.getting-started/040.demos.md",16371],"88cc213e":[()=>n.e(4193).then(n.bind(n,46015)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/130.share-base.md",46015],"8a8a6f17":[()=>n.e(9060).then(n.bind(n,82187)),"@site/docs/060.table-operations/040.sort.md",82187],"8f10bd27":[()=>n.e(8916).then(n.t.bind(n,60107,19)),"~docs/default/tag-tags-sync-082.json",60107],"9040003c":[()=>n.e(8511).then(n.bind(n,68312)),"@site/docs/120.collaboration/010.workspace-collaboration.md",68312],"90e43058":[()=>n.e(7023).then(n.bind(n,79613)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/150.keyboard-maneuver.md",79613],"9329f711":[()=>n.e(753).then(n.bind(n,20980)),"@site/docs/140.account-settings/010.profile-page.md",20980],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],95677701:[()=>n.e(1174).then(n.t.bind(n,64778,19)),"~docs/default/tag-tags-group-by-a64.json",64778],"95a14fd1":[()=>n.e(9518).then(n.bind(n,52119)),"@site/docs/060.table-operations/050.group-by.md",52119],"985d43d9":[()=>n.e(1196).then(n.t.bind(n,12322,19)),"~docs/default/tag-tags-tables-709.json",12322],"98de4c79":[()=>n.e(9893).then(n.bind(n,97481)),"@site/docs/070.fields/040.field-types/060.formula/015.operators.md",97481],"9906c9d3":[()=>n.e(7661).then(n.bind(n,25300)),"@site/docs/150.engineering/050.playwright.md",25300],"9995b2be":[()=>n.e(9850).then(n.t.bind(n,63067,19)),"~docs/default/tag-tags-table-e12.json",63067],"99f674e5":[()=>n.e(4307).then(n.bind(n,17813)),"@site/docs/080.records/070.actions-on-record.md",17813],"9a52cc21":[()=>n.e(3062).then(n.t.bind(n,10804,19)),"~docs/default/tag-tags-numerical-types-03c.json",10804],"9a7e4ef7":[()=>n.e(1961).then(n.t.bind(n,20467,19)),"~docs/default/tag-tags-bases-eae.json",20467],"9aad2067":[()=>n.e(4769).then(n.t.bind(n,41536,19)),"~docs/default/tag-tags-phone-number-f26.json",41536],"9c78149d":[()=>n.e(8381).then(n.bind(n,94144)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/250.audit.md",94144],"9d4ed5ff":[()=>n.e(4333).then(n.bind(n,84673)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/110.display-value.md",84673],"9db0d30f":[()=>n.e(6090).then(n.t.bind(n,54041,19)),"~docs/default/tag-tags-webhook-2b4.json",54041],"9db7fbd6":[()=>n.e(481).then(n.t.bind(n,93717,19)),"~docs/default/tag-tags-import-be6.json",93717],"9dfd9b1b":[()=>n.e(9279).then(n.bind(n,28507)),"@site/docs/080.records/010.records-overview.md",28507],"9e1a113d":[()=>n.e(6999).then(n.t.bind(n,45182,19)),"~docs/default/tag-tags-display-value-bc0.json",45182],"9e7567e1":[()=>n.e(7823).then(n.t.bind(n,27737,19)),"~docs/default/tag-tags-rollup-019.json",27737],a15cb612:[()=>n.e(9042).then(n.t.bind(n,42822,19)),"~docs/default/tag-tags-disable-39c.json",42822],a18f2535:[()=>n.e(6928).then(n.bind(n,61492)),"@site/docs/120.collaboration/040.share-view.md",61492],a43060c8:[()=>n.e(3185).then(n.bind(n,96)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/220.links.md",96],a47b7f3a:[()=>n.e(2550).then(n.bind(n,60406)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/010.dashboard.md",60406],a71ccd0b:[()=>n.e(9383).then(n.t.bind(n,51259,19)),"~docs/default/tag-tags-csv-1df.json",51259],a7294da8:[()=>n.e(3312).then(n.bind(n,60707)),"@site/versioned_docs/version-0.109.7/040.developer-resources/020.rest-apis.md",60707],a9993c14:[()=>n.e(8750).then(n.t.bind(n,86137,19)),"~docs/default/tag-tags-table-details-781.json",86137],aa1c05f4:[()=>n.e(3151).then(n.t.bind(n,81164,19)),"~docs/default/tag-tags-visibility-602.json",81164],abbfc25c:[()=>n.e(6713).then(n.bind(n,59661)),"@site/docs/070.fields/040.field-types/040.links-based/020.lookup.md",59661],ae730630:[()=>n.e(9707).then(n.bind(n,90229)),"@site/docs/060.table-operations/010.overview.md",90229],ae9857c7:[()=>n.e(6714).then(n.t.bind(n,86741,19)),"~docs/default/version-0-109-7-metadata-prop-007.json",86741],b2206ab4:[()=>n.e(2384).then(n.t.bind(n,96212,19)),"~docs/default/tag-tags-primary-key-b79.json",96212],b22d161b:[()=>n.e(2773).then(n.bind(n,54954)),"@site/docs/010.index.md",54954],b3347e58:[()=>n.e(345).then(n.t.bind(n,12068,19)),"~docs/default/tag-tags-specific-db-type-32a.json",12068],b444d910:[()=>n.e(8958).then(n.bind(n,85507)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/030.column-operations.md",85507],b6006dd7:[()=>n.e(1676).then(n.t.bind(n,81921,19)),"~docs/default/tag-tags-multi-fields-editor-8da.json",81921],b65801cb:[()=>n.e(274).then(n.t.bind(n,69609,19)),"~docs/default/tag-tags-decimal-575.json",69609],b7abf355:[()=>n.e(3857).then(n.bind(n,17569)),"@site/docs/030.workspaces/010.workspace-overview.md",17569],ba1d2c5b:[()=>n.e(6779).then(n.bind(n,80390)),"@site/docs/040.bases/040.import-base-from-airtable.md",80390],bb516362:[()=>n.e(9721).then(n.bind(n,26238)),"@site/docs/090.views/010.views-overview.md",26238],bb53f532:[()=>n.e(1641).then(n.bind(n,69619)),"@site/docs/070.fields/040.field-types/010.text-based/050.url.md",69619],bd02e23f:[()=>n.e(2606).then(n.bind(n,33872)),"@site/docs/070.fields/040.field-types/010.text-based/040.phonenumber.md",33872],c1501dcb:[()=>n.e(7096).then(n.bind(n,36802)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/120.sync-schema.md",36802],c1a34d6e:[()=>n.e(636).then(n.bind(n,55619)),"@site/docs/070.fields/040.field-types/050.custom-types/060.geometry.md",55619],c1dfffdd:[()=>n.e(4166).then(n.bind(n,9933)),"@site/docs/070.fields/040.field-types/010.text-based/020.long-text.md",9933],c2accac3:[()=>n.e(2874).then(n.t.bind(n,78942,19)),"~docs/default/tag-tags-percent-363.json",78942],c42aaec2:[()=>n.e(92).then(n.t.bind(n,30780,19)),"~docs/default/tag-tags-permissions-6c8.json",30780],c76e097b:[()=>n.e(1461).then(n.bind(n,48496)),"@site/docs/110.roles-and-permissions/010.roles-permissions-overview.md",48496],c7dc53b4:[()=>n.e(4513).then(n.t.bind(n,54830,19)),"~docs/default/tag-tags-single-select-bec.json",54830],c93390fb:[()=>n.e(4660).then(n.t.bind(n,83256,19)),"~docs/default/tag-tags-links-based-types-1b0.json",83256],cb2030df:[()=>n.e(5334).then(n.bind(n,20563)),"@site/docs/070.fields/040.field-types/030.select-based/030.rating.md",20563],cc44517e:[()=>n.e(1949).then(n.bind(n,93124)),"@site/versioned_docs/version-0.109.7/050.engineering/070.translation.md",93124],cc9fede1:[()=>n.e(5228).then(n.t.bind(n,10958,19)),"~docs/default/tag-tags-download-e65.json",10958],cd3c4207:[()=>n.e(485).then(n.bind(n,67047)),"@site/docs/070.fields/040.field-types/040.links-based/030.rollup.md",67047],cd725ea4:[()=>n.e(800).then(n.bind(n,87956)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/080.rollup.md",87956],d01bd8c5:[()=>n.e(8820).then(n.bind(n,98962)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/260.project-settings.md",98962],d3abb5b7:[()=>n.e(3447).then(n.t.bind(n,85920,19)),"~docs/default/tag-tags-grid-view-58b.json",85920],d427e024:[()=>n.e(5413).then(n.bind(n,6314)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/240.meta-management.md",6314],d5451361:[()=>n.e(1205).then(n.t.bind(n,69033,19)),"~docs/default/tag-tags-profile-4e1.json",69033],d65a8f51:[()=>n.e(5221).then(n.t.bind(n,3763,19)),"~docs/default/tag-tags-swagger-d9c.json",3763],d69d4db4:[()=>n.e(333).then(n.t.bind(n,29497,19)),"~docs/default/tag-tags-reorder-7e5.json",29497],d767d123:[()=>n.e(4743).then(n.bind(n,54004)),"@site/docs/040.bases/070.actions-on-base.md",54004],d94fff3f:[()=>n.e(1705).then(n.t.bind(n,71730,19)),"~docs/default/tag-tags-audit-43c.json",71730],d96af704:[()=>n.e(2582).then(n.t.bind(n,30004,19)),"~docs/default/tag-tags-show-hide-a0d.json",30004],d9e65f56:[()=>n.e(8379).then(n.t.bind(n,42899,19)),"~docs/default/tag-tags-api-tokens-bbe.json",42899],da4f93ee:[()=>n.e(4882).then(n.bind(n,47221)),"@site/docs/070.fields/050.multi-fields-editor.md",47221],dc1c5b3c:[()=>n.e(1576).then(n.t.bind(n,50742,19)),"~docs/default/tag-tags-json-a8a.json",50742],ded49de4:[()=>n.e(9868).then(n.bind(n,34654)),"@site/docs/070.fields/040.field-types/070.date-time-based/010.date-time.md",34654],df203c0f:[()=>n.e(9924).then(n.bind(n,615)),"@theme/DocTagDocListPage",615],df59b4b5:[()=>n.e(3914).then(n.t.bind(n,36756,19)),"~docs/default/tag-tags-single-line-text-64e.json",36756],e11b3e19:[()=>n.e(5650).then(n.bind(n,60920)),"@site/docs/070.fields/040.field-types/030.select-based/020.checkbox.md",60920],e12d67b0:[()=>n.e(9554).then(n.t.bind(n,61359,19)),"~docs/default/tag-tags-views-e28.json",61359],e28b0c4f:[()=>n.e(8880).then(n.bind(n,85216)),"@site/versioned_docs/version-0.109.7/020.getting-started/030.upgrading.md",85216],e302cfc9:[()=>n.e(1313).then(n.bind(n,10847)),"@site/docs/065.table-details/table-details-overview.md",10847],e3120721:[()=>n.e(1120).then(n.t.bind(n,23388,19)),"~docs/default/tag-tags-filter-2d5.json",23388],e4367861:[()=>n.e(6263).then(n.bind(n,37634)),"@site/docs/050.tables/040.import-data-into-existing-table.md",37634],e4e12989:[()=>n.e(8e3).then(n.bind(n,86301)),"@site/versioned_docs/version-0.109.7/050.engineering/040.unit-testing.md",86301],e55064b4:[()=>n.e(4341).then(n.bind(n,73412)),"@site/docs/070.fields/040.field-types/020.numerical/040.currency.md",73412],e56fdc78:[()=>n.e(9069).then(n.bind(n,89e3)),"@site/docs/020.getting-started/050.self-hosted/030.upgrading.md",89e3],e5a54c1b:[()=>n.e(7283).then(n.bind(n,39110)),"@site/docs/070.fields/040.field-types/020.numerical/010.number.md",39110],e631982f:[()=>n.e(5055).then(n.bind(n,12957)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/190.expanded-form.md",12957],e68614dc:[()=>n.e(771).then(n.bind(n,19809)),"@site/docs/070.fields/040.field-types/050.custom-types/010.attachment.md",19809],e68e0fff:[()=>n.e(6859).then(n.t.bind(n,27048,19)),"~docs/default/tag-tags-cover-image-028.json",27048],e8cbe097:[()=>n.e(1635).then(n.t.bind(n,73637,19)),"~docs/default/tag-tags-field-types-c13.json",73637],eb689018:[()=>n.e(4851).then(n.bind(n,91431)),"@site/docs/040.bases/010.base-overview.md",91431],ebb99180:[()=>n.e(346).then(n.bind(n,61669)),"@site/docs/090.views/040.view-types/020.gallery.md",61669],ec135315:[()=>n.e(6125).then(n.bind(n,16033)),"@site/docs/070.fields/020.primary-key.md",16033],f0eb83f3:[()=>n.e(2862).then(n.bind(n,76908)),"@site/versioned_docs/version-0.109.7/030.setup-and-usages/230.team-and-auth.md",76908],f4191957:[()=>n.e(5381).then(n.t.bind(n,56319,19)),"~docs/default/tag-tags-external-21b.json",56319],f4472a32:[()=>n.e(9123).then(n.t.bind(n,90399,19)),"~docs/default/tag-tags-attachment-9e2.json",90399],f472468a:[()=>n.e(9214).then(n.t.bind(n,90290,19)),"~docs/default/tag-tags-links-d71.json",90290],f6aad64f:[()=>n.e(853).then(n.t.bind(n,63825,19)),"~docs/default/tag-tags-open-source-031.json",63825],f7d905ba:[()=>n.e(7746).then(n.bind(n,67268)),"@site/docs/060.table-operations/030.filter.md",67268],f9241299:[()=>n.e(3521).then(n.bind(n,67452)),"@site/docs/120.collaboration/010.collaboration-overview.md",67452],f9538193:[()=>n.e(7235).then(n.t.bind(n,96482,19)),"~docs/default/tag-tags-currency-68c.json",96482],fb12fd2d:[()=>n.e(1416).then(n.t.bind(n,82648,19)),"~docs/default/tag-tags-sort-d14.json",82648],fb5c685c:[()=>n.e(1067).then(n.t.bind(n,86841,19)),"~docs/default/tag-tags-create-2ad.json",86841],fb60c522:[()=>n.e(5407).then(n.bind(n,94065)),"@site/docs/070.fields/060.actions-on-field.md",94065],fc37d7fe:[()=>n.e(9485).then(n.t.bind(n,8673,19)),"~docs/default/tag-tags-member-3b6.json",8673],fe112e79:[()=>n.e(2776).then(n.bind(n,57117)),"@site/docs/030.workspaces/030.workspace-collaboration.md",57117]};function c(e){let{error:t,retry:n,pastDelay:r}=e;return t?a.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},a.createElement("p",null,String(t)),a.createElement("div",null,a.createElement("button",{type:"button",onClick:n},"Retry"))):r?a.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},a.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},a.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},a.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},a.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),a.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),a.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),a.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},a.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),a.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),a.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),a.createElement("circle",{cx:"22",cy:"22",r:"8"},a.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var u=n(5304),d=n(69656);function p(e,t){if("*"===e)return i()({loading:c,loader:()=>n.e(4248).then(n.bind(n,74248)),modules:["@theme/NotFound"],webpack:()=>[74248],render(e,t){const n=e.default;return a.createElement(d.z,{value:{plugin:{name:"native",id:"default"}}},a.createElement(n,t))}});const o=s[`${e}-${t}`],p={},f=[],m=[],g=(0,u.Z)(o);return Object.entries(g).forEach((e=>{let[t,n]=e;const a=l[n];a&&(p[t]=a[0],f.push(a[1]),m.push(a[2]))})),i().Map({loading:c,loader:p,modules:f,webpack:()=>m,render(t,n){const i=JSON.parse(JSON.stringify(o));Object.entries(t).forEach((t=>{let[n,a]=t;const r=a.default;if(!r)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof r&&"function"!=typeof r||Object.keys(a).filter((e=>"default"!==e)).forEach((e=>{r[e]=a[e]}));let o=i;const s=n.split(".");s.slice(0,-1).forEach((e=>{o=o[e]})),o[s[s.length-1]]=r}));const s=i.__comp;delete i.__comp;const l=i.__context;return delete i.__context,a.createElement(d.z,{value:l},a.createElement(s,(0,r.Z)({},i,n)))}})}const f=[{path:"/search",component:p("/search","2c3"),exact:!0},{path:"/tags",component:p("/tags","0e5"),exact:!0},{path:"/tags/account-settings",component:p("/tags/account-settings","21a"),exact:!0},{path:"/tags/api-tokens",component:p("/tags/api-tokens","f5c"),exact:!0},{path:"/tags/attachment",component:p("/tags/attachment","90b"),exact:!0},{path:"/tags/audit",component:p("/tags/audit","624"),exact:!0},{path:"/tags/barcode",component:p("/tags/barcode","6cf"),exact:!0},{path:"/tags/bases",component:p("/tags/bases","199"),exact:!0},{path:"/tags/checkbox",component:p("/tags/checkbox","765"),exact:!0},{path:"/tags/collaboration",component:p("/tags/collaboration","068"),exact:!0},{path:"/tags/comments",component:p("/tags/comments","723"),exact:!0},{path:"/tags/connect",component:p("/tags/connect","ecb"),exact:!0},{path:"/tags/cover-image",component:p("/tags/cover-image","c53"),exact:!0},{path:"/tags/create",component:p("/tags/create","b2c"),exact:!0},{path:"/tags/csv",component:p("/tags/csv","3d6"),exact:!0},{path:"/tags/currency",component:p("/tags/currency","894"),exact:!0},{path:"/tags/custom-types",component:p("/tags/custom-types","868"),exact:!0},{path:"/tags/dashboard",component:p("/tags/dashboard","e0f"),exact:!0},{path:"/tags/data-sources",component:p("/tags/data-sources","b87"),exact:!0},{path:"/tags/date-time",component:p("/tags/date-time","7d7"),exact:!0},{path:"/tags/decimal",component:p("/tags/decimal","c69"),exact:!0},{path:"/tags/delete",component:p("/tags/delete","264"),exact:!0},{path:"/tags/disable",component:p("/tags/disable","09a"),exact:!0},{path:"/tags/display-value",component:p("/tags/display-value","d5a"),exact:!0},{path:"/tags/download",component:p("/tags/download","fa9"),exact:!0},{path:"/tags/duplicate",component:p("/tags/duplicate","cfa"),exact:!0},{path:"/tags/edit",component:p("/tags/edit","142"),exact:!0},{path:"/tags/email",component:p("/tags/email","14e"),exact:!0},{path:"/tags/enable",component:p("/tags/enable","e51"),exact:!0},{path:"/tags/engineering",component:p("/tags/engineering","778"),exact:!0},{path:"/tags/excel",component:p("/tags/excel","8c6"),exact:!0},{path:"/tags/expanded-record",component:p("/tags/expanded-record","1ce"),exact:!0},{path:"/tags/external",component:p("/tags/external","24f"),exact:!0},{path:"/tags/field-types",component:p("/tags/field-types","761"),exact:!0},{path:"/tags/field-width",component:p("/tags/field-width","2c7"),exact:!0},{path:"/tags/fields",component:p("/tags/fields","bfd"),exact:!0},{path:"/tags/filter",component:p("/tags/filter","a2b"),exact:!0},{path:"/tags/form-view",component:p("/tags/form-view","1b6"),exact:!0},{path:"/tags/formula",component:p("/tags/formula","443"),exact:!0},{path:"/tags/gallery-view",component:p("/tags/gallery-view","bd9"),exact:!0},{path:"/tags/geometry",component:p("/tags/geometry","c93"),exact:!0},{path:"/tags/getting-started",component:p("/tags/getting-started","2b9"),exact:!0},{path:"/tags/grid-view",component:p("/tags/grid-view","c0c"),exact:!0},{path:"/tags/group-by",component:p("/tags/group-by","228"),exact:!0},{path:"/tags/hide",component:p("/tags/hide","fb3"),exact:!0},{path:"/tags/import",component:p("/tags/import","df4"),exact:!0},{path:"/tags/invite",component:p("/tags/invite","013"),exact:!0},{path:"/tags/json",component:p("/tags/json","56e"),exact:!0},{path:"/tags/kanban-view",component:p("/tags/kanban-view","2a9"),exact:!0},{path:"/tags/links",component:p("/tags/links","c18"),exact:!0},{path:"/tags/links-based-types",component:p("/tags/links-based-types","d7c"),exact:!0},{path:"/tags/long-text",component:p("/tags/long-text","85a"),exact:!0},{path:"/tags/lookup",component:p("/tags/lookup","2a2"),exact:!0},{path:"/tags/member",component:p("/tags/member","95f"),exact:!0},{path:"/tags/members",component:p("/tags/members","a5a"),exact:!0},{path:"/tags/multi-fields-editor",component:p("/tags/multi-fields-editor","c8c"),exact:!0},{path:"/tags/multi-select",component:p("/tags/multi-select","08c"),exact:!0},{path:"/tags/my-sql",component:p("/tags/my-sql","617"),exact:!0},{path:"/tags/number",component:p("/tags/number","087"),exact:!0},{path:"/tags/numerical-types",component:p("/tags/numerical-types","964"),exact:!0},{path:"/tags/open-source",component:p("/tags/open-source","2b5"),exact:!0},{path:"/tags/overview",component:p("/tags/overview","836"),exact:!0},{path:"/tags/percent",component:p("/tags/percent","f81"),exact:!0},{path:"/tags/permissions",component:p("/tags/permissions","c39"),exact:!0},{path:"/tags/pg",component:p("/tags/pg","7be"),exact:!0},{path:"/tags/phone-number",component:p("/tags/phone-number","88f"),exact:!0},{path:"/tags/primary-key",component:p("/tags/primary-key","6e4"),exact:!0},{path:"/tags/productivity-hacks",component:p("/tags/productivity-hacks","81b"),exact:!0},{path:"/tags/profile",component:p("/tags/profile","757"),exact:!0},{path:"/tags/qr-code",component:p("/tags/qr-code","92c"),exact:!0},{path:"/tags/rating",component:p("/tags/rating","ca7"),exact:!0},{path:"/tags/record-height",component:p("/tags/record-height","8bf"),exact:!0},{path:"/tags/records",component:p("/tags/records","a46"),exact:!0},{path:"/tags/relations",component:p("/tags/relations","934"),exact:!0},{path:"/tags/remove",component:p("/tags/remove","7b3"),exact:!0},{path:"/tags/rename",component:p("/tags/rename","1a4"),exact:!0},{path:"/tags/reorder",component:p("/tags/reorder","af1"),exact:!0},{path:"/tags/rest-ap-is",component:p("/tags/rest-ap-is","fcb"),exact:!0},{path:"/tags/roles",component:p("/tags/roles","ed4"),exact:!0},{path:"/tags/rollup",component:p("/tags/rollup","368"),exact:!0},{path:"/tags/search",component:p("/tags/search","47b"),exact:!0},{path:"/tags/select-based-types",component:p("/tags/select-based-types","180"),exact:!0},{path:"/tags/share",component:p("/tags/share","efc"),exact:!0},{path:"/tags/share-base",component:p("/tags/share-base","ae1"),exact:!0},{path:"/tags/shortcuts",component:p("/tags/shortcuts","210"),exact:!0},{path:"/tags/show-hide",component:p("/tags/show-hide","abb"),exact:!0},{path:"/tags/single-line-text",component:p("/tags/single-line-text","841"),exact:!0},{path:"/tags/single-select",component:p("/tags/single-select","1f6"),exact:!0},{path:"/tags/sort",component:p("/tags/sort","ba6"),exact:!0},{path:"/tags/specific-db-type",component:p("/tags/specific-db-type","8eb"),exact:!0},{path:"/tags/swagger",component:p("/tags/swagger","b0c"),exact:!0},{path:"/tags/sync",component:p("/tags/sync","621"),exact:!0},{path:"/tags/table",component:p("/tags/table","bd8"),exact:!0},{path:"/tags/table-details",component:p("/tags/table-details","e94"),exact:!0},{path:"/tags/table-operations",component:p("/tags/table-operations","38c"),exact:!0},{path:"/tags/tables",component:p("/tags/tables","90b"),exact:!0},{path:"/tags/text-based-types",component:p("/tags/text-based-types","dcc"),exact:!0},{path:"/tags/ui-acl",component:p("/tags/ui-acl","354"),exact:!0},{path:"/tags/upload",component:p("/tags/upload","5fa"),exact:!0},{path:"/tags/url",component:p("/tags/url","964"),exact:!0},{path:"/tags/views",component:p("/tags/views","317"),exact:!0},{path:"/tags/visibility",component:p("/tags/visibility","06c"),exact:!0},{path:"/tags/webhook",component:p("/tags/webhook","848"),exact:!0},{path:"/tags/workspaces",component:p("/tags/workspaces","f14"),exact:!0},{path:"/0.109.7",component:p("/0.109.7","ae8"),routes:[{path:"/0.109.7/",component:p("/0.109.7/","eab"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/developer-resources/accessing-apis",component:p("/0.109.7/developer-resources/accessing-apis","238"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/developer-resources/rest-apis",component:p("/0.109.7/developer-resources/rest-apis","06e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/developer-resources/sdk",component:p("/0.109.7/developer-resources/sdk","9da"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/developer-resources/upload-via-api",component:p("/0.109.7/developer-resources/upload-via-api","ae3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/developer-resources/webhooks",component:p("/0.109.7/developer-resources/webhooks","93d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/engineering/architecture",component:p("/0.109.7/engineering/architecture","a78"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/engineering/builds-and-releases",component:p("/0.109.7/engineering/builds-and-releases","107"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/engineering/development-setup",component:p("/0.109.7/engineering/development-setup","9b9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/engineering/playwright",component:p("/0.109.7/engineering/playwright","b87"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/engineering/repository-structure",component:p("/0.109.7/engineering/repository-structure","6f0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/engineering/translation",component:p("/0.109.7/engineering/translation","02f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/engineering/unit-testing",component:p("/0.109.7/engineering/unit-testing","d31"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/FAQs",component:p("/0.109.7/FAQs","79f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/getting-started/demos",component:p("/0.109.7/getting-started/demos","8e4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/getting-started/environment-variables",component:p("/0.109.7/getting-started/environment-variables","bea"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/getting-started/installation",component:p("/0.109.7/getting-started/installation","af5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/getting-started/upgrading",component:p("/0.109.7/getting-started/upgrading","5e6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/account-settings",component:p("/0.109.7/setup-and-usages/account-settings","72e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/audit",component:p("/0.109.7/setup-and-usages/audit","492"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/code-snippets",component:p("/0.109.7/setup-and-usages/code-snippets","e68"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/column-operations",component:p("/0.109.7/setup-and-usages/column-operations","b69"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/column-types",component:p("/0.109.7/setup-and-usages/column-types","a5e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/dashboard",component:p("/0.109.7/setup-and-usages/dashboard","ee2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/display-value",component:p("/0.109.7/setup-and-usages/display-value","a30"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/expanded-form",component:p("/0.109.7/setup-and-usages/expanded-form","b88"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/formulas",component:p("/0.109.7/setup-and-usages/formulas","bd0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/import-airtable-to-sql-database-within-a-minute-for-free",component:p("/0.109.7/setup-and-usages/import-airtable-to-sql-database-within-a-minute-for-free","371"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/keyboard-maneuver",component:p("/0.109.7/setup-and-usages/keyboard-maneuver","881"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/languages",component:p("/0.109.7/setup-and-usages/languages","b49"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/link-to-another-record",component:p("/0.109.7/setup-and-usages/link-to-another-record","6c9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/links",component:p("/0.109.7/setup-and-usages/links","0dc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/lookup",component:p("/0.109.7/setup-and-usages/lookup","96d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/meta-management",component:p("/0.109.7/setup-and-usages/meta-management","254"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/primary-key",component:p("/0.109.7/setup-and-usages/primary-key","0c4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/project-settings",component:p("/0.109.7/setup-and-usages/project-settings","dc0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/rollup",component:p("/0.109.7/setup-and-usages/rollup","64f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/share-base",component:p("/0.109.7/setup-and-usages/share-base","29d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/share-view",component:p("/0.109.7/setup-and-usages/share-view","ec1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/sync-schema",component:p("/0.109.7/setup-and-usages/sync-schema","852"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/table-operations",component:p("/0.109.7/setup-and-usages/table-operations","364"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/team-and-auth",component:p("/0.109.7/setup-and-usages/team-and-auth","b5f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/usage-information",component:p("/0.109.7/setup-and-usages/usage-information","b21"),exact:!0,sidebar:"tutorialSidebar"},{path:"/0.109.7/setup-and-usages/views",component:p("/0.109.7/setup-and-usages/views","303"),exact:!0,sidebar:"tutorialSidebar"}]},{path:"/",component:p("/","ad8"),routes:[{path:"/",component:p("/","f1a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/account-settings/api-tokens",component:p("/account-settings/api-tokens","fe5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/account-settings/oss-specific-details",component:p("/account-settings/oss-specific-details","95b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/account-settings/profile-page",component:p("/account-settings/profile-page","6de"),exact:!0,sidebar:"tutorialSidebar"},{path:"/automation/webhook/actions-on-webhook",component:p("/automation/webhook/actions-on-webhook","ec5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/automation/webhook/create-webhook",component:p("/automation/webhook/create-webhook","7f4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/automation/webhook/webhook-overview",component:p("/automation/webhook/webhook-overview","bdc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bases/actions-on-base",component:p("/bases/actions-on-base","d6b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bases/base-collaboration",component:p("/bases/base-collaboration","1d1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bases/base-overview",component:p("/bases/base-overview","305"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bases/create-base",component:p("/bases/create-base","b75"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bases/import-base-from-airtable",component:p("/bases/import-base-from-airtable","e12"),exact:!0,sidebar:"tutorialSidebar"},{path:"/bases/share-base",component:p("/bases/share-base","626"),exact:!0,sidebar:"tutorialSidebar"},{path:"/collaboration/base-collaboration",component:p("/collaboration/base-collaboration","dab"),exact:!0,sidebar:"tutorialSidebar"},{path:"/collaboration/collaboration-overview",component:p("/collaboration/collaboration-overview","d7f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/collaboration/oss-specific-details",component:p("/collaboration/oss-specific-details","43a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/collaboration/share-base",component:p("/collaboration/share-base","1db"),exact:!0,sidebar:"tutorialSidebar"},{path:"/collaboration/share-view",component:p("/collaboration/share-view","ef9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/collaboration/workspace-collaboration",component:p("/collaboration/workspace-collaboration","952"),exact:!0,sidebar:"tutorialSidebar"},{path:"/data-sources/actions-on-data-sources",component:p("/data-sources/actions-on-data-sources","9cb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/data-sources/connect-to-data-source",component:p("/data-sources/connect-to-data-source","e61"),exact:!0,sidebar:"tutorialSidebar"},{path:"/data-sources/data-source-overview",component:p("/data-sources/data-source-overview","f29"),exact:!0,sidebar:"tutorialSidebar"},{path:"/data-sources/sync-with-data-source",component:p("/data-sources/sync-with-data-source","8ff"),exact:!0,sidebar:"tutorialSidebar"},{path:"/engineering/architecture",component:p("/engineering/architecture","5c0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/engineering/builds-and-releases",component:p("/engineering/builds-and-releases","bb9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/engineering/development-setup",component:p("/engineering/development-setup","27a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/engineering/playwright",component:p("/engineering/playwright","09d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/engineering/repository-structure",component:p("/engineering/repository-structure","6fc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/engineering/translation",component:p("/engineering/translation","2dd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/engineering/unit-testing",component:p("/engineering/unit-testing","24a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/engineering/writing-docs",component:p("/engineering/writing-docs","4f2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/FAQs",component:p("/FAQs","828"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/actions-on-field",component:p("/fields/actions-on-field","f17"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/display-value",component:p("/fields/display-value","828"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/custom-types/attachment",component:p("/fields/field-types/custom-types/attachment","06c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/custom-types/barcode",component:p("/fields/field-types/custom-types/barcode","e35"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/custom-types/geometry",component:p("/fields/field-types/custom-types/geometry","1a2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/custom-types/json",component:p("/fields/field-types/custom-types/json","bea"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/custom-types/QR-code",component:p("/fields/field-types/custom-types/QR-code","4e4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/custom-types/specific-db-type",component:p("/fields/field-types/custom-types/specific-db-type","0cd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/date-time-based/date",component:p("/fields/field-types/date-time-based/date","725"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/date-time-based/date-time",component:p("/fields/field-types/date-time-based/date-time","836"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/date-time-based/duration",component:p("/fields/field-types/date-time-based/duration","94e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/date-time-based/time",component:p("/fields/field-types/date-time-based/time","d3c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/formula/conditional-expressions",component:p("/fields/field-types/formula/conditional-expressions","5af"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/formula/date-functions",component:p("/fields/field-types/formula/date-functions","798"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/formula/formula",component:p("/fields/field-types/formula/formula","576"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/formula/numeric-functions",component:p("/fields/field-types/formula/numeric-functions","556"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/formula/operators",component:p("/fields/field-types/formula/operators","d96"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/formula/string-functions",component:p("/fields/field-types/formula/string-functions","b5c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/links-based/links",component:p("/fields/field-types/links-based/links","487"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/links-based/lookup",component:p("/fields/field-types/links-based/lookup","861"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/links-based/rollup",component:p("/fields/field-types/links-based/rollup","1f5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/numerical/currency",component:p("/fields/field-types/numerical/currency","91a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/numerical/decimal",component:p("/fields/field-types/numerical/decimal","8cc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/numerical/number",component:p("/fields/field-types/numerical/number","d91"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/numerical/percent",component:p("/fields/field-types/numerical/percent","243"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/select-based/checkbox",component:p("/fields/field-types/select-based/checkbox","0c2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/select-based/multi-select",component:p("/fields/field-types/select-based/multi-select","626"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/select-based/rating",component:p("/fields/field-types/select-based/rating","9b3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/select-based/single-select",component:p("/fields/field-types/select-based/single-select","e33"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/text-based/email",component:p("/fields/field-types/text-based/email","938"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/text-based/long-text",component:p("/fields/field-types/text-based/long-text","e24"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/text-based/phonenumber",component:p("/fields/field-types/text-based/phonenumber","a44"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/text-based/single-line-text",component:p("/fields/field-types/text-based/single-line-text","99f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/field-types/text-based/url",component:p("/fields/field-types/text-based/url","64a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/fields-overview",component:p("/fields/fields-overview","78a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/multi-fields-editor",component:p("/fields/multi-fields-editor","6e1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/fields/primary-key",component:p("/fields/primary-key","40d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/getting-started/keyboard-shortcuts",component:p("/getting-started/keyboard-shortcuts","323"),exact:!0,sidebar:"tutorialSidebar"},{path:"/getting-started/quick-start",component:p("/getting-started/quick-start","92c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/getting-started/self-hosted/environment-variables",component:p("/getting-started/self-hosted/environment-variables","60e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/getting-started/self-hosted/installation",component:p("/getting-started/self-hosted/installation","972"),exact:!0,sidebar:"tutorialSidebar"},{path:"/getting-started/self-hosted/upgrading",component:p("/getting-started/self-hosted/upgrading","bfd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/getting-started/terminologies",component:p("/getting-started/terminologies","b1a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/records/actions-on-record",component:p("/records/actions-on-record","632"),exact:!0,sidebar:"tutorialSidebar"},{path:"/records/create-record",component:p("/records/create-record","945"),exact:!0,sidebar:"tutorialSidebar"},{path:"/records/expand-record",component:p("/records/expand-record","72d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/records/records-overview",component:p("/records/records-overview","150"),exact:!0,sidebar:"tutorialSidebar"},{path:"/roles-and-permissions/roles-permissions-overview",component:p("/roles-and-permissions/roles-permissions-overview","57d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/table-details/table-details-overview",component:p("/table-details/table-details-overview","ae5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/table-operations/download",component:p("/table-operations/download","8d4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/table-operations/field-operations",component:p("/table-operations/field-operations","c3d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/table-operations/filter",component:p("/table-operations/filter","96c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/table-operations/group-by",component:p("/table-operations/group-by","893"),exact:!0,sidebar:"tutorialSidebar"},{path:"/table-operations/overview",component:p("/table-operations/overview","bd0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/table-operations/row-height",component:p("/table-operations/row-height","3c0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/table-operations/search",component:p("/table-operations/search","ed7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/table-operations/sort",component:p("/table-operations/sort","209"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tables/actions-on-table",component:p("/tables/actions-on-table","05d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tables/create-table",component:p("/tables/create-table","b64"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tables/create-table-via-import",component:p("/tables/create-table-via-import","e6f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tables/import-data-into-existing-table",component:p("/tables/import-data-into-existing-table","d91"),exact:!0,sidebar:"tutorialSidebar"},{path:"/tables/table-overview",component:p("/tables/table-overview","046"),exact:!0,sidebar:"tutorialSidebar"},{path:"/views/actions-on-view",component:p("/views/actions-on-view","17e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/views/create-view",component:p("/views/create-view","2b3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/views/share-view",component:p("/views/share-view","97d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/views/view-types/form",component:p("/views/view-types/form","252"),exact:!0,sidebar:"tutorialSidebar"},{path:"/views/view-types/gallery",component:p("/views/view-types/gallery","004"),exact:!0,sidebar:"tutorialSidebar"},{path:"/views/view-types/grid",component:p("/views/view-types/grid","c46"),exact:!0,sidebar:"tutorialSidebar"},{path:"/views/view-types/kanban",component:p("/views/view-types/kanban","b3f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/views/views-overview",component:p("/views/views-overview","ba9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/workspaces/actions-on-workspace",component:p("/workspaces/actions-on-workspace","cb7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/workspaces/create-workspace",component:p("/workspaces/create-workspace","d20"),exact:!0,sidebar:"tutorialSidebar"},{path:"/workspaces/workspace-collaboration",component:p("/workspaces/workspace-collaboration","dd4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/workspaces/workspace-overview",component:p("/workspaces/workspace-overview","34e"),exact:!0,sidebar:"tutorialSidebar"}]},{path:"*",component:p("*")}]},88121:(e,t,n)=>{"use strict";n.d(t,{_:()=>r,t:()=>o});var a=n(67294);const r=a.createContext(!1);function o(e){let{children:t}=e;const[n,o]=(0,a.useState)(!1);return(0,a.useEffect)((()=>{o(!0)}),[]),a.createElement(r.Provider,{value:n},t)}},90654:(e,t,n)=>{"use strict";var a=n(67294),r=n(73935),o=n(73727),i=n(70405),s=n(36136);const l=[n(30984),n(82251),n(79957),n(93878),n(98269),n(13538)];var c=n(50997),u=n(16550),d=n(18790);function p(e){let{children:t}=e;return a.createElement(a.Fragment,null,t)}var f=n(87462),m=n(31514),g=n(39962),h=n(79524),b=n(20107),v=n(35463),y=n(40626),w=n(78181),k=n(60246),S=n(33647);function _(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,g.Z)(),n=(0,y.l)();return a.createElement(m.Z,null,Object.entries(t).map((e=>{let[t,{htmlLang:r}]=e;return a.createElement("link",{key:t,rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:r})})),a.createElement("link",{rel:"alternate",href:n.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function E(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.Z)(),r=function(){const{siteConfig:{url:e}}=(0,g.Z)(),{pathname:t}=(0,u.TH)();return e+(0,h.Z)(t)}(),o=t?`${n}${t}`:r;return a.createElement(m.Z,null,a.createElement("meta",{property:"og:url",content:o}),a.createElement("link",{rel:"canonical",href:o}))}function x(){const{i18n:{currentLocale:e}}=(0,g.Z)(),{metadata:t,image:n}=(0,b.L)();return a.createElement(a.Fragment,null,a.createElement(m.Z,null,a.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),a.createElement("body",{className:w.h})),n&&a.createElement(v.d,{image:n}),a.createElement(E,null),a.createElement(_,null),a.createElement(S.Z,{tag:k.HX,locale:e}),a.createElement(m.Z,null,t.map(((e,t)=>a.createElement("meta",(0,f.Z)({key:t},e))))))}const C=new Map;function T(e){if(C.has(e.pathname))return{...e,pathname:C.get(e.pathname)};if((0,d.f)(c.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return C.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return C.set(e.pathname,t),{...e,pathname:t}}var A=n(88121),L=n(80694);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a{const a=t.default?.[e]??t[e];return a?.(...n)}));return()=>r.forEach((e=>e?.()))}const O=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,a.useLayoutEffect)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const a=t.pathname===n.pathname,r=t.hash===n.hash,o=t.search===n.search;if(a&&r&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),R("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function N(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(c.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class P extends a.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.Z.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),N(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return a.createElement(O,{previousLocation:this.previousLocation,location:t},a.createElement(u.AW,{location:t,render:()=>e}))}}const I=P,D="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",j="__docusaurus-base-url-issue-banner-suggestion-container",F="__DOCUSAURUS_INSERT_BASEURL_BANNER";function B(e){return`\nwindow['${F}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${F}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${D}');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = ${JSON.stringify(function(e){return`\n
    \n

    Your Docusaurus site did not load properly.

    \n

    A very common reason is a wrong site baseUrl configuration.

    \n

    Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

    \n

    We suggest trying baseUrl =

    \n
    \n`}(e)).replace(/{window[F]=!1}),[]),a.createElement(a.Fragment,null,!s.Z.canUseDOM&&a.createElement(m.Z,null,a.createElement("script",null,B(e))),a.createElement("div",{id:D}))}function U(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,g.Z)(),{pathname:n}=(0,u.TH)();return t&&n===e?a.createElement(z,null):null}function $(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:r,localeConfigs:o}}=(0,g.Z)(),i=(0,h.Z)(e),{htmlLang:s,direction:l}=o[r];return a.createElement(m.Z,null,a.createElement("html",{lang:s,dir:l}),a.createElement("title",null,t),a.createElement("meta",{property:"og:title",content:t}),a.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&a.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&a.createElement("link",{rel:"icon",href:i}))}var q=n(73256);function H(){const e=(0,d.H)(c.Z),t=(0,u.TH)();return a.createElement(q.Z,null,a.createElement(L.M,null,a.createElement(A.t,null,a.createElement(p,null,a.createElement($,null),a.createElement(x,null),a.createElement(U,null),a.createElement(I,{location:T(t)},e)))))}var Z=n(16887);const G=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const a=document.createElement("link");a.setAttribute("rel","prefetch"),a.setAttribute("href",e),a.onload=()=>t(),a.onerror=()=>n();const r=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;r?.appendChild(a)}))}:function(e){return new Promise(((t,n)=>{const a=new XMLHttpRequest;a.open("GET",e,!0),a.withCredentials=!0,a.onload=()=>{200===a.status?t():n()},a.send(null)}))};var V=n(5304);const W=new Set,Q=new Set,K=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,Y={prefetch(e){if(!(e=>!K()&&!Q.has(e)&&!W.has(e))(e))return!1;W.add(e);const t=(0,d.f)(c.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(Z).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,V.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?G(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!K()&&!Q.has(e))(e)&&(Q.add(e),N(e))},X=Object.freeze(Y);if(s.Z.canUseDOM){window.docusaurus=X;const e=r.hydrate;N(window.location.pathname).then((()=>{e(a.createElement(i.B6,null,a.createElement(o.VK,null,a.createElement(H,null))),document.getElementById("__docusaurus"))}))}},80694:(e,t,n)=>{"use strict";n.d(t,{_:()=>u,M:()=>d});var a=n(67294),r=n(36809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/","versions":[{"name":"current","label":"Latest","isLast":true,"path":"/","mainDocId":"index","docs":[{"id":"account-settings/api-tokens","path":"/account-settings/api-tokens","sidebar":"tutorialSidebar"},{"id":"account-settings/oss-specific-details","path":"/account-settings/oss-specific-details","sidebar":"tutorialSidebar"},{"id":"account-settings/profile-page","path":"/account-settings/profile-page","sidebar":"tutorialSidebar"},{"id":"automation/webhook/actions-on-webhook","path":"/automation/webhook/actions-on-webhook","sidebar":"tutorialSidebar"},{"id":"automation/webhook/create-webhook","path":"/automation/webhook/create-webhook","sidebar":"tutorialSidebar"},{"id":"automation/webhook/webhook-overview","path":"/automation/webhook/webhook-overview","sidebar":"tutorialSidebar"},{"id":"bases/actions-on-base","path":"/bases/actions-on-base","sidebar":"tutorialSidebar"},{"id":"bases/base-collaboration","path":"/bases/base-collaboration","sidebar":"tutorialSidebar"},{"id":"bases/base-overview","path":"/bases/base-overview","sidebar":"tutorialSidebar"},{"id":"bases/create-base","path":"/bases/create-base","sidebar":"tutorialSidebar"},{"id":"bases/import-base-from-airtable","path":"/bases/import-base-from-airtable","sidebar":"tutorialSidebar"},{"id":"bases/share-base","path":"/bases/share-base","sidebar":"tutorialSidebar"},{"id":"collaboration/base-collaboration","path":"/collaboration/base-collaboration","sidebar":"tutorialSidebar"},{"id":"collaboration/collaboration-overview","path":"/collaboration/collaboration-overview","sidebar":"tutorialSidebar"},{"id":"collaboration/oss-specific-details","path":"/collaboration/oss-specific-details","sidebar":"tutorialSidebar"},{"id":"collaboration/share-base","path":"/collaboration/share-base","sidebar":"tutorialSidebar"},{"id":"collaboration/share-view","path":"/collaboration/share-view","sidebar":"tutorialSidebar"},{"id":"collaboration/workspace-collaboration","path":"/collaboration/workspace-collaboration","sidebar":"tutorialSidebar"},{"id":"data-sources/actions-on-data-sources","path":"/data-sources/actions-on-data-sources","sidebar":"tutorialSidebar"},{"id":"data-sources/connect-to-data-source","path":"/data-sources/connect-to-data-source","sidebar":"tutorialSidebar"},{"id":"data-sources/data-source-overview","path":"/data-sources/data-source-overview","sidebar":"tutorialSidebar"},{"id":"data-sources/sync-with-data-source","path":"/data-sources/sync-with-data-source","sidebar":"tutorialSidebar"},{"id":"engineering/architecture","path":"/engineering/architecture","sidebar":"tutorialSidebar"},{"id":"engineering/builds-and-releases","path":"/engineering/builds-and-releases","sidebar":"tutorialSidebar"},{"id":"engineering/development-setup","path":"/engineering/development-setup","sidebar":"tutorialSidebar"},{"id":"engineering/playwright","path":"/engineering/playwright","sidebar":"tutorialSidebar"},{"id":"engineering/repository-structure","path":"/engineering/repository-structure","sidebar":"tutorialSidebar"},{"id":"engineering/translation","path":"/engineering/translation","sidebar":"tutorialSidebar"},{"id":"engineering/unit-testing","path":"/engineering/unit-testing","sidebar":"tutorialSidebar"},{"id":"engineering/writing-docs","path":"/engineering/writing-docs","sidebar":"tutorialSidebar"},{"id":"FAQs","path":"/FAQs","sidebar":"tutorialSidebar"},{"id":"fields/actions-on-field","path":"/fields/actions-on-field","sidebar":"tutorialSidebar"},{"id":"fields/display-value","path":"/fields/display-value","sidebar":"tutorialSidebar"},{"id":"fields/field-types/custom-types/attachment","path":"/fields/field-types/custom-types/attachment","sidebar":"tutorialSidebar"},{"id":"fields/field-types/custom-types/barcode","path":"/fields/field-types/custom-types/barcode","sidebar":"tutorialSidebar"},{"id":"fields/field-types/custom-types/geometry","path":"/fields/field-types/custom-types/geometry","sidebar":"tutorialSidebar"},{"id":"fields/field-types/custom-types/json","path":"/fields/field-types/custom-types/json","sidebar":"tutorialSidebar"},{"id":"fields/field-types/custom-types/QR-code","path":"/fields/field-types/custom-types/QR-code","sidebar":"tutorialSidebar"},{"id":"fields/field-types/custom-types/specific-db-type","path":"/fields/field-types/custom-types/specific-db-type","sidebar":"tutorialSidebar"},{"id":"fields/field-types/date-time-based/date","path":"/fields/field-types/date-time-based/date","sidebar":"tutorialSidebar"},{"id":"fields/field-types/date-time-based/date-time","path":"/fields/field-types/date-time-based/date-time","sidebar":"tutorialSidebar"},{"id":"fields/field-types/date-time-based/duration","path":"/fields/field-types/date-time-based/duration","sidebar":"tutorialSidebar"},{"id":"fields/field-types/date-time-based/time","path":"/fields/field-types/date-time-based/time","sidebar":"tutorialSidebar"},{"id":"fields/field-types/formula/conditional-expressions","path":"/fields/field-types/formula/conditional-expressions","sidebar":"tutorialSidebar"},{"id":"fields/field-types/formula/date-functions","path":"/fields/field-types/formula/date-functions","sidebar":"tutorialSidebar"},{"id":"fields/field-types/formula/formula","path":"/fields/field-types/formula/formula","sidebar":"tutorialSidebar"},{"id":"fields/field-types/formula/numeric-functions","path":"/fields/field-types/formula/numeric-functions","sidebar":"tutorialSidebar"},{"id":"fields/field-types/formula/operators","path":"/fields/field-types/formula/operators","sidebar":"tutorialSidebar"},{"id":"fields/field-types/formula/string-functions","path":"/fields/field-types/formula/string-functions","sidebar":"tutorialSidebar"},{"id":"fields/field-types/links-based/links","path":"/fields/field-types/links-based/links","sidebar":"tutorialSidebar"},{"id":"fields/field-types/links-based/lookup","path":"/fields/field-types/links-based/lookup","sidebar":"tutorialSidebar"},{"id":"fields/field-types/links-based/rollup","path":"/fields/field-types/links-based/rollup","sidebar":"tutorialSidebar"},{"id":"fields/field-types/numerical/currency","path":"/fields/field-types/numerical/currency","sidebar":"tutorialSidebar"},{"id":"fields/field-types/numerical/decimal","path":"/fields/field-types/numerical/decimal","sidebar":"tutorialSidebar"},{"id":"fields/field-types/numerical/number","path":"/fields/field-types/numerical/number","sidebar":"tutorialSidebar"},{"id":"fields/field-types/numerical/percent","path":"/fields/field-types/numerical/percent","sidebar":"tutorialSidebar"},{"id":"fields/field-types/select-based/checkbox","path":"/fields/field-types/select-based/checkbox","sidebar":"tutorialSidebar"},{"id":"fields/field-types/select-based/multi-select","path":"/fields/field-types/select-based/multi-select","sidebar":"tutorialSidebar"},{"id":"fields/field-types/select-based/rating","path":"/fields/field-types/select-based/rating","sidebar":"tutorialSidebar"},{"id":"fields/field-types/select-based/single-select","path":"/fields/field-types/select-based/single-select","sidebar":"tutorialSidebar"},{"id":"fields/field-types/text-based/email","path":"/fields/field-types/text-based/email","sidebar":"tutorialSidebar"},{"id":"fields/field-types/text-based/long-text","path":"/fields/field-types/text-based/long-text","sidebar":"tutorialSidebar"},{"id":"fields/field-types/text-based/phonenumber","path":"/fields/field-types/text-based/phonenumber","sidebar":"tutorialSidebar"},{"id":"fields/field-types/text-based/single-line-text","path":"/fields/field-types/text-based/single-line-text","sidebar":"tutorialSidebar"},{"id":"fields/field-types/text-based/url","path":"/fields/field-types/text-based/url","sidebar":"tutorialSidebar"},{"id":"fields/fields-overview","path":"/fields/fields-overview","sidebar":"tutorialSidebar"},{"id":"fields/multi-fields-editor","path":"/fields/multi-fields-editor","sidebar":"tutorialSidebar"},{"id":"fields/primary-key","path":"/fields/primary-key","sidebar":"tutorialSidebar"},{"id":"getting-started/keyboard-shortcuts","path":"/getting-started/keyboard-shortcuts","sidebar":"tutorialSidebar"},{"id":"getting-started/quick-start","path":"/getting-started/quick-start","sidebar":"tutorialSidebar"},{"id":"getting-started/self-hosted/environment-variables","path":"/getting-started/self-hosted/environment-variables","sidebar":"tutorialSidebar"},{"id":"getting-started/self-hosted/installation","path":"/getting-started/self-hosted/installation","sidebar":"tutorialSidebar"},{"id":"getting-started/self-hosted/upgrading","path":"/getting-started/self-hosted/upgrading","sidebar":"tutorialSidebar"},{"id":"getting-started/terminologies","path":"/getting-started/terminologies","sidebar":"tutorialSidebar"},{"id":"index","path":"/","sidebar":"tutorialSidebar"},{"id":"records/actions-on-record","path":"/records/actions-on-record","sidebar":"tutorialSidebar"},{"id":"records/create-record","path":"/records/create-record","sidebar":"tutorialSidebar"},{"id":"records/expand-record","path":"/records/expand-record","sidebar":"tutorialSidebar"},{"id":"records/records-overview","path":"/records/records-overview","sidebar":"tutorialSidebar"},{"id":"roles-and-permissions/roles-permissions-overview","path":"/roles-and-permissions/roles-permissions-overview","sidebar":"tutorialSidebar"},{"id":"table-details/table-details-overview","path":"/table-details/table-details-overview","sidebar":"tutorialSidebar"},{"id":"table-operations/download","path":"/table-operations/download","sidebar":"tutorialSidebar"},{"id":"table-operations/field-operations","path":"/table-operations/field-operations","sidebar":"tutorialSidebar"},{"id":"table-operations/filter","path":"/table-operations/filter","sidebar":"tutorialSidebar"},{"id":"table-operations/group-by","path":"/table-operations/group-by","sidebar":"tutorialSidebar"},{"id":"table-operations/overview","path":"/table-operations/overview","sidebar":"tutorialSidebar"},{"id":"table-operations/row-height","path":"/table-operations/row-height","sidebar":"tutorialSidebar"},{"id":"table-operations/search","path":"/table-operations/search","sidebar":"tutorialSidebar"},{"id":"table-operations/sort","path":"/table-operations/sort","sidebar":"tutorialSidebar"},{"id":"tables/actions-on-table","path":"/tables/actions-on-table","sidebar":"tutorialSidebar"},{"id":"tables/create-table","path":"/tables/create-table","sidebar":"tutorialSidebar"},{"id":"tables/create-table-via-import","path":"/tables/create-table-via-import","sidebar":"tutorialSidebar"},{"id":"tables/import-data-into-existing-table","path":"/tables/import-data-into-existing-table","sidebar":"tutorialSidebar"},{"id":"tables/table-overview","path":"/tables/table-overview","sidebar":"tutorialSidebar"},{"id":"views/actions-on-view","path":"/views/actions-on-view","sidebar":"tutorialSidebar"},{"id":"views/create-view","path":"/views/create-view","sidebar":"tutorialSidebar"},{"id":"views/share-view","path":"/views/share-view","sidebar":"tutorialSidebar"},{"id":"views/view-types/form","path":"/views/view-types/form","sidebar":"tutorialSidebar"},{"id":"views/view-types/gallery","path":"/views/view-types/gallery","sidebar":"tutorialSidebar"},{"id":"views/view-types/grid","path":"/views/view-types/grid","sidebar":"tutorialSidebar"},{"id":"views/view-types/kanban","path":"/views/view-types/kanban","sidebar":"tutorialSidebar"},{"id":"views/views-overview","path":"/views/views-overview","sidebar":"tutorialSidebar"},{"id":"workspaces/actions-on-workspace","path":"/workspaces/actions-on-workspace","sidebar":"tutorialSidebar"},{"id":"workspaces/create-workspace","path":"/workspaces/create-workspace","sidebar":"tutorialSidebar"},{"id":"workspaces/workspace-collaboration","path":"/workspaces/workspace-collaboration","sidebar":"tutorialSidebar"},{"id":"workspaces/workspace-overview","path":"/workspaces/workspace-overview","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/","label":"index"}}}},{"name":"0.109.7","label":"0.109.7 - Old UI","isLast":false,"path":"/0.109.7","mainDocId":"index","docs":[{"id":"developer-resources/accessing-apis","path":"/0.109.7/developer-resources/accessing-apis","sidebar":"tutorialSidebar"},{"id":"developer-resources/rest-apis","path":"/0.109.7/developer-resources/rest-apis","sidebar":"tutorialSidebar"},{"id":"developer-resources/sdk","path":"/0.109.7/developer-resources/sdk","sidebar":"tutorialSidebar"},{"id":"developer-resources/upload-via-api","path":"/0.109.7/developer-resources/upload-via-api","sidebar":"tutorialSidebar"},{"id":"developer-resources/webhooks","path":"/0.109.7/developer-resources/webhooks","sidebar":"tutorialSidebar"},{"id":"engineering/architecture","path":"/0.109.7/engineering/architecture","sidebar":"tutorialSidebar"},{"id":"engineering/builds-and-releases","path":"/0.109.7/engineering/builds-and-releases","sidebar":"tutorialSidebar"},{"id":"engineering/development-setup","path":"/0.109.7/engineering/development-setup","sidebar":"tutorialSidebar"},{"id":"engineering/playwright","path":"/0.109.7/engineering/playwright","sidebar":"tutorialSidebar"},{"id":"engineering/repository-structure","path":"/0.109.7/engineering/repository-structure","sidebar":"tutorialSidebar"},{"id":"engineering/translation","path":"/0.109.7/engineering/translation","sidebar":"tutorialSidebar"},{"id":"engineering/unit-testing","path":"/0.109.7/engineering/unit-testing","sidebar":"tutorialSidebar"},{"id":"FAQs","path":"/0.109.7/FAQs","sidebar":"tutorialSidebar"},{"id":"getting-started/demos","path":"/0.109.7/getting-started/demos","sidebar":"tutorialSidebar"},{"id":"getting-started/environment-variables","path":"/0.109.7/getting-started/environment-variables","sidebar":"tutorialSidebar"},{"id":"getting-started/installation","path":"/0.109.7/getting-started/installation","sidebar":"tutorialSidebar"},{"id":"getting-started/upgrading","path":"/0.109.7/getting-started/upgrading","sidebar":"tutorialSidebar"},{"id":"index","path":"/0.109.7/","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/account-settings","path":"/0.109.7/setup-and-usages/account-settings","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/audit","path":"/0.109.7/setup-and-usages/audit","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/code-snippets","path":"/0.109.7/setup-and-usages/code-snippets","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/column-operations","path":"/0.109.7/setup-and-usages/column-operations","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/column-types","path":"/0.109.7/setup-and-usages/column-types","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/dashboard","path":"/0.109.7/setup-and-usages/dashboard","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/display-value","path":"/0.109.7/setup-and-usages/display-value","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/expanded-form","path":"/0.109.7/setup-and-usages/expanded-form","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/formulas","path":"/0.109.7/setup-and-usages/formulas","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/import-airtable-to-sql-database-within-a-minute-for-free","path":"/0.109.7/setup-and-usages/import-airtable-to-sql-database-within-a-minute-for-free","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/keyboard-maneuver","path":"/0.109.7/setup-and-usages/keyboard-maneuver","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/languages","path":"/0.109.7/setup-and-usages/languages","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/link-to-another-record","path":"/0.109.7/setup-and-usages/link-to-another-record","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/links","path":"/0.109.7/setup-and-usages/links","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/lookup","path":"/0.109.7/setup-and-usages/lookup","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/meta-management","path":"/0.109.7/setup-and-usages/meta-management","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/primary-key","path":"/0.109.7/setup-and-usages/primary-key","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/project-settings","path":"/0.109.7/setup-and-usages/project-settings","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/rollup","path":"/0.109.7/setup-and-usages/rollup","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/share-base","path":"/0.109.7/setup-and-usages/share-base","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/share-view","path":"/0.109.7/setup-and-usages/share-view","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/sync-schema","path":"/0.109.7/setup-and-usages/sync-schema","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/table-operations","path":"/0.109.7/setup-and-usages/table-operations","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/team-and-auth","path":"/0.109.7/setup-and-usages/team-and-auth","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/usage-information","path":"/0.109.7/setup-and-usages/usage-information","sidebar":"tutorialSidebar"},{"id":"setup-and-usages/views","path":"/0.109.7/setup-and-usages/views","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/0.109.7/","label":"version-0.109.7/index"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(57529);const l=JSON.parse('{"docusaurusVersion":"2.4.1","siteVersion":"1.1.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.4.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.4.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.4.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.4.1"},"docusaurus-plugin-sass":{"type":"package","name":"docusaurus-plugin-sass","version":"0.2.5"},"docusaurus-plugin-image-zoom":{"type":"package","name":"plugin-image-zoom","version":"1.1.0"},"docusaurus-plugin-ideal-image":{"type":"package","name":"@docusaurus/plugin-ideal-image","version":"2.4.1"},"docusaurus-plugin-client-redirects":{"type":"package","name":"@docusaurus/plugin-client-redirects","version":"2.4.3"},"docusaurus-theme-search-typesense":{"type":"package","name":"docusaurus-theme-search-typesense","version":"0.12.0"}}}'),c={siteConfig:r.default,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},u=a.createContext(c);function d(e){let{children:t}=e;return a.createElement(u.Provider,{value:c},t)}},73256:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var a=n(67294),r=n(36136),o=n(31514),i=n(63905),s=n(66945);function l(e){let{error:t,tryAgain:n}=e;return a.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"}},a.createElement("h1",{style:{fontSize:"3rem"}},"This page crashed"),a.createElement("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"}},"Try again"),a.createElement(c,{error:t}))}function c(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return a.createElement("p",{style:{whiteSpace:"pre-wrap"}},n)}function u(e){let{error:t,tryAgain:n}=e;return a.createElement(p,{fallback:()=>a.createElement(l,{error:t,tryAgain:n})},a.createElement(o.Z,null,a.createElement("title",null,"Page Error")),a.createElement(s.Z,null,a.createElement(l,{error:t,tryAgain:n})))}const d=e=>a.createElement(u,e);class p extends a.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){r.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??d)(e)}return e??null}}},36136:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const a="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,r={canUseDOM:a,canUseEventListeners:a&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:a&&"IntersectionObserver"in window,canUseViewport:a&&"screen"in window}},31514:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var a=n(67294),r=n(70405);function o(e){return a.createElement(r.ql,e)}},83699:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var a=n(87462),r=n(67294),o=n(73727),i=n(63905),s=n(39962),l=n(2735),c=n(36136);const u=r.createContext({collectLink:()=>{}});var d=n(79524);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:g,"data-noBrokenLinkCheck":h,autoAddBaseUrl:b=!0,...v}=e;const{siteConfig:{trailingSlash:y,baseUrl:w}}=(0,s.Z)(),{withBaseUrl:k}=(0,d.C)(),S=(0,r.useContext)(u),_=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>_.current));const E=p||f;const x=(0,l.Z)(E),C=E?.replace("pathname://","");let T=void 0!==C?(A=C,b&&(e=>e.startsWith("/"))(A)?k(A):A):void 0;var A;T&&x&&(T=(0,i.applyTrailingSlash)(T,{trailingSlash:y,baseUrl:w}));const L=(0,r.useRef)(!1),R=n?o.OL:o.rU,O=c.Z.canUseIntersectionObserver,N=(0,r.useRef)(),P=()=>{L.current||null==T||(window.docusaurus.preload(T),L.current=!0)};(0,r.useEffect)((()=>(!O&&x&&null!=T&&window.docusaurus.prefetch(T),()=>{O&&N.current&&N.current.disconnect()})),[N,T,O,x]);const I=T?.startsWith("#")??!1,D=!T||!x||I;return D||h||S.collectLink(T),D?r.createElement("a",(0,a.Z)({ref:_,href:T},E&&!x&&{target:"_blank",rel:"noopener noreferrer"},v)):r.createElement(R,(0,a.Z)({},v,{onMouseEnter:P,onTouchStart:P,innerRef:e=>{_.current=e,O&&e&&x&&(N.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(N.current.unobserve(e),N.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),N.current.observe(e))},to:T},n&&{isActive:g,activeClassName:m}))}const f=r.forwardRef(p)},97325:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l,I:()=>s});var a=n(67294);function r(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,a.isValidElement)(e)))?n.map(((e,t)=>(0,a.isValidElement)(e)?a.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var o=n(57529);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return o[t??n]??n??t}function s(e,t){let{message:n,id:a}=e;return r(i({message:n,id:a}),t)}function l(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const s=i({message:t,id:n});return a.createElement(a.Fragment,null,r(s,o))}},6875:(e,t,n)=>{"use strict";n.d(t,{m:()=>a});const a="default"},2735:(e,t,n)=>{"use strict";function a(e){return/^(?:\w*:|\/\/)/.test(e)}function r(e){return void 0!==e&&!a(e)}n.d(t,{Z:()=>r,b:()=>a})},79524:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>s});var a=n(67294),r=n(39962),o=n(2735);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,r.Z)(),n=(0,a.useCallback)(((n,a)=>function(e,t,n,a){let{forcePrependBaseUrl:r=!1,absolute:i=!1}=void 0===a?{}:a;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(r)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const s=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+s:s}(t,e,n,a)),[t,e]);return{withBaseUrl:n}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},39962:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var a=n(67294),r=n(80694);function o(){return(0,a.useContext)(r._)}},51048:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var a=n(67294),r=n(88121);function o(){return(0,a.useContext)(r._)}},5304:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const a=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function r(e){const t={};return function e(n,r){Object.entries(n).forEach((n=>{let[o,i]=n;const s=r?`${r}.${o}`:o;a(i)?e(i,s):t[s]=i}))}(e),t}},69656:(e,t,n)=>{"use strict";n.d(t,{_:()=>r,z:()=>o});var a=n(67294);const r=a.createContext(null);function o(e){let{children:t,value:n}=e;const o=a.useContext(r),i=(0,a.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const a={...t.data,...n?.data};return{plugin:t.plugin,data:a}}({parent:o,value:n})),[o,n]);return a.createElement(r.Provider,{value:i},t)}},89871:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>b,gA:()=>f,WS:()=>m,_r:()=>d,Jo:()=>v,zh:()=>p,yW:()=>h,gB:()=>g});var a=n(16550),r=n(39962),o=n(6875);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){const n=s(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,a.LX)(t,{path:e.path,exact:!1,strict:!1})))}function c(e,t){const n=l(e,t),r=n?.docs.find((e=>!!(0,a.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:r,alternateDocVersions:r?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((a=>{a.id===t&&(n[e.name]=a)}))})),n}(r.id):{}}}const u={},d=()=>i("docusaurus-plugin-content-docs")??u,p=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const a=i(e),r=a?.[t];if(!r&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return r}("docusaurus-plugin-content-docs",e,{failfast:!0});function f(e){void 0===e&&(e={});const t=d(),{pathname:n}=(0,a.TH)();return function(e,t,n){void 0===n&&(n={});const r=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,a.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=r?{pluginId:r[0],pluginData:r[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function m(e){void 0===e&&(e={});const t=f(e),{pathname:n}=(0,a.TH)();if(!t)return;return{activePlugin:t,activeVersion:l(t.pluginData,n)}}function g(e){return p(e).versions}function h(e){const t=p(e);return s(t)}function b(e){const t=p(e),{pathname:n}=(0,a.TH)();return c(t,n)}function v(e){const t=p(e),{pathname:n}=(0,a.TH)();return function(e,t){const n=s(e);return{latestDocSuggestion:c(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},79957:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var a=n(74865),r=n.n(a);r().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{r().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){r().done()}}},82251:(e,t,n)=>{"use strict";n.r(t);var a=n(87410),r=n(36809);!function(e){const{themeConfig:{prism:t}}=r.default,{additionalLanguages:a}=t;globalThis.Prism=e,a.forEach((e=>{n(6726)(`./prism-${e}`)})),delete globalThis.Prism}(a.Z)},14082:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var a=n(67294);const r={iconExternalLink:"iconExternalLink_nPIU"};function o(e){let{width:t=13.5,height:n=13.5}=e;return a.createElement("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink},a.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},66945:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Ct});var a=n(67294),r=n(86010),o=n(73256),i=n(35463),s=n(87462),l=n(16550),c=n(97325),u=n(43266);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,a.useRef)(null),{action:t}=(0,l.k6)(),n=(0,a.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,u.S)((n=>{let{location:a}=n;e.current&&!a.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,c.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function g(e){const t=e.children??m,{containerRef:n,onClick:r}=f();return a.createElement("div",{ref:n,role:"region","aria-label":m},a.createElement("a",(0,s.Z)({},e,{href:`#${d}`,onClick:r}),t))}var h=n(23702),b=n(78181);const v={skipToContent:"skipToContent_fXgn"};function y(){return a.createElement(g,{className:v.skipToContent})}var w=n(20107),k=n(65830);function S(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:i,...l}=e;return a.createElement("svg",(0,s.Z)({viewBox:"0 0 15 15",width:t,height:n},l),a.createElement("g",{stroke:r,strokeWidth:o},a.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const _={closeButton:"closeButton_CVFx"};function E(e){return a.createElement("button",(0,s.Z)({type:"button","aria-label":(0,c.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,r.Z)("clean-btn close",_.closeButton,e.className)}),a.createElement(S,{width:14,height:14,strokeWidth:3.1}))}const x={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return a.createElement("div",(0,s.Z)({},e,{className:(0,r.Z)(x.content,e.className),dangerouslySetInnerHTML:{__html:n}}))}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function A(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:i}=e;return a.createElement("div",{className:T.announcementBar,style:{backgroundColor:r,color:o},role:"banner"},i&&a.createElement("div",{className:T.announcementBarPlaceholder}),a.createElement(C,{className:T.announcementBarContent}),i&&a.createElement(E,{onClick:n,className:T.announcementBarClose}))}var L=n(60735),R=n(72957);var O=n(43768),N=n(53086);const P=a.createContext(null);function I(e){let{children:t}=e;const n=function(){const e=(0,L.e)(),t=(0,N.HY)(),[n,r]=(0,a.useState)(!1),o=null!==t.component,i=(0,O.D9)(o);return(0,a.useEffect)((()=>{o&&!i&&r(!0)}),[o,i]),(0,a.useEffect)((()=>{o?e.shown||r(!0):r(!1)}),[e.shown,o]),(0,a.useMemo)((()=>[n,r]),[n])}();return a.createElement(P.Provider,{value:n},t)}function D(e){if(e.component){const t=e.component;return a.createElement(t,e.props)}}function M(){const e=(0,a.useContext)(P);if(!e)throw new O.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,r=(0,a.useCallback)((()=>n(!1)),[n]),o=(0,N.HY)();return(0,a.useMemo)((()=>({shown:t,hide:r,content:D(o)})),[r,o,t])}function j(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown:i}=M();return a.createElement("div",{className:"navbar-sidebar"},t,a.createElement("div",{className:(0,r.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},a.createElement("div",{className:"navbar-sidebar__item menu"},n),a.createElement("div",{className:"navbar-sidebar__item menu"},o)))}var F=n(9200),B=n(51048);function z(e){return a.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),a.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function U(e){return a.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),a.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const $={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:o,onChange:i}=e;const s=(0,B.Z)(),l=(0,c.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===o?(0,c.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,c.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return a.createElement("div",{className:(0,r.Z)($.toggle,t)},a.createElement("button",{className:(0,r.Z)("clean-btn",$.toggleButton,!s&&$.toggleButtonDisabled,n),type:"button",onClick:()=>i("dark"===o?"light":"dark"),disabled:!s,title:l,"aria-label":l,"aria-live":"polite"},a.createElement(z,{className:(0,r.Z)($.toggleIcon,$.lightToggleIcon)}),a.createElement(U,{className:(0,r.Z)($.toggleIcon,$.darkToggleIcon)})))}const H=a.memo(q),Z={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function G(e){let{className:t}=e;const n=(0,w.L)().navbar.style,r=(0,w.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:i}=(0,F.I)();return r?null:a.createElement(H,{className:t,buttonClassName:"dark"===n?Z.darkNavbarColorModeToggle:void 0,value:o,onChange:i})}var V=n(96811);function W(){return a.createElement(V.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,L.e)();return a.createElement("button",{type:"button","aria-label":(0,c.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle()},a.createElement(S,{color:"var(--ifm-color-emphasis-600)"}))}function K(){return a.createElement("div",{className:"navbar-sidebar__brand"},a.createElement(W,null),a.createElement(G,{className:"margin-right--md"}),a.createElement(Q,null))}var Y=n(83699),X=n(79524),J=n(2735),ee=n(61500),te=n(14082);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:i,html:l,isDropdownLink:c,prependBaseUrlToHref:u,...d}=e;const p=(0,X.Z)(r),f=(0,X.Z)(t),m=(0,X.Z)(o,{forcePrependBaseUrl:!0}),g=i&&o&&!(0,J.Z)(o),h=l?{dangerouslySetInnerHTML:{__html:l}}:{children:a.createElement(a.Fragment,null,i,g&&a.createElement(te.Z,c&&{width:12,height:12}))};return o?a.createElement(Y.Z,(0,s.Z)({href:u?m:o},d,h)):a.createElement(Y.Z,(0,s.Z)({to:p,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?(0,ee.F)(n,t.pathname):t.pathname.startsWith(f)},d,h))}function ae(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=a.createElement(ne,(0,s.Z)({className:(0,r.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?a.createElement("li",null,i):i}function re(e){let{className:t,isDropdownItem:n,...o}=e;return a.createElement("li",{className:"menu__list-item"},a.createElement(ne,(0,s.Z)({className:(0,r.Z)("menu__link",t)},o)))}function oe(e){let{mobile:t=!1,position:n,...r}=e;const o=t?re:ae;return a.createElement(o,(0,s.Z)({},r,{activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var ie=n(54639),se=n(69003),le=n(39962);function ce(e,t){return e.some((e=>function(e,t){return!!(0,se.Mg)(e.to,t)||!!(0,ee.F)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function ue(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const c=(0,a.useRef)(null),[u,d]=(0,a.useState)(!1);return(0,a.useEffect)((()=>{const e=e=>{c.current&&!c.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[c]),a.createElement("div",{ref:c,className:(0,r.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u})},a.createElement(ne,(0,s.Z)({"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,r.Z)("navbar__link",o)},l,{onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))}}),l.children??l.label),a.createElement("ul",{className:"dropdown__menu"},t.map(((e,t)=>a.createElement(Be,(0,s.Z)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))))))}function de(e){let{items:t,className:n,position:o,onClick:i,...c}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,le.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,a.useEffect)((()=>{d&&m(!d)}),[u,d,m]),a.createElement("li",{className:(0,r.Z)("menu__list-item",{"menu__list-item--collapsed":p})},a.createElement(ne,(0,s.Z)({role:"button",className:(0,r.Z)("menu__link menu__link--sublist menu__link--sublist-caret",n)},c,{onClick:e=>{e.preventDefault(),f()}}),c.children??c.label),a.createElement(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p},t.map(((e,t)=>a.createElement(Be,(0,s.Z)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function pe(e){let{mobile:t=!1,...n}=e;const r=t?de:ue;return a.createElement(r,n)}var fe=n(40626);function me(e){let{width:t=20,height:n=20,...r}=e;return a.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0},r),a.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const ge="iconLanguage_nlXk";var he=n(73935),be=n(97795);var ve=n(86854),ye=n(45987);function we(){return a.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},a.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var ke=n(36963),Se=["translations"],_e="Ctrl";var Ee=a.forwardRef((function(e,t){var n=e.translations,r=void 0===n?{}:n,o=(0,ye.Z)(e,Se),i=r.buttonText,l=void 0===i?"Search":i,c=r.buttonAriaLabel,u=void 0===c?"Search":c,d=(0,a.useState)(null),p=(0,ve.Z)(d,2),f=p[0],m=p[1];return(0,a.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?m("\u2318"):m(_e))}),[]),a.createElement("button",(0,s.Z)({type:"button",className:"DocSearch DocSearch-Button","aria-label":u},o,{ref:t}),a.createElement("span",{className:"DocSearch-Button-Container"},a.createElement(ke.W,null),a.createElement("span",{className:"DocSearch-Button-Placeholder"},l)),a.createElement("span",{className:"DocSearch-Button-Keys"},null!==f&&a.createElement(a.Fragment,null,a.createElement("kbd",{className:"DocSearch-Button-Key"},f===_e?a.createElement(we,null):f),a.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))})),xe=n(60246);const Ce={button:{buttonText:(0,c.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,c.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,c.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,c.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,c.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,c.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,c.I)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,c.I)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,c.I)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,c.I)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,c.I)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,c.I)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,c.I)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,c.I)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,c.I)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,c.I)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,c.I)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,c.I)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,c.I)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,c.I)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,c.I)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,c.I)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,c.I)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,c.I)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,c.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,c.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,c.I)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Te=null;function Ae(e){let{hit:t,children:n}=e;return a.createElement(Y.Z,{to:t.url},n)}function Le(e){let{state:t,onClose:n}=e;const{generateSearchPageLink:r}=(0,be.O)();return a.createElement(Y.Z,{to:r(t.query),onClick:n},a.createElement(c.Z,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits}},"See all {count} results"))}function Re(e){let{contextualSearch:t,externalUrlRegex:r,...o}=e;const{siteMetadata:i}=(0,le.Z)(),c=function(){const{locale:e,tags:t}=(0,xe._q)(),n=`language:=${e}`;let a;return t.length>0&&(a=`docusaurus_tag:=[${t.join(",")}]`),[n,a].filter((e=>e)).join(" && ")}(),u=o.typesenseSearchParameters?.filter_by??"",d={filter_by:t?[c,u].filter((e=>e)).join(" && "):u,...o.typesenseSearchParameters},p=o.typesenseServerConfig,f=o.typesenseCollectionName,{withBaseUrl:m}=(0,X.C)(),g=(0,l.k6)(),h=(0,a.useRef)(null),b=(0,a.useRef)(null),[v,y]=(0,a.useState)(!1),[w,k]=(0,a.useState)(void 0),S=(0,a.useCallback)((()=>Te?Promise.resolve():Promise.all([Promise.all([n.e(118),n.e(6758),n.e(9964)]).then(n.bind(n,66758)),Promise.all([n.e(532),n.e(2664)]).then(n.bind(n,22664)),Promise.all([n.e(532),n.e(1144)]).then(n.bind(n,71144))]).then((e=>{let[{DocSearchModal:t}]=e;Te=t}))),[]),_=(0,a.useCallback)((()=>{S().then((()=>{h.current=document.createElement("div"),document.body.insertBefore(h.current,document.body.firstChild),y(!0)}))}),[S,y]),E=(0,a.useCallback)((()=>{y(!1),h.current?.remove()}),[y]),x=(0,a.useCallback)((e=>{S().then((()=>{y(!0),k(e.key)}))}),[S,y,k]),C=(0,a.useRef)({navigate(e){let{itemUrl:t}=e;(0,ee.F)(r,t)?window.location.href=t:g.push(t)}}).current,T=(0,a.useRef)((e=>e.map((e=>{if((0,ee.F)(r,e.url))return e;const t=new URL(e.url);return{...e,url:m(`${t.pathname}${t.hash}`)}})))).current,A=(0,a.useMemo)((()=>e=>a.createElement(Le,(0,s.Z)({},e,{onClose:E}))),[E]);return function(e){var t=e.isOpen,n=e.onOpen,r=e.onClose,o=e.onInput,i=e.searchButtonRef;a.useEffect((function(){function e(e){(27===e.keyCode&&t||"k"===e.key.toLowerCase()&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?r():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),i&&i.current===document.activeElement&&o&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&o(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,r,o,i])}({isOpen:v,onOpen:_,onClose:E,onInput:x,searchButtonRef:b}),a.createElement(a.Fragment,null,a.createElement(Ee,{onTouchStart:S,onFocus:S,onMouseOver:S,onClick:_,ref:b,translations:Ce.button}),v&&Te&&h.current&&(0,he.createPortal)(a.createElement(Te,(0,s.Z)({onClose:E,initialScrollY:window.scrollY,initialQuery:w,navigator:C,transformItems:T,hitComponent:Ae},o.searchPagePath&&{resultsFooterComponent:A},o,{typesenseSearchParameters:d,typesenseServerConfig:p,typesenseCollectionName:f,placeholder:Ce.placeholder,translations:Ce.modal})),h.current))}function Oe(){const{siteConfig:e}=(0,le.Z)();return a.createElement(Re,e.themeConfig.typesense)}const Ne={searchBox:"searchBox_ZlJk"};function Pe(e){let{children:t,className:n}=e;return a.createElement("div",{className:(0,r.Z)(n,Ne.searchBox)},t)}var Ie=n(89871),De=n(78259);var Me=n(86409);const je=e=>e.docs.find((t=>t.id===e.mainDocId));const Fe={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,...o}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,le.Z)(),p=(0,fe.l)(),{search:f,hash:m}=(0,l.TH)(),g=[...n,...u.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],h=t?(0,c.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return a.createElement(pe,(0,s.Z)({},o,{mobile:t,label:a.createElement(a.Fragment,null,a.createElement(me,{className:ge}),h),items:g}))},search:function(e){let{mobile:t,className:n}=e;return t?null:a.createElement(Pe,{className:n},a.createElement(Oe,null))},dropdown:pe,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;const s=i?"li":"div";return a.createElement(s,{className:(0,r.Z)({navbar__item:!o&&!i,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:i}=(0,Ie.Iw)(r),l=(0,De.vY)(t,r);return null===l?null:a.createElement(oe,(0,s.Z)({exact:!0},o,{isActive:()=>i?.path===l.path||!!i?.sidebar&&i.sidebar===l.sidebar,label:n??l.id,to:l.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:i}=(0,Ie.Iw)(r),l=(0,De.oz)(t,r).link;if(!l)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return a.createElement(oe,(0,s.Z)({exact:!0},o,{isActive:()=>i?.sidebar===t,label:n??l.label,to:l.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const i=(0,De.lO)(r)[0],l=t??i.label,c=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return a.createElement(oe,(0,s.Z)({},o,{label:l,to:c}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:i,...u}=e;const{search:d,hash:p}=(0,l.TH)(),f=(0,Ie.Iw)(n),m=(0,Ie.gB)(n),{savePreferredVersionName:g}=(0,Me.J)(n),h=[...o,...m.map((e=>{const t=f.alternateDocVersions[e.name]??je(e);return{label:e.label,to:`${t.path}${d}${p}`,isActive:()=>e===f.activeVersion,onClick:()=>g(e.name)}})),...i],b=(0,De.lO)(n)[0],v=t&&h.length>1?(0,c.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&h.length>1?void 0:je(b).path;return h.length<=1?a.createElement(oe,(0,s.Z)({},u,{mobile:t,label:v,to:y,isActive:r?()=>!1:void 0})):a.createElement(pe,(0,s.Z)({},u,{mobile:t,label:v,to:y,items:h,isActive:r?()=>!1:void 0}))}};function Be(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Fe[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return a.createElement(o,n)}function ze(){const e=(0,L.e)(),t=(0,w.L)().navbar.items;return a.createElement("ul",{className:"menu__list"},t.map(((t,n)=>a.createElement(Be,(0,s.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function Ue(e){return a.createElement("button",(0,s.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),a.createElement(c.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function $e(){const e=0===(0,w.L)().navbar.items.length,t=M();return a.createElement(a.Fragment,null,!e&&a.createElement(Ue,{onClick:()=>t.hide()}),t.content)}function qe(){const e=(0,L.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,a.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?a.createElement(j,{header:a.createElement(K,null),primaryMenu:a.createElement(ze,null),secondaryMenu:a.createElement($e,null)}):null}const He={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ze(e){return a.createElement("div",(0,s.Z)({role:"presentation"},e,{className:(0,r.Z)("navbar-sidebar__backdrop",e.className)}))}function Ge(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,L.e)(),{navbarRef:s,isNavbarVisible:l}=function(e){const[t,n]=(0,a.useState)(e),r=(0,a.useRef)(!1),o=(0,a.useRef)(0),i=(0,a.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,R.RF)(((t,a)=>{let{scrollY:i}=t;if(!e)return;if(i=s?n(!1):i+c{if(!e)return;const a=t.location.hash;if(a?document.getElementById(a.substring(1)):void 0)return r.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return a.createElement("nav",{ref:s,"aria-label":(0,c.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,r.Z)("navbar","navbar--fixed-top",n&&[He.navbarHideable,!l&&He.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown})},t,a.createElement(Ze,{onClick:i.toggle}),a.createElement(qe,null))}var Ve=n(63905);const We={errorBoundaryError:"errorBoundaryError_a6uf"};function Qe(e){return a.createElement("button",(0,s.Z)({type:"button"},e),a.createElement(c.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error"},"Try again"))}function Ke(e){let{error:t}=e;const n=(0,Ve.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return a.createElement("p",{className:We.errorBoundaryError},n)}class Ye extends a.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Xe="right";function Je(e){let{width:t=30,height:n=30,className:r,...o}=e;return a.createElement("svg",(0,s.Z)({className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true"},o),a.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function et(){const{toggle:e,shown:t}=(0,L.e)();return a.createElement("button",{onClick:e,"aria-label":(0,c.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button"},a.createElement(Je,null))}const tt={colorModeToggle:"colorModeToggle_DEke"};function nt(e){let{items:t}=e;return a.createElement(a.Fragment,null,t.map(((e,t)=>a.createElement(Ye,{key:t,onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t})},a.createElement(Be,e)))))}function at(e){let{left:t,right:n}=e;return a.createElement("div",{className:"navbar__inner"},a.createElement("div",{className:"navbar__items"},t),a.createElement("div",{className:"navbar__items navbar__items--right"},n))}function rt(){const e=(0,L.e)(),t=(0,w.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Xe)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return a.createElement(at,{left:a.createElement(a.Fragment,null,!e.disabled&&a.createElement(et,null),a.createElement(W,null),a.createElement(nt,{items:n})),right:a.createElement(a.Fragment,null,a.createElement(nt,{items:r}),a.createElement(G,{className:tt.colorModeToggle}),!o&&a.createElement(Pe,null,a.createElement(Oe,null)))})}function ot(){return a.createElement(Ge,null,a.createElement(rt,null))}function it(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:i,...l}=t,c=(0,X.Z)(n),u=(0,X.Z)(r,{forcePrependBaseUrl:!0});return a.createElement(Y.Z,(0,s.Z)({className:"footer__link-item"},r?{href:i?u:r}:{to:c},l),o,r&&!(0,J.Z)(r)&&a.createElement(te.Z,null))}function st(e){let{item:t}=e;return t.html?a.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):a.createElement("li",{key:t.href??t.to,className:"footer__item"},a.createElement(it,{item:t}))}function lt(e){let{column:t}=e;return a.createElement("div",{className:"col footer__col"},a.createElement("div",{className:"footer__title"},t.title),a.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>a.createElement(st,{key:t,item:e})))))}function ct(e){let{columns:t}=e;return a.createElement("div",{className:"row footer__links"},t.map(((e,t)=>a.createElement(lt,{key:t,column:e}))))}function ut(){return a.createElement("span",{className:"footer__link-separator"},"\xb7")}function dt(e){let{item:t}=e;return t.html?a.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):a.createElement(it,{item:t})}function pt(e){let{links:t}=e;return a.createElement("div",{className:"footer__links text--center"},a.createElement("div",{className:"footer__links"},t.map(((e,n)=>a.createElement(a.Fragment,{key:n},a.createElement(dt,{item:e}),t.length!==n+1&&a.createElement(ut,null))))))}function ft(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?a.createElement(ct,{columns:t}):a.createElement(pt,{links:t})}var mt=n(7909);const gt={footerLogoLink:"footerLogoLink_BH7S"};function ht(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return a.createElement(mt.Z,{className:(0,r.Z)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function bt(e){let{logo:t}=e;return t.href?a.createElement(Y.Z,{href:t.href,className:gt.footerLogoLink,target:t.target},a.createElement(ht,{logo:t})):a.createElement(ht,{logo:t})}function vt(e){let{copyright:t}=e;return a.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function yt(e){let{style:t,links:n,logo:o,copyright:i}=e;return a.createElement("footer",{className:(0,r.Z)("footer",{"footer--dark":"dark"===t})},a.createElement("div",{className:"container container-fluid"},n,(o||i)&&a.createElement("div",{className:"footer__bottom text--center"},o&&a.createElement("div",{className:"margin-bottom--sm"},o),i)))}function wt(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return a.createElement(yt,{style:o,links:n&&n.length>0&&a.createElement(ft,{links:n}),logo:r&&a.createElement(bt,{logo:r}),copyright:t&&a.createElement(vt,{copyright:t})})}const kt=a.memo(wt),St=(0,O.Qc)([F.S,k.pl,R.OC,Me.L5,i.VC,function(e){let{children:t}=e;return a.createElement(N.n2,null,a.createElement(L.M,null,a.createElement(I,null,t)))}]);function _t(e){let{children:t}=e;return a.createElement(St,null,t)}function Et(e){let{error:t,tryAgain:n}=e;return a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col--offset-3"},a.createElement("h1",{className:"hero__title"},a.createElement(c.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),a.createElement("div",{className:"margin-vert--lg"},a.createElement(Qe,{onClick:n,className:"button button--primary shadow--lw"})),a.createElement("hr",null),a.createElement("div",{className:"margin-vert--md"},a.createElement(Ke,{error:t})))))}const xt={mainWrapper:"mainWrapper_z2l0"};function Ct(e){const{children:t,noFooter:n,wrapperClassName:s,title:l,description:c}=e;return(0,b.t)(),a.createElement(_t,null,a.createElement(i.d,{title:l,description:c}),a.createElement(y,null),a.createElement(A,null),a.createElement(ot,null),a.createElement("div",{id:d,className:(0,r.Z)(h.k.wrapper.main,xt.mainWrapper,s)},a.createElement(o.Z,{fallback:e=>a.createElement(Et,e)},t)),!n&&a.createElement(kt,null))}},96811:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var a=n(87462),r=n(67294),o=n(83699),i=n(79524),s=n(39962),l=n(20107),c=n(7909);function u(e){let{logo:t,alt:n,imageClassName:a}=e;const o={light:(0,i.Z)(t.src),dark:(0,i.Z)(t.srcDark||t.src)},s=r.createElement(c.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return a?r.createElement("div",{className:a},s):s}function d(e){const{siteConfig:{title:t}}=(0,s.Z)(),{navbar:{title:n,logo:c}}=(0,l.L)(),{imageClassName:d,titleClassName:p,...f}=e,m=(0,i.Z)(c?.href||"/"),g=n?"":t,h=c?.alt??g;return r.createElement(o.Z,(0,a.Z)({to:m},f,c?.target&&{target:c.target}),c&&r.createElement(u,{logo:c,alt:h,imageClassName:d}),null!=n&&r.createElement("b",{className:p},n))}},33647:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var a=n(67294),r=n(31514);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return a.createElement(r.Z,null,t&&a.createElement("meta",{name:"docusaurus_locale",content:t}),n&&a.createElement("meta",{name:"docusaurus_version",content:n}),o&&a.createElement("meta",{name:"docusaurus_tag",content:o}),i&&a.createElement("meta",{name:"docsearch:language",content:i}),n&&a.createElement("meta",{name:"docsearch:version",content:n}),o&&a.createElement("meta",{name:"docsearch:docusaurus_tag",content:o}))}},7909:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var a=n(87462),r=n(67294),o=n(86010),i=n(51048),s=n(9200);const l={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function c(e){const t=(0,i.Z)(),{colorMode:n}=(0,s.I)(),{sources:c,className:u,alt:d,...p}=e,f=t?"dark"===n?["dark"]:["light"]:["light","dark"];return r.createElement(r.Fragment,null,f.map((e=>r.createElement("img",(0,a.Z)({key:e,src:c[e],alt:d,className:(0,o.Z)(l.themedImage,l[`themedImage--${e}`],u)},p)))))}},54639:(e,t,n)=>{"use strict";n.d(t,{u:()=>l,z:()=>h});var a=n(87462),r=n(67294),o=n(36136),i=n(58986);const s="ease-in-out";function l(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}const c={display:"none",overflow:"hidden",height:"0px"},u={display:"block",overflow:"visible",height:"auto"};function d(e,t){const n=t?c:u;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function p(e){let{collapsibleRef:t,collapsed:n,animation:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return d(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function f(e){if(!o.Z.canUseDOM)return e?c:u}function m(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:l}=e;const c=(0,r.useRef)(null);return p({collapsibleRef:c,collapsed:n,animation:o}),r.createElement(t,{ref:c,style:l?void 0:f(n),onTransitionEnd:e=>{"height"===e.propertyName&&(d(c.current,n),i?.(n))},className:s},a)}function g(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[s,l]=(0,r.useState)(t);return(0,r.useLayoutEffect)((()=>{t||i(!0)}),[t]),(0,r.useLayoutEffect)((()=>{o&&l(t)}),[o,t]),o?r.createElement(m,(0,a.Z)({},n,{collapsed:s})):null}function h(e){let{lazy:t,...n}=e;const a=t?g:m;return r.createElement(a,n)}},65830:(e,t,n)=>{"use strict";n.d(t,{nT:()=>m,pl:()=>f});var a=n(67294),r=n(51048),o=n(92560),i=n(43768),s=n(20107);const l=(0,o.WA)("docusaurus.announcement.dismiss"),c=(0,o.WA)("docusaurus.announcement.id"),u=()=>"true"===l.get(),d=e=>l.set(String(e)),p=a.createContext(null);function f(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,r.Z)(),[n,o]=(0,a.useState)((()=>!!t&&u()));(0,a.useEffect)((()=>{o(u())}),[]);const i=(0,a.useCallback)((()=>{d(!0),o(!0)}),[]);return(0,a.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const a=t!==n;c.set(t),a&&d(!1),!a&&u()||o(!1)}),[e]),(0,a.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return a.createElement(p.Provider,{value:n},t)}function m(){const e=(0,a.useContext)(p);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},9200:(e,t,n)=>{"use strict";n.d(t,{I:()=>h,S:()=>g});var a=n(67294),r=n(36136),o=n(43768),i=n(92560),s=n(20107);const l=a.createContext(void 0),c="theme",u=(0,i.WA)(c),d={light:"light",dark:"dark"},p=e=>e===d.dark?d.dark:d.light,f=e=>r.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),m=e=>{u.set(p(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[r,o]=(0,a.useState)(f(e));(0,a.useEffect)((()=>{t&&u.del()}),[t]);const i=(0,a.useCallback)((function(t,a){void 0===a&&(a={});const{persist:r=!0}=a;t?(o(t),r&&m(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?d.dark:d.light:e),u.del())}),[n,e]);(0,a.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(r))}),[r]),(0,a.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=u.get();null!==t&&i(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,a.useRef)(!1);return(0,a.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),a=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(a),()=>e.removeListener(a)}),[i,t,n]),(0,a.useMemo)((()=>({colorMode:r,setColorMode:i,get isDarkTheme(){return r===d.dark},setLightTheme(){i(d.light)},setDarkTheme(){i(d.dark)}})),[r,i])}();return a.createElement(l.Provider,{value:n},t)}function h(){const e=(0,a.useContext)(l);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},86409:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>h,Oh:()=>y});var a=n(67294),r=n(89871),o=n(6875),i=n(20107),s=n(78259),l=n(43768),c=n(92560);const u=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,c.WA)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,c.WA)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.WA)(u(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const f=a.createContext(null);function m(){const e=(0,r._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,a.useMemo)((()=>Object.keys(e)),[e]),[o,s]=(0,a.useState)((()=>p(n)));(0,a.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:a}=e;function r(e){const t=d.read(e,n);return a[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,r(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,a.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function g(e){let{children:t}=e;const n=m();return a.createElement(f.Provider,{value:n},t)}function h(e){let{children:t}=e;return s.cE?a.createElement(g,null,t):a.createElement(a.Fragment,null,t)}function b(){const e=(0,a.useContext)(f);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,r.zh)(e),[n,i]=b(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,a.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function y(){const e=(0,r._r)(),[t]=b();function n(n){const a=e[n],{preferredVersionName:r}=t[n];return a.versions.find((e=>e.name===r))??null}const a=Object.keys(e);return Object.fromEntries(a.map((e=>[e,n(e)])))}},84432:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,b:()=>s});var a=n(67294),r=n(43768);const o=Symbol("EmptyContext"),i=a.createContext(o);function s(e){let{children:t,name:n,items:r}=e;const o=(0,a.useMemo)((()=>n&&r?{name:n,items:r}:null),[n,r]);return a.createElement(i.Provider,{value:o},t)}function l(){const e=(0,a.useContext)(i);if(e===o)throw new r.i6("DocsSidebarProvider");return e}},60735:(e,t,n)=>{"use strict";n.d(t,{M:()=>d,e:()=>p});var a=n(67294),r=n(53086),o=n(13488),i=n(75238),s=n(20107),l=n(43768);const c=a.createContext(void 0);function u(){const e=function(){const e=(0,r.HY)(),{items:t}=(0,s.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[l,c]=(0,a.useState)(!1);(0,i.Rb)((()=>{if(l)return c(!1),!1}));const u=(0,a.useCallback)((()=>{c((e=>!e))}),[]);return(0,a.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,a.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:l})),[e,n,u,l])}function d(e){let{children:t}=e;const n=u();return a.createElement(c.Provider,{value:n},t)}function p(){const e=a.useContext(c);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},53086:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>l,n2:()=>i});var a=n(67294),r=n(43768);const o=a.createContext(null);function i(e){let{children:t}=e;const n=(0,a.useState)({component:null,props:null});return a.createElement(o.Provider,{value:n},t)}function s(){const e=(0,a.useContext)(o);if(!e)throw new r.i6("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const i=(0,a.useContext)(o);if(!i)throw new r.i6("NavbarSecondaryMenuContentProvider");const[,s]=i,l=(0,r.Ql)(n);return(0,a.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,a.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},78181:(e,t,n)=>{"use strict";n.d(t,{h:()=>r,t:()=>o});var a=n(67294);const r="navigation-with-keyboard";function o(){(0,a.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(r),"mousedown"===e.type&&document.body.classList.remove(r)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(r),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},13488:(e,t,n)=>{"use strict";n.d(t,{i:()=>c});var a=n(67294),r=n(36136);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(){return r.Z.canUseDOM?window.innerWidth>i?o.desktop:o.mobile:o.ssr}const l=!1;function c(){const[e,t]=(0,a.useState)((()=>l?"ssr":s()));return(0,a.useEffect)((()=>{function e(){t(s())}const n=l?window.setTimeout(e,1e3):void 0;return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(n)}}),[]),e}},23702:(e,t,n)=>{"use strict";n.d(t,{k:()=>a});const a={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},58986:(e,t,n)=>{"use strict";function a(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>a})},78259:(e,t,n)=>{"use strict";n.d(t,{Wl:()=>p,_F:()=>g,cE:()=>d,hI:()=>k,lO:()=>v,oz:()=>y,s1:()=>b,vY:()=>w});var a=n(67294),r=n(16550),o=n(18790),i=n(89871),s=n(86409),l=n(84432),c=n(33609),u=n(69003);const d=!!i._r;function p(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=p(t);if(e)return e}}}const f=(e,t)=>void 0!==e&&(0,u.Mg)(e,t),m=(e,t)=>e.some((e=>g(e,t)));function g(e,t){return"link"===e.type?f(e.href,t):"category"===e.type&&(f(e.href,t)||m(e.items,t))}function h(e){let{sidebarItems:t,pathname:n,onlyCategories:a=!1}=e;const r=[];return function e(t){for(const o of t)if("category"===o.type&&((0,u.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,u.Mg)(o.href,n)){return a&&"category"!==o.type||r.unshift(o),!0}return!1}(t),r}function b(){const e=(0,l.V)(),{pathname:t}=(0,r.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?h({sidebarItems:e.items,pathname:t}):null}function v(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,s.J)(e),r=(0,i.yW)(e);return(0,a.useMemo)((()=>(0,c.j)([t,n,r].filter(Boolean))),[t,n,r])}function y(e,t){const n=v(t);return(0,a.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),a=t.find((t=>t[0]===e));if(!a)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return a[1]}),[e,n])}function w(e,t){const n=v(t);return(0,a.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),a=t.find((t=>t.id===e));if(!a){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,c.j)(t.map((e=>e.id))).join("\n- ")}`)}return a}),[e,n])}function k(e){let{route:t,versionMetadata:n}=e;const a=(0,r.TH)(),i=t.routes,s=i.find((e=>(0,r.LX)(a.pathname,e)));if(!s)return null;const l=s.sidebar,c=l?n.docsSidebars[l]:void 0;return{docElement:(0,o.H)(i),sidebarName:l,sidebarItems:c}}},75238:(e,t,n)=>{"use strict";n.d(t,{Rb:()=>s,_X:()=>l});var a=n(67294),r=n(16550),o=n(61688),i=n(43768);function s(e){!function(e){const t=(0,r.k6)(),n=(0,i.zX)(e);(0,a.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function l(e){return function(e){const t=(0,r.k6)();return(0,o.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}},33609:(e,t,n)=>{"use strict";function a(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,a)=>e.findIndex((e=>t(e,n)))!==a))}function r(e){return Array.from(new Set(e))}n.d(t,{j:()=>r,l:()=>a})},35463:(e,t,n)=>{"use strict";n.d(t,{FG:()=>p,d:()=>u,VC:()=>f});var a=n(67294),r=n(86010),o=n(31514),i=n(69656);function s(){const e=a.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(79524),c=n(39962);function u(e){let{title:t,description:n,keywords:r,image:i,children:s}=e;const u=function(e){const{siteConfig:t}=(0,c.Z)(),{title:n,titleDelimiter:a}=t;return e?.trim().length?`${e.trim()} ${a} ${n}`:n}(t),{withBaseUrl:d}=(0,l.C)(),p=i?d(i,{absolute:!0}):void 0;return a.createElement(o.Z,null,t&&a.createElement("title",null,u),t&&a.createElement("meta",{property:"og:title",content:u}),n&&a.createElement("meta",{name:"description",content:n}),n&&a.createElement("meta",{property:"og:description",content:n}),r&&a.createElement("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&a.createElement("meta",{property:"og:image",content:p}),p&&a.createElement("meta",{name:"twitter:image",content:p}),s)}const d=a.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=a.useContext(d),s=(0,r.Z)(i,t);return a.createElement(d.Provider,{value:s},a.createElement(o.Z,null,a.createElement("html",{className:s})),n)}function f(e){let{children:t}=e;const n=s(),o=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return a.createElement(p,{className:(0,r.Z)(o,i)},t)}},43768:(e,t,n)=>{"use strict";n.d(t,{D9:()=>i,Qc:()=>c,Ql:()=>l,i6:()=>s,zX:()=>o});var a=n(67294);const r=n(36136).Z.canUseDOM?a.useLayoutEffect:a.useEffect;function o(e){const t=(0,a.useRef)(e);return r((()=>{t.current=e}),[e]),(0,a.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,a.useRef)();return r((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function l(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,a.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return a.createElement(a.Fragment,null,e.reduceRight(((e,t)=>a.createElement(t,null,e)),n))}}},61500:(e,t,n)=>{"use strict";function a(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{F:()=>a})},69003:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var a=n(67294),r=n(50997),o=n(39962);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,a.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function a(e){return e.path===t&&!0===e.exact}function r(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(a)||e(t.filter(r).flatMap((e=>e.routes??[])))}(n)}({routes:r.Z,baseUrl:e})),[e])}},72957:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>l,RF:()=>d,o5:()=>p});var a=n(67294),r=n(36136),o=n(51048),i=n(43768);const s=a.createContext(void 0);function l(e){let{children:t}=e;const n=function(){const e=(0,a.useRef)(!0);return(0,a.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return a.createElement(s.Provider,{value:n},t)}function c(){const e=(0,a.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const u=()=>r.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),r=(0,a.useRef)(u()),o=(0,i.zX)(e);(0,a.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=u();o(e,r.current),r.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function p(){const e=c(),t=function(){const e=(0,a.useRef)({elem:null,top:0}),t=(0,a.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,a.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const a=t.getBoundingClientRect().top-n;return a&&window.scrollBy({left:0,top:a}),e.current={elem:null,top:0},{restored:0!==a}}),[]);return(0,a.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,a.useRef)(void 0),r=(0,a.useCallback)((a=>{t.save(a),e.disableScrollEvents(),n.current=()=>{const{restored:a}=t.restore();if(n.current=void 0,a){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,a.useLayoutEffect)((()=>{queueMicrotask((()=>n.current?.()))})),{blockElementScrollPositionUntilNextRender:r}}function f(){const e=(0,a.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function a(){const r=document.documentElement.scrollTop;(n&&r>e||!n&&rt&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},60246:(e,t,n)=>{"use strict";n.d(t,{HX:()=>i,_q:()=>l,os:()=>s});var a=n(89871),r=n(39962),o=n(86409);const i="default";function s(e,t){return`docs-${e}-${t}`}function l(){const{i18n:e}=(0,r.Z)(),t=(0,a._r)(),n=(0,a.WS)(),l=(0,o.Oh)();const c=[i,...Object.keys(t).map((function(e){const a=n?.activePlugin.pluginId===e?n.activeVersion:void 0,r=l[e],o=t[e].versions.find((e=>e.isLast));return s(e,(a??r??o).name)}))];return{locale:e.currentLocale,tags:c}}},92560:(e,t,n)=>{"use strict";n.d(t,{Nk:()=>d,WA:()=>u});var a=n(67294),r=n(61688);const o="localStorage";function i(e){let{key:t,oldValue:n,newValue:a,storage:r}=e;if(n===a)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,a,window.location.href,r),window.dispatchEvent(o)}function s(e){if(void 0===e&&(e=o),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,l||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),l=!0),null}var t}let l=!1;const c={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function u(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=s(t?.persistence);return null===n?c:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const a=n.getItem(e);n.setItem(e,t),i({key:e,oldValue:a,newValue:t,storage:n})}catch(a){console.error(`Docusaurus storage error, can't set ${e}=${t}`,a)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),i({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const a=a=>{a.storageArea===n&&a.key===e&&t(a)};return window.addEventListener("storage",a),()=>window.removeEventListener("storage",a)}catch(a){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,a),()=>{}}}}}function d(e,t){const n=(0,a.useRef)((()=>null===e?c:u(e,t))).current(),o=(0,a.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,r.useSyncExternalStore)(o,(()=>"undefined"==typeof window?null:n.get()),(()=>null)),n]}},40626:(e,t,n)=>{"use strict";n.d(t,{l:()=>o});var a=n(39962),r=n(16550);function o(){const{siteConfig:{baseUrl:e,url:t},i18n:{defaultLocale:n,currentLocale:o}}=(0,a.Z)(),{pathname:i}=(0,r.TH)(),s=o===n?e:e.replace(`/${o}/`,"/"),l=i.replace(e,"");return{createUrl:function(e){let{locale:a,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===n?`${s}`:`${s}${e}/`}(a)}${l}`}}}},43266:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var a=n(67294),r=n(16550),o=n(43768);function i(e){const t=(0,r.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,a.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},20107:(e,t,n)=>{"use strict";n.d(t,{L:()=>r});var a=n(39962);function r(){return(0,a.Z)().siteConfig.themeConfig}},84136:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:a}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[r]=e.split(/[#?]/),o="/"===r||r===a?r:(i=r,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(r,o)}},15806:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},63905:function(e,t,n){"use strict";var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var r=n(84136);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return a(r).default}});var o=n(15806);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},97795:(e,t,n)=>{"use strict";n.d(t,{O:()=>s});var a=n(67294),r=n(16550),o=n(39962);const i="q";function s(){const e=(0,r.k6)(),{siteConfig:{baseUrl:t}}=(0,o.Z)(),[n,s]=(0,a.useState)("");(0,a.useEffect)((()=>{const e=new URLSearchParams(window.location.search).get(i)??"";s(e)}),[]);return{searchQuery:n,setSearchQuery:(0,a.useCallback)((t=>{const n=new URLSearchParams(window.location.search);t?n.set(i,t):n.delete(i),e.replace({search:n.toString()}),s(t)}),[e]),generateSearchPageLink:(0,a.useCallback)((e=>`${t}search?${i}=${encodeURIComponent(e)}`),[t])}}},13538:(e,t,n)=>{"use strict";let a;n.r(t),n.d(t,{onRouteDidUpdate:()=>i});const r=e=>{if(e.nc_handled)return;e.nc_handled=!0;let t=e.target;for(;t&&!t.classList.contains("DocSearch-Hit");)t=t.parentElement;if(t){const e=document.querySelector(".DocSearch-Input");a({event:"docs/search",$current_url:location.href,path:location.pathname,hash:location.hash,item_clicked:(t.innerText||"").trim(),search_query:e&&e.value})}},o=e=>{if(e.nc_handled||13!==e.which)return;e.nc_handled=!0;let t=e.target;for(;t&&!t.classList.contains("DocSearch-Input");)t=t.parentElement;if(t){const e=document.querySelector(".DocSearch-Hit[aria-selected=true] a");e&&a({event:"docs/search",$current_url:location.href,path:location.pathname,hash:location.hash,item_clicked:(e.innerText||"").trim(),search_query:t&&t.value})}};if(n(36136).Z.canUseDOM){const{init:e,push:t}=n(17316);a=t,e(),document.body.removeEventListener("click",r,!0),document.body.removeEventListener("keydown",o,!0),document.body.addEventListener("click",r,!0),document.body.addEventListener("keydown",o,!0);const i=new URL(location.href),s=i.searchParams.get("origin"),l=i.searchParams.get("search");s&&l&&(a({event:"cloud/search",$current_url:location.href,path:location.pathname,hash:location.hash,search_query:l,origin:s}),i.searchParams.delete("origin"),i.searchParams.delete("search"),window.history.replaceState({},document.title,i.toString()))}function i(e){let{location:t,previousLocation:n}=e;t.pathname===n?.pathname&&t.hash===n?.hash||(console.log(t.href),a({event:"$pageview",$current_url:window.location.href,path:t.pathname,hash:t.hash}))}},86010:(e,t,n)=>{"use strict";function a(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;tr});const r=function(){for(var e,t,n=0,r="";n{"use strict";n.d(t,{lX:()=>w,q_:()=>C,ob:()=>f,PP:()=>A,Ep:()=>p});var a=n(87462);function r(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,a=n+1,r=e.length;a=0;p--){var f=i[p];"."===f?o(i,p):".."===f?(o(i,p),d++):d&&(o(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&r(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(38776);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,a=e.hash,r=t||"/";return n&&"?"!==n&&(r+="?"===n.charAt(0)?n:"?"+n),a&&"#"!==a&&(r+="#"===a.charAt(0)?a:"#"+a),r}function f(e,t,n,r){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",a="",r=t.indexOf("#");-1!==r&&(a=t.substr(r),t=t.substr(0,r));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===a?"":a}}(e),o.state=t):(void 0===(o=(0,a.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),r?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,r.pathname)):o.pathname=r.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,a,r){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof a?a(o,r):r(!0):r(!1!==o)}else r(!0)},appendListener:function(e){var n=!0;function a(){n&&e.apply(void 0,arguments)}return t.push(a),function(){n=!1,t=t.filter((function(e){return e!==a}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),a=0;at?n.splice(t,n.length-t,r):n.push(r),d({action:a,location:r,index:t,entries:n})}}))},replace:function(e,t){var a="REPLACE",r=f(e,t,g(),w.location);u.confirmTransitionTo(r,a,n,(function(e){e&&(w.entries[w.index]=r,d({action:a,location:r}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var a=n(59864),r={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return a.isMemo(e)?i:s[e.$$typeof]||r}s[a.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[a.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,a){if("string"!=typeof n){if(m){var r=f(n);r&&r!==m&&e(t,r,a)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=l(t),g=l(n),h=0;h{"use strict";e.exports=function(e,t,n,a,r,o,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,a,r,o,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},93878:(e,t,n)=>{"use strict";n.r(t)},30984:(e,t,n)=>{"use strict";n.r(t)},17316:(e,t,n)=>{"use strict";n.r(t),n.d(t,{init:()=>x,push:()=>C});var a,r,o,i=Object.create,s=Object.defineProperty,l=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,u=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty,p=(a=(e,t)=>{var a=NaN,r="[object Symbol]",o=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt,u="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,d="object"==typeof self&&self&&self.Object===Object&&self,p=u||d||Function("return this")(),f=Object.prototype.toString,m=Math.max,g=Math.min,h=function(){return p.Date.now()};function b(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function v(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&f.call(e)==r}(e))return a;if(b(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=b(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var n=s.test(e);return n||l.test(e)?c(e.slice(2),n?2:8):i.test(e)?a:+e}t.exports=function(e,t,n){var a,r,o,i,s,l,c=0,u=!1,d=!1,p=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function f(t){var n=a,o=r;return a=r=void 0,c=t,i=e.apply(o,n)}function y(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-c>=o}function w(){var e=h();if(y(e))return k(e);s=setTimeout(w,function(e){var n=t-(e-l);return d?g(n,o-(e-c)):n}(e))}function k(e){return s=void 0,p&&a?f(e):(a=r=void 0,i)}function S(){var e=h(),n=y(e);if(a=arguments,r=this,l=e,n){if(void 0===s)return function(e){return c=e,s=setTimeout(w,t),u?f(e):i}(l);if(d)return s=setTimeout(w,t),f(l)}return void 0===s&&(s=setTimeout(w,t)),i}return t=v(t)||0,b(n)&&(u=!!n.leading,o=(d="maxWait"in n)?m(v(n.maxWait)||0,t):o,p="trailing"in n?!!n.trailing:p),S.cancel=function(){void 0!==s&&clearTimeout(s),c=0,a=l=r=s=void 0},S.flush=function(){return void 0===s?i:k(h())},S}},()=>(r||a((r={exports:{}}).exports,r),r.exports)),f=((e,t,n)=>(n=null!=e?i(u(e)):{},((e,t,n,a)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of c(t))!d.call(e,r)&&r!==n&&s(e,r,{get:()=>t[r],enumerable:!(a=l(t,r))||a.enumerable});return e})(!t&&e&&e.__esModule?n:s(n,"default",{value:e,enumerable:!0}),e)))(p()),m=new Uint8Array(16);function g(){if(!o&&!(o=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return o(m)}var h=[];for(let T=0;T<256;++T)h.push((T+256).toString(16).slice(1));var b={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};var v,y,w=function(e,t,n){if(b.randomUUID&&!t&&!e)return b.randomUUID();let a=(e=e||{}).random||(e.rng||g)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=a[e];return t}return function(e,t=0){return h[e[t+0]]+h[e[t+1]]+h[e[t+2]]+h[e[t+3]]+"-"+h[e[t+4]]+h[e[t+5]]+"-"+h[e[t+6]]+h[e[t+7]]+"-"+h[e[t+8]]+h[e[t+9]]+"-"+h[e[t+10]]+h[e[t+11]]+h[e[t+12]]+h[e[t+13]]+h[e[t+14]]+h[e[t+15]]}(a)},k=3e3,S=1e4,_=window.location.hostname?.replace(/\.nocodb\.com$/,""),E=class{constructor(){this.queue=[],this.processQueue=(0,f.default)((()=>{let e=this.queue.splice(0,this.queue.length);this.batchProcessor?.(e)}),k,{maxWait:S}),this.batchProcessor=async e=>{!function(e){let t=new XMLHttpRequest,n="https://nocodb.com/api/v1/tele";t.open("POST",n),t.setRequestHeader("Content-Type","application/json;charset=UTF-8"),t.send(JSON.stringify({clientId:v||window.ncClientId,events:e}))}(e)}}enqueueEvent(e){this.queue.push({created_at:Date.now(),...e,subdomain:_}),this.processQueue()}};function x(e={}){k=+e.debounceTime||k,S=+e.maxWaitTime||S,v=window.ncClientId=window.localStorage.getItem("nc_id");let t=document.createElement("iframe");return t.style.display="none",t.style.height="1px",t.style.width="1px",t.setAttribute("src","https://nocodb.com/client.html"),window.onmessage=function(e){("https://nocodb.com"===e.origin||"https://www.nocodb.com"===e.origin)&&e.data&&(v=window.ncClientId=e.data,window.localStorage.setItem("nc_id",e.data),document.body.removeChild(t))},t.onload=function(){t.contentWindow?.postMessage("client_id","https://nocodb.com")},y=new E,v||(v=window.ncClientId=w(),window.localStorage.setItem("nc_id",v)),document.body.appendChild(t),y}function C(e){y||(y=new E),y?.enqueueEvent({created_at:Date.now(),...e})}},74865:function(e,t,n){var a,r;a=function(){var e,t,n={version:"0.2.0"},a=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
    '};function r(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var r;return(r="translate3d"===a.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===a.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,r}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(a[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=r(e,a.minimum,1),n.status=1===e?null:e;var o=n.render(!t),c=o.querySelector(a.barSelector),u=a.speed,d=a.easing;return o.offsetWidth,s((function(t){""===a.positionUsing&&(a.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),a.trickleSpeed)};return a.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*r(Math.random()*t,.1,.95)),t=r(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*a.trickleRate)},e=0,t=0,n.promise=function(a){return a&&"resolved"!==a.state()?(0===t&&n.start(),e++,t++,a.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=a.template;var r,i=t.querySelector(a.barSelector),s=e?"-100":o(n.status||0),c=document.querySelector(a.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),a.showSpinner||(r=t.querySelector(a.spinnerSelector))&&f(r),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(a.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function a(t){var n=document.body.style;if(t in n)return t;for(var a,r=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);r--;)if((a=e[r]+o)in n)return a;return t}function r(e){return e=n(e),t[e]||(t[e]=a(e))}function o(e,t,n){t=r(t),e.style[t]=n}return function(e,t){var n,a,r=arguments;if(2==r.length)for(n in t)void 0!==(a=t[n])&&t.hasOwnProperty(n)&&o(e,n,a);else o(e,r[1],r[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),a=n+t;c(n,t)||(e.className=a.substring(1))}function d(e,t){var n,a=p(e);c(e,t)&&(n=a.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(r="function"==typeof a?a.call(t,n,t,e):a)||(e.exports=r)},27418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach((function(e){a[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},a)).join("")}catch(r){return!1}}()?Object.assign:function(e,r){for(var o,i,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l{var a=n(5826);e.exports=f,e.exports.parse=o,e.exports.compile=function(e,t){return s(o(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=p;var r=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,a=[],o=0,i=0,s="",u=t&&t.delimiter||"/";null!=(n=r.exec(e));){var d=n[0],p=n[1],f=n.index;if(s+=e.slice(i,f),i=f+d.length,p)s+=p[1];else{var m=e[i],g=n[2],h=n[3],b=n[4],v=n[5],y=n[6],w=n[7];s&&(a.push(s),s="");var k=null!=g&&null!=m&&m!==g,S="+"===y||"*"===y,_="?"===y||"*"===y,E=n[2]||u,x=b||v;a.push({name:h||o++,prefix:g||"",delimiter:E,optional:_,repeat:S,partial:k,asterisk:!!w,pattern:x?c(x):w?".*":"[^"+l(E)+"]+?"})}}return i{"use strict";n.r(t),n.d(t,{default:()=>p});var a=n(36809),r=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},a=window.Promise||function(e){function t(){}e(t,t)},o=function(){for(var e=arguments.length,t=Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:{}).target,t=function(){var e={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},t=void 0,n=void 0;if(b.container)if(b.container instanceof Object)t=(e=r({},e,b.container)).width-e.left-e.right-2*b.margin,n=e.height-e.top-e.bottom-2*b.margin;else{var a=(i(b.container)?b.container:document.querySelector(b.container)).getBoundingClientRect(),o=a.width,l=a.height,c=a.left,u=a.top;e=r({},e,{width:o,height:l,left:c,top:u})}t=t||e.width-2*b.margin,n=n||e.height-2*b.margin;var d=v.zoomedHd||v.original,p=s(d)?t:d.naturalWidth||t,f=s(d)?n:d.naturalHeight||n,m=d.getBoundingClientRect(),g=m.top,h=m.left,y=m.width,w=m.height,k=Math.min(Math.max(y,p),t)/y,S=Math.min(Math.max(w,f),n)/w,_=Math.min(k,S),E="scale("+_+") translate3d("+((t-y)/2-h+b.margin+e.left)/_+"px, "+((n-w)/2-g+b.margin+e.top)/_+"px, 0)";v.zoomed.style.transform=E,v.zoomedHd&&(v.zoomedHd.style.transform=E)};return new a((function(n){if(e&&-1===f.indexOf(e))n(w);else{if(v.zoomed)n(w);else{if(e)v.original=e;else{if(!(f.length>0))return void n(w);var a=f;v.original=a[0]}if(v.original.dispatchEvent(c("medium-zoom:open",{detail:{zoom:w}})),h=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,g=!0,v.zoomed=function(e){var t=e.getBoundingClientRect(),n=t.top,a=t.left,r=t.width,o=t.height,i=e.cloneNode(),s=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,l=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;return i.removeAttribute("id"),i.style.position="absolute",i.style.top=n+s+"px",i.style.left=a+l+"px",i.style.width=r+"px",i.style.height=o+"px",i.style.transform="",i}(v.original),document.body.appendChild(y),b.template){var r=i(b.template)?b.template:document.querySelector(b.template);v.template=document.createElement("div"),v.template.appendChild(r.content.cloneNode(!0)),document.body.appendChild(v.template)}if(v.original.parentElement&&"PICTURE"===v.original.parentElement.tagName&&v.original.currentSrc&&(v.zoomed.src=v.original.currentSrc),document.body.appendChild(v.zoomed),window.requestAnimationFrame((function(){document.body.classList.add("medium-zoom--opened")})),v.original.classList.add("medium-zoom-image--hidden"),v.zoomed.classList.add("medium-zoom-image--opened"),v.zoomed.addEventListener("click",d),v.zoomed.addEventListener("transitionend",(function e(){g=!1,v.zoomed.removeEventListener("transitionend",e),v.original.dispatchEvent(c("medium-zoom:opened",{detail:{zoom:w}})),n(w)})),v.original.getAttribute("data-zoom-src")){v.zoomedHd=v.zoomed.cloneNode(),v.zoomedHd.removeAttribute("srcset"),v.zoomedHd.removeAttribute("sizes"),v.zoomedHd.removeAttribute("loading"),v.zoomedHd.src=v.zoomed.getAttribute("data-zoom-src"),v.zoomedHd.onerror=function(){clearInterval(o),console.warn("Unable to reach the zoom image target "+v.zoomedHd.src),v.zoomedHd=null,t()};var o=setInterval((function(){v.zoomedHd.complete&&(clearInterval(o),v.zoomedHd.classList.add("medium-zoom-image--opened"),v.zoomedHd.addEventListener("click",d),document.body.appendChild(v.zoomedHd),t())}),10)}else if(v.original.hasAttribute("srcset")){v.zoomedHd=v.zoomed.cloneNode(),v.zoomedHd.removeAttribute("sizes"),v.zoomedHd.removeAttribute("loading");var s=v.zoomedHd.addEventListener("load",(function(){v.zoomedHd.removeEventListener("load",s),v.zoomedHd.classList.add("medium-zoom-image--opened"),v.zoomedHd.addEventListener("click",d),document.body.appendChild(v.zoomedHd),t()}))}else t()}}}))},d=function(){return new a((function(e){if(!g&&v.original){g=!0,document.body.classList.remove("medium-zoom--opened"),v.zoomed.style.transform="",v.zoomedHd&&(v.zoomedHd.style.transform=""),v.template&&(v.template.style.transition="opacity 150ms",v.template.style.opacity=0),v.original.dispatchEvent(c("medium-zoom:close",{detail:{zoom:w}})),v.zoomed.addEventListener("transitionend",(function t(){v.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(v.zoomed),v.zoomedHd&&document.body.removeChild(v.zoomedHd),document.body.removeChild(y),v.zoomed.classList.remove("medium-zoom-image--opened"),v.template&&document.body.removeChild(v.template),g=!1,v.zoomed.removeEventListener("transitionend",t),v.original.dispatchEvent(c("medium-zoom:closed",{detail:{zoom:w}})),v.original=null,v.zoomed=null,v.zoomedHd=null,v.template=null,e(w)}))}else e(w)}))},p=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).target;return v.original?d():u({target:e})},f=[],m=[],g=!1,h=0,b=n,v={original:null,zoomed:null,zoomedHd:null,template:null};"[object Object]"===Object.prototype.toString.call(t)?b=t:(t||"string"==typeof t)&&o(t);var y=function(e){var t=document.createElement("div");return t.classList.add("medium-zoom-overlay"),t.style.background=e,t}((b=r({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},b)).background);document.addEventListener("click",(function(e){var t=e.target;t!==y?-1!==f.indexOf(t)&&p({target:t}):d()})),document.addEventListener("keyup",(function(e){var t=e.key||e.keyCode;"Escape"!==t&&"Esc"!==t&&27!==t||d()})),document.addEventListener("scroll",(function(){if(!g&&v.original){var e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(h-e)>b.scrollOffset&&setTimeout(d,150)}})),window.addEventListener("resize",d);var w={open:u,close:d,toggle:p,update:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e;if(e.background&&(y.style.background=e.background),e.container&&e.container instanceof Object&&(t.container=r({},b.container,e.container)),e.template){var n=i(e.template)?e.template:document.querySelector(e.template);t.template=n}return b=r({},b,t),f.forEach((function(e){e.dispatchEvent(c("medium-zoom:update",{detail:{zoom:w}}))})),w},clone:function(){return e(r({},b,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}))},attach:o,detach:function(){for(var e=arguments.length,t=Array(e),n=0;n0?t.reduce((function(e,t){return[].concat(e,l(t))}),[]):f;return a.forEach((function(e){e.classList.remove("medium-zoom-image"),e.dispatchEvent(c("medium-zoom:detach",{detail:{zoom:w}}))})),f=f.filter((function(e){return-1===a.indexOf(e)})),w},on:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return f.forEach((function(a){a.addEventListener("medium-zoom:"+e,t,n)})),m.push({type:"medium-zoom:"+e,listener:t,options:n}),w},off:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return f.forEach((function(a){a.removeEventListener("medium-zoom:"+e,t,n)})),m=m.filter((function(n){return!(n.type==="medium-zoom:"+e&&n.listener.toString()===t.toString())})),w},getOptions:function(){return b},getImages:function(){return f},getZoomedImage:function(){return v.original}};return w},{themeConfig:d}=a.default,p=function(){if("undefined"==typeof window)return null;const{zoomSelector:e=".markdown img"}=d,{imageZoom:{selector:t=e,options:n}={}}=d;return setTimeout((()=>{u(t,n)}),1e3),{onRouteUpdate({location:e,previousLocation:a}){e&&e.hash&&e.hash.length||a&&e.pathname!==a.pathname&&setTimeout((()=>{u(t,n)}),1e3)}}}()},87410:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var a=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},a={util:{encode:function e(t){return t instanceof r?new r(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);_+=S.value.length,S=S.next){var E=S.value;if(t.length>e.length)return;if(!(E instanceof r)){var x,C=1;if(v){if(!(x=o(k,_,e,b))||x.index>=e.length)break;var T=x.index,A=x.index+x[0].length,L=_;for(L+=S.value.length;T>=L;)L+=(S=S.next).value.length;if(_=L-=S.value.length,S.value instanceof r)continue;for(var R=S;R!==t.tail&&(Ld.reach&&(d.reach=I);var D=S.prev;if(N&&(D=l(t,D,N),_+=N.length),c(t,D,C),S=l(t,D,new r(p,h?a.tokenize(O,h):O,y,O)),P&&l(t,S,P),C>1){var M={cause:p+","+m,reach:I};i(e,t,n,S.prev,_,M),d&&M.reach>d.reach&&(d.reach=M.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var a=t.next,r={value:n,prev:t,next:a};return t.next=r,a.prev=r,e.length++,r}function c(e,t,n){for(var a=t.next,r=0;r"+o.content+""},a}(),r=a;a.default=a,r.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},r.languages.markup.tag.inside["attr-value"].inside.entity=r.languages.markup.entity,r.languages.markup.doctype.inside["internal-subset"].inside=r.languages.markup,r.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(r.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:r.languages[t]},n.cdata=/^$/i;var a={"included-cdata":{pattern://i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:r.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:a},r.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(r.languages.markup.tag,"addAttribute",{value:function(e,t){r.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:r.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),r.languages.html=r.languages.markup,r.languages.mathml=r.languages.markup,r.languages.svg=r.languages.markup,r.languages.xml=r.languages.extend("markup",{}),r.languages.ssml=r.languages.xml,r.languages.atom=r.languages.xml,r.languages.rss=r.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},a={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:a},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:a},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:a.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:a.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var r=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=a.variable[1].inside,i=0;i]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},r.languages.c=r.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),r.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),r.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},r.languages.c.string],char:r.languages.c.char,comment:r.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:r.languages.c}}}}),r.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete r.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(r),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(r),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var a={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},r={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:a,number:r,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:a,number:r})}(r),r.languages.javascript=r.languages.extend("clike",{"class-name":[r.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),r.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,r.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:r.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:r.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:r.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:r.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:r.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),r.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:r.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),r.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),r.languages.markup&&(r.languages.markup.tag.addInlined("script","javascript"),r.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),r.languages.js=r.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(r),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,a="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",r=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return a})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return a}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return a})).replace(/<>/g,(function(){return"(?:"+r+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(r),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var a=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,r=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return a})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+r+o+"(?:"+r+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+r+o+")(?:"+r+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(a),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+r+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+r+"$"),inside:{"table-header":{pattern:RegExp(a),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,a=t.length;n",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(r),r.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:r.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},r.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n0)){var s=p(/^\{$/,/^\}$/);if(-1===s)continue;for(var l=n;l=0&&f(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,a=t.inside.interpolation,r=a.inside["interpolation-punctuation"],o=a.pattern.source;function i(t,a){if(e.languages[t])return{pattern:RegExp("((?:"+a+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function l(t,n,a){var r={code:t,grammar:n,language:a};return e.hooks.run("before-tokenize",r),r.tokens=e.tokenize(r.code,r.grammar),e.hooks.run("after-tokenize",r),r.tokens}function c(t){var n={};n["interpolation-punctuation"]=r;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,l(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,a.alias,t)}function u(t,n,a){var r=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,u={},d=l(r.map((function(e){if("string"==typeof e)return e;for(var n,r=e.content;-1!==t.indexOf(n=s(i++,a)););return u[n]=r,n})).join(""),n,a),p=Object.keys(u);return i=0,function e(t){for(var n=0;n=p.length)return;var a=t[n];if("string"==typeof a||"string"==typeof a.content){var r=p[i],o="string"==typeof a?a:a.content,s=o.indexOf(r);if(-1!==s){++i;var l=o.substring(0,s),d=c(u[r]),f=o.substring(s+r.length),m=[];if(l&&m.push(l),m.push(d),f){var g=[f];e(g),m.push.apply(m,g)}"string"==typeof a?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):a.content=m}}else{var h=a.content;Array.isArray(h)?e(h):e([h])}}}(d),new e.Token(a,d,"language-"+a,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function p(e){return"string"==typeof e?e:Array.isArray(e)?e.map(p).join(""):p(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var a=0,r=n.length;a]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(r),function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],a=0;a*\.{3}(?:[^{}]|)*\})/.source;function o(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return a})).replace(//g,(function(){return r})),RegExp(e,t)}r=o(r).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},s=function(t){for(var n=[],a=0;a0&&n[n.length-1].tagName===i(r.content[0].content[1])&&n.pop():"/>"===r.content[r.content.length-1].content||n.push({tagName:i(r.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===r.type&&"{"===r.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===r.type&&"}"===r.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof r)&&n.length>0&&0===n[n.length-1].openedBraces){var l=i(r);a0&&("string"==typeof t[a-1]||"plain-text"===t[a-1].type)&&(l=i(t[a-1])+l,t.splice(a-1,1),a--),t[a]=new e.Token("plain-text",l,null,l)}r.content&&"string"!=typeof r.content&&s(r.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||s(e.tokens)}))}(r),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var a=t[n],r=[];/^\w+$/.test(n)||r.push(/\w+/.exec(n)[0]),"diff"===n&&r.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+a+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:r,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(r),r.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},r.languages.go=r.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),r.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete r.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,a,r,o){if(n.language===a){var i=n.tokenStack=[];n.code=n.code.replace(r,(function(e){if("function"==typeof o&&!o(e))return e;for(var r,s=i.length;-1!==n.code.indexOf(r=t(a,s));)++s;return i[s]=e,r})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,a){if(n.language===a&&n.tokenStack){n.grammar=e.languages[a];var r=0,o=Object.keys(n.tokenStack);!function i(s){for(var l=0;l=o.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=o[r],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(a,u),m=p.indexOf(f);if(m>-1){++r;var g=p.substring(0,m),h=new e.Token(a,e.tokenize(d,n.grammar),"language-"+a,d),b=p.substring(m+f.length),v=[];g&&v.push.apply(v,i([g])),v.push(h),b&&v.push.apply(v,i([b])),"string"==typeof c?s.splice.apply(s,[l,1].concat(v)):c.content=v}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(r),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(r),r.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},r.languages.webmanifest=r.languages.json,r.languages.less=r.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),r.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),r.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},r.languages.objectivec=r.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete r.languages.objectivec["class-name"],r.languages.objc=r.languages.objectivec,r.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},r.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},r.languages.python["string-interpolation"].inside.interpolation.inside.rest=r.languages.python,r.languages.py=r.languages.python,r.languages.reason=r.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),r.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete r.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(r),r.languages.scss=r.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),r.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),r.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),r.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),r.languages.scss.atrule.inside.rest=r.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},a={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};a.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:a}},a.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:a}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:a}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:a}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:a}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:a.interpolation}},rest:a}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:a.interpolation,comment:a.comment,punctuation:/[{},]/}},func:a.func,string:a.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:a.interpolation,punctuation:/[{}()\[\];:.]/}}(r),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(r),r.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const o=r},29901:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,n)=>{const a=n(29901),r=n(39642),o=new Set;function i(e){void 0===e?e=Object.keys(a.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...o,...Object.keys(Prism.languages)];r(a,e,t).load((e=>{if(!(e in a.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(16500).resolve(t)],delete Prism.languages[e],n(16500)(t),o.add(e)}))}i.silent=!1,e.exports=i},6726:(e,t,n)=>{var a={"./":2885};function r(e){var t=o(e);return n(t)}function o(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}r.keys=function(){return Object.keys(a)},r.resolve=o,e.exports=r,r.id=6726},16500:(e,t,n)=>{var a={"./":2885};function r(e){var t=o(e);return n(t)}function o(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}r.keys=function(){return Object.keys(a)},r.resolve=o,e.exports=r,r.id=16500},39642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,a=e.length;n "));var s={},l=e[a];if(l){function c(t){if(!(t in e))throw new Error(a+" depends on an unknown component "+t);if(!(t in s))for(var i in r(t,o),s[t]=!0,n[t])s[i]=!0}t(l.require,c),t(l.optional,c),t(l.modify,c)}n[a]=s,o.pop()}}return function(e){var t=n[e];return t||(r(e,a),t=n[e]),t}}function r(e){for(var t in e)return!0;return!1}return function(o,i,s){var l=function(e){var t={};for(var n in e){var a=e[n];for(var r in a)if("meta"!=r){var o=a[r];t[r]="string"==typeof o?{title:o}:o}}return t}(o),c=function(e){var n;return function(a){if(a in e)return a;if(!n)for(var r in n={},e){var o=e[r];t(o&&o.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+r+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+r+" because it is a component.");n[t]=r}))}return n[a]||a}}(l);i=i.map(c),s=(s||[]).map(c);var u=n(i),d=n(s);i.forEach((function e(n){var a=l[n];t(a&&a.require,(function(t){t in d||(u[t]=!0,e(t))}))}));for(var p,f=a(l),m=u;r(m);){for(var g in p={},m){var h=l[g];t(h&&h.modify,(function(e){e in d&&(p[e]=!0)}))}for(var b in d)if(!(b in u))for(var v in f(b))if(v in u){p[b]=!0;break}for(var y in m=p)u[y]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,a,r){var o=r?r.series:void 0,i=r?r.parallel:e,s={},l={};function c(e){if(e in s)return s[e];l[e]=!0;var r,u=[];for(var d in t(e))d in n&&u.push(d);if(0===u.length)r=a(e);else{var p=i(u.map((function(e){var t=c(e);return delete l[e],t})));o?r=o(p,(function(){return a(e)})):a(e)}return s[e]=r}for(var u in n)c(u);var d=[];for(var p in l)d.push(s[p]);return i(d)}(f,u,t,n)}};return w}}();e.exports=t},92703:(e,t,n)=>{"use strict";var a=n(50414);function r(){}function o(){}o.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,o,i){if(i!==a){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:r};return n.PropTypes=n,n}},45697:(e,t,n)=>{e.exports=n(92703)()},50414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},64448:(e,t,n)=>{"use strict";var a=n(67294),r=n(27418),o=n(63840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n