mirror of
https://github.com/pocketbase/pocketbase.git
synced 2026-11-03 18:47:25 +01:00
added view collection type
This commit is contained in:
1 parent
0052e2ab2a
commit
a07f67002f
98 files changed
+3259
-829
No files matched your search
@@ -26,6 +26,10 @@
|
|||||||
|
|
||||||
- Enabled `process.env` in js migrations to allow accessing `os.Environ()`.
|
- Enabled `process.env` in js migrations to allow accessing `os.Environ()`.
|
||||||
|
|
||||||
|
- Enabled file thumbs when visualizing `relation` display file fields.
|
||||||
|
|
||||||
|
- Added new "View" collection type (@todo document)
|
||||||
|
|
||||||
|
|
||||||
## v0.12.3
|
## v0.12.3
|
||||||
|
|
||||||
|
|||||||
+139
-16
@@ -45,7 +45,7 @@ func TestCollectionsList(t *testing.T) {
|
|||||||
ExpectedContent: []string{
|
ExpectedContent: []string{
|
||||||
`"page":1`,
|
`"page":1`,
|
||||||
`"perPage":30`,
|
`"perPage":30`,
|
||||||
`"totalItems":8`,
|
`"totalItems":10`,
|
||||||
`"items":[{`,
|
`"items":[{`,
|
||||||
`"id":"_pb_users_auth_"`,
|
`"id":"_pb_users_auth_"`,
|
||||||
`"id":"v851q4r790rhknl"`,
|
`"id":"v851q4r790rhknl"`,
|
||||||
@@ -73,10 +73,10 @@ func TestCollectionsList(t *testing.T) {
|
|||||||
ExpectedContent: []string{
|
ExpectedContent: []string{
|
||||||
`"page":2`,
|
`"page":2`,
|
||||||
`"perPage":2`,
|
`"perPage":2`,
|
||||||
`"totalItems":8`,
|
`"totalItems":10`,
|
||||||
`"items":[{`,
|
`"items":[{`,
|
||||||
`"id":"v851q4r790rhknl"`,
|
`"id":"kpv709sk2lqbqk8"`,
|
||||||
`"id":"4d1blo5cuycfaca"`,
|
`"id":"9n89pl5vkct6330"`,
|
||||||
},
|
},
|
||||||
ExpectedEvents: map[string]int{
|
ExpectedEvents: map[string]int{
|
||||||
"OnCollectionsListRequest": 1,
|
"OnCollectionsListRequest": 1,
|
||||||
@@ -231,7 +231,7 @@ func TestCollectionDelete(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Name: "authorized as admin + using the collection name",
|
Name: "authorized as admin + using the collection name",
|
||||||
Method: http.MethodDelete,
|
Method: http.MethodDelete,
|
||||||
Url: "/api/collections/demo1",
|
Url: "/api/collections/demo5",
|
||||||
RequestHeaders: map[string]string{
|
RequestHeaders: map[string]string{
|
||||||
"Authorization": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InN5d2JoZWNuaDQ2cmhtMCIsInR5cGUiOiJhZG1pbiIsImV4cCI6MjIwODk4NTI2MX0.M1m--VOqGyv0d23eeUc0r9xE8ZzHaYVmVFw1VZW6gT8",
|
"Authorization": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InN5d2JoZWNuaDQ2cmhtMCIsInR5cGUiOiJhZG1pbiIsImV4cCI6MjIwODk4NTI2MX0.M1m--VOqGyv0d23eeUc0r9xE8ZzHaYVmVFw1VZW6gT8",
|
||||||
},
|
},
|
||||||
@@ -244,13 +244,13 @@ func TestCollectionDelete(t *testing.T) {
|
|||||||
"OnCollectionAfterDeleteRequest": 1,
|
"OnCollectionAfterDeleteRequest": 1,
|
||||||
},
|
},
|
||||||
AfterTestFunc: func(t *testing.T, app *tests.TestApp, e *echo.Echo) {
|
AfterTestFunc: func(t *testing.T, app *tests.TestApp, e *echo.Echo) {
|
||||||
ensureDeletedFiles(app, "wsmn24bux7wo113")
|
ensureDeletedFiles(app, "9n89pl5vkct6330")
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name: "authorized as admin + using the collection id",
|
Name: "authorized as admin + using the collection id",
|
||||||
Method: http.MethodDelete,
|
Method: http.MethodDelete,
|
||||||
Url: "/api/collections/wsmn24bux7wo113",
|
Url: "/api/collections/9n89pl5vkct6330",
|
||||||
RequestHeaders: map[string]string{
|
RequestHeaders: map[string]string{
|
||||||
"Authorization": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InN5d2JoZWNuaDQ2cmhtMCIsInR5cGUiOiJhZG1pbiIsImV4cCI6MjIwODk4NTI2MX0.M1m--VOqGyv0d23eeUc0r9xE8ZzHaYVmVFw1VZW6gT8",
|
"Authorization": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InN5d2JoZWNuaDQ2cmhtMCIsInR5cGUiOiJhZG1pbiIsImV4cCI6MjIwODk4NTI2MX0.M1m--VOqGyv0d23eeUc0r9xE8ZzHaYVmVFw1VZW6gT8",
|
||||||
},
|
},
|
||||||
@@ -263,7 +263,7 @@ func TestCollectionDelete(t *testing.T) {
|
|||||||
"OnCollectionAfterDeleteRequest": 1,
|
"OnCollectionAfterDeleteRequest": 1,
|
||||||
},
|
},
|
||||||
AfterTestFunc: func(t *testing.T, app *tests.TestApp, e *echo.Echo) {
|
AfterTestFunc: func(t *testing.T, app *tests.TestApp, e *echo.Echo) {
|
||||||
ensureDeletedFiles(app, "wsmn24bux7wo113")
|
ensureDeletedFiles(app, "9n89pl5vkct6330")
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -292,6 +292,22 @@ func TestCollectionDelete(t *testing.T) {
|
|||||||
"OnCollectionBeforeDeleteRequest": 1,
|
"OnCollectionBeforeDeleteRequest": 1,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "authorized as admin + deleting a view",
|
||||||
|
Method: http.MethodDelete,
|
||||||
|
Url: "/api/collections/view2",
|
||||||
|
RequestHeaders: map[string]string{
|
||||||
|
"Authorization": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InN5d2JoZWNuaDQ2cmhtMCIsInR5cGUiOiJhZG1pbiIsImV4cCI6MjIwODk4NTI2MX0.M1m--VOqGyv0d23eeUc0r9xE8ZzHaYVmVFw1VZW6gT8",
|
||||||
|
},
|
||||||
|
Delay: 100 * time.Millisecond,
|
||||||
|
ExpectedStatus: 204,
|
||||||
|
ExpectedEvents: map[string]int{
|
||||||
|
"OnModelBeforeDelete": 1,
|
||||||
|
"OnModelAfterDelete": 1,
|
||||||
|
"OnCollectionBeforeDeleteRequest": 1,
|
||||||
|
"OnCollectionAfterDeleteRequest": 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, scenario := range scenarios {
|
for _, scenario := range scenarios {
|
||||||
@@ -520,6 +536,56 @@ func TestCollectionCreate(t *testing.T) {
|
|||||||
`"options":{"minPasswordLength":{"code":"validation_required"`,
|
`"options":{"minPasswordLength":{"code":"validation_required"`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// view
|
||||||
|
// -----------------------------------------------------------
|
||||||
|
{
|
||||||
|
Name: "trying to create view collection with invalid options",
|
||||||
|
Method: http.MethodPost,
|
||||||
|
Url: "/api/collections",
|
||||||
|
Body: strings.NewReader(`{
|
||||||
|
"name":"new",
|
||||||
|
"type":"view",
|
||||||
|
"schema":[{"type":"text","id":"12345789","name":"ignored!@#$"}],
|
||||||
|
"options":{"query": "invalid"}
|
||||||
|
}`),
|
||||||
|
RequestHeaders: map[string]string{
|
||||||
|
"Authorization": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InN5d2JoZWNuaDQ2cmhtMCIsInR5cGUiOiJhZG1pbiIsImV4cCI6MjIwODk4NTI2MX0.M1m--VOqGyv0d23eeUc0r9xE8ZzHaYVmVFw1VZW6gT8",
|
||||||
|
},
|
||||||
|
ExpectedStatus: 400,
|
||||||
|
ExpectedContent: []string{
|
||||||
|
`"data":{`,
|
||||||
|
`"options":{"query":{"code":"validation_invalid_view_query`,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "creating view collection",
|
||||||
|
Method: http.MethodPost,
|
||||||
|
Url: "/api/collections",
|
||||||
|
Body: strings.NewReader(`{
|
||||||
|
"name":"new",
|
||||||
|
"type":"view",
|
||||||
|
"schema":[{"type":"text","id":"12345789","name":"ignored!@#$"}],
|
||||||
|
"options": {
|
||||||
|
"query": "select 1 as id from _admins"
|
||||||
|
}
|
||||||
|
}`),
|
||||||
|
RequestHeaders: map[string]string{
|
||||||
|
"Authorization": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InN5d2JoZWNuaDQ2cmhtMCIsInR5cGUiOiJhZG1pbiIsImV4cCI6MjIwODk4NTI2MX0.M1m--VOqGyv0d23eeUc0r9xE8ZzHaYVmVFw1VZW6gT8",
|
||||||
|
},
|
||||||
|
ExpectedStatus: 200,
|
||||||
|
ExpectedContent: []string{
|
||||||
|
`"name":"new"`,
|
||||||
|
`"type":"view"`,
|
||||||
|
`"schema":[]`,
|
||||||
|
},
|
||||||
|
ExpectedEvents: map[string]int{
|
||||||
|
"OnModelBeforeCreate": 1,
|
||||||
|
"OnModelAfterCreate": 1,
|
||||||
|
"OnCollectionBeforeCreateRequest": 1,
|
||||||
|
"OnCollectionAfterCreateRequest": 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, scenario := range scenarios {
|
for _, scenario := range scenarios {
|
||||||
@@ -660,7 +726,7 @@ func TestCollectionUpdate(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Name: "updating base collection with reserved auth fields",
|
Name: "updating base collection with reserved auth fields",
|
||||||
Method: http.MethodPatch,
|
Method: http.MethodPatch,
|
||||||
Url: "/api/collections/demo1",
|
Url: "/api/collections/demo4",
|
||||||
Body: strings.NewReader(`{
|
Body: strings.NewReader(`{
|
||||||
"schema":[
|
"schema":[
|
||||||
{"type":"text","name":"email"},
|
{"type":"text","name":"email"},
|
||||||
@@ -681,7 +747,7 @@ func TestCollectionUpdate(t *testing.T) {
|
|||||||
},
|
},
|
||||||
ExpectedStatus: 200,
|
ExpectedStatus: 200,
|
||||||
ExpectedContent: []string{
|
ExpectedContent: []string{
|
||||||
`"name":"demo1"`,
|
`"name":"demo4"`,
|
||||||
`"type":"base"`,
|
`"type":"base"`,
|
||||||
`"schema":[{`,
|
`"schema":[{`,
|
||||||
`"email"`,
|
`"email"`,
|
||||||
@@ -751,6 +817,7 @@ func TestCollectionUpdate(t *testing.T) {
|
|||||||
},
|
},
|
||||||
|
|
||||||
// rel field change displayFields propagation
|
// rel field change displayFields propagation
|
||||||
|
// -----------------------------------------------------------
|
||||||
{
|
{
|
||||||
Name: "renaming a display field should also update the referenced displayFields value",
|
Name: "renaming a display field should also update the referenced displayFields value",
|
||||||
Method: http.MethodPatch,
|
Method: http.MethodPatch,
|
||||||
@@ -830,6 +897,60 @@ func TestCollectionUpdate(t *testing.T) {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// view
|
||||||
|
// -----------------------------------------------------------
|
||||||
|
{
|
||||||
|
Name: "trying to update view collection with invalid options",
|
||||||
|
Method: http.MethodPatch,
|
||||||
|
Url: "/api/collections/view1",
|
||||||
|
Body: strings.NewReader(`{
|
||||||
|
"schema":[{"type":"text","id":"12345789","name":"ignored!@#$"}],
|
||||||
|
"options":{"query": "invalid"}
|
||||||
|
}`),
|
||||||
|
RequestHeaders: map[string]string{
|
||||||
|
"Authorization": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InN5d2JoZWNuaDQ2cmhtMCIsInR5cGUiOiJhZG1pbiIsImV4cCI6MjIwODk4NTI2MX0.M1m--VOqGyv0d23eeUc0r9xE8ZzHaYVmVFw1VZW6gT8",
|
||||||
|
},
|
||||||
|
ExpectedStatus: 400,
|
||||||
|
ExpectedContent: []string{
|
||||||
|
`"data":{`,
|
||||||
|
`"options":{"query":{"code":"validation_invalid_view_query`,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "updating view collection",
|
||||||
|
Method: http.MethodPatch,
|
||||||
|
Url: "/api/collections/view2",
|
||||||
|
Body: strings.NewReader(`{
|
||||||
|
"name":"view2_update",
|
||||||
|
"schema":[{"type":"text","id":"12345789","name":"ignored!@#$"}],
|
||||||
|
"options": {
|
||||||
|
"query": "select 2 as id, created, updated, email from _admins"
|
||||||
|
}
|
||||||
|
}`),
|
||||||
|
RequestHeaders: map[string]string{
|
||||||
|
"Authorization": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6InN5d2JoZWNuaDQ2cmhtMCIsInR5cGUiOiJhZG1pbiIsImV4cCI6MjIwODk4NTI2MX0.M1m--VOqGyv0d23eeUc0r9xE8ZzHaYVmVFw1VZW6gT8",
|
||||||
|
},
|
||||||
|
ExpectedStatus: 200,
|
||||||
|
ExpectedContent: []string{
|
||||||
|
`"name":"view2_update"`,
|
||||||
|
`"type":"view"`,
|
||||||
|
`"schema":[{`,
|
||||||
|
`"name":"email"`,
|
||||||
|
},
|
||||||
|
NotExpectedContent: []string{
|
||||||
|
// base model fields are not part of the schema
|
||||||
|
`"name":"id"`,
|
||||||
|
`"name":"created"`,
|
||||||
|
`"name":"updated"`,
|
||||||
|
},
|
||||||
|
ExpectedEvents: map[string]int{
|
||||||
|
"OnModelBeforeUpdate": 1,
|
||||||
|
"OnModelAfterUpdate": 1,
|
||||||
|
"OnCollectionBeforeUpdateRequest": 1,
|
||||||
|
"OnCollectionAfterUpdateRequest": 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, scenario := range scenarios {
|
for _, scenario := range scenarios {
|
||||||
@@ -838,6 +959,8 @@ func TestCollectionUpdate(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestCollectionImport(t *testing.T) {
|
func TestCollectionImport(t *testing.T) {
|
||||||
|
totalCollections := 10
|
||||||
|
|
||||||
scenarios := []tests.ApiScenario{
|
scenarios := []tests.ApiScenario{
|
||||||
{
|
{
|
||||||
Name: "unauthorized",
|
Name: "unauthorized",
|
||||||
@@ -874,7 +997,7 @@ func TestCollectionImport(t *testing.T) {
|
|||||||
if err := app.Dao().CollectionQuery().All(&collections); err != nil {
|
if err := app.Dao().CollectionQuery().All(&collections); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
expected := 8
|
expected := totalCollections
|
||||||
if len(collections) != expected {
|
if len(collections) != expected {
|
||||||
t.Fatalf("Expected %d collections, got %d", expected, len(collections))
|
t.Fatalf("Expected %d collections, got %d", expected, len(collections))
|
||||||
}
|
}
|
||||||
@@ -902,7 +1025,7 @@ func TestCollectionImport(t *testing.T) {
|
|||||||
if err := app.Dao().CollectionQuery().All(&collections); err != nil {
|
if err := app.Dao().CollectionQuery().All(&collections); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
expected := 8
|
expected := totalCollections
|
||||||
if len(collections) != expected {
|
if len(collections) != expected {
|
||||||
t.Fatalf("Expected %d collections, got %d", expected, len(collections))
|
t.Fatalf("Expected %d collections, got %d", expected, len(collections))
|
||||||
}
|
}
|
||||||
@@ -944,7 +1067,7 @@ func TestCollectionImport(t *testing.T) {
|
|||||||
if err := app.Dao().CollectionQuery().All(&collections); err != nil {
|
if err := app.Dao().CollectionQuery().All(&collections); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
expected := 8
|
expected := totalCollections
|
||||||
if len(collections) != expected {
|
if len(collections) != expected {
|
||||||
t.Fatalf("Expected %d collections, got %d", expected, len(collections))
|
t.Fatalf("Expected %d collections, got %d", expected, len(collections))
|
||||||
}
|
}
|
||||||
@@ -997,7 +1120,7 @@ func TestCollectionImport(t *testing.T) {
|
|||||||
if err := app.Dao().CollectionQuery().All(&collections); err != nil {
|
if err := app.Dao().CollectionQuery().All(&collections); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
expected := 11
|
expected := totalCollections + 3
|
||||||
if len(collections) != expected {
|
if len(collections) != expected {
|
||||||
t.Fatalf("Expected %d collections, got %d", expected, len(collections))
|
t.Fatalf("Expected %d collections, got %d", expected, len(collections))
|
||||||
}
|
}
|
||||||
@@ -1084,8 +1207,8 @@ func TestCollectionImport(t *testing.T) {
|
|||||||
ExpectedEvents: map[string]int{
|
ExpectedEvents: map[string]int{
|
||||||
"OnCollectionsAfterImportRequest": 1,
|
"OnCollectionsAfterImportRequest": 1,
|
||||||
"OnCollectionsBeforeImportRequest": 1,
|
"OnCollectionsBeforeImportRequest": 1,
|
||||||
"OnModelBeforeDelete": 6,
|
"OnModelBeforeDelete": 8,
|
||||||
"OnModelAfterDelete": 6,
|
"OnModelAfterDelete": 8,
|
||||||
"OnModelBeforeUpdate": 2,
|
"OnModelBeforeUpdate": 2,
|
||||||
"OnModelAfterUpdate": 2,
|
"OnModelAfterUpdate": 2,
|
||||||
"OnModelBeforeCreate": 1,
|
"OnModelBeforeCreate": 1,
|
||||||
|
|||||||
+16
-2
@@ -1,6 +1,8 @@
|
|||||||
package apis
|
package apis
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"github.com/labstack/echo/v5"
|
"github.com/labstack/echo/v5"
|
||||||
"github.com/pocketbase/pocketbase/core"
|
"github.com/pocketbase/pocketbase/core"
|
||||||
"github.com/pocketbase/pocketbase/models"
|
"github.com/pocketbase/pocketbase/models"
|
||||||
@@ -45,15 +47,27 @@ func (api *fileApi) download(c echo.Context) error {
|
|||||||
if fileField == nil {
|
if fileField == nil {
|
||||||
return NewNotFoundError("", nil)
|
return NewNotFoundError("", nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
options, _ := fileField.Options.(*schema.FileOptions)
|
options, _ := fileField.Options.(*schema.FileOptions)
|
||||||
|
|
||||||
|
baseFilesPath := record.BaseFilesPath()
|
||||||
|
|
||||||
|
// fetch the original view file field related record
|
||||||
|
if collection.IsView() {
|
||||||
|
fileRecord, err := api.app.Dao().FindRecordByViewFile(collection.Id, fileField.Name, filename)
|
||||||
|
if err != nil {
|
||||||
|
return NewNotFoundError("", fmt.Errorf("Failed to fetch view file field record: %w", err))
|
||||||
|
}
|
||||||
|
baseFilesPath = fileRecord.BaseFilesPath()
|
||||||
|
}
|
||||||
|
|
||||||
fs, err := api.app.NewFilesystem()
|
fs, err := api.app.NewFilesystem()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return NewBadRequestError("Filesystem initialization failure.", err)
|
return NewBadRequestError("Filesystem initialization failure.", err)
|
||||||
}
|
}
|
||||||
defer fs.Close()
|
defer fs.Close()
|
||||||
|
|
||||||
originalPath := record.BaseFilesPath() + "/" + filename
|
originalPath := baseFilesPath + "/" + filename
|
||||||
servedPath := originalPath
|
servedPath := originalPath
|
||||||
servedName := filename
|
servedName := filename
|
||||||
|
|
||||||
@@ -70,7 +84,7 @@ func (api *fileApi) download(c echo.Context) error {
|
|||||||
if list.ExistInSlice(oAttrs.ContentType, imageContentTypes) {
|
if list.ExistInSlice(oAttrs.ContentType, imageContentTypes) {
|
||||||
// add thumb size as file suffix
|
// add thumb size as file suffix
|
||||||
servedName = thumbSize + "_" + filename
|
servedName = thumbSize + "_" + filename
|
||||||
servedPath = record.BaseFilesPath() + "/thumbs_" + filename + "/" + servedName
|
servedPath = baseFilesPath + "/thumbs_" + filename + "/" + servedName
|
||||||
|
|
||||||
// check if the thumb exists:
|
// check if the thumb exists:
|
||||||
// - if doesn't exist - create a new thumb with the specified thumb size
|
// - if doesn't exist - create a new thumb with the specified thumb size
|
||||||
|
|||||||
+6
-4
@@ -59,9 +59,12 @@ func RequireGuestOnly() echo.MiddlewareFunc {
|
|||||||
// specifying their names.
|
// specifying their names.
|
||||||
//
|
//
|
||||||
// Example:
|
// Example:
|
||||||
// apis.RequireRecordAuth()
|
//
|
||||||
|
// apis.RequireRecordAuth()
|
||||||
|
//
|
||||||
// Or:
|
// Or:
|
||||||
// apis.RequireRecordAuth("users", "supervisors")
|
//
|
||||||
|
// apis.RequireRecordAuth("users", "supervisors")
|
||||||
//
|
//
|
||||||
// To restrict the auth record only to the loaded context collection,
|
// To restrict the auth record only to the loaded context collection,
|
||||||
// use [apis.RequireSameContextRecordAuth()] instead.
|
// use [apis.RequireSameContextRecordAuth()] instead.
|
||||||
@@ -83,7 +86,6 @@ func RequireRecordAuth(optCollectionNames ...string) echo.MiddlewareFunc {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
// RequireSameContextRecordAuth middleware requires a request to have
|
// RequireSameContextRecordAuth middleware requires a request to have
|
||||||
// a valid record Authorization header.
|
// a valid record Authorization header.
|
||||||
//
|
//
|
||||||
@@ -261,7 +263,7 @@ func LoadCollectionContext(app core.App, optCollectionTypes ...string) echo.Midd
|
|||||||
}
|
}
|
||||||
|
|
||||||
if len(optCollectionTypes) > 0 && !list.ExistInSlice(collection.Type, optCollectionTypes) {
|
if len(optCollectionTypes) > 0 && !list.ExistInSlice(collection.Type, optCollectionTypes) {
|
||||||
return NewBadRequestError("Invalid collection type.", nil)
|
return NewBadRequestError("Unsupported collection type.", nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
c.Set(ContextCollectionKey, collection)
|
c.Set(ContextCollectionKey, collection)
|
||||||
|
|||||||
+5
-6
@@ -26,14 +26,13 @@ func bindRecordCrudApi(app core.App, rg *echo.Group) {
|
|||||||
subGroup := rg.Group(
|
subGroup := rg.Group(
|
||||||
"/collections/:collection",
|
"/collections/:collection",
|
||||||
ActivityLogger(app),
|
ActivityLogger(app),
|
||||||
LoadCollectionContext(app),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
subGroup.GET("/records", api.list)
|
subGroup.GET("/records", api.list, LoadCollectionContext(app))
|
||||||
subGroup.POST("/records", api.create)
|
subGroup.GET("/records/:id", api.view, LoadCollectionContext(app))
|
||||||
subGroup.GET("/records/:id", api.view)
|
subGroup.POST("/records", api.create, LoadCollectionContext(app, models.CollectionTypeBase, models.CollectionTypeAuth))
|
||||||
subGroup.PATCH("/records/:id", api.update)
|
subGroup.PATCH("/records/:id", api.update, LoadCollectionContext(app, models.CollectionTypeBase, models.CollectionTypeAuth))
|
||||||
subGroup.DELETE("/records/:id", api.delete)
|
subGroup.DELETE("/records/:id", api.delete, LoadCollectionContext(app, models.CollectionTypeBase, models.CollectionTypeAuth))
|
||||||
}
|
}
|
||||||
|
|
||||||
type recordApi struct {
|
type recordApi struct {
|
||||||
|
|||||||
+125
-2
@@ -256,7 +256,7 @@ func TestRecordCrudList(t *testing.T) {
|
|||||||
ExpectedEvents: map[string]int{"OnRecordsListRequest": 1},
|
ExpectedEvents: map[string]int{"OnRecordsListRequest": 1},
|
||||||
},
|
},
|
||||||
|
|
||||||
// auth collection checks
|
// auth collection
|
||||||
// -----------------------------------------------------------
|
// -----------------------------------------------------------
|
||||||
{
|
{
|
||||||
Name: "check email visibility as guest",
|
Name: "check email visibility as guest",
|
||||||
@@ -403,6 +403,63 @@ func TestRecordCrudList(t *testing.T) {
|
|||||||
},
|
},
|
||||||
ExpectedEvents: map[string]int{"OnRecordsListRequest": 1},
|
ExpectedEvents: map[string]int{"OnRecordsListRequest": 1},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// view collection
|
||||||
|
// -----------------------------------------------------------
|
||||||
|
{
|
||||||
|
Name: "public view records",
|
||||||
|
Method: http.MethodGet,
|
||||||
|
Url: "/api/collections/view2/records?filter=state=false",
|
||||||
|
ExpectedStatus: 200,
|
||||||
|
ExpectedContent: []string{
|
||||||
|
`"page":1`,
|
||||||
|
`"perPage":30`,
|
||||||
|
`"totalPages":1`,
|
||||||
|
`"totalItems":2`,
|
||||||
|
`"items":[{`,
|
||||||
|
`"id":"al1h9ijdeojtsjy"`,
|
||||||
|
`"id":"imy661ixudk5izi"`,
|
||||||
|
},
|
||||||
|
NotExpectedContent: []string{
|
||||||
|
`"created"`,
|
||||||
|
`"updated"`,
|
||||||
|
},
|
||||||
|
ExpectedEvents: map[string]int{"OnRecordsListRequest": 1},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "guest that doesn't match the view collection list rule",
|
||||||
|
Method: http.MethodGet,
|
||||||
|
Url: "/api/collections/view1/records",
|
||||||
|
ExpectedStatus: 200,
|
||||||
|
ExpectedContent: []string{
|
||||||
|
`"page":1`,
|
||||||
|
`"perPage":30`,
|
||||||
|
`"totalPages":0`,
|
||||||
|
`"totalItems":0`,
|
||||||
|
`"items":[]`,
|
||||||
|
},
|
||||||
|
ExpectedEvents: map[string]int{"OnRecordsListRequest": 1},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "authenticated record that matches the view collection list rule",
|
||||||
|
Method: http.MethodGet,
|
||||||
|
Url: "/api/collections/view1/records",
|
||||||
|
RequestHeaders: map[string]string{
|
||||||
|
// users, test@example.com
|
||||||
|
"Authorization": "eyJhbGciOiJIUzI1NiJ9.eyJpZCI6IjRxMXhsY2xtZmxva3UzMyIsInR5cGUiOiJhdXRoUmVjb3JkIiwiY29sbGVjdGlvbklkIjoiX3BiX3VzZXJzX2F1dGhfIiwiZXhwIjoyMjA4OTg1MjYxfQ.UwD8JvkbQtXpymT09d7J6fdA0aP9g4FJ1GPh_ggEkzc",
|
||||||
|
},
|
||||||
|
ExpectedStatus: 200,
|
||||||
|
ExpectedContent: []string{
|
||||||
|
`"page":1`,
|
||||||
|
`"perPage":30`,
|
||||||
|
`"totalPages":1`,
|
||||||
|
`"totalItems":1`,
|
||||||
|
`"items":[{`,
|
||||||
|
`"id":"84nmscqy84lsi1t"`,
|
||||||
|
`"bool":true`,
|
||||||
|
},
|
||||||
|
ExpectedEvents: map[string]int{"OnRecordsListRequest": 1},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, scenario := range scenarios {
|
for _, scenario := range scenarios {
|
||||||
@@ -531,7 +588,7 @@ func TestRecordCrudView(t *testing.T) {
|
|||||||
ExpectedEvents: map[string]int{"OnRecordViewRequest": 1},
|
ExpectedEvents: map[string]int{"OnRecordViewRequest": 1},
|
||||||
},
|
},
|
||||||
|
|
||||||
// auth collection checks
|
// auth collection
|
||||||
// -----------------------------------------------------------
|
// -----------------------------------------------------------
|
||||||
{
|
{
|
||||||
Name: "check email visibility as guest",
|
Name: "check email visibility as guest",
|
||||||
@@ -629,6 +686,49 @@ func TestRecordCrudView(t *testing.T) {
|
|||||||
},
|
},
|
||||||
ExpectedEvents: map[string]int{"OnRecordViewRequest": 1},
|
ExpectedEvents: map[string]int{"OnRecordViewRequest": 1},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// view collection
|
||||||
|
// -----------------------------------------------------------
|
||||||
|
{
|
||||||
|
Name: "public view record",
|
||||||
|
Method: http.MethodGet,
|
||||||
|
Url: "/api/collections/view2/records/84nmscqy84lsi1t",
|
||||||
|
ExpectedStatus: 200,
|
||||||
|
ExpectedContent: []string{
|
||||||
|
`"id":"84nmscqy84lsi1t"`,
|
||||||
|
`"state":true`,
|
||||||
|
`"file_many":["`,
|
||||||
|
`"rel_many":["`,
|
||||||
|
},
|
||||||
|
NotExpectedContent: []string{
|
||||||
|
`"created"`,
|
||||||
|
`"updated"`,
|
||||||
|
},
|
||||||
|
ExpectedEvents: map[string]int{"OnRecordViewRequest": 1},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "guest that doesn't match the view collection view rule",
|
||||||
|
Method: http.MethodGet,
|
||||||
|
Url: "/api/collections/view1/records/84nmscqy84lsi1t",
|
||||||
|
ExpectedStatus: 404,
|
||||||
|
ExpectedContent: []string{`"data":{}`},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "authenticated record that matches the view collection view rule",
|
||||||
|
Method: http.MethodGet,
|
||||||
|
Url: "/api/collections/view1/records/84nmscqy84lsi1t",
|
||||||
|
RequestHeaders: map[string]string{
|
||||||
|
// users, test@example.com
|
||||||
|
"Authorization": "eyJhbGciOiJIUzI1NiJ9.eyJpZCI6IjRxMXhsY2xtZmxva3UzMyIsInR5cGUiOiJhdXRoUmVjb3JkIiwiY29sbGVjdGlvbklkIjoiX3BiX3VzZXJzX2F1dGhfIiwiZXhwIjoyMjA4OTg1MjYxfQ.UwD8JvkbQtXpymT09d7J6fdA0aP9g4FJ1GPh_ggEkzc",
|
||||||
|
},
|
||||||
|
ExpectedStatus: 200,
|
||||||
|
ExpectedContent: []string{
|
||||||
|
`"id":"84nmscqy84lsi1t"`,
|
||||||
|
`"bool":true`,
|
||||||
|
`"text":"`,
|
||||||
|
},
|
||||||
|
ExpectedEvents: map[string]int{"OnRecordViewRequest": 1},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, scenario := range scenarios {
|
for _, scenario := range scenarios {
|
||||||
@@ -690,6 +790,13 @@ func TestRecordCrudDelete(t *testing.T) {
|
|||||||
ExpectedStatus: 404,
|
ExpectedStatus: 404,
|
||||||
ExpectedContent: []string{`"data":{}`},
|
ExpectedContent: []string{`"data":{}`},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "trying to delete a view collection record",
|
||||||
|
Method: http.MethodDelete,
|
||||||
|
Url: "/api/collections/view1/records/imy661ixudk5izi",
|
||||||
|
ExpectedStatus: 400,
|
||||||
|
ExpectedContent: []string{`"data":{}`},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Name: "public collection record delete",
|
Name: "public collection record delete",
|
||||||
Method: http.MethodDelete,
|
Method: http.MethodDelete,
|
||||||
@@ -885,6 +992,14 @@ func TestRecordCrudCreate(t *testing.T) {
|
|||||||
ExpectedStatus: 403,
|
ExpectedStatus: 403,
|
||||||
ExpectedContent: []string{`"data":{}`},
|
ExpectedContent: []string{`"data":{}`},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "trying to create a new view collection record",
|
||||||
|
Method: http.MethodPost,
|
||||||
|
Url: "/api/collections/view1/records",
|
||||||
|
Body: strings.NewReader(`{"text":"new"}`),
|
||||||
|
ExpectedStatus: 400,
|
||||||
|
ExpectedContent: []string{`"data":{}`},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Name: "submit nil body",
|
Name: "submit nil body",
|
||||||
Method: http.MethodPost,
|
Method: http.MethodPost,
|
||||||
@@ -1428,6 +1543,14 @@ func TestRecordCrudUpdate(t *testing.T) {
|
|||||||
ExpectedStatus: 400,
|
ExpectedStatus: 400,
|
||||||
ExpectedContent: []string{`"data":{}`},
|
ExpectedContent: []string{`"data":{}`},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "trying to update a view collection record",
|
||||||
|
Method: http.MethodPatch,
|
||||||
|
Url: "/api/collections/view1/records/imy661ixudk5izi",
|
||||||
|
Body: strings.NewReader(`{"text":"new"}`),
|
||||||
|
ExpectedStatus: 400,
|
||||||
|
ExpectedContent: []string{`"data":{}`},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Name: "submit nil body",
|
Name: "submit nil body",
|
||||||
Method: http.MethodPatch,
|
Method: http.MethodPatch,
|
||||||
|
|||||||
+1
-1
@@ -472,7 +472,7 @@ func (app *BaseApp) NewMailClient() mailer.Mailer {
|
|||||||
// NB! Make sure to call `Close()` on the returned result
|
// NB! Make sure to call `Close()` on the returned result
|
||||||
// after you are done working with it.
|
// after you are done working with it.
|
||||||
func (app *BaseApp) NewFilesystem() (*filesystem.System, error) {
|
func (app *BaseApp) NewFilesystem() (*filesystem.System, error) {
|
||||||
if app.settings.S3.Enabled {
|
if app.settings != nil && app.settings.S3.Enabled {
|
||||||
return filesystem.NewS3(
|
return filesystem.NewS3(
|
||||||
app.settings.S3.Bucket,
|
app.settings.S3.Bucket,
|
||||||
app.settings.S3.Region,
|
app.settings.S3.Region,
|
||||||
|
|||||||
+82
-14
@@ -129,13 +129,23 @@ func (dao *Dao) DeleteCollection(collection *models.Collection) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if total := len(result); total > 0 {
|
if total := len(result); total > 0 {
|
||||||
return fmt.Errorf("The collection %q has external relation field references (%d).", collection.Name, total)
|
names := make([]string, 0, len(result))
|
||||||
|
for ref := range result {
|
||||||
|
names = append(names, ref.Name)
|
||||||
|
}
|
||||||
|
return fmt.Errorf("The collection %q has external relation field references (%s).", collection.Name, strings.Join(names, ", "))
|
||||||
}
|
}
|
||||||
|
|
||||||
return dao.RunInTransaction(func(txDao *Dao) error {
|
return dao.RunInTransaction(func(txDao *Dao) error {
|
||||||
// delete the related records table
|
// delete the related view or records table
|
||||||
if err := txDao.DeleteTable(collection.Name); err != nil {
|
if collection.IsView() {
|
||||||
return err
|
if err := txDao.DeleteView(collection.Name); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if err := txDao.DeleteTable(collection.Name); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return txDao.Delete(collection)
|
return txDao.Delete(collection)
|
||||||
@@ -163,13 +173,18 @@ func (dao *Dao) SaveCollection(collection *models.Collection) error {
|
|||||||
collection.Type = models.CollectionTypeBase
|
collection.Type = models.CollectionTypeBase
|
||||||
}
|
}
|
||||||
|
|
||||||
// persist the collection model
|
switch collection.Type {
|
||||||
if err := txDao.Save(collection); err != nil {
|
case models.CollectionTypeView:
|
||||||
return err
|
return txDao.saveViewCollection(collection, oldCollection)
|
||||||
}
|
default:
|
||||||
|
// persist the collection model
|
||||||
|
if err := txDao.Save(collection); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// sync the changes with the related records table
|
// sync the changes with the related records table
|
||||||
return txDao.SyncRecordTableSchema(collection, oldCollection)
|
return txDao.SyncRecordTableSchema(collection, oldCollection)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -274,8 +289,14 @@ func (dao *Dao) ImportCollections(
|
|||||||
continue // exist
|
continue // exist
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := txDao.DeleteTable(existing.Name); err != nil {
|
if existing.IsView() {
|
||||||
return err
|
if err := txDao.DeleteView(existing.Name); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if err := txDao.DeleteTable(existing.Name); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -283,11 +304,58 @@ func (dao *Dao) ImportCollections(
|
|||||||
// sync the upserted collections with the related records table
|
// sync the upserted collections with the related records table
|
||||||
for _, imported := range importedCollections {
|
for _, imported := range importedCollections {
|
||||||
existing := mappedExisting[imported.GetId()]
|
existing := mappedExisting[imported.GetId()]
|
||||||
if err := txDao.SyncRecordTableSchema(imported, existing); err != nil {
|
|
||||||
return err
|
if imported.IsView() {
|
||||||
|
if err := txDao.saveViewCollection(imported, existing); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if err := txDao.SyncRecordTableSchema(imported, existing); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// saveViewCollection persists the provided View collection changes:
|
||||||
|
// - deletes the old related SQL view (if any)
|
||||||
|
// - creates a new SQL view with the latest newCollection.Options.Query
|
||||||
|
// - generates a new schema based on newCollection.Options.Query
|
||||||
|
// - updates newCollection.Schema based on the generated view table info and query
|
||||||
|
// - saves the newCollection
|
||||||
|
//
|
||||||
|
// This method returns an error if newCollection is not a "view".
|
||||||
|
func (dao *Dao) saveViewCollection(newCollection *models.Collection, oldCollection *models.Collection) error {
|
||||||
|
if newCollection.IsAuth() {
|
||||||
|
return errors.New("not a view collection")
|
||||||
|
}
|
||||||
|
|
||||||
|
return dao.RunInTransaction(func(txDao *Dao) error {
|
||||||
|
query := newCollection.ViewOptions().Query
|
||||||
|
|
||||||
|
// generate collection schema from the query
|
||||||
|
schema, err := txDao.CreateViewSchema(query)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// delete old renamed view
|
||||||
|
if oldCollection != nil && newCollection.Name != oldCollection.Name {
|
||||||
|
if err := txDao.DeleteView(oldCollection.Name); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// (re)create the view
|
||||||
|
if err := txDao.SaveView(newCollection.Name, query); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
newCollection.Schema = schema
|
||||||
|
|
||||||
|
return txDao.Save(newCollection)
|
||||||
|
})
|
||||||
|
}
|
||||||
+60
-32
@@ -45,16 +45,16 @@ func TestFindCollectionsByType(t *testing.T) {
|
|||||||
|
|
||||||
hasErr := err != nil
|
hasErr := err != nil
|
||||||
if hasErr != scenario.expectError {
|
if hasErr != scenario.expectError {
|
||||||
t.Errorf("(%d) Expected hasErr to be %v, got %v (%v)", i, scenario.expectError, hasErr, err)
|
t.Errorf("[%d] Expected hasErr to be %v, got %v (%v)", i, scenario.expectError, hasErr, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(collections) != scenario.expectTotal {
|
if len(collections) != scenario.expectTotal {
|
||||||
t.Errorf("(%d) Expected %d collections, got %d", i, scenario.expectTotal, len(collections))
|
t.Errorf("[%d] Expected %d collections, got %d", i, scenario.expectTotal, len(collections))
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, c := range collections {
|
for _, c := range collections {
|
||||||
if c.Type != scenario.collectionType {
|
if c.Type != scenario.collectionType {
|
||||||
t.Errorf("(%d) Expected collection with type %s, got %s: \n%v", i, scenario.collectionType, c.Type, c)
|
t.Errorf("[%d] Expected collection with type %s, got %s: \n%v", i, scenario.collectionType, c.Type, c)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -80,11 +80,11 @@ func TestFindCollectionByNameOrId(t *testing.T) {
|
|||||||
|
|
||||||
hasErr := err != nil
|
hasErr := err != nil
|
||||||
if hasErr != scenario.expectError {
|
if hasErr != scenario.expectError {
|
||||||
t.Errorf("(%d) Expected hasErr to be %v, got %v (%v)", i, scenario.expectError, hasErr, err)
|
t.Errorf("[%d] Expected hasErr to be %v, got %v (%v)", i, scenario.expectError, hasErr, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if model != nil && model.Id != scenario.nameOrId && !strings.EqualFold(model.Name, scenario.nameOrId) {
|
if model != nil && model.Id != scenario.nameOrId && !strings.EqualFold(model.Name, scenario.nameOrId) {
|
||||||
t.Errorf("(%d) Expected model with identifier %s, got %v", i, scenario.nameOrId, model)
|
t.Errorf("[%d] Expected model with identifier %s, got %v", i, scenario.nameOrId, model)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -108,7 +108,7 @@ func TestIsCollectionNameUnique(t *testing.T) {
|
|||||||
for i, scenario := range scenarios {
|
for i, scenario := range scenarios {
|
||||||
result := app.Dao().IsCollectionNameUnique(scenario.name, scenario.excludeId)
|
result := app.Dao().IsCollectionNameUnique(scenario.name, scenario.excludeId)
|
||||||
if result != scenario.expected {
|
if result != scenario.expected {
|
||||||
t.Errorf("(%d) Expected %v, got %v", i, scenario.expected, result)
|
t.Errorf("[%d] Expected %v, got %v", i, scenario.expected, result)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -155,7 +155,7 @@ func TestFindCollectionReferences(t *testing.T) {
|
|||||||
}
|
}
|
||||||
for i, f := range fields {
|
for i, f := range fields {
|
||||||
if !list.ExistInSlice(f.Name, expectedFields) {
|
if !list.ExistInSlice(f.Name, expectedFields) {
|
||||||
t.Fatalf("(%d) Didn't expect field %v", i, f)
|
t.Fatalf("[%d] Didn't expect field %v", i, f)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -165,21 +165,29 @@ func TestDeleteCollection(t *testing.T) {
|
|||||||
app, _ := tests.NewTestApp()
|
app, _ := tests.NewTestApp()
|
||||||
defer app.Cleanup()
|
defer app.Cleanup()
|
||||||
|
|
||||||
c0 := &models.Collection{}
|
colEmpty := &models.Collection{}
|
||||||
c1, err := app.Dao().FindCollectionByNameOrId("clients")
|
|
||||||
|
colAuth, err := app.Dao().FindCollectionByNameOrId("clients")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
c2, err := app.Dao().FindCollectionByNameOrId("demo2")
|
|
||||||
|
colReferenced, err := app.Dao().FindCollectionByNameOrId("demo2")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
c3, err := app.Dao().FindCollectionByNameOrId("demo1")
|
|
||||||
|
colSystem, err := app.Dao().FindCollectionByNameOrId("demo3")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
c3.System = true
|
colSystem.System = true
|
||||||
if err := app.Dao().Save(c3); err != nil {
|
if err := app.Dao().Save(colSystem); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
colView, err := app.Dao().FindCollectionByNameOrId("view1")
|
||||||
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -187,18 +195,28 @@ func TestDeleteCollection(t *testing.T) {
|
|||||||
model *models.Collection
|
model *models.Collection
|
||||||
expectError bool
|
expectError bool
|
||||||
}{
|
}{
|
||||||
{c0, true},
|
{colEmpty, true},
|
||||||
{c1, false},
|
{colAuth, false},
|
||||||
{c2, true}, // is part of a reference
|
{colReferenced, true},
|
||||||
{c3, true}, // system
|
{colSystem, true},
|
||||||
|
{colView, false},
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, scenario := range scenarios {
|
for i, s := range scenarios {
|
||||||
err := app.Dao().DeleteCollection(scenario.model)
|
err := app.Dao().DeleteCollection(s.model)
|
||||||
hasErr := err != nil
|
|
||||||
|
|
||||||
if hasErr != scenario.expectError {
|
hasErr := err != nil
|
||||||
t.Errorf("(%d) Expected hasErr %v, got %v", i, scenario.expectError, hasErr)
|
if hasErr != s.expectError {
|
||||||
|
t.Errorf("[%d] Expected hasErr %v, got %v (%v)", i, s.expectError, hasErr, err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if hasErr {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if app.Dao().HasTable(s.model.Name) {
|
||||||
|
t.Errorf("[%d] Expected table/view %s to be deleted", i, s.model.Name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -244,7 +262,7 @@ func TestSaveCollectionCreate(t *testing.T) {
|
|||||||
}
|
}
|
||||||
for i, c := range columns {
|
for i, c := range columns {
|
||||||
if !list.ExistInSlice(c, expectedColumns) {
|
if !list.ExistInSlice(c, expectedColumns) {
|
||||||
t.Fatalf("(%d) Didn't expect record column %s", i, c)
|
t.Fatalf("[%d] Didn't expect record column %s", i, c)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -282,12 +300,14 @@ func TestSaveCollectionUpdate(t *testing.T) {
|
|||||||
}
|
}
|
||||||
for i, c := range columns {
|
for i, c := range columns {
|
||||||
if !list.ExistInSlice(c, expectedColumns) {
|
if !list.ExistInSlice(c, expectedColumns) {
|
||||||
t.Fatalf("(%d) Didn't expect record column %s", i, c)
|
t.Fatalf("[%d] Didn't expect record column %s", i, c)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestImportCollections(t *testing.T) {
|
func TestImportCollections(t *testing.T) {
|
||||||
|
totalCollections := 10
|
||||||
|
|
||||||
scenarios := []struct {
|
scenarios := []struct {
|
||||||
name string
|
name string
|
||||||
jsonData string
|
jsonData string
|
||||||
@@ -302,7 +322,7 @@ func TestImportCollections(t *testing.T) {
|
|||||||
name: "empty collections",
|
name: "empty collections",
|
||||||
jsonData: `[]`,
|
jsonData: `[]`,
|
||||||
expectError: true,
|
expectError: true,
|
||||||
expectCollectionsCount: 8,
|
expectCollectionsCount: totalCollections,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "minimal collection import",
|
name: "minimal collection import",
|
||||||
@@ -312,7 +332,7 @@ func TestImportCollections(t *testing.T) {
|
|||||||
]`,
|
]`,
|
||||||
deleteMissing: false,
|
deleteMissing: false,
|
||||||
expectError: false,
|
expectError: false,
|
||||||
expectCollectionsCount: 10,
|
expectCollectionsCount: totalCollections + 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "minimal collection import + failed beforeRecordsSync",
|
name: "minimal collection import + failed beforeRecordsSync",
|
||||||
@@ -324,7 +344,7 @@ func TestImportCollections(t *testing.T) {
|
|||||||
},
|
},
|
||||||
deleteMissing: false,
|
deleteMissing: false,
|
||||||
expectError: true,
|
expectError: true,
|
||||||
expectCollectionsCount: 8,
|
expectCollectionsCount: totalCollections,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "minimal collection import + successful beforeRecordsSync",
|
name: "minimal collection import + successful beforeRecordsSync",
|
||||||
@@ -336,7 +356,7 @@ func TestImportCollections(t *testing.T) {
|
|||||||
},
|
},
|
||||||
deleteMissing: false,
|
deleteMissing: false,
|
||||||
expectError: false,
|
expectError: false,
|
||||||
expectCollectionsCount: 9,
|
expectCollectionsCount: totalCollections + 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "new + update + delete system collection",
|
name: "new + update + delete system collection",
|
||||||
@@ -372,7 +392,7 @@ func TestImportCollections(t *testing.T) {
|
|||||||
]`,
|
]`,
|
||||||
deleteMissing: true,
|
deleteMissing: true,
|
||||||
expectError: true,
|
expectError: true,
|
||||||
expectCollectionsCount: 8,
|
expectCollectionsCount: totalCollections,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "new + update + delete non-system collection",
|
name: "new + update + delete non-system collection",
|
||||||
@@ -442,11 +462,19 @@ func TestImportCollections(t *testing.T) {
|
|||||||
"type":"bool"
|
"type":"bool"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "test_new_view",
|
||||||
|
"name": "new_view",
|
||||||
|
"type": "view",
|
||||||
|
"options": {
|
||||||
|
"query": "select id from demo2"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]`,
|
]`,
|
||||||
deleteMissing: true,
|
deleteMissing: true,
|
||||||
expectError: false,
|
expectError: false,
|
||||||
expectCollectionsCount: 3,
|
expectCollectionsCount: 4,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "test with deleteMissing: false",
|
name: "test with deleteMissing: false",
|
||||||
@@ -501,7 +529,7 @@ func TestImportCollections(t *testing.T) {
|
|||||||
]`,
|
]`,
|
||||||
deleteMissing: false,
|
deleteMissing: false,
|
||||||
expectError: false,
|
expectError: false,
|
||||||
expectCollectionsCount: 9,
|
expectCollectionsCount: totalCollections + 1,
|
||||||
afterTestFunc: func(testApp *tests.TestApp, resultCollections []*models.Collection) {
|
afterTestFunc: func(testApp *tests.TestApp, resultCollections []*models.Collection) {
|
||||||
expectedCollectionFields := map[string]int{
|
expectedCollectionFields := map[string]int{
|
||||||
"nologin": 1,
|
"nologin": 1,
|
||||||
@@ -509,7 +537,7 @@ func TestImportCollections(t *testing.T) {
|
|||||||
"demo2": 2,
|
"demo2": 2,
|
||||||
"demo3": 2,
|
"demo3": 2,
|
||||||
"demo4": 11,
|
"demo4": 11,
|
||||||
"demo5": 5,
|
"demo5": 6,
|
||||||
"new_import": 1,
|
"new_import": 1,
|
||||||
}
|
}
|
||||||
for name, expectedCount := range expectedCollectionFields {
|
for name, expectedCount := range expectedCollectionFields {
|
||||||
|
|||||||
+10
-2
@@ -128,7 +128,11 @@ func (dao *Dao) FindRecordsByExpr(collectionNameOrId string, exprs ...dbx.Expres
|
|||||||
|
|
||||||
// FindFirstRecordByData returns the first found record matching
|
// FindFirstRecordByData returns the first found record matching
|
||||||
// the provided key-value pair.
|
// the provided key-value pair.
|
||||||
func (dao *Dao) FindFirstRecordByData(collectionNameOrId string, key string, value any) (*models.Record, error) {
|
func (dao *Dao) FindFirstRecordByData(
|
||||||
|
collectionNameOrId string,
|
||||||
|
key string,
|
||||||
|
value any,
|
||||||
|
) (*models.Record, error) {
|
||||||
collection, err := dao.FindCollectionByNameOrId(collectionNameOrId)
|
collection, err := dao.FindCollectionByNameOrId(collectionNameOrId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -396,11 +400,15 @@ func (dao *Dao) cascadeRecordDelete(mainRecord *models.Record, refs map[*models.
|
|||||||
uniqueJsonEachAlias := "__je__" + security.PseudorandomString(4)
|
uniqueJsonEachAlias := "__je__" + security.PseudorandomString(4)
|
||||||
|
|
||||||
for refCollection, fields := range refs {
|
for refCollection, fields := range refs {
|
||||||
|
if refCollection.IsView() {
|
||||||
|
continue // skip view collections
|
||||||
|
}
|
||||||
|
|
||||||
for _, field := range fields {
|
for _, field := range fields {
|
||||||
recordTableName := inflector.Columnify(refCollection.Name)
|
recordTableName := inflector.Columnify(refCollection.Name)
|
||||||
prefixedFieldName := recordTableName + "." + inflector.Columnify(field.Name)
|
prefixedFieldName := recordTableName + "." + inflector.Columnify(field.Name)
|
||||||
|
|
||||||
// @todo optimize single relation lookup in v0.12+
|
// @todo optimize single relation lookup
|
||||||
query := dao.RecordQuery(refCollection).
|
query := dao.RecordQuery(refCollection).
|
||||||
Distinct(true).
|
Distinct(true).
|
||||||
InnerJoin(fmt.Sprintf(
|
InnerJoin(fmt.Sprintf(
|
||||||
|
|||||||
+23
-1
@@ -1,7 +1,10 @@
|
|||||||
package daos
|
package daos
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"github.com/pocketbase/dbx"
|
"github.com/pocketbase/dbx"
|
||||||
|
"github.com/pocketbase/pocketbase/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
// HasTable checks if a table with the provided name exists (case insensitive).
|
// HasTable checks if a table with the provided name exists (case insensitive).
|
||||||
@@ -29,9 +32,28 @@ func (dao *Dao) GetTableColumns(tableName string) ([]string, error) {
|
|||||||
return columns, err
|
return columns, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetTableInfo returns the `table_info` pragma result for the specified table.
|
||||||
|
func (dao *Dao) GetTableInfo(tableName string) ([]*models.TableInfoRow, error) {
|
||||||
|
info := []*models.TableInfoRow{}
|
||||||
|
|
||||||
|
err := dao.DB().NewQuery("SELECT * FROM PRAGMA_TABLE_INFO({:tableName})").
|
||||||
|
Bind(dbx.Params{"tableName": tableName}).
|
||||||
|
All(&info)
|
||||||
|
|
||||||
|
return info, err
|
||||||
|
}
|
||||||
|
|
||||||
// DeleteTable drops the specified table.
|
// DeleteTable drops the specified table.
|
||||||
|
//
|
||||||
|
// This method is a no-op if a table with the provided name doesn't exist.
|
||||||
|
//
|
||||||
|
// Be aware that this method is vulnerable to SQL injection and the
|
||||||
|
// "tableName" argument must come only from trusted input!
|
||||||
func (dao *Dao) DeleteTable(tableName string) error {
|
func (dao *Dao) DeleteTable(tableName string) error {
|
||||||
_, err := dao.DB().DropTable(tableName).Execute()
|
_, err := dao.DB().NewQuery(fmt.Sprintf(
|
||||||
|
"DROP TABLE IF EXISTS {{%s}}",
|
||||||
|
tableName,
|
||||||
|
)).Execute()
|
||||||
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
+43
-12
@@ -3,6 +3,7 @@ package daos_test
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"database/sql"
|
"database/sql"
|
||||||
|
"encoding/json"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -28,7 +29,7 @@ func TestHasTable(t *testing.T) {
|
|||||||
for i, scenario := range scenarios {
|
for i, scenario := range scenarios {
|
||||||
result := app.Dao().HasTable(scenario.tableName)
|
result := app.Dao().HasTable(scenario.tableName)
|
||||||
if result != scenario.expected {
|
if result != scenario.expected {
|
||||||
t.Errorf("(%d) Expected %v, got %v", i, scenario.expected, result)
|
t.Errorf("[%d] Expected %v, got %v", i, scenario.expected, result)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -45,21 +46,50 @@ func TestGetTableColumns(t *testing.T) {
|
|||||||
{"_params", []string{"id", "key", "value", "created", "updated"}},
|
{"_params", []string{"id", "key", "value", "created", "updated"}},
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, scenario := range scenarios {
|
for i, s := range scenarios {
|
||||||
columns, _ := app.Dao().GetTableColumns(scenario.tableName)
|
columns, _ := app.Dao().GetTableColumns(s.tableName)
|
||||||
|
|
||||||
if len(columns) != len(scenario.expected) {
|
if len(columns) != len(s.expected) {
|
||||||
t.Errorf("(%d) Expected columns %v, got %v", i, scenario.expected, columns)
|
t.Errorf("[%d] Expected columns %v, got %v", i, s.expected, columns)
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, c := range columns {
|
for _, c := range columns {
|
||||||
if !list.ExistInSlice(c, scenario.expected) {
|
if !list.ExistInSlice(c, s.expected) {
|
||||||
t.Errorf("(%d) Didn't expect column %s", i, c)
|
t.Errorf("[%d] Didn't expect column %s", i, c)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestGetTableInfo(t *testing.T) {
|
||||||
|
app, _ := tests.NewTestApp()
|
||||||
|
defer app.Cleanup()
|
||||||
|
|
||||||
|
scenarios := []struct {
|
||||||
|
tableName string
|
||||||
|
expected string
|
||||||
|
}{
|
||||||
|
{"", "[]"},
|
||||||
|
{"missing", "[]"},
|
||||||
|
{
|
||||||
|
"_admins",
|
||||||
|
`[{"PK":1,"Index":0,"Name":"id","Type":"TEXT","NotNull":false,"DefaultValue":null},{"PK":0,"Index":1,"Name":"avatar","Type":"INTEGER","NotNull":true,"DefaultValue":0},{"PK":0,"Index":2,"Name":"email","Type":"TEXT","NotNull":true,"DefaultValue":null},{"PK":0,"Index":3,"Name":"tokenKey","Type":"TEXT","NotNull":true,"DefaultValue":null},{"PK":0,"Index":4,"Name":"passwordHash","Type":"TEXT","NotNull":true,"DefaultValue":null},{"PK":0,"Index":5,"Name":"lastResetSentAt","Type":"TEXT","NotNull":true,"DefaultValue":""},{"PK":0,"Index":6,"Name":"created","Type":"TEXT","NotNull":true,"DefaultValue":""},{"PK":0,"Index":7,"Name":"updated","Type":"TEXT","NotNull":true,"DefaultValue":""}]`,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for i, s := range scenarios {
|
||||||
|
rows, _ := app.Dao().GetTableInfo(s.tableName)
|
||||||
|
|
||||||
|
raw, _ := json.Marshal(rows)
|
||||||
|
rawStr := string(raw)
|
||||||
|
|
||||||
|
if rawStr != s.expected {
|
||||||
|
t.Errorf("[%d] Expected \n%v, \ngot \n%v", i, s.expected, rawStr)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestDeleteTable(t *testing.T) {
|
func TestDeleteTable(t *testing.T) {
|
||||||
app, _ := tests.NewTestApp()
|
app, _ := tests.NewTestApp()
|
||||||
defer app.Cleanup()
|
defer app.Cleanup()
|
||||||
@@ -69,16 +99,17 @@ func TestDeleteTable(t *testing.T) {
|
|||||||
expectError bool
|
expectError bool
|
||||||
}{
|
}{
|
||||||
{"", true},
|
{"", true},
|
||||||
{"test", true},
|
{"test", false}, // missing tables are ignored
|
||||||
{"_admins", false},
|
{"_admins", false},
|
||||||
{"demo3", false},
|
{"demo3", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, scenario := range scenarios {
|
for i, s := range scenarios {
|
||||||
err := app.Dao().DeleteTable(scenario.tableName)
|
err := app.Dao().DeleteTable(s.tableName)
|
||||||
|
|
||||||
hasErr := err != nil
|
hasErr := err != nil
|
||||||
if hasErr != scenario.expectError {
|
if hasErr != s.expectError {
|
||||||
t.Errorf("(%d) Expected hasErr %v, got %v", i, scenario.expectError, hasErr)
|
t.Errorf("[%d] Expected hasErr %v, got %v", i, s.expectError, hasErr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+583
@@ -0,0 +1,583 @@
|
|||||||
|
package daos
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
"regexp"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/pocketbase/dbx"
|
||||||
|
"github.com/pocketbase/pocketbase/models"
|
||||||
|
"github.com/pocketbase/pocketbase/models/schema"
|
||||||
|
"github.com/pocketbase/pocketbase/tools/inflector"
|
||||||
|
"github.com/pocketbase/pocketbase/tools/list"
|
||||||
|
"github.com/pocketbase/pocketbase/tools/security"
|
||||||
|
"github.com/pocketbase/pocketbase/tools/tokenizer"
|
||||||
|
"github.com/pocketbase/pocketbase/tools/types"
|
||||||
|
)
|
||||||
|
|
||||||
|
// DeleteView drops the specified view name.
|
||||||
|
//
|
||||||
|
// This method is a no-op if a view with the provided name doesn't exist.
|
||||||
|
//
|
||||||
|
// Be aware that this method is vulnerable to SQL injection and the
|
||||||
|
// "name" argument must come only from trusted input!
|
||||||
|
func (dao *Dao) DeleteView(name string) error {
|
||||||
|
_, err := dao.DB().NewQuery(fmt.Sprintf(
|
||||||
|
"DROP VIEW IF EXISTS {{%s}}",
|
||||||
|
name,
|
||||||
|
)).Execute()
|
||||||
|
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// SaveView creates (or updates already existing) persistent SQL view.
|
||||||
|
//
|
||||||
|
// Be aware that this method is vulnerable to SQL injection and the
|
||||||
|
// "selectQuery" argument must come only from trusted input!
|
||||||
|
func (dao *Dao) SaveView(name string, selectQuery string) error {
|
||||||
|
return dao.RunInTransaction(func(txDao *Dao) error {
|
||||||
|
// delete old view (if exists)
|
||||||
|
if err := txDao.DeleteView(name); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
trimmed := strings.Trim(selectQuery, ";")
|
||||||
|
|
||||||
|
// try to eagerly detect multiple inline statements
|
||||||
|
tk := tokenizer.NewFromString(trimmed)
|
||||||
|
tk.Separators(';')
|
||||||
|
if queryParts, _ := tk.ScanAll(); len(queryParts) > 1 {
|
||||||
|
return errors.New("multiple statements are not supported")
|
||||||
|
}
|
||||||
|
|
||||||
|
// (re)create the view
|
||||||
|
//
|
||||||
|
// note: the query is wrapped in a secondary SELECT as a rudimentary
|
||||||
|
// measure to discourage multiple inline sql statements execution.
|
||||||
|
viewQuery := fmt.Sprintf("CREATE VIEW {{%s}} AS SELECT * FROM (%s)", name, trimmed)
|
||||||
|
if _, err := txDao.DB().NewQuery(viewQuery).Execute(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// fetch the view table info to ensure that the view was created
|
||||||
|
// because missing tables or columns won't return an error
|
||||||
|
if _, err := txDao.GetTableInfo(name); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// CreateViewSchema creates a new view schema from the provided select query.
|
||||||
|
//
|
||||||
|
// There are some caveats:
|
||||||
|
// - The select query must have an "id" column.
|
||||||
|
// - Wildcard ("*") columns are not supported to avoid accidentally leaking sensitive data.
|
||||||
|
func (dao *Dao) CreateViewSchema(selectQuery string) (schema.Schema, error) {
|
||||||
|
result := schema.NewSchema()
|
||||||
|
|
||||||
|
suggestedFields, err := dao.parseQueryToFields(selectQuery)
|
||||||
|
if err != nil {
|
||||||
|
return result, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// note wrap in a transaction in case the selectQuery contains
|
||||||
|
// multiple statements allowing us to rollback on any error
|
||||||
|
txErr := dao.RunInTransaction(func(txDao *Dao) error {
|
||||||
|
tempView := "_temp_" + security.PseudorandomString(5)
|
||||||
|
// create a temp view with the provided query
|
||||||
|
if err := txDao.SaveView(tempView, selectQuery); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer txDao.DeleteView(tempView)
|
||||||
|
|
||||||
|
// extract the generated view table info
|
||||||
|
info, err := txDao.GetTableInfo(tempView)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
var hasId bool
|
||||||
|
|
||||||
|
for _, row := range info {
|
||||||
|
if row.Name == schema.FieldNameId {
|
||||||
|
hasId = true
|
||||||
|
}
|
||||||
|
|
||||||
|
if list.ExistInSlice(row.Name, schema.BaseModelFieldNames()) {
|
||||||
|
continue // skip base model fields since they are not part of the schema
|
||||||
|
}
|
||||||
|
|
||||||
|
var field *schema.SchemaField
|
||||||
|
|
||||||
|
if f, ok := suggestedFields[row.Name]; ok {
|
||||||
|
field = f.field
|
||||||
|
} else {
|
||||||
|
field = defaultViewField(row.Name)
|
||||||
|
}
|
||||||
|
|
||||||
|
result.AddField(field)
|
||||||
|
}
|
||||||
|
|
||||||
|
if !hasId {
|
||||||
|
return errors.New("missing required id column (you ca use `(ROW_NUMBER() OVER()) as id` if you don't have one)")
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
|
||||||
|
return result, txErr
|
||||||
|
}
|
||||||
|
|
||||||
|
// FindRecordByViewFile returns the original models.Record of the
|
||||||
|
// provided view collection file.
|
||||||
|
func (dao *Dao) FindRecordByViewFile(
|
||||||
|
viewCollectionNameOrId string,
|
||||||
|
fileFieldName string,
|
||||||
|
filename string,
|
||||||
|
) (*models.Record, error) {
|
||||||
|
view, err := dao.FindCollectionByNameOrId(viewCollectionNameOrId)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if !view.IsView() {
|
||||||
|
return nil, errors.New("not a view collection")
|
||||||
|
}
|
||||||
|
|
||||||
|
var findFirstNonViewQueryFileField func(int) (*queryField, error)
|
||||||
|
findFirstNonViewQueryFileField = func(level int) (*queryField, error) {
|
||||||
|
// check the level depth to prevent infinite circular recursion
|
||||||
|
// (the limit is arbitrary and may change in the future)
|
||||||
|
if level > 5 {
|
||||||
|
return nil, errors.New("reached the max recursion level of view collection file field queries")
|
||||||
|
}
|
||||||
|
|
||||||
|
queryFields, err := dao.parseQueryToFields(view.ViewOptions().Query)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, item := range queryFields {
|
||||||
|
if item.collection == nil ||
|
||||||
|
item.original == nil ||
|
||||||
|
item.field.Name != fileFieldName {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if item.collection.IsView() {
|
||||||
|
view = item.collection
|
||||||
|
fileFieldName = item.original.Name
|
||||||
|
return findFirstNonViewQueryFileField(level + 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
return item, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, errors.New("no query file field found")
|
||||||
|
}
|
||||||
|
|
||||||
|
qf, err := findFirstNonViewQueryFileField(1)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanFieldName := inflector.Columnify(qf.original.Name)
|
||||||
|
|
||||||
|
row := dbx.NullStringMap{}
|
||||||
|
|
||||||
|
err = dao.RecordQuery(qf.collection).
|
||||||
|
InnerJoin(fmt.Sprintf(
|
||||||
|
// note: the case is used to normalize the value access
|
||||||
|
`json_each(CASE WHEN json_valid([[%s]]) THEN [[%s]] ELSE json_array([[%s]]) END) as {{_je_file}}`,
|
||||||
|
cleanFieldName, cleanFieldName, cleanFieldName,
|
||||||
|
), dbx.HashExp{"_je_file.value": filename}).
|
||||||
|
Limit(1).
|
||||||
|
One(row)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return models.NewRecordFromNullStringMap(qf.collection, row), nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
// Raw query to schema helpers
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
|
||||||
|
type queryField struct {
|
||||||
|
// field is the final resolved field.
|
||||||
|
field *schema.SchemaField
|
||||||
|
|
||||||
|
// collection refers to the original field's collection model.
|
||||||
|
// It could be nil if the found query field is not from a collection schema.
|
||||||
|
collection *models.Collection
|
||||||
|
|
||||||
|
// original is the original found collection field.
|
||||||
|
// It could be nil if the found query field is not from a collection schema.
|
||||||
|
original *schema.SchemaField
|
||||||
|
}
|
||||||
|
|
||||||
|
func defaultViewField(name string) *schema.SchemaField {
|
||||||
|
return &schema.SchemaField{
|
||||||
|
Name: name,
|
||||||
|
Type: schema.FieldTypeJson,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (dao *Dao) parseQueryToFields(selectQuery string) (map[string]*queryField, error) {
|
||||||
|
p := new(identifiersParser)
|
||||||
|
if err := p.parse(selectQuery); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
collections, err := dao.findCollectionsByIdentifiers(p.tables)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
result := make(map[string]*queryField, len(p.columns))
|
||||||
|
|
||||||
|
var mainTable identifier
|
||||||
|
|
||||||
|
if len(p.tables) > 0 {
|
||||||
|
mainTable = p.tables[0]
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, col := range p.columns {
|
||||||
|
colLower := strings.ToLower(col.original)
|
||||||
|
|
||||||
|
// numeric expression cast
|
||||||
|
if strings.Contains(colLower, "(") &&
|
||||||
|
(strings.HasPrefix(colLower, "count(") ||
|
||||||
|
strings.HasPrefix(colLower, "total(") ||
|
||||||
|
strings.Contains(colLower, " as numeric") ||
|
||||||
|
strings.Contains(colLower, " as real") ||
|
||||||
|
strings.Contains(colLower, " as int") ||
|
||||||
|
strings.Contains(colLower, " as integer") ||
|
||||||
|
strings.Contains(colLower, " as decimal")) {
|
||||||
|
result[col.alias] = &queryField{
|
||||||
|
field: &schema.SchemaField{
|
||||||
|
Name: col.alias,
|
||||||
|
Type: schema.FieldTypeNumber,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
parts := strings.Split(col.original, ".")
|
||||||
|
|
||||||
|
var fieldName string
|
||||||
|
var collection *models.Collection
|
||||||
|
var isMainTableField bool
|
||||||
|
|
||||||
|
if len(parts) == 2 {
|
||||||
|
fieldName = parts[1]
|
||||||
|
collection = collections[parts[0]]
|
||||||
|
isMainTableField = parts[0] == mainTable.alias
|
||||||
|
} else {
|
||||||
|
fieldName = parts[0]
|
||||||
|
collection = collections[mainTable.alias]
|
||||||
|
isMainTableField = true
|
||||||
|
}
|
||||||
|
|
||||||
|
// fallback to the default field if the found column is not from a collection schema
|
||||||
|
if collection == nil {
|
||||||
|
result[col.alias] = &queryField{
|
||||||
|
field: defaultViewField(col.alias),
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if fieldName == "*" {
|
||||||
|
return nil, errors.New("dynamic column names are not supported")
|
||||||
|
}
|
||||||
|
|
||||||
|
// find the first field by name (case insensitive)
|
||||||
|
var field *schema.SchemaField
|
||||||
|
for _, f := range collection.Schema.Fields() {
|
||||||
|
if strings.EqualFold(f.Name, fieldName) {
|
||||||
|
field = f
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if field != nil {
|
||||||
|
clone := *field
|
||||||
|
clone.Name = col.alias
|
||||||
|
result[col.alias] = &queryField{
|
||||||
|
field: &clone,
|
||||||
|
collection: collection,
|
||||||
|
original: field,
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if fieldName == schema.FieldNameId && !isMainTableField {
|
||||||
|
// convert to relation since it is a direct id reference to non-maintable collection
|
||||||
|
result[col.alias] = &queryField{
|
||||||
|
field: &schema.SchemaField{
|
||||||
|
Name: col.alias,
|
||||||
|
Type: schema.FieldTypeRelation,
|
||||||
|
Options: &schema.RelationOptions{
|
||||||
|
MaxSelect: types.Pointer(1),
|
||||||
|
CollectionId: collection.Id,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
collection: collection,
|
||||||
|
}
|
||||||
|
} else if fieldName == schema.FieldNameCreated || fieldName == schema.FieldNameUpdated {
|
||||||
|
result[col.alias] = &queryField{
|
||||||
|
field: &schema.SchemaField{
|
||||||
|
Name: col.alias,
|
||||||
|
Type: schema.FieldTypeDate,
|
||||||
|
},
|
||||||
|
collection: collection,
|
||||||
|
}
|
||||||
|
} else if fieldName == schema.FieldNameUsername && collection.IsAuth() {
|
||||||
|
result[col.alias] = &queryField{
|
||||||
|
field: &schema.SchemaField{
|
||||||
|
Name: col.alias,
|
||||||
|
Type: schema.FieldTypeText,
|
||||||
|
},
|
||||||
|
collection: collection,
|
||||||
|
}
|
||||||
|
} else if fieldName == schema.FieldNameEmail && collection.IsAuth() {
|
||||||
|
result[col.alias] = &queryField{
|
||||||
|
field: &schema.SchemaField{
|
||||||
|
Name: col.alias,
|
||||||
|
Type: schema.FieldTypeEmail,
|
||||||
|
},
|
||||||
|
collection: collection,
|
||||||
|
}
|
||||||
|
} else if (fieldName == schema.FieldNameVerified || fieldName == schema.FieldNameEmailVisibility) && collection.IsAuth() {
|
||||||
|
result[col.alias] = &queryField{
|
||||||
|
field: &schema.SchemaField{
|
||||||
|
Name: col.alias,
|
||||||
|
Type: schema.FieldTypeBool,
|
||||||
|
},
|
||||||
|
collection: collection,
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
result[col.alias] = &queryField{
|
||||||
|
field: defaultViewField(col.alias),
|
||||||
|
collection: collection,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (dao *Dao) findCollectionsByIdentifiers(tables []identifier) (map[string]*models.Collection, error) {
|
||||||
|
names := make([]any, 0, len(tables))
|
||||||
|
|
||||||
|
for _, table := range tables {
|
||||||
|
if strings.Contains(table.alias, "(") {
|
||||||
|
continue // skip expressions
|
||||||
|
}
|
||||||
|
names = append(names, table.original)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(names) == 0 {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
result := make(map[string]*models.Collection, len(names))
|
||||||
|
collections := make([]*models.Collection, 0, len(names))
|
||||||
|
|
||||||
|
err := dao.CollectionQuery().
|
||||||
|
AndWhere(dbx.In("name", names...)).
|
||||||
|
All(&collections)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, table := range tables {
|
||||||
|
for _, collection := range collections {
|
||||||
|
if collection.Name == table.original {
|
||||||
|
result[table.alias] = collection
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
// Raw query identifiers parser
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
|
||||||
|
var joinReplaceRegex = regexp.MustCompile(`(?im)\s+(inner join|outer join|left join|right join|join)\s+?`)
|
||||||
|
var discardReplaceRegex = regexp.MustCompile(`(?im)\s+(where|group by|having|order|limit|with)\s+?`)
|
||||||
|
var commentsReplaceRegex = regexp.MustCompile(`(?m)(\/\*[\s\S]+\*\/)|(--.+$)`)
|
||||||
|
|
||||||
|
type identifier struct {
|
||||||
|
original string
|
||||||
|
alias string
|
||||||
|
}
|
||||||
|
|
||||||
|
type identifiersParser struct {
|
||||||
|
columns []identifier
|
||||||
|
tables []identifier
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *identifiersParser) parse(selectQuery string) error {
|
||||||
|
str := strings.Trim(selectQuery, ";")
|
||||||
|
str = joinReplaceRegex.ReplaceAllString(str, " _join_ ")
|
||||||
|
str = discardReplaceRegex.ReplaceAllString(str, " _discard_ ")
|
||||||
|
str = commentsReplaceRegex.ReplaceAllString(str, "")
|
||||||
|
|
||||||
|
tk := tokenizer.NewFromString(str)
|
||||||
|
tk.Separators(',', ' ', '\n', '\t')
|
||||||
|
tk.KeepSeparator(true)
|
||||||
|
|
||||||
|
var skip bool
|
||||||
|
var partType string
|
||||||
|
var activeBuilder *strings.Builder
|
||||||
|
var selectParts strings.Builder
|
||||||
|
var fromParts strings.Builder
|
||||||
|
var joinParts strings.Builder
|
||||||
|
|
||||||
|
for {
|
||||||
|
token, err := tk.Scan()
|
||||||
|
if err != nil {
|
||||||
|
if err != io.EOF {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
trimmed := strings.ToLower(strings.TrimSpace(token))
|
||||||
|
|
||||||
|
switch trimmed {
|
||||||
|
case "select":
|
||||||
|
skip = false
|
||||||
|
partType = "select"
|
||||||
|
activeBuilder = &selectParts
|
||||||
|
case "from":
|
||||||
|
skip = false
|
||||||
|
partType = "from"
|
||||||
|
activeBuilder = &fromParts
|
||||||
|
case "_join_":
|
||||||
|
skip = false
|
||||||
|
|
||||||
|
// the previous part was also a join
|
||||||
|
if partType == "join" {
|
||||||
|
joinParts.WriteString(",")
|
||||||
|
}
|
||||||
|
|
||||||
|
partType = "join"
|
||||||
|
activeBuilder = &joinParts
|
||||||
|
case "_discard_":
|
||||||
|
// do nothing...
|
||||||
|
skip = true
|
||||||
|
default:
|
||||||
|
isJoin := partType == "join"
|
||||||
|
|
||||||
|
if isJoin && trimmed == "on" {
|
||||||
|
skip = true
|
||||||
|
}
|
||||||
|
|
||||||
|
if !skip && activeBuilder != nil {
|
||||||
|
activeBuilder.WriteString(" ")
|
||||||
|
activeBuilder.WriteString(token)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
selects, err := extractIdentifiers(selectParts.String())
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
froms, err := extractIdentifiers(fromParts.String())
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
joins, err := extractIdentifiers(joinParts.String())
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
p.columns = selects
|
||||||
|
p.tables = froms
|
||||||
|
p.tables = append(p.tables, joins...)
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func extractIdentifiers(rawExpression string) ([]identifier, error) {
|
||||||
|
rawTk := tokenizer.NewFromString(rawExpression)
|
||||||
|
rawTk.Separators(',')
|
||||||
|
|
||||||
|
rawIdentifiers, err := rawTk.ScanAll()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
result := make([]identifier, 0, len(rawIdentifiers))
|
||||||
|
|
||||||
|
for _, rawIdentifier := range rawIdentifiers {
|
||||||
|
tk := tokenizer.NewFromString(rawIdentifier)
|
||||||
|
tk.Separators(' ', '\n', '\t')
|
||||||
|
|
||||||
|
parts, err := tk.ScanAll()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
resolved, err := identifierFromParts(parts)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
result = append(result, resolved)
|
||||||
|
}
|
||||||
|
|
||||||
|
return result, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func identifierFromParts(parts []string) (identifier, error) {
|
||||||
|
var result identifier
|
||||||
|
|
||||||
|
switch len(parts) {
|
||||||
|
case 3:
|
||||||
|
if !strings.EqualFold(parts[1], "as") {
|
||||||
|
return result, fmt.Errorf(`invalid identifier part - expected "as", got %v`, parts[1])
|
||||||
|
}
|
||||||
|
|
||||||
|
result.original = parts[0]
|
||||||
|
result.alias = parts[2]
|
||||||
|
case 2:
|
||||||
|
result.original = parts[0]
|
||||||
|
result.alias = parts[1]
|
||||||
|
case 1:
|
||||||
|
subParts := strings.Split(parts[0], ".")
|
||||||
|
result.original = parts[0]
|
||||||
|
result.alias = subParts[len(subParts)-1]
|
||||||
|
default:
|
||||||
|
return result, fmt.Errorf(`invalid identifier parts %v`, parts)
|
||||||
|
}
|
||||||
|
|
||||||
|
result.original = trimRawIdentifier(result.original)
|
||||||
|
result.alias = trimRawIdentifier(result.alias)
|
||||||
|
|
||||||
|
return result, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func trimRawIdentifier(rawIdentifier string) string {
|
||||||
|
const trimChars = "`\"[];"
|
||||||
|
|
||||||
|
parts := strings.Split(rawIdentifier, ".")
|
||||||
|
|
||||||
|
for i := range parts {
|
||||||
|
parts[i] = strings.Trim(parts[i], trimChars)
|
||||||
|
}
|
||||||
|
|
||||||
|
return strings.Join(parts, ".")
|
||||||
|
}
|
||||||
@@ -0,0 +1,539 @@
|
|||||||
|
package daos_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/pocketbase/pocketbase/models"
|
||||||
|
"github.com/pocketbase/pocketbase/models/schema"
|
||||||
|
"github.com/pocketbase/pocketbase/tests"
|
||||||
|
"github.com/pocketbase/pocketbase/tools/list"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestDeleteView(t *testing.T) {
|
||||||
|
app, _ := tests.NewTestApp()
|
||||||
|
defer app.Cleanup()
|
||||||
|
|
||||||
|
scenarios := []struct {
|
||||||
|
viewName string
|
||||||
|
expectError bool
|
||||||
|
}{
|
||||||
|
{"", true},
|
||||||
|
{"demo1", true}, // not a view table
|
||||||
|
{"missing", false}, // missing or already deleted
|
||||||
|
{"view1", false}, // existing
|
||||||
|
{"VieW1", false}, // view names are case insensitives
|
||||||
|
}
|
||||||
|
|
||||||
|
for i, s := range scenarios {
|
||||||
|
err := app.Dao().DeleteView(s.viewName)
|
||||||
|
|
||||||
|
hasErr := err != nil
|
||||||
|
if hasErr != s.expectError {
|
||||||
|
t.Errorf("[%d - %q] Expected hasErr %v, got %v (%v)", i, s.viewName, s.expectError, hasErr, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSaveView(t *testing.T) {
|
||||||
|
app, _ := tests.NewTestApp()
|
||||||
|
defer app.Cleanup()
|
||||||
|
|
||||||
|
scenarios := []struct {
|
||||||
|
scenarioName string
|
||||||
|
viewName string
|
||||||
|
query string
|
||||||
|
expectError bool
|
||||||
|
expectColumns []string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
"empty name and query",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
true,
|
||||||
|
nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"empty name",
|
||||||
|
"",
|
||||||
|
"select * from _admins",
|
||||||
|
true,
|
||||||
|
nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"empty query",
|
||||||
|
"123Test",
|
||||||
|
"",
|
||||||
|
true,
|
||||||
|
nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"invalid query",
|
||||||
|
"123Test",
|
||||||
|
"123 456",
|
||||||
|
true,
|
||||||
|
nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"missing table",
|
||||||
|
"123Test",
|
||||||
|
"select * from missing",
|
||||||
|
true,
|
||||||
|
nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"non select query",
|
||||||
|
"123Test",
|
||||||
|
"drop table _admins",
|
||||||
|
true,
|
||||||
|
nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"multiple select queries",
|
||||||
|
"123Test",
|
||||||
|
"select *, count(id) as c from _admins; select * from demo1;",
|
||||||
|
true,
|
||||||
|
nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"try to break the parent parenthesis",
|
||||||
|
"123Test",
|
||||||
|
"select *, count(id) as c from `_admins`)",
|
||||||
|
true,
|
||||||
|
nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"simple select query (+ trimmed semicolon)",
|
||||||
|
"123Test",
|
||||||
|
";select *, count(id) as c from _admins;",
|
||||||
|
false,
|
||||||
|
[]string{
|
||||||
|
"id", "created", "updated",
|
||||||
|
"passwordHash", "tokenKey", "email",
|
||||||
|
"lastResetSentAt", "avatar", "c",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"update old view with new query",
|
||||||
|
"123Test",
|
||||||
|
"select 1 as test from _admins",
|
||||||
|
false,
|
||||||
|
[]string{"test"},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, s := range scenarios {
|
||||||
|
err := app.Dao().SaveView(s.viewName, s.query)
|
||||||
|
|
||||||
|
hasErr := err != nil
|
||||||
|
if hasErr != s.expectError {
|
||||||
|
t.Errorf("[%s] Expected hasErr %v, got %v (%v)", s.scenarioName, s.expectError, hasErr, err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if hasErr {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
infoRows, err := app.Dao().GetTableInfo(s.viewName)
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("[%s] Failed to fetch table info for %s: %v", s.scenarioName, s.viewName, err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(s.expectColumns) != len(infoRows) {
|
||||||
|
t.Errorf("[%s] Expected %d columns, got %d", s.scenarioName, len(s.expectColumns), len(infoRows))
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, row := range infoRows {
|
||||||
|
if !list.ExistInSlice(row.Name, s.expectColumns) {
|
||||||
|
t.Errorf("[%s] Missing %q column in %v", s.scenarioName, row.Name, s.expectColumns)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestCreateViewSchema(t *testing.T) {
|
||||||
|
app, _ := tests.NewTestApp()
|
||||||
|
defer app.Cleanup()
|
||||||
|
|
||||||
|
scenarios := []struct {
|
||||||
|
name string
|
||||||
|
query string
|
||||||
|
expectError bool
|
||||||
|
expectFields map[string]string // name-type pairs
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
"empty query",
|
||||||
|
"",
|
||||||
|
true,
|
||||||
|
nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"invalid query",
|
||||||
|
"test 123456",
|
||||||
|
true,
|
||||||
|
nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"missing table",
|
||||||
|
"select * from missing",
|
||||||
|
true,
|
||||||
|
nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query with wildcard column",
|
||||||
|
"select a.id, a.* from demo1 a",
|
||||||
|
true,
|
||||||
|
nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query without id",
|
||||||
|
"select text, url, created, updated from demo1",
|
||||||
|
true,
|
||||||
|
nil,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query with comments",
|
||||||
|
`
|
||||||
|
select
|
||||||
|
-- test single line
|
||||||
|
id,
|
||||||
|
text,
|
||||||
|
/* multi
|
||||||
|
line comment */
|
||||||
|
url, created, updated from demo1
|
||||||
|
`,
|
||||||
|
false,
|
||||||
|
map[string]string{
|
||||||
|
"text": schema.FieldTypeText,
|
||||||
|
"url": schema.FieldTypeUrl,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query with all fields and quoted identifiers",
|
||||||
|
`
|
||||||
|
select
|
||||||
|
"id",
|
||||||
|
"created",
|
||||||
|
"updated",
|
||||||
|
[text],
|
||||||
|
` + "`bool`" + `,
|
||||||
|
"url",
|
||||||
|
"select_one",
|
||||||
|
"select_many",
|
||||||
|
"file_one",
|
||||||
|
"demo1"."file_many",
|
||||||
|
` + "`demo1`." + "`number`" + ` number_alias,
|
||||||
|
"email",
|
||||||
|
"datetime",
|
||||||
|
"json",
|
||||||
|
"rel_one",
|
||||||
|
"rel_many"
|
||||||
|
from demo1
|
||||||
|
`,
|
||||||
|
false,
|
||||||
|
map[string]string{
|
||||||
|
"text": schema.FieldTypeText,
|
||||||
|
"bool": schema.FieldTypeBool,
|
||||||
|
"url": schema.FieldTypeUrl,
|
||||||
|
"select_one": schema.FieldTypeSelect,
|
||||||
|
"select_many": schema.FieldTypeSelect,
|
||||||
|
"file_one": schema.FieldTypeFile,
|
||||||
|
"file_many": schema.FieldTypeFile,
|
||||||
|
"number_alias": schema.FieldTypeNumber,
|
||||||
|
"email": schema.FieldTypeEmail,
|
||||||
|
"datetime": schema.FieldTypeDate,
|
||||||
|
"json": schema.FieldTypeJson,
|
||||||
|
"rel_one": schema.FieldTypeRelation,
|
||||||
|
"rel_many": schema.FieldTypeRelation,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query with indirect relations fields",
|
||||||
|
"select a.id, b.id as bid, b.created from demo1 as a left join demo2 b",
|
||||||
|
false,
|
||||||
|
map[string]string{
|
||||||
|
"bid": schema.FieldTypeRelation,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query with multiple froms, joins and style of aliasses",
|
||||||
|
`
|
||||||
|
select
|
||||||
|
a.id as id,
|
||||||
|
b.id as bid,
|
||||||
|
lj.id cid,
|
||||||
|
ij.id as did,
|
||||||
|
a.bool,
|
||||||
|
_admins.id as eid,
|
||||||
|
_admins.email
|
||||||
|
from demo1 a, demo2 as b
|
||||||
|
left join demo3 lj on lj.id = 123
|
||||||
|
inner join demo4 as ij on ij.id = 123
|
||||||
|
join _admins
|
||||||
|
where 1=1
|
||||||
|
group by a.id
|
||||||
|
limit 10
|
||||||
|
`,
|
||||||
|
false,
|
||||||
|
map[string]string{
|
||||||
|
"bid": schema.FieldTypeRelation,
|
||||||
|
"cid": schema.FieldTypeRelation,
|
||||||
|
"did": schema.FieldTypeRelation,
|
||||||
|
"bool": schema.FieldTypeBool,
|
||||||
|
"eid": schema.FieldTypeJson, // not from collection
|
||||||
|
"email": schema.FieldTypeJson, // not from collection
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query with numeric casts",
|
||||||
|
`select
|
||||||
|
a.id,
|
||||||
|
count(a.id) count,
|
||||||
|
cast(a.id as int) cast_int,
|
||||||
|
cast(a.id as integer) cast_integer,
|
||||||
|
cast(a.id as real) cast_real,
|
||||||
|
cast(a.id as decimal) cast_decimal,
|
||||||
|
cast(a.id as numeric) cast_numeric,
|
||||||
|
avg(a.id) avg,
|
||||||
|
sum(a.id) sum,
|
||||||
|
total(a.id) total,
|
||||||
|
min(a.id) min,
|
||||||
|
max(a.id) max
|
||||||
|
from demo1 a`,
|
||||||
|
false,
|
||||||
|
map[string]string{
|
||||||
|
"count": schema.FieldTypeNumber,
|
||||||
|
"total": schema.FieldTypeNumber,
|
||||||
|
"cast_int": schema.FieldTypeNumber,
|
||||||
|
"cast_integer": schema.FieldTypeNumber,
|
||||||
|
"cast_real": schema.FieldTypeNumber,
|
||||||
|
"cast_decimal": schema.FieldTypeNumber,
|
||||||
|
"cast_numeric": schema.FieldTypeNumber,
|
||||||
|
// json because they are nullable
|
||||||
|
"sum": schema.FieldTypeJson,
|
||||||
|
"avg": schema.FieldTypeJson,
|
||||||
|
"min": schema.FieldTypeJson,
|
||||||
|
"max": schema.FieldTypeJson,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query with reserved auth collection fields",
|
||||||
|
`
|
||||||
|
select
|
||||||
|
a.id,
|
||||||
|
a.username,
|
||||||
|
a.email,
|
||||||
|
a.emailVisibility,
|
||||||
|
a.verified,
|
||||||
|
demo1.id relid
|
||||||
|
from users a
|
||||||
|
left join demo1
|
||||||
|
`,
|
||||||
|
false,
|
||||||
|
map[string]string{
|
||||||
|
"username": schema.FieldTypeText,
|
||||||
|
"email": schema.FieldTypeEmail,
|
||||||
|
"emailVisibility": schema.FieldTypeBool,
|
||||||
|
"verified": schema.FieldTypeBool,
|
||||||
|
"relid": schema.FieldTypeRelation,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query with unknown fields and aliases",
|
||||||
|
`select
|
||||||
|
id,
|
||||||
|
id as id2,
|
||||||
|
text as text_alias,
|
||||||
|
url as url_alias,
|
||||||
|
"demo1"."bool" as bool_alias,
|
||||||
|
number as number_alias,
|
||||||
|
created created_alias,
|
||||||
|
updated updated_alias,
|
||||||
|
123 as custom
|
||||||
|
from demo1
|
||||||
|
`,
|
||||||
|
false,
|
||||||
|
map[string]string{
|
||||||
|
"id2": schema.FieldTypeJson,
|
||||||
|
"text_alias": schema.FieldTypeText,
|
||||||
|
"url_alias": schema.FieldTypeUrl,
|
||||||
|
"bool_alias": schema.FieldTypeBool,
|
||||||
|
"number_alias": schema.FieldTypeNumber,
|
||||||
|
"created_alias": schema.FieldTypeDate,
|
||||||
|
"updated_alias": schema.FieldTypeDate,
|
||||||
|
"custom": schema.FieldTypeJson,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, s := range scenarios {
|
||||||
|
result, err := app.Dao().CreateViewSchema(s.query)
|
||||||
|
|
||||||
|
hasErr := err != nil
|
||||||
|
if hasErr != s.expectError {
|
||||||
|
t.Errorf("[%s] Expected hasErr %v, got %v (%v)", s.name, s.expectError, hasErr, err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if hasErr {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(s.expectFields) != len(result.Fields()) {
|
||||||
|
serialized, _ := json.Marshal(result)
|
||||||
|
t.Errorf("[%s] Expected %d fields, got %d: \n%s", s.name, len(s.expectFields), len(result.Fields()), serialized)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
for name, typ := range s.expectFields {
|
||||||
|
field := result.GetFieldByName(name)
|
||||||
|
|
||||||
|
if field == nil {
|
||||||
|
t.Errorf("[%s] Expected to find field %s, got nil", s.name, name)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if field.Type != typ {
|
||||||
|
t.Errorf("[%s] Expected field %s to be %q, got %s", s.name, name, typ, field.Type)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestFindRecordByViewFile(t *testing.T) {
|
||||||
|
app, _ := tests.NewTestApp()
|
||||||
|
defer app.Cleanup()
|
||||||
|
|
||||||
|
prevCollection, err := app.Dao().FindCollectionByNameOrId("demo1")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
totalLevels := 6
|
||||||
|
|
||||||
|
// create collection view mocks
|
||||||
|
fileOneAlias := "file_one one0"
|
||||||
|
fileManyAlias := "file_many many0"
|
||||||
|
mockCollections := make([]*models.Collection, 0, totalLevels)
|
||||||
|
for i := 0; i <= totalLevels; i++ {
|
||||||
|
view := new(models.Collection)
|
||||||
|
view.Type = models.CollectionTypeView
|
||||||
|
view.Name = fmt.Sprintf("_test_view%d", i)
|
||||||
|
view.SetOptions(&models.CollectionViewOptions{
|
||||||
|
Query: fmt.Sprintf(
|
||||||
|
"select id, %s, %s from %s",
|
||||||
|
fileOneAlias,
|
||||||
|
fileManyAlias,
|
||||||
|
prevCollection.Name,
|
||||||
|
),
|
||||||
|
})
|
||||||
|
|
||||||
|
// save view
|
||||||
|
if err := app.Dao().SaveCollection(view); err != nil {
|
||||||
|
t.Fatalf("Failed to save view%d: %v", i, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
mockCollections = append(mockCollections, view)
|
||||||
|
prevCollection = view
|
||||||
|
fileOneAlias = fmt.Sprintf("one%d one%d", i, i+1)
|
||||||
|
fileManyAlias = fmt.Sprintf("many%d many%d", i, i+1)
|
||||||
|
}
|
||||||
|
|
||||||
|
fileOneName := "test_d61b33QdDU.txt"
|
||||||
|
fileManyName := "test_QZFjKjXchk.txt"
|
||||||
|
expectedRecordId := "84nmscqy84lsi1t"
|
||||||
|
|
||||||
|
scenarios := []struct {
|
||||||
|
name string
|
||||||
|
collectionNameOrId string
|
||||||
|
fileFieldName string
|
||||||
|
filename string
|
||||||
|
expectError bool
|
||||||
|
expectRecordId string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
"missing collection",
|
||||||
|
"missing",
|
||||||
|
"a",
|
||||||
|
fileOneName,
|
||||||
|
true,
|
||||||
|
"",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"non-view collection",
|
||||||
|
"demo1",
|
||||||
|
"file_one",
|
||||||
|
fileOneName,
|
||||||
|
true,
|
||||||
|
"",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"view collection after the max recursion limit",
|
||||||
|
mockCollections[totalLevels-1].Name,
|
||||||
|
fmt.Sprintf("one%d", totalLevels-1),
|
||||||
|
fileOneName,
|
||||||
|
true,
|
||||||
|
"",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"first view collection (single file)",
|
||||||
|
mockCollections[0].Name,
|
||||||
|
"one0",
|
||||||
|
fileOneName,
|
||||||
|
false,
|
||||||
|
expectedRecordId,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"first view collection (many files)",
|
||||||
|
mockCollections[0].Name,
|
||||||
|
"many0",
|
||||||
|
fileManyName,
|
||||||
|
false,
|
||||||
|
expectedRecordId,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"last view collection before the recursion limit (single file)",
|
||||||
|
mockCollections[totalLevels-2].Name,
|
||||||
|
fmt.Sprintf("one%d", totalLevels-2),
|
||||||
|
fileOneName,
|
||||||
|
false,
|
||||||
|
expectedRecordId,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last view collection before the recursion limit (many files)",
|
||||||
|
mockCollections[totalLevels-2].Name,
|
||||||
|
fmt.Sprintf("many%d", totalLevels-2),
|
||||||
|
fileManyName,
|
||||||
|
false,
|
||||||
|
expectedRecordId,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, s := range scenarios {
|
||||||
|
record, err := app.Dao().FindRecordByViewFile(
|
||||||
|
s.collectionNameOrId,
|
||||||
|
s.fileFieldName,
|
||||||
|
s.filename,
|
||||||
|
)
|
||||||
|
|
||||||
|
hasErr := err != nil
|
||||||
|
if hasErr != s.expectError {
|
||||||
|
t.Errorf("[%s] Expected hasErr %v, got %v (%v)", s.name, s.expectError, hasErr, err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if hasErr {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if record.Id != s.expectRecordId {
|
||||||
|
t.Errorf("[%s] Expected recordId %q, got %q", s.name, s.expectRecordId, record.Id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+83
-25
@@ -69,7 +69,7 @@ func NewCollectionUpsert(app core.App, collection *models.Collection) *Collectio
|
|||||||
}
|
}
|
||||||
|
|
||||||
clone, _ := form.collection.Schema.Clone()
|
clone, _ := form.collection.Schema.Clone()
|
||||||
if clone != nil {
|
if clone != nil && form.Type != models.CollectionTypeView {
|
||||||
form.Schema = *clone
|
form.Schema = *clone
|
||||||
} else {
|
} else {
|
||||||
form.Schema = schema.Schema{}
|
form.Schema = schema.Schema{}
|
||||||
@@ -86,6 +86,16 @@ func (form *CollectionUpsert) SetDao(dao *daos.Dao) {
|
|||||||
// Validate makes the form validatable by implementing [validation.Validatable] interface.
|
// Validate makes the form validatable by implementing [validation.Validatable] interface.
|
||||||
func (form *CollectionUpsert) Validate() error {
|
func (form *CollectionUpsert) Validate() error {
|
||||||
isAuth := form.Type == models.CollectionTypeAuth
|
isAuth := form.Type == models.CollectionTypeAuth
|
||||||
|
isView := form.Type == models.CollectionTypeView
|
||||||
|
|
||||||
|
// generate schema from the query (overwriting any explicit user defined schema)
|
||||||
|
if isView {
|
||||||
|
options := models.CollectionViewOptions{}
|
||||||
|
if err := decodeOptions(form.Options, &options); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
form.Schema, _ = form.dao.CreateViewSchema(options.Query)
|
||||||
|
}
|
||||||
|
|
||||||
return validation.ValidateStruct(form,
|
return validation.ValidateStruct(form,
|
||||||
validation.Field(
|
validation.Field(
|
||||||
@@ -104,7 +114,11 @@ func (form *CollectionUpsert) Validate() error {
|
|||||||
validation.Field(
|
validation.Field(
|
||||||
&form.Type,
|
&form.Type,
|
||||||
validation.Required,
|
validation.Required,
|
||||||
validation.In(models.CollectionTypeAuth, models.CollectionTypeBase),
|
validation.In(
|
||||||
|
models.CollectionTypeBase,
|
||||||
|
models.CollectionTypeAuth,
|
||||||
|
models.CollectionTypeView,
|
||||||
|
),
|
||||||
validation.By(form.ensureNoTypeChange),
|
validation.By(form.ensureNoTypeChange),
|
||||||
),
|
),
|
||||||
validation.Field(
|
validation.Field(
|
||||||
@@ -115,23 +129,32 @@ func (form *CollectionUpsert) Validate() error {
|
|||||||
validation.By(form.ensureNoSystemNameChange),
|
validation.By(form.ensureNoSystemNameChange),
|
||||||
validation.By(form.checkUniqueName),
|
validation.By(form.checkUniqueName),
|
||||||
),
|
),
|
||||||
// validates using the type's own validation rules + some collection's specific
|
// validates using the type's own validation rules + some collection's specifics
|
||||||
validation.Field(
|
validation.Field(
|
||||||
&form.Schema,
|
&form.Schema,
|
||||||
validation.By(form.checkMinSchemaFields),
|
validation.By(form.checkMinSchemaFields),
|
||||||
validation.By(form.ensureNoSystemFieldsChange),
|
validation.By(form.ensureNoSystemFieldsChange),
|
||||||
validation.By(form.ensureNoFieldsTypeChange),
|
validation.By(form.ensureNoFieldsTypeChange),
|
||||||
validation.By(form.checkRelationFields),
|
validation.By(form.checkRelationFields),
|
||||||
validation.When(
|
validation.When(isAuth, validation.By(form.ensureNoAuthFieldName)),
|
||||||
isAuth,
|
|
||||||
validation.By(form.ensureNoAuthFieldName),
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
validation.Field(&form.ListRule, validation.By(form.checkRule)),
|
validation.Field(&form.ListRule, validation.By(form.checkRule)),
|
||||||
validation.Field(&form.ViewRule, validation.By(form.checkRule)),
|
validation.Field(&form.ViewRule, validation.By(form.checkRule)),
|
||||||
validation.Field(&form.CreateRule, validation.By(form.checkRule)),
|
validation.Field(
|
||||||
validation.Field(&form.UpdateRule, validation.By(form.checkRule)),
|
&form.CreateRule,
|
||||||
validation.Field(&form.DeleteRule, validation.By(form.checkRule)),
|
validation.When(isView, validation.Nil),
|
||||||
|
validation.By(form.checkRule),
|
||||||
|
),
|
||||||
|
validation.Field(
|
||||||
|
&form.UpdateRule,
|
||||||
|
validation.When(isView, validation.Nil),
|
||||||
|
validation.By(form.checkRule),
|
||||||
|
),
|
||||||
|
validation.Field(
|
||||||
|
&form.DeleteRule,
|
||||||
|
validation.When(isView, validation.Nil),
|
||||||
|
validation.By(form.checkRule),
|
||||||
|
),
|
||||||
validation.Field(&form.Options, validation.By(form.checkOptions)),
|
validation.Field(&form.Options, validation.By(form.checkOptions)),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -288,13 +311,15 @@ func (form *CollectionUpsert) ensureNoAuthFieldName(value any) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (form *CollectionUpsert) checkMinSchemaFields(value any) error {
|
func (form *CollectionUpsert) checkMinSchemaFields(value any) error {
|
||||||
if form.Type == models.CollectionTypeAuth {
|
v, _ := value.(schema.Schema)
|
||||||
return nil // auth collections doesn't require having additional schema fields
|
|
||||||
}
|
|
||||||
|
|
||||||
v, ok := value.(schema.Schema)
|
switch form.Type {
|
||||||
if !ok || len(v.Fields()) == 0 {
|
case models.CollectionTypeAuth, models.CollectionTypeView:
|
||||||
return validation.ErrRequired
|
return nil // no schema fields constraint
|
||||||
|
default:
|
||||||
|
if len(v.Fields()) == 0 {
|
||||||
|
return validation.ErrRequired
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@@ -343,15 +368,11 @@ func (form *CollectionUpsert) checkRule(value any) error {
|
|||||||
func (form *CollectionUpsert) checkOptions(value any) error {
|
func (form *CollectionUpsert) checkOptions(value any) error {
|
||||||
v, _ := value.(types.JsonMap)
|
v, _ := value.(types.JsonMap)
|
||||||
|
|
||||||
if form.Type == models.CollectionTypeAuth {
|
switch form.Type {
|
||||||
raw, err := v.MarshalJSON()
|
case models.CollectionTypeAuth:
|
||||||
if err != nil {
|
|
||||||
return validation.NewError("validation_invalid_options", "Invalid options.")
|
|
||||||
}
|
|
||||||
|
|
||||||
options := models.CollectionAuthOptions{}
|
options := models.CollectionAuthOptions{}
|
||||||
if err := json.Unmarshal(raw, &options); err != nil {
|
if err := decodeOptions(v, &options); err != nil {
|
||||||
return validation.NewError("validation_invalid_options", "Invalid options.")
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// check the generic validations
|
// check the generic validations
|
||||||
@@ -363,6 +384,39 @@ func (form *CollectionUpsert) checkOptions(value any) error {
|
|||||||
if err := form.checkRule(options.ManageRule); err != nil {
|
if err := form.checkRule(options.ManageRule); err != nil {
|
||||||
return validation.Errors{"manageRule": err}
|
return validation.Errors{"manageRule": err}
|
||||||
}
|
}
|
||||||
|
case models.CollectionTypeView:
|
||||||
|
options := models.CollectionViewOptions{}
|
||||||
|
if err := decodeOptions(v, &options); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the generic validations
|
||||||
|
if err := options.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the query option
|
||||||
|
if _, err := form.dao.CreateViewSchema(options.Query); err != nil {
|
||||||
|
return validation.Errors{
|
||||||
|
"query": validation.NewError(
|
||||||
|
"validation_invalid_view_query",
|
||||||
|
fmt.Sprintf("Invalid query - %s", err.Error()),
|
||||||
|
),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func decodeOptions(options types.JsonMap, result any) error {
|
||||||
|
raw, err := options.MarshalJSON()
|
||||||
|
if err != nil {
|
||||||
|
return validation.NewError("validation_invalid_options", "Invalid options.")
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := json.Unmarshal(raw, result); err != nil {
|
||||||
|
return validation.NewError("validation_invalid_options", "Invalid options.")
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@@ -398,7 +452,11 @@ func (form *CollectionUpsert) Submit(interceptors ...InterceptorFunc[*models.Col
|
|||||||
form.collection.Name = form.Name
|
form.collection.Name = form.Name
|
||||||
}
|
}
|
||||||
|
|
||||||
form.collection.Schema = form.Schema
|
// view schema is autogenerated on save
|
||||||
|
if !form.collection.IsView() {
|
||||||
|
form.collection.Schema = form.Schema
|
||||||
|
}
|
||||||
|
|
||||||
form.collection.ListRule = form.ListRule
|
form.collection.ListRule = form.ListRule
|
||||||
form.collection.ViewRule = form.ViewRule
|
form.collection.ViewRule = form.ViewRule
|
||||||
form.collection.CreateRule = form.CreateRule
|
form.collection.CreateRule = form.CreateRule
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ func TestNewCollectionUpsert(t *testing.T) {
|
|||||||
collection.Name = "test_name"
|
collection.Name = "test_name"
|
||||||
collection.Type = "test_type"
|
collection.Type = "test_type"
|
||||||
collection.System = true
|
collection.System = true
|
||||||
listRule := "testview"
|
listRule := "test_list"
|
||||||
collection.ListRule = &listRule
|
collection.ListRule = &listRule
|
||||||
viewRule := "test_view"
|
viewRule := "test_view"
|
||||||
collection.ViewRule = &viewRule
|
collection.ViewRule = &viewRule
|
||||||
@@ -98,6 +98,7 @@ func TestCollectionUpsertValidateAndSubmit(t *testing.T) {
|
|||||||
}{
|
}{
|
||||||
{"empty create (base)", "", "{}", []string{"name", "schema"}},
|
{"empty create (base)", "", "{}", []string{"name", "schema"}},
|
||||||
{"empty create (auth)", "", `{"type":"auth"}`, []string{"name"}},
|
{"empty create (auth)", "", `{"type":"auth"}`, []string{"name"}},
|
||||||
|
{"empty create (view)", "", `{"type":"view"}`, []string{"name", "options"}},
|
||||||
{"empty update", "demo2", "{}", []string{}},
|
{"empty update", "demo2", "{}", []string{}},
|
||||||
{
|
{
|
||||||
"create failure",
|
"create failure",
|
||||||
@@ -188,7 +189,7 @@ func TestCollectionUpsertValidateAndSubmit(t *testing.T) {
|
|||||||
[]string{"schema"},
|
[]string{"schema"},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"create failure - check type options validators",
|
"create failure - check auth options validators",
|
||||||
"",
|
"",
|
||||||
`{
|
`{
|
||||||
"name": "test_new",
|
"name": "test_new",
|
||||||
@@ -200,6 +201,16 @@ func TestCollectionUpsertValidateAndSubmit(t *testing.T) {
|
|||||||
}`,
|
}`,
|
||||||
[]string{"options"},
|
[]string{"options"},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"create failure - check view options validators",
|
||||||
|
"",
|
||||||
|
`{
|
||||||
|
"name": "test_new",
|
||||||
|
"type": "view",
|
||||||
|
"options": { "query": "invalid query" }
|
||||||
|
}`,
|
||||||
|
[]string{"options"},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"create success",
|
"create success",
|
||||||
"",
|
"",
|
||||||
@@ -356,6 +367,99 @@ func TestCollectionUpsertValidateAndSubmit(t *testing.T) {
|
|||||||
}`,
|
}`,
|
||||||
[]string{},
|
[]string{},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// view tests
|
||||||
|
// -----------------------------------------------------------
|
||||||
|
{
|
||||||
|
"view create failure",
|
||||||
|
"",
|
||||||
|
`{
|
||||||
|
"name": "upsert_view",
|
||||||
|
"type": "view",
|
||||||
|
"listRule": "id='123' && verified = true",
|
||||||
|
"viewRule": "id='123' && emailVisibility = true",
|
||||||
|
"schema": [
|
||||||
|
{"id":"abc123","name":"some invalid field name that will be overwritten !@#$","type":"bool"}
|
||||||
|
],
|
||||||
|
"options": {
|
||||||
|
"query": "select id, email from users; drop table _admins;"
|
||||||
|
}
|
||||||
|
}`,
|
||||||
|
[]string{
|
||||||
|
"listRule",
|
||||||
|
"viewRule",
|
||||||
|
"options",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"view create success",
|
||||||
|
"",
|
||||||
|
`{
|
||||||
|
"name": "upsert_view",
|
||||||
|
"type": "view",
|
||||||
|
"listRule": "id='123' && verified = true",
|
||||||
|
"viewRule": "id='123' && emailVisibility = true",
|
||||||
|
"schema": [
|
||||||
|
{"id":"abc123","name":"some invalid field name that will be overwritten !@#$","type":"bool"}
|
||||||
|
],
|
||||||
|
"options": {
|
||||||
|
"query": "select id, emailVisibility, verified from users"
|
||||||
|
}
|
||||||
|
}`,
|
||||||
|
[]string{
|
||||||
|
// "schema", should be overwritten by an autogenerated from the query
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"view update failure (schema autogeneration and rule fields check)",
|
||||||
|
"upsert_view",
|
||||||
|
`{
|
||||||
|
"name": "upsert_view_2",
|
||||||
|
"listRule": "id='456' && verified = true",
|
||||||
|
"viewRule": "id='456'",
|
||||||
|
"createRule": "id='123'",
|
||||||
|
"updateRule": "id='123'",
|
||||||
|
"deleteRule": "id='123'",
|
||||||
|
"schema": [
|
||||||
|
{"id":"abc123","name":"verified","type":"bool"}
|
||||||
|
],
|
||||||
|
"options": {
|
||||||
|
"query": "select 1 as id"
|
||||||
|
}
|
||||||
|
}`,
|
||||||
|
[]string{
|
||||||
|
"listRule", // missing field (ignoring the old or explicit schema)
|
||||||
|
"createRule", // not allowed
|
||||||
|
"updateRule", // not allowed
|
||||||
|
"deleteRule", // not allowed
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"view update failure (check query identifiers format)",
|
||||||
|
"upsert_view",
|
||||||
|
`{
|
||||||
|
"listRule": null,
|
||||||
|
"viewRule": null,
|
||||||
|
"options": {
|
||||||
|
"query": "select 1 as id, 2 as [invalid!@#]"
|
||||||
|
}
|
||||||
|
}`,
|
||||||
|
[]string{
|
||||||
|
"schema", // should fail due to invalid field name
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"view update success",
|
||||||
|
"upsert_view",
|
||||||
|
`{
|
||||||
|
"listRule": null,
|
||||||
|
"viewRule": null,
|
||||||
|
"options": {
|
||||||
|
"query": "select 1 as id, 2 as valid"
|
||||||
|
}
|
||||||
|
}`,
|
||||||
|
[]string{},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, s := range scenarios {
|
for _, s := range scenarios {
|
||||||
@@ -454,10 +558,19 @@ func TestCollectionUpsertValidateAndSubmit(t *testing.T) {
|
|||||||
t.Errorf("[%s] Expected DeleteRule %v, got %v", s.testName, collection.DeleteRule, form.DeleteRule)
|
t.Errorf("[%s] Expected DeleteRule %v, got %v", s.testName, collection.DeleteRule, form.DeleteRule)
|
||||||
}
|
}
|
||||||
|
|
||||||
formSchema, _ := form.Schema.MarshalJSON()
|
rawFormSchema, _ := form.Schema.MarshalJSON()
|
||||||
collectionSchema, _ := collection.Schema.MarshalJSON()
|
rawCollectionSchema, _ := collection.Schema.MarshalJSON()
|
||||||
if string(formSchema) != string(collectionSchema) {
|
|
||||||
t.Errorf("[%s] Expected Schema %v, got %v", s.testName, string(collectionSchema), string(formSchema))
|
if len(form.Schema.Fields()) != len(collection.Schema.Fields()) {
|
||||||
|
t.Errorf("[%s] Expected Schema \n%v, \ngot \n%v", s.testName, string(rawCollectionSchema), string(rawFormSchema))
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, f := range form.Schema.Fields() {
|
||||||
|
if collection.Schema.GetFieldByName(f.Name) == nil {
|
||||||
|
t.Errorf("[%s] Missing field %s \nin \n%v", s.testName, f.Name, string(rawFormSchema))
|
||||||
|
continue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ func TestCollectionsImportValidate(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestCollectionsImportSubmit(t *testing.T) {
|
func TestCollectionsImportSubmit(t *testing.T) {
|
||||||
|
totalCollections := 10
|
||||||
|
|
||||||
scenarios := []struct {
|
scenarios := []struct {
|
||||||
name string
|
name string
|
||||||
jsonData string
|
jsonData string
|
||||||
@@ -52,7 +54,7 @@ func TestCollectionsImportSubmit(t *testing.T) {
|
|||||||
"collections": []
|
"collections": []
|
||||||
}`,
|
}`,
|
||||||
expectError: true,
|
expectError: true,
|
||||||
expectCollectionsCount: 8,
|
expectCollectionsCount: totalCollections,
|
||||||
expectEvents: nil,
|
expectEvents: nil,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -82,7 +84,7 @@ func TestCollectionsImportSubmit(t *testing.T) {
|
|||||||
]
|
]
|
||||||
}`,
|
}`,
|
||||||
expectError: true,
|
expectError: true,
|
||||||
expectCollectionsCount: 8,
|
expectCollectionsCount: totalCollections,
|
||||||
expectEvents: map[string]int{
|
expectEvents: map[string]int{
|
||||||
"OnModelBeforeCreate": 2,
|
"OnModelBeforeCreate": 2,
|
||||||
},
|
},
|
||||||
@@ -101,7 +103,7 @@ func TestCollectionsImportSubmit(t *testing.T) {
|
|||||||
]
|
]
|
||||||
}`,
|
}`,
|
||||||
expectError: true,
|
expectError: true,
|
||||||
expectCollectionsCount: 8,
|
expectCollectionsCount: totalCollections,
|
||||||
expectEvents: map[string]int{
|
expectEvents: map[string]int{
|
||||||
"OnModelBeforeCreate": 2,
|
"OnModelBeforeCreate": 2,
|
||||||
},
|
},
|
||||||
@@ -137,7 +139,7 @@ func TestCollectionsImportSubmit(t *testing.T) {
|
|||||||
]
|
]
|
||||||
}`,
|
}`,
|
||||||
expectError: false,
|
expectError: false,
|
||||||
expectCollectionsCount: 11,
|
expectCollectionsCount: totalCollections + 3,
|
||||||
expectEvents: map[string]int{
|
expectEvents: map[string]int{
|
||||||
"OnModelBeforeCreate": 3,
|
"OnModelBeforeCreate": 3,
|
||||||
"OnModelAfterCreate": 3,
|
"OnModelAfterCreate": 3,
|
||||||
@@ -160,7 +162,7 @@ func TestCollectionsImportSubmit(t *testing.T) {
|
|||||||
]
|
]
|
||||||
}`,
|
}`,
|
||||||
expectError: true,
|
expectError: true,
|
||||||
expectCollectionsCount: 8,
|
expectCollectionsCount: totalCollections,
|
||||||
expectEvents: map[string]int{
|
expectEvents: map[string]int{
|
||||||
"OnModelBeforeCreate": 1,
|
"OnModelBeforeCreate": 1,
|
||||||
},
|
},
|
||||||
@@ -202,7 +204,7 @@ func TestCollectionsImportSubmit(t *testing.T) {
|
|||||||
]
|
]
|
||||||
}`,
|
}`,
|
||||||
expectError: true,
|
expectError: true,
|
||||||
expectCollectionsCount: 8,
|
expectCollectionsCount: totalCollections,
|
||||||
expectEvents: map[string]int{
|
expectEvents: map[string]int{
|
||||||
"OnModelBeforeDelete": 5,
|
"OnModelBeforeDelete": 5,
|
||||||
},
|
},
|
||||||
@@ -253,7 +255,7 @@ func TestCollectionsImportSubmit(t *testing.T) {
|
|||||||
]
|
]
|
||||||
}`,
|
}`,
|
||||||
expectError: false,
|
expectError: false,
|
||||||
expectCollectionsCount: 10,
|
expectCollectionsCount: totalCollections + 2,
|
||||||
expectEvents: map[string]int{
|
expectEvents: map[string]int{
|
||||||
"OnModelBeforeUpdate": 1,
|
"OnModelBeforeUpdate": 1,
|
||||||
"OnModelAfterUpdate": 1,
|
"OnModelAfterUpdate": 1,
|
||||||
@@ -341,8 +343,8 @@ func TestCollectionsImportSubmit(t *testing.T) {
|
|||||||
"OnModelAfterUpdate": 2,
|
"OnModelAfterUpdate": 2,
|
||||||
"OnModelBeforeCreate": 1,
|
"OnModelBeforeCreate": 1,
|
||||||
"OnModelAfterCreate": 1,
|
"OnModelAfterCreate": 1,
|
||||||
"OnModelBeforeDelete": 6,
|
"OnModelBeforeDelete": totalCollections - 2,
|
||||||
"OnModelAfterDelete": 6,
|
"OnModelAfterDelete": totalCollections - 2,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
+34
-2
@@ -17,6 +17,7 @@ var (
|
|||||||
const (
|
const (
|
||||||
CollectionTypeBase = "base"
|
CollectionTypeBase = "base"
|
||||||
CollectionTypeAuth = "auth"
|
CollectionTypeAuth = "auth"
|
||||||
|
CollectionTypeView = "view"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Collection struct {
|
type Collection struct {
|
||||||
@@ -52,11 +53,16 @@ func (m *Collection) IsBase() bool {
|
|||||||
return m.Type == CollectionTypeBase
|
return m.Type == CollectionTypeBase
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsBase checks if the current collection has "auth" type.
|
// IsAuth checks if the current collection has "auth" type.
|
||||||
func (m *Collection) IsAuth() bool {
|
func (m *Collection) IsAuth() bool {
|
||||||
return m.Type == CollectionTypeAuth
|
return m.Type == CollectionTypeAuth
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IsView checks if the current collection has "view" type.
|
||||||
|
func (m *Collection) IsView() bool {
|
||||||
|
return m.Type == CollectionTypeView
|
||||||
|
}
|
||||||
|
|
||||||
// MarshalJSON implements the [json.Marshaler] interface.
|
// MarshalJSON implements the [json.Marshaler] interface.
|
||||||
func (m Collection) MarshalJSON() ([]byte, error) {
|
func (m Collection) MarshalJSON() ([]byte, error) {
|
||||||
type alias Collection // prevent recursion
|
type alias Collection // prevent recursion
|
||||||
@@ -82,6 +88,14 @@ func (m *Collection) AuthOptions() CollectionAuthOptions {
|
|||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ViewOptions decodes the current collection options and returns them
|
||||||
|
// as new [CollectionViewOptions] instance.
|
||||||
|
func (m *Collection) ViewOptions() CollectionViewOptions {
|
||||||
|
result := CollectionViewOptions{}
|
||||||
|
m.DecodeOptions(&result)
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
// NormalizeOptions updates the current collection options with a
|
// NormalizeOptions updates the current collection options with a
|
||||||
// new normalized state based on the collection type.
|
// new normalized state based on the collection type.
|
||||||
func (m *Collection) NormalizeOptions() error {
|
func (m *Collection) NormalizeOptions() error {
|
||||||
@@ -89,6 +103,8 @@ func (m *Collection) NormalizeOptions() error {
|
|||||||
switch m.Type {
|
switch m.Type {
|
||||||
case CollectionTypeAuth:
|
case CollectionTypeAuth:
|
||||||
typedOptions = m.AuthOptions()
|
typedOptions = m.AuthOptions()
|
||||||
|
case CollectionTypeView:
|
||||||
|
typedOptions = m.ViewOptions()
|
||||||
default:
|
default:
|
||||||
typedOptions = m.BaseOptions()
|
typedOptions = m.BaseOptions()
|
||||||
}
|
}
|
||||||
@@ -143,7 +159,7 @@ func (m *Collection) SetOptions(typedOptions any) error {
|
|||||||
|
|
||||||
// -------------------------------------------------------------------
|
// -------------------------------------------------------------------
|
||||||
|
|
||||||
// CollectionAuthOptions defines the "base" Collection.Options fields.
|
// CollectionBaseOptions defines the "base" Collection.Options fields.
|
||||||
type CollectionBaseOptions struct {
|
type CollectionBaseOptions struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -152,6 +168,8 @@ func (o CollectionBaseOptions) Validate() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
|
||||||
// CollectionAuthOptions defines the "auth" Collection.Options fields.
|
// CollectionAuthOptions defines the "auth" Collection.Options fields.
|
||||||
type CollectionAuthOptions struct {
|
type CollectionAuthOptions struct {
|
||||||
ManageRule *string `form:"manageRule" json:"manageRule"`
|
ManageRule *string `form:"manageRule" json:"manageRule"`
|
||||||
@@ -184,3 +202,17 @@ func (o CollectionAuthOptions) Validate() error {
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
|
||||||
|
// CollectionViewOptions defines the "view" Collection.Options fields.
|
||||||
|
type CollectionViewOptions struct {
|
||||||
|
Query string `form:"query" json:"query"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate implements [validation.Validatable] interface.
|
||||||
|
func (o CollectionViewOptions) Validate() error {
|
||||||
|
return validation.ValidateStruct(&o,
|
||||||
|
validation.Field(&o.Query, validation.Required),
|
||||||
|
)
|
||||||
|
}
|
||||||
+99
-11
@@ -97,11 +97,11 @@ func TestCollectionMarshalJSON(t *testing.T) {
|
|||||||
for _, s := range scenarios {
|
for _, s := range scenarios {
|
||||||
result, err := s.collection.MarshalJSON()
|
result, err := s.collection.MarshalJSON()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("(%s) Unexpected error %v", s.name, err)
|
t.Errorf("[%s] Unexpected error %v", s.name, err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if string(result) != s.expected {
|
if string(result) != s.expected {
|
||||||
t.Errorf("(%s) Expected\n%v \ngot \n%v", s.name, s.expected, string(result))
|
t.Errorf("[%s] Expected\n%v \ngot \n%v", s.name, s.expected, string(result))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -143,7 +143,7 @@ func TestCollectionBaseOptions(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if strEncoded := string(encoded); strEncoded != s.expected {
|
if strEncoded := string(encoded); strEncoded != s.expected {
|
||||||
t.Errorf("(%s) Expected \n%v \ngot \n%v", s.name, s.expected, strEncoded)
|
t.Errorf("[%s] Expected \n%v \ngot \n%v", s.name, s.expected, strEncoded)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -188,7 +188,52 @@ func TestCollectionAuthOptions(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if strEncoded := string(encoded); strEncoded != s.expected {
|
if strEncoded := string(encoded); strEncoded != s.expected {
|
||||||
t.Errorf("(%s) Expected \n%v \ngot \n%v", s.name, s.expected, strEncoded)
|
t.Errorf("[%s] Expected \n%v \ngot \n%v", s.name, s.expected, strEncoded)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestCollectionViewOptions(t *testing.T) {
|
||||||
|
options := types.JsonMap{"query": "select id from demo1", "minPasswordLength": 4}
|
||||||
|
expectedSerialization := `{"query":"select id from demo1"}`
|
||||||
|
|
||||||
|
scenarios := []struct {
|
||||||
|
name string
|
||||||
|
collection models.Collection
|
||||||
|
expected string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
"no type",
|
||||||
|
models.Collection{Options: options},
|
||||||
|
expectedSerialization,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"unknown type",
|
||||||
|
models.Collection{Type: "anything", Options: options},
|
||||||
|
expectedSerialization,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"different type",
|
||||||
|
models.Collection{Type: models.CollectionTypeBase, Options: options},
|
||||||
|
expectedSerialization,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"view type",
|
||||||
|
models.Collection{Type: models.CollectionTypeView, Options: options},
|
||||||
|
expectedSerialization,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, s := range scenarios {
|
||||||
|
result := s.collection.ViewOptions()
|
||||||
|
|
||||||
|
encoded, err := json.Marshal(result)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if strEncoded := string(encoded); strEncoded != s.expected {
|
||||||
|
t.Errorf("[%s] Expected \n%v \ngot \n%v", s.name, s.expected, strEncoded)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -218,7 +263,7 @@ func TestNormalizeOptions(t *testing.T) {
|
|||||||
|
|
||||||
for _, s := range scenarios {
|
for _, s := range scenarios {
|
||||||
if err := s.collection.NormalizeOptions(); err != nil {
|
if err := s.collection.NormalizeOptions(); err != nil {
|
||||||
t.Errorf("(%s) Unexpected error %v", s.name, err)
|
t.Errorf("[%s] Unexpected error %v", s.name, err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -228,7 +273,7 @@ func TestNormalizeOptions(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if strEncoded := string(encoded); strEncoded != s.expected {
|
if strEncoded := string(encoded); strEncoded != s.expected {
|
||||||
t.Errorf("(%s) Expected \n%v \ngot \n%v", s.name, s.expected, strEncoded)
|
t.Errorf("[%s] Expected \n%v \ngot \n%v", s.name, s.expected, strEncoded)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -286,7 +331,7 @@ func TestSetOptions(t *testing.T) {
|
|||||||
|
|
||||||
for _, s := range scenarios {
|
for _, s := range scenarios {
|
||||||
if err := s.collection.SetOptions(s.options); err != nil {
|
if err := s.collection.SetOptions(s.options); err != nil {
|
||||||
t.Errorf("(%s) Unexpected error %v", s.name, err)
|
t.Errorf("[%s] Unexpected error %v", s.name, err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -296,7 +341,7 @@ func TestSetOptions(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if strEncoded := string(encoded); strEncoded != s.expected {
|
if strEncoded := string(encoded); strEncoded != s.expected {
|
||||||
t.Errorf("(%s) Expected \n%v \ngot \n%v", s.name, s.expected, strEncoded)
|
t.Errorf("[%s] Expected \n%v \ngot \n%v", s.name, s.expected, strEncoded)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -378,18 +423,61 @@ func TestCollectionAuthOptionsValidate(t *testing.T) {
|
|||||||
// parse errors
|
// parse errors
|
||||||
errs, ok := result.(validation.Errors)
|
errs, ok := result.(validation.Errors)
|
||||||
if !ok && result != nil {
|
if !ok && result != nil {
|
||||||
t.Errorf("(%s) Failed to parse errors %v", s.name, result)
|
t.Errorf("[%s] Failed to parse errors %v", s.name, result)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(errs) != len(s.expectedErrors) {
|
if len(errs) != len(s.expectedErrors) {
|
||||||
t.Errorf("(%s) Expected error keys %v, got errors \n%v", s.name, s.expectedErrors, result)
|
t.Errorf("[%s] Expected error keys %v, got errors \n%v", s.name, s.expectedErrors, result)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
for key := range errs {
|
for key := range errs {
|
||||||
if !list.ExistInSlice(key, s.expectedErrors) {
|
if !list.ExistInSlice(key, s.expectedErrors) {
|
||||||
t.Errorf("(%s) Unexpected error key %q in \n%v", s.name, key, errs)
|
t.Errorf("[%s] Unexpected error key %q in \n%v", s.name, key, errs)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestCollectionViewOptionsValidate(t *testing.T) {
|
||||||
|
scenarios := []struct {
|
||||||
|
name string
|
||||||
|
options models.CollectionViewOptions
|
||||||
|
expectedErrors []string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
"empty",
|
||||||
|
models.CollectionViewOptions{},
|
||||||
|
[]string{"query"},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"valid data",
|
||||||
|
models.CollectionViewOptions{
|
||||||
|
Query: "test123",
|
||||||
|
},
|
||||||
|
[]string{},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, s := range scenarios {
|
||||||
|
result := s.options.Validate()
|
||||||
|
|
||||||
|
// parse errors
|
||||||
|
errs, ok := result.(validation.Errors)
|
||||||
|
if !ok && result != nil {
|
||||||
|
t.Errorf("[%s] Failed to parse errors %v", s.name, result)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(errs) != len(s.expectedErrors) {
|
||||||
|
t.Errorf("[%s] Expected error keys %v, got errors \n%v", s.name, s.expectedErrors, result)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
for key := range errs {
|
||||||
|
if !list.ExistInSlice(key, s.expectedErrors) {
|
||||||
|
t.Errorf("[%s] Unexpected error key %q in \n%v", s.name, key, errs)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-2
@@ -59,6 +59,9 @@ func nullStringMapValue(data dbx.NullStringMap, key string) any {
|
|||||||
|
|
||||||
// NewRecordFromNullStringMap initializes a single new Record model
|
// NewRecordFromNullStringMap initializes a single new Record model
|
||||||
// with data loaded from the provided NullStringMap.
|
// with data loaded from the provided NullStringMap.
|
||||||
|
//
|
||||||
|
// Note that this method is intended to load and Scan data from a database
|
||||||
|
// result and calls PostScan() which marks the record as "not new".
|
||||||
func NewRecordFromNullStringMap(collection *Collection, data dbx.NullStringMap) *Record {
|
func NewRecordFromNullStringMap(collection *Collection, data dbx.NullStringMap) *Record {
|
||||||
resultMap := make(map[string]any, len(data))
|
resultMap := make(map[string]any, len(data))
|
||||||
|
|
||||||
@@ -89,6 +92,9 @@ func NewRecordFromNullStringMap(collection *Collection, data dbx.NullStringMap)
|
|||||||
|
|
||||||
// NewRecordsFromNullStringMaps initializes a new Record model for
|
// NewRecordsFromNullStringMaps initializes a new Record model for
|
||||||
// each row in the provided NullStringMap slice.
|
// each row in the provided NullStringMap slice.
|
||||||
|
//
|
||||||
|
// Note that this method is intended to load and Scan data from a database
|
||||||
|
// result and calls PostScan() for each record marking them as "not new".
|
||||||
func NewRecordsFromNullStringMaps(collection *Collection, rows []dbx.NullStringMap) []*Record {
|
func NewRecordsFromNullStringMaps(collection *Collection, rows []dbx.NullStringMap) []*Record {
|
||||||
result := make([]*Record, len(rows))
|
result := make([]*Record, len(rows))
|
||||||
|
|
||||||
@@ -469,8 +475,12 @@ func (m *Record) PublicExport() map[string]any {
|
|||||||
|
|
||||||
// export base model fields
|
// export base model fields
|
||||||
result[schema.FieldNameId] = m.GetId()
|
result[schema.FieldNameId] = m.GetId()
|
||||||
result[schema.FieldNameCreated] = m.GetCreated()
|
if created := m.GetCreated(); !m.Collection().IsView() || !created.IsZero() {
|
||||||
result[schema.FieldNameUpdated] = m.GetUpdated()
|
result[schema.FieldNameCreated] = created
|
||||||
|
}
|
||||||
|
if updated := m.GetUpdated(); !m.Collection().IsView() || !updated.IsZero() {
|
||||||
|
result[schema.FieldNameUpdated] = updated
|
||||||
|
}
|
||||||
|
|
||||||
// add helper collection reference fields
|
// add helper collection reference fields
|
||||||
result[schema.FieldNameCollectionId] = m.collection.Id
|
result[schema.FieldNameCollectionId] = m.collection.Id
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ type SchemaField struct {
|
|||||||
func (f *SchemaField) ColDefinition() string {
|
func (f *SchemaField) ColDefinition() string {
|
||||||
switch f.Type {
|
switch f.Type {
|
||||||
case FieldTypeNumber:
|
case FieldTypeNumber:
|
||||||
return "REAL DEFAULT 0"
|
return "NUMERIC DEFAULT 0"
|
||||||
case FieldTypeBool:
|
case FieldTypeBool:
|
||||||
return "BOOLEAN DEFAULT FALSE"
|
return "BOOLEAN DEFAULT FALSE"
|
||||||
case FieldTypeJson:
|
case FieldTypeJson:
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ func TestSchemaFieldColDefinition(t *testing.T) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.SchemaField{Type: schema.FieldTypeNumber, Name: "test"},
|
schema.SchemaField{Type: schema.FieldTypeNumber, Name: "test"},
|
||||||
"REAL DEFAULT 0",
|
"NUMERIC DEFAULT 0",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
schema.SchemaField{Type: schema.FieldTypeBool, Name: "test"},
|
schema.SchemaField{Type: schema.FieldTypeBool, Name: "test"},
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package models
|
||||||
|
|
||||||
|
import "github.com/pocketbase/pocketbase/tools/types"
|
||||||
|
|
||||||
|
type TableInfoRow struct {
|
||||||
|
// the `db:"pk"` tag has special semantic so we cannot rename
|
||||||
|
// the original field without specifying a custom mapper
|
||||||
|
PK int
|
||||||
|
|
||||||
|
Index int `db:"cid"`
|
||||||
|
Name string `db:"name"`
|
||||||
|
Type string `db:"type"`
|
||||||
|
NotNull bool `db:"notnull"`
|
||||||
|
DefaultValue types.JsonRaw `db:"dflt_value"`
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
+1
@@ -0,0 +1 @@
|
|||||||
|
{"user.cache_control":"","user.content_disposition":"","user.content_encoding":"","user.content_language":"","user.content_type":"image/png","user.metadata":{"original-filename":"300_UhLKX91HVb.png"},"md5":"zZhZjzVvCvpcxtMAJie3GQ=="}
|
||||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
+1
@@ -0,0 +1 @@
|
|||||||
|
{"user.cache_control":"","user.content_disposition":"","user.content_encoding":"","user.content_language":"","user.content_type":"image/png","user.metadata":null,"md5":"R7TqfvF8HP3C4+FO2eZ9tg=="}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect x="25.536" y="13.4861" width="1.71467" height="16.7338" transform="rotate(45.9772 25.536 13.4861)" fill="white"/>
|
||||||
|
<path d="M26 14H36.8C37.4628 14 38 14.5373 38 15.2V36.8C38 37.4628 37.4628 38 36.8 38H15.2C14.5373 38 14 37.4628 14 36.8V26" fill="white"/>
|
||||||
|
<path d="M26 14H36.8C37.4628 14 38 14.5373 38 15.2V36.8C38 37.4628 37.4628 38 36.8 38H15.2C14.5373 38 14 37.4628 14 36.8V26" stroke="#16161a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M26 14V3.2C26 2.53726 25.4628 2 24.8 2H3.2C2.53726 2 2 2.53726 2 3.2V24.8C2 25.4628 2.53726 26 3.2 26H14" fill="white"/>
|
||||||
|
<path d="M26 14V3.2C26 2.53726 25.4628 2 24.8 2H3.2C2.53726 2 2 2.53726 2 3.2V24.8C2 25.4628 2.53726 26 3.2 26H14" stroke="#16161a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
<path d="M10 20C9.44772 20 9 19.5523 9 19V8C9 7.44772 9.44772 7 10 7H13.7531C14.4801 7 15.1591 7.07311 15.7901 7.21932C16.4348 7.35225 16.9904 7.58487 17.4568 7.91718C17.9369 8.2362 18.3141 8.6682 18.5885 9.21319C18.8628 9.74489 19 10.4029 19 11.1871C19 11.9448 18.856 12.6028 18.5679 13.161C18.2936 13.7193 17.9163 14.1779 17.4362 14.5368C16.9561 14.8957 16.4005 15.1616 15.7695 15.3344C15.1385 15.5072 14.4664 15.5936 13.7531 15.5936H13.0247C12.4724 15.5936 12.0247 16.0413 12.0247 16.5936V19C12.0247 19.5523 11.577 20 11.0247 20H10ZM12.0247 12.2607C12.0247 12.813 12.4724 13.2607 13.0247 13.2607H13.5679C15.214 13.2607 16.037 12.5695 16.037 11.1871C16.037 10.5092 15.8244 10.0307 15.3992 9.75153C14.9877 9.47239 14.3772 9.33282 13.5679 9.33282H13.0247C12.4724 9.33282 12.0247 9.78054 12.0247 10.3328V12.2607Z" fill="#16161a"/>
|
||||||
|
<path d="M22 33C21.4477 33 21 32.5523 21 32V21C21 20.4477 21.4477 20 22 20H25.4877C26.1844 20 26.8265 20.0532 27.4139 20.1595C28.015 20.2526 28.5342 20.4254 28.9713 20.6779C29.4085 20.9305 29.75 21.2628 29.9959 21.6748C30.2555 22.0869 30.3852 22.6053 30.3852 23.2301C30.3852 23.5225 30.3374 23.8149 30.2418 24.1074C30.1598 24.3998 30.0232 24.6723 29.832 24.9248C29.6407 25.1774 29.4016 25.4034 29.1148 25.6028C28.837 25.7958 28.5081 25.939 28.1279 26.0323C28.1058 26.0378 28.0902 26.0575 28.0902 26.0802V26.0802C28.0902 26.1039 28.1073 26.1242 28.1306 26.1286C29.0669 26.3034 29.7774 26.6332 30.2623 27.1181C30.7541 27.6099 31 28.2945 31 29.1718C31 29.8364 30.8702 30.408 30.6107 30.8865C30.3511 31.365 29.9891 31.7638 29.5246 32.0828C29.0601 32.3885 28.5137 32.6212 27.8852 32.7807C27.2705 32.9269 26.6011 33 25.8771 33H22ZM24.0123 24.2239C24.0123 24.7762 24.46 25.2239 25.0123 25.2239H25.3443C26.082 25.2239 26.6148 25.0844 26.9426 24.8052C27.2705 24.5261 27.4344 24.1339 27.4344 23.6288C27.4344 23.1503 27.2637 22.8113 26.9221 22.612C26.5943 22.3993 26.0751 22.2929 25.3648 22.2929H25.0123C24.46 22.2929 24.0123 22.7407 24.0123 23.2929V24.2239ZM24.0123 29.7071C24.0123 30.2593 24.46 30.7071 25.0123 30.7071H25.6311C27.2432 30.7071 28.0492 30.1222 28.0492 28.9525C28.0492 28.3809 27.8511 27.9688 27.4549 27.7163C27.0724 27.4637 26.4645 27.3374 25.6311 27.3374H25.0123C24.46 27.3374 24.0123 27.7851 24.0123 28.3374V29.7071Z" fill="#16161a"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.1 KiB |
+1
@@ -0,0 +1 @@
|
|||||||
|
{"user.cache_control":"","user.content_disposition":"","user.content_encoding":"","user.content_language":"","user.content_type":"image/svg+xml","user.metadata":{"original-filename":"logo_vcfJJG5TAh.svg"},"md5":"9/B7afas4c3O6vbFcbpOug=="}
|
||||||
@@ -34,8 +34,9 @@ func NewFromBytes(b []byte) *Tokenizer {
|
|||||||
// New creates new Tokenizer from the provided reader with DefaultSeparators.
|
// New creates new Tokenizer from the provided reader with DefaultSeparators.
|
||||||
func New(r io.Reader) *Tokenizer {
|
func New(r io.Reader) *Tokenizer {
|
||||||
return &Tokenizer{
|
return &Tokenizer{
|
||||||
r: bufio.NewReader(r),
|
r: bufio.NewReader(r),
|
||||||
separators: DefaultSeparators,
|
separators: DefaultSeparators,
|
||||||
|
keepSeparator: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,14 +45,21 @@ func New(r io.Reader) *Tokenizer {
|
|||||||
type Tokenizer struct {
|
type Tokenizer struct {
|
||||||
r *bufio.Reader
|
r *bufio.Reader
|
||||||
|
|
||||||
separators []rune
|
separators []rune
|
||||||
|
keepSeparator bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetSeparators specifies the provided separatos of the current Tokenizer.
|
// Separators defines the provided separatos of the current Tokenizer.
|
||||||
func (s *Tokenizer) SetSeparators(separators ...rune) {
|
func (s *Tokenizer) Separators(separators ...rune) {
|
||||||
s.separators = separators
|
s.separators = separators
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// KeepSeparator defines whether to keep the separator rune as part
|
||||||
|
// of the token (default to false).
|
||||||
|
func (s *Tokenizer) KeepSeparator(state bool) {
|
||||||
|
s.keepSeparator = state
|
||||||
|
}
|
||||||
|
|
||||||
// Scan reads and returns the next available token from the Tokenizer's buffer (trimmed).
|
// Scan reads and returns the next available token from the Tokenizer's buffer (trimmed).
|
||||||
//
|
//
|
||||||
// Returns [io.EOF] error when there are no more tokens to scan.
|
// Returns [io.EOF] error when there are no more tokens to scan.
|
||||||
@@ -128,6 +136,9 @@ func (s *Tokenizer) readToken() (string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if s.isSeperatorRune(ch) && parenthesis == 0 && quoteCh == eof {
|
if s.isSeperatorRune(ch) && parenthesis == 0 && quoteCh == eof {
|
||||||
|
if s.keepSeparator {
|
||||||
|
buf.WriteRune(ch)
|
||||||
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,10 @@ func TestFactories(t *testing.T) {
|
|||||||
t.Fatalf("[%s] Expected reader with content %q, got %q", s.name, expectedContent, content)
|
t.Fatalf("[%s] Expected reader with content %q, got %q", s.name, expectedContent, content)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if s.tk.keepSeparator != false {
|
||||||
|
t.Fatalf("[%s] Expected false, got true", s.name)
|
||||||
|
}
|
||||||
|
|
||||||
if len(s.tk.separators) != len(DefaultSeparators) {
|
if len(s.tk.separators) != len(DefaultSeparators) {
|
||||||
t.Fatalf("[%s] Expected \n%v, \ngot \n%v", s.name, DefaultSeparators, s.tk.separators)
|
t.Fatalf("[%s] Expected \n%v, \ngot \n%v", s.name, DefaultSeparators, s.tk.separators)
|
||||||
}
|
}
|
||||||
@@ -81,23 +85,26 @@ func TestScan(t *testing.T) {
|
|||||||
|
|
||||||
func TestScanAll(t *testing.T) {
|
func TestScanAll(t *testing.T) {
|
||||||
scenarios := []struct {
|
scenarios := []struct {
|
||||||
name string
|
name string
|
||||||
content string
|
content string
|
||||||
separators []rune
|
separators []rune
|
||||||
expectError bool
|
keepSeparator bool
|
||||||
expectTokens []string
|
expectError bool
|
||||||
|
expectTokens []string
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
"empty string",
|
"empty string",
|
||||||
"",
|
"",
|
||||||
DefaultSeparators,
|
DefaultSeparators,
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
nil,
|
nil,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"unbalanced parenthesis",
|
"unbalanced parenthesis",
|
||||||
`(a,b() c`,
|
`(a,b() c`,
|
||||||
DefaultSeparators,
|
DefaultSeparators,
|
||||||
|
false,
|
||||||
true,
|
true,
|
||||||
[]string{},
|
[]string{},
|
||||||
},
|
},
|
||||||
@@ -105,6 +112,7 @@ func TestScanAll(t *testing.T) {
|
|||||||
"unmatching quotes",
|
"unmatching quotes",
|
||||||
`'asd"`,
|
`'asd"`,
|
||||||
DefaultSeparators,
|
DefaultSeparators,
|
||||||
|
false,
|
||||||
true,
|
true,
|
||||||
[]string{},
|
[]string{},
|
||||||
},
|
},
|
||||||
@@ -113,6 +121,7 @@ func TestScanAll(t *testing.T) {
|
|||||||
`a, b, c, d, e 123, "abc"`,
|
`a, b, c, d, e 123, "abc"`,
|
||||||
nil,
|
nil,
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
[]string{
|
[]string{
|
||||||
`a, b, c, d, e 123, "abc"`,
|
`a, b, c, d, e 123, "abc"`,
|
||||||
},
|
},
|
||||||
@@ -122,6 +131,7 @@ func TestScanAll(t *testing.T) {
|
|||||||
`a, b, c, d e, "a,b, c ", (123, 456)`,
|
`a, b, c, d e, "a,b, c ", (123, 456)`,
|
||||||
DefaultSeparators,
|
DefaultSeparators,
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
[]string{
|
[]string{
|
||||||
"a",
|
"a",
|
||||||
"b",
|
"b",
|
||||||
@@ -131,6 +141,21 @@ func TestScanAll(t *testing.T) {
|
|||||||
`(123, 456)`,
|
`(123, 456)`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"default separators (with preserve)",
|
||||||
|
`a, b, c, d e, "a,b, c ", (123, 456)`,
|
||||||
|
DefaultSeparators,
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
[]string{
|
||||||
|
"a,",
|
||||||
|
"b,",
|
||||||
|
"c,",
|
||||||
|
"d e,",
|
||||||
|
`"a,b, c ",`,
|
||||||
|
`(123, 456)`,
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"custom separators",
|
"custom separators",
|
||||||
` a , 123.456, b, c d, (
|
` a , 123.456, b, c d, (
|
||||||
@@ -138,6 +163,7 @@ func TestScanAll(t *testing.T) {
|
|||||||
),"(abc d", "abc) d", "(abc) d \" " 'abc "'`,
|
),"(abc d", "abc) d", "(abc) d \" " 'abc "'`,
|
||||||
[]rune{',', ' ', '\t', '\n'},
|
[]rune{',', ' ', '\t', '\n'},
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
[]string{
|
[]string{
|
||||||
"a",
|
"a",
|
||||||
"123.456",
|
"123.456",
|
||||||
@@ -151,12 +177,34 @@ func TestScanAll(t *testing.T) {
|
|||||||
`'abc "'`,
|
`'abc "'`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"custom separators (with preserve)",
|
||||||
|
` a , 123.456, b, c d, (
|
||||||
|
test (a,b,c) " 123 "
|
||||||
|
),"(abc d", "abc) d", "(abc) d \" " 'abc "'`,
|
||||||
|
[]rune{',', ' ', '\t', '\n'},
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
[]string{
|
||||||
|
"a ",
|
||||||
|
"123.456,",
|
||||||
|
"b,",
|
||||||
|
"c ",
|
||||||
|
"d,",
|
||||||
|
"(\n\t\t\t\ttest (a,b,c) \" 123 \"\n\t\t\t),",
|
||||||
|
`"(abc d",`,
|
||||||
|
`"abc) d",`,
|
||||||
|
`"(abc) d \" " `,
|
||||||
|
`'abc "'`,
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, s := range scenarios {
|
for _, s := range scenarios {
|
||||||
tk := NewFromString(s.content)
|
tk := NewFromString(s.content)
|
||||||
|
|
||||||
tk.SetSeparators(s.separators...)
|
tk.Separators(s.separators...)
|
||||||
|
tk.KeepSeparator(s.keepSeparator)
|
||||||
|
|
||||||
tokens, err := tk.ScanAll()
|
tokens, err := tk.ScanAll()
|
||||||
|
|
||||||
|
|||||||
@@ -8,4 +8,4 @@ PB_DOCS_URL = "https://pocketbase.io/docs/"
|
|||||||
PB_JS_SDK_URL = "https://github.com/pocketbase/js-sdk"
|
PB_JS_SDK_URL = "https://github.com/pocketbase/js-sdk"
|
||||||
PB_DART_SDK_URL = "https://github.com/pocketbase/dart-sdk"
|
PB_DART_SDK_URL = "https://github.com/pocketbase/dart-sdk"
|
||||||
PB_RELEASES = "https://github.com/pocketbase/pocketbase/releases"
|
PB_RELEASES = "https://github.com/pocketbase/pocketbase/releases"
|
||||||
PB_VERSION = "v0.12.3"
|
PB_VERSION = "v0.13.0"
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as ke,i as be,s as ge,e as r,w as b,b as g,c as me,f as k,g as h,h as n,m as _e,x as G,O as re,P as we,k as ve,Q as Ce,n as Pe,t as L,a as Y,o as m,d as pe,R as Me,C as Se,p as $e,r as H,u as je,N as Ae}from"./index-3e0f12d8.js";import{S as Be}from"./SdkTabs-ed893501.js";function ue(a,l,o){const s=a.slice();return s[5]=l[o],s}function de(a,l,o){const s=a.slice();return s[5]=l[o],s}function fe(a,l){let o,s=l[5].code+"",_,f,i,u;function d(){return l[4](l[5])}return{key:a,first:null,c(){o=r("button"),_=b(s),f=g(),k(o,"class","tab-item"),H(o,"active",l[1]===l[5].code),this.first=o},m(v,C){h(v,o,C),n(o,_),n(o,f),i||(u=je(o,"click",d),i=!0)},p(v,C){l=v,C&4&&s!==(s=l[5].code+"")&&G(_,s),C&6&&H(o,"active",l[1]===l[5].code)},d(v){v&&m(o),i=!1,u()}}}function he(a,l){let o,s,_,f;return s=new Ae({props:{content:l[5].body}}),{key:a,first:null,c(){o=r("div"),me(s.$$.fragment),_=g(),k(o,"class","tab-item"),H(o,"active",l[1]===l[5].code),this.first=o},m(i,u){h(i,o,u),_e(s,o,null),n(o,_),f=!0},p(i,u){l=i;const d={};u&4&&(d.content=l[5].body),s.$set(d),(!f||u&6)&&H(o,"active",l[1]===l[5].code)},i(i){f||(L(s.$$.fragment,i),f=!0)},o(i){Y(s.$$.fragment,i),f=!1},d(i){i&&m(o),pe(s)}}}function Oe(a){var ae,ne;let l,o,s=a[0].name+"",_,f,i,u,d,v,C,F=a[0].name+"",U,R,q,P,D,j,W,M,K,X,Q,A,Z,V,y=a[0].name+"",E,x,I,B,J,S,O,w=[],ee=new Map,te,T,p=[],le=new Map,$;P=new Be({props:{js:`
|
import{S as ke,i as be,s as ge,e as r,w as b,b as g,c as me,f as k,g as h,h as n,m as _e,x as G,O as re,P as we,k as ve,Q as Ce,n as Pe,t as L,a as Y,o as m,d as pe,R as Me,C as Se,p as $e,r as H,u as je,N as Ae}from"./index-ffbb9561.js";import{S as Be}from"./SdkTabs-5b973c0d.js";function ue(a,l,o){const s=a.slice();return s[5]=l[o],s}function de(a,l,o){const s=a.slice();return s[5]=l[o],s}function fe(a,l){let o,s=l[5].code+"",_,f,i,u;function d(){return l[4](l[5])}return{key:a,first:null,c(){o=r("button"),_=b(s),f=g(),k(o,"class","tab-item"),H(o,"active",l[1]===l[5].code),this.first=o},m(v,C){h(v,o,C),n(o,_),n(o,f),i||(u=je(o,"click",d),i=!0)},p(v,C){l=v,C&4&&s!==(s=l[5].code+"")&&G(_,s),C&6&&H(o,"active",l[1]===l[5].code)},d(v){v&&m(o),i=!1,u()}}}function he(a,l){let o,s,_,f;return s=new Ae({props:{content:l[5].body}}),{key:a,first:null,c(){o=r("div"),me(s.$$.fragment),_=g(),k(o,"class","tab-item"),H(o,"active",l[1]===l[5].code),this.first=o},m(i,u){h(i,o,u),_e(s,o,null),n(o,_),f=!0},p(i,u){l=i;const d={};u&4&&(d.content=l[5].body),s.$set(d),(!f||u&6)&&H(o,"active",l[1]===l[5].code)},i(i){f||(L(s.$$.fragment,i),f=!0)},o(i){Y(s.$$.fragment,i),f=!1},d(i){i&&m(o),pe(s)}}}function Oe(a){var ae,ne;let l,o,s=a[0].name+"",_,f,i,u,d,v,C,F=a[0].name+"",U,R,q,P,D,j,W,M,K,X,Q,A,Z,V,y=a[0].name+"",E,x,I,B,J,S,O,w=[],ee=new Map,te,T,p=[],le=new Map,$;P=new Be({props:{js:`
|
||||||
import PocketBase from 'pocketbase';
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
const pb = new PocketBase('${a[3]}');
|
const pb = new PocketBase('${a[3]}');
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as ze,i as Ue,s as je,N as Ve,e as a,w as k,b as p,c as ae,f as b,g as c,h as o,m as ne,x as re,O as qe,P as xe,k as Je,Q as Ke,n as Qe,t as U,a as j,o as d,d as ie,R as Ie,C as He,p as We,r as x,u as Ge}from"./index-3e0f12d8.js";import{S as Xe}from"./SdkTabs-ed893501.js";function Ee(r,l,s){const n=r.slice();return n[5]=l[s],n}function Fe(r,l,s){const n=r.slice();return n[5]=l[s],n}function Le(r,l){let s,n=l[5].code+"",m,_,i,f;function v(){return l[4](l[5])}return{key:r,first:null,c(){s=a("button"),m=k(n),_=p(),b(s,"class","tab-item"),x(s,"active",l[1]===l[5].code),this.first=s},m(g,w){c(g,s,w),o(s,m),o(s,_),i||(f=Ge(s,"click",v),i=!0)},p(g,w){l=g,w&4&&n!==(n=l[5].code+"")&&re(m,n),w&6&&x(s,"active",l[1]===l[5].code)},d(g){g&&d(s),i=!1,f()}}}function Ne(r,l){let s,n,m,_;return n=new Ve({props:{content:l[5].body}}),{key:r,first:null,c(){s=a("div"),ae(n.$$.fragment),m=p(),b(s,"class","tab-item"),x(s,"active",l[1]===l[5].code),this.first=s},m(i,f){c(i,s,f),ne(n,s,null),o(s,m),_=!0},p(i,f){l=i;const v={};f&4&&(v.content=l[5].body),n.$set(v),(!_||f&6)&&x(s,"active",l[1]===l[5].code)},i(i){_||(U(n.$$.fragment,i),_=!0)},o(i){j(n.$$.fragment,i),_=!1},d(i){i&&d(s),ie(n)}}}function Ye(r){var Be,Me;let l,s,n=r[0].name+"",m,_,i,f,v,g,w,B,J,S,F,ce,L,M,de,K,N=r[0].name+"",Q,ue,pe,V,I,D,W,T,G,fe,X,C,Y,he,Z,be,h,me,P,_e,ke,ve,ee,ge,te,ye,Se,$e,oe,we,le,O,se,R,q,$=[],Te=new Map,Ce,H,y=[],Re=new Map,A;g=new Xe({props:{js:`
|
import{S as ze,i as Ue,s as je,N as Ve,e as a,w as k,b as p,c as ae,f as b,g as c,h as o,m as ne,x as re,O as qe,P as xe,k as Je,Q as Ke,n as Qe,t as U,a as j,o as d,d as ie,R as Ie,C as He,p as We,r as x,u as Ge}from"./index-ffbb9561.js";import{S as Xe}from"./SdkTabs-5b973c0d.js";function Ee(r,l,s){const n=r.slice();return n[5]=l[s],n}function Fe(r,l,s){const n=r.slice();return n[5]=l[s],n}function Le(r,l){let s,n=l[5].code+"",m,_,i,f;function v(){return l[4](l[5])}return{key:r,first:null,c(){s=a("button"),m=k(n),_=p(),b(s,"class","tab-item"),x(s,"active",l[1]===l[5].code),this.first=s},m(g,w){c(g,s,w),o(s,m),o(s,_),i||(f=Ge(s,"click",v),i=!0)},p(g,w){l=g,w&4&&n!==(n=l[5].code+"")&&re(m,n),w&6&&x(s,"active",l[1]===l[5].code)},d(g){g&&d(s),i=!1,f()}}}function Ne(r,l){let s,n,m,_;return n=new Ve({props:{content:l[5].body}}),{key:r,first:null,c(){s=a("div"),ae(n.$$.fragment),m=p(),b(s,"class","tab-item"),x(s,"active",l[1]===l[5].code),this.first=s},m(i,f){c(i,s,f),ne(n,s,null),o(s,m),_=!0},p(i,f){l=i;const v={};f&4&&(v.content=l[5].body),n.$set(v),(!_||f&6)&&x(s,"active",l[1]===l[5].code)},i(i){_||(U(n.$$.fragment,i),_=!0)},o(i){j(n.$$.fragment,i),_=!1},d(i){i&&d(s),ie(n)}}}function Ye(r){var Be,Me;let l,s,n=r[0].name+"",m,_,i,f,v,g,w,B,J,S,F,ce,L,M,de,K,N=r[0].name+"",Q,ue,pe,V,I,D,W,T,G,fe,X,C,Y,he,Z,be,h,me,P,_e,ke,ve,ee,ge,te,ye,Se,$e,oe,we,le,O,se,R,q,$=[],Te=new Map,Ce,H,y=[],Re=new Map,A;g=new Xe({props:{js:`
|
||||||
import PocketBase from 'pocketbase';
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
const pb = new PocketBase('${r[3]}');
|
const pb = new PocketBase('${r[3]}');
|
||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as je,i as He,s as Je,N as We,e as s,w as v,b as p,c as re,f as h,g as r,h as a,m as ce,x as de,O as Ve,P as Ne,k as Qe,Q as ze,n as Ke,t as j,a as H,o as c,d as ue,R as Ye,C as Be,p as Ge,r as J,u as Xe}from"./index-3e0f12d8.js";import{S as Ze}from"./SdkTabs-ed893501.js";function Fe(i,l,o){const n=i.slice();return n[5]=l[o],n}function Le(i,l,o){const n=i.slice();return n[5]=l[o],n}function xe(i,l){let o,n=l[5].code+"",m,_,d,b;function g(){return l[4](l[5])}return{key:i,first:null,c(){o=s("button"),m=v(n),_=p(),h(o,"class","tab-item"),J(o,"active",l[1]===l[5].code),this.first=o},m(k,R){r(k,o,R),a(o,m),a(o,_),d||(b=Xe(o,"click",g),d=!0)},p(k,R){l=k,R&4&&n!==(n=l[5].code+"")&&de(m,n),R&6&&J(o,"active",l[1]===l[5].code)},d(k){k&&c(o),d=!1,b()}}}function Me(i,l){let o,n,m,_;return n=new We({props:{content:l[5].body}}),{key:i,first:null,c(){o=s("div"),re(n.$$.fragment),m=p(),h(o,"class","tab-item"),J(o,"active",l[1]===l[5].code),this.first=o},m(d,b){r(d,o,b),ce(n,o,null),a(o,m),_=!0},p(d,b){l=d;const g={};b&4&&(g.content=l[5].body),n.$set(g),(!_||b&6)&&J(o,"active",l[1]===l[5].code)},i(d){_||(j(n.$$.fragment,d),_=!0)},o(d){H(n.$$.fragment,d),_=!1},d(d){d&&c(o),ue(n)}}}function et(i){var qe,Ie;let l,o,n=i[0].name+"",m,_,d,b,g,k,R,C,N,y,L,pe,x,D,he,Q,M=i[0].name+"",z,be,K,q,Y,I,G,P,X,O,Z,fe,ee,$,te,me,ae,_e,f,ve,E,ge,ke,we,le,Se,oe,Re,ye,Oe,se,$e,ne,U,ie,A,V,S=[],Ae=new Map,Ee,B,w=[],Te=new Map,T;k=new Ze({props:{js:`
|
import{S as je,i as He,s as Je,N as We,e as s,w as v,b as p,c as re,f as h,g as r,h as a,m as ce,x as de,O as Ve,P as Ne,k as Qe,Q as ze,n as Ke,t as j,a as H,o as c,d as ue,R as Ye,C as Be,p as Ge,r as J,u as Xe}from"./index-ffbb9561.js";import{S as Ze}from"./SdkTabs-5b973c0d.js";function Fe(i,l,o){const n=i.slice();return n[5]=l[o],n}function Le(i,l,o){const n=i.slice();return n[5]=l[o],n}function xe(i,l){let o,n=l[5].code+"",m,_,d,b;function g(){return l[4](l[5])}return{key:i,first:null,c(){o=s("button"),m=v(n),_=p(),h(o,"class","tab-item"),J(o,"active",l[1]===l[5].code),this.first=o},m(k,R){r(k,o,R),a(o,m),a(o,_),d||(b=Xe(o,"click",g),d=!0)},p(k,R){l=k,R&4&&n!==(n=l[5].code+"")&&de(m,n),R&6&&J(o,"active",l[1]===l[5].code)},d(k){k&&c(o),d=!1,b()}}}function Me(i,l){let o,n,m,_;return n=new We({props:{content:l[5].body}}),{key:i,first:null,c(){o=s("div"),re(n.$$.fragment),m=p(),h(o,"class","tab-item"),J(o,"active",l[1]===l[5].code),this.first=o},m(d,b){r(d,o,b),ce(n,o,null),a(o,m),_=!0},p(d,b){l=d;const g={};b&4&&(g.content=l[5].body),n.$set(g),(!_||b&6)&&J(o,"active",l[1]===l[5].code)},i(d){_||(j(n.$$.fragment,d),_=!0)},o(d){H(n.$$.fragment,d),_=!1},d(d){d&&c(o),ue(n)}}}function et(i){var qe,Ie;let l,o,n=i[0].name+"",m,_,d,b,g,k,R,C,N,y,L,pe,x,D,he,Q,M=i[0].name+"",z,be,K,q,Y,I,G,P,X,O,Z,fe,ee,$,te,me,ae,_e,f,ve,E,ge,ke,we,le,Se,oe,Re,ye,Oe,se,$e,ne,U,ie,A,V,S=[],Ae=new Map,Ee,B,w=[],Te=new Map,T;k=new Ze({props:{js:`
|
||||||
import PocketBase from 'pocketbase';
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
const pb = new PocketBase('${i[3]}');
|
const pb = new PocketBase('${i[3]}');
|
||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as Se,i as ve,s as we,N as ke,e as s,w as f,b as u,c as Ot,f as h,g as r,h as o,m as At,x as Tt,O as ce,P as ye,k as ge,Q as Pe,n as Re,t as tt,a as et,o as c,d as Ut,R as $e,C as de,p as Ce,r as lt,u as Oe}from"./index-3e0f12d8.js";import{S as Ae}from"./SdkTabs-ed893501.js";function ue(n,e,l){const i=n.slice();return i[8]=e[l],i}function fe(n,e,l){const i=n.slice();return i[8]=e[l],i}function Te(n){let e;return{c(){e=f("email")},m(l,i){r(l,e,i)},d(l){l&&c(e)}}}function Ue(n){let e;return{c(){e=f("username")},m(l,i){r(l,e,i)},d(l){l&&c(e)}}}function Me(n){let e;return{c(){e=f("username/email")},m(l,i){r(l,e,i)},d(l){l&&c(e)}}}function pe(n){let e;return{c(){e=s("strong"),e.textContent="username"},m(l,i){r(l,e,i)},d(l){l&&c(e)}}}function be(n){let e;return{c(){e=f("or")},m(l,i){r(l,e,i)},d(l){l&&c(e)}}}function me(n){let e;return{c(){e=s("strong"),e.textContent="email"},m(l,i){r(l,e,i)},d(l){l&&c(e)}}}function he(n,e){let l,i=e[8].code+"",S,m,p,d;function _(){return e[7](e[8])}return{key:n,first:null,c(){l=s("button"),S=f(i),m=u(),h(l,"class","tab-item"),lt(l,"active",e[3]===e[8].code),this.first=l},m($,C){r($,l,C),o(l,S),o(l,m),p||(d=Oe(l,"click",_),p=!0)},p($,C){e=$,C&16&&i!==(i=e[8].code+"")&&Tt(S,i),C&24&<(l,"active",e[3]===e[8].code)},d($){$&&c(l),p=!1,d()}}}function _e(n,e){let l,i,S,m;return i=new ke({props:{content:e[8].body}}),{key:n,first:null,c(){l=s("div"),Ot(i.$$.fragment),S=u(),h(l,"class","tab-item"),lt(l,"active",e[3]===e[8].code),this.first=l},m(p,d){r(p,l,d),At(i,l,null),o(l,S),m=!0},p(p,d){e=p;const _={};d&16&&(_.content=e[8].body),i.$set(_),(!m||d&24)&<(l,"active",e[3]===e[8].code)},i(p){m||(tt(i.$$.fragment,p),m=!0)},o(p){et(i.$$.fragment,p),m=!1},d(p){p&&c(l),Ut(i)}}}function De(n){var se,ne;let e,l,i=n[0].name+"",S,m,p,d,_,$,C,O,B,Mt,ot,T,at,F,st,U,G,Dt,X,N,Et,nt,Z=n[0].name+"",it,Wt,rt,I,ct,M,dt,Lt,V,D,ut,Bt,ft,Ht,g,Yt,pt,bt,mt,qt,ht,_t,j,kt,E,St,Ft,vt,W,wt,Nt,yt,It,k,Vt,H,jt,Jt,Qt,gt,Kt,Pt,zt,Gt,Xt,Rt,Zt,$t,J,Ct,L,Q,A=[],xt=new Map,te,K,P=[],ee=new Map,Y;function le(t,a){if(t[1]&&t[2])return Me;if(t[1])return Ue;if(t[2])return Te}let q=le(n),R=q&&q(n);T=new Ae({props:{js:`
|
import{S as Se,i as ve,s as we,N as ke,e as s,w as f,b as u,c as Ot,f as h,g as r,h as o,m as At,x as Tt,O as ce,P as ye,k as ge,Q as Pe,n as Re,t as tt,a as et,o as c,d as Ut,R as $e,C as de,p as Ce,r as lt,u as Oe}from"./index-ffbb9561.js";import{S as Ae}from"./SdkTabs-5b973c0d.js";function ue(n,e,l){const i=n.slice();return i[8]=e[l],i}function fe(n,e,l){const i=n.slice();return i[8]=e[l],i}function Te(n){let e;return{c(){e=f("email")},m(l,i){r(l,e,i)},d(l){l&&c(e)}}}function Ue(n){let e;return{c(){e=f("username")},m(l,i){r(l,e,i)},d(l){l&&c(e)}}}function Me(n){let e;return{c(){e=f("username/email")},m(l,i){r(l,e,i)},d(l){l&&c(e)}}}function pe(n){let e;return{c(){e=s("strong"),e.textContent="username"},m(l,i){r(l,e,i)},d(l){l&&c(e)}}}function be(n){let e;return{c(){e=f("or")},m(l,i){r(l,e,i)},d(l){l&&c(e)}}}function me(n){let e;return{c(){e=s("strong"),e.textContent="email"},m(l,i){r(l,e,i)},d(l){l&&c(e)}}}function he(n,e){let l,i=e[8].code+"",S,m,p,d;function _(){return e[7](e[8])}return{key:n,first:null,c(){l=s("button"),S=f(i),m=u(),h(l,"class","tab-item"),lt(l,"active",e[3]===e[8].code),this.first=l},m($,C){r($,l,C),o(l,S),o(l,m),p||(d=Oe(l,"click",_),p=!0)},p($,C){e=$,C&16&&i!==(i=e[8].code+"")&&Tt(S,i),C&24&<(l,"active",e[3]===e[8].code)},d($){$&&c(l),p=!1,d()}}}function _e(n,e){let l,i,S,m;return i=new ke({props:{content:e[8].body}}),{key:n,first:null,c(){l=s("div"),Ot(i.$$.fragment),S=u(),h(l,"class","tab-item"),lt(l,"active",e[3]===e[8].code),this.first=l},m(p,d){r(p,l,d),At(i,l,null),o(l,S),m=!0},p(p,d){e=p;const _={};d&16&&(_.content=e[8].body),i.$set(_),(!m||d&24)&<(l,"active",e[3]===e[8].code)},i(p){m||(tt(i.$$.fragment,p),m=!0)},o(p){et(i.$$.fragment,p),m=!1},d(p){p&&c(l),Ut(i)}}}function De(n){var se,ne;let e,l,i=n[0].name+"",S,m,p,d,_,$,C,O,B,Mt,ot,T,at,F,st,U,G,Dt,X,N,Et,nt,Z=n[0].name+"",it,Wt,rt,I,ct,M,dt,Lt,V,D,ut,Bt,ft,Ht,g,Yt,pt,bt,mt,qt,ht,_t,j,kt,E,St,Ft,vt,W,wt,Nt,yt,It,k,Vt,H,jt,Jt,Qt,gt,Kt,Pt,zt,Gt,Xt,Rt,Zt,$t,J,Ct,L,Q,A=[],xt=new Map,te,K,P=[],ee=new Map,Y;function le(t,a){if(t[1]&&t[2])return Me;if(t[1])return Ue;if(t[2])return Te}let q=le(n),R=q&&q(n);T=new Ae({props:{js:`
|
||||||
import PocketBase from 'pocketbase';
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
const pb = new PocketBase('${n[6]}');
|
const pb = new PocketBase('${n[6]}');
|
||||||
+14
@@ -0,0 +1,14 @@
|
|||||||
|
import{S as ut,i as St,s as ft,e as dt,f as $t,T as I,g as gt,y as jO,o as Pt,I as mt,J as bt,K as Xt,L as Zt,C as xt,M as yt}from"./index-ffbb9561.js";import{P as kt,N as vt,u as Yt,D as wt,v as vO,T as B,I as xe,w as rO,x as l,y as Tt,L as iO,z as sO,A as R,B as nO,F as ye,G as lO,H as _,J as ke,K as ve,E as w,M as z,O as Wt,Q as Vt,R as Ye,U as b,V as Ut,W as _t,X as Ct,a as C,h as qt,b as jt,c as Gt,d as Rt,e as zt,s as At,f as It,g as Et,i as Nt,r as Bt,j as Dt,k as Lt,l as Jt,m as Mt,n as Ht,o as Ft,p as Kt,q as Oa,t as GO,C as E}from"./index-a6ccb683.js";class M{constructor(O,a,t,r,i,s,n,o,Q,p=0,c){this.p=O,this.stack=a,this.state=t,this.reducePos=r,this.pos=i,this.score=s,this.buffer=n,this.bufferBase=o,this.curContext=Q,this.lookAhead=p,this.parent=c}toString(){return`[${this.stack.filter((O,a)=>a%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(O,a,t=0){let r=O.parser.context;return new M(O,[],a,t,t,0,[],0,r?new RO(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(O,a){this.stack.push(this.state,a,this.bufferBase+this.buffer.length),this.state=O}reduce(O){var a;let t=O>>19,r=O&65535,{parser:i}=this.p,s=i.dynamicPrecedence(r);if(s&&(this.score+=s),t==0){this.pushState(i.getGoto(this.state,r,!0),this.reducePos),r<i.minRepeatTerm&&this.storeNode(r,this.reducePos,this.reducePos,4,!0),this.reduceContext(r,this.reducePos);return}let n=this.stack.length-(t-1)*3-(O&262144?6:0),o=n?this.stack[n-2]:this.p.ranges[0].from,Q=this.reducePos-o;Q>=2e3&&!(!((a=this.p.parser.nodeSet.types[r])===null||a===void 0)&&a.isAnonymous)&&(o==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=Q):this.p.lastBigReductionSize<Q&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=o,this.p.lastBigReductionSize=Q));let p=n?this.stack[n-1]:0,c=this.bufferBase+this.buffer.length-p;if(r<i.minRepeatTerm||O&131072){let u=i.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(r,o,u,c+4,!0)}if(O&262144)this.state=this.stack[n];else{let u=this.stack[n-3];this.state=i.getGoto(u,r,!0)}for(;this.stack.length>n;)this.stack.pop();this.reduceContext(r,o)}storeNode(O,a,t,r=4,i=!1){if(O==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let s=this,n=this.buffer.length;if(n==0&&s.parent&&(n=s.bufferBase-s.parent.bufferBase,s=s.parent),n>0&&s.buffer[n-4]==0&&s.buffer[n-1]>-1){if(a==t)return;if(s.buffer[n-2]>=a){s.buffer[n-2]=t;return}}}if(!i||this.pos==t)this.buffer.push(O,a,t,r);else{let s=this.buffer.length;if(s>0&&this.buffer[s-4]!=0)for(;s>0&&this.buffer[s-2]>t;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,r>4&&(r-=4);this.buffer[s]=O,this.buffer[s+1]=a,this.buffer[s+2]=t,this.buffer[s+3]=r}}shift(O,a,t){let r=this.pos;if(O&131072)this.pushState(O&65535,this.pos);else if(O&262144)this.pos=t,this.shiftContext(a,r),a<=this.p.parser.maxNode&&this.buffer.push(a,r,t,4);else{let i=O,{parser:s}=this.p;(t>this.pos||a<=s.maxNode)&&(this.pos=t,s.stateFlag(i,1)||(this.reducePos=t)),this.pushState(i,r),this.shiftContext(a,r),a<=s.maxNode&&this.buffer.push(a,r,t,4)}}apply(O,a,t){O&65536?this.reduce(O):this.shift(O,a,t)}useNode(O,a){let t=this.p.reused.length-1;(t<0||this.p.reused[t]!=O)&&(this.p.reused.push(O),t++);let r=this.pos;this.reducePos=this.pos=r+O.length,this.pushState(a,r),this.buffer.push(t,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,O,this,this.p.stream.reset(this.pos-O.length)))}split(){let O=this,a=O.buffer.length;for(;a>0&&O.buffer[a-2]>O.reducePos;)a-=4;let t=O.buffer.slice(a),r=O.bufferBase+a;for(;O&&r==O.bufferBase;)O=O.parent;return new M(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,t,r,this.curContext,this.lookAhead,O)}recoverByDelete(O,a){let t=O<=this.p.parser.maxNode;t&&this.storeNode(O,this.pos,a,4),this.storeNode(0,this.pos,a,t?8:4),this.pos=this.reducePos=a,this.score-=190}canShift(O){for(let a=new ea(this);;){let t=this.p.parser.stateSlot(a.state,4)||this.p.parser.hasAction(a.state,O);if(t==0)return!1;if(!(t&65536))return!0;a.reduce(t)}}recoverByInsert(O){if(this.stack.length>=300)return[];let a=this.p.parser.nextStates(this.state);if(a.length>4<<1||this.stack.length>=120){let r=[];for(let i=0,s;i<a.length;i+=2)(s=a[i+1])!=this.state&&this.p.parser.hasAction(s,O)&&r.push(a[i],s);if(this.stack.length<120)for(let i=0;r.length<4<<1&&i<a.length;i+=2){let s=a[i+1];r.some((n,o)=>o&1&&n==s)||r.push(a[i],s)}a=r}let t=[];for(let r=0;r<a.length&&t.length<4;r+=2){let i=a[r+1];if(i==this.state)continue;let s=this.split();s.pushState(i,this.pos),s.storeNode(0,s.pos,s.pos,4,!0),s.shiftContext(a[r],this.pos),s.score-=200,t.push(s)}return t}forceReduce(){let O=this.p.parser.stateSlot(this.state,5);if(!(O&65536))return!1;let{parser:a}=this.p;if(!a.validAction(this.state,O)){let t=O>>19,Line truncated
|
||||||
|
\${}
|
||||||
|
} catch (\${error}) {
|
||||||
|
\${}
|
||||||
|
}`,{label:"try",detail:"/ catch block",type:"keyword"}),b("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),b(`if (\${}) {
|
||||||
|
\${}
|
||||||
|
} else {
|
||||||
|
\${}
|
||||||
|
}`,{label:"if",detail:"/ else block",type:"keyword"}),b(`class \${name} {
|
||||||
|
constructor(\${params}) {
|
||||||
|
\${}
|
||||||
|
}
|
||||||
|
}`,{label:"class",detail:"definition",type:"keyword"}),b('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),b('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],ce=new _t,Be=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function q(e){return(O,a)=>{let t=O.node.getChild("VariableDefinition");return t&&a(t,e),!0}}const Vr=["FunctionDeclaration"],Ur={FunctionDeclaration:q("function"),ClassDeclaration:q("class"),ClassExpression:()=>!0,EnumDeclaration:q("constant"),TypeAliasDeclaration:q("type"),NamespaceDeclaration:q("namespace"),VariableDefinition(e,O){e.matchContext(Vr)||O(e,"variable")},TypeDefinition(e,O){O(e,"type")},__proto__:null};function De(e,O){let a=ce.get(O);if(a)return a;let t=[],r=!0;function i(s,n){let o=e.sliceString(s.from,s.to);t.push({label:o,type:n})}return O.cursor(xe.IncludeAnonymous).iterate(s=>{if(r)r=!1;else if(s.name){let n=Ur[s.name];if(n&&n(s,i)||Be.has(s.name))return!1}else if(s.to-s.from>8192){for(let n of De(e,s.node))t.push(n);return!1}}),ce.set(O,t),t}const he=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Le=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName"];function _r(e){let O=_(e.state).resolveInner(e.pos,-1);if(Le.indexOf(O.name)>-1)return null;let a=O.name=="VariableName"||O.to-O.from<20&&he.test(e.state.sliceDoc(O.from,O.to));if(!a&&!e.explicit)return null;let t=[];for(let r=O;r;r=r.parent)Be.has(r.name)&&(t=t.concat(De(e.state.doc,r)));return{options:t,from:a?O.from:e.pos,validFor:he}}const y=iO.define({name:"javascript",parser:Tr.configure({props:[sO.add({IfStatement:R({except:/^\s*({|else\b)/}),TryStatement:R({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Wt,SwitchBody:e=>{let O=e.textAfter,a=/^\s*\}/.test(O),t=/^\s*(case|default)\b/.test(O);return e.baseIndent+(a?0:t?1:2)*e.unit},Block:Vt({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":R({except:/^{/}),JSXElement(e){let O=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(O?0:e.unit)},JSXEscape(e){let O=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(O?0:e.unit)},"JSXOpenTag JSXSelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),nO.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression":ye,BlockComment(e){return{from:e.from+2,to:e.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Je={test:e=>/^JSX/.test(e.name),facet:Ut({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Me=y.configure({dialect:"ts"},"typescript"),He=y.configure({dialect:"jsx",props:[Ye.add(e=>e.isTop?[Je]:void 0)]}),Fe=y.configure({dialect:"jsx ts",props:[Ye.add(e=>e.isTop?[Je]:void 0)]},"typescript"),Cr="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(e=>({label:e,type:"keyword"}));function Ke(e={}){let O=e.jsx?e.typescript?Fe:He:e.typescript?Me:y;return new lO(O,[y.data.of({autocomplete:ke(Le,ve(Wr.concat(Cr)))}),y.data.of({autocomplete:_r}),e.jsx?Gr:[]])}function qr(e){for(;;){if(e.name=="JSXOpenTag"||e.name=="JSXSelfClosingTag"||e.name=="JSXFragmentTag")return e;if(!e.parent)return null;e=e.parent}}function pe(e,O,a=e.length){for(let t=O==null?void 0:O.firstChild;t;t=t.nextSibling)if(t.name=="JSXIdentifier"||t.name=="JSXBuiltin"||t.name=="JSXNamespacedName"||t.name=="JSXMemberExpression")return e.sliceString(t.from,Math.min(t.to,a));return""}const jr=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),Gr=w.inputHandler.of((e,O,a,t)=>{if((jr?e.composing:e.compositionStarted)||e.state.readOnly||O!=a||t!=">"&&t!="/"||!y.isActiveAt(e.state,O,-1))return!1;let{state:r}=e,i=r.changeByRange(s=>{var n,o;let{head:Q}=s,p=_(r).resolveInner(Q,-1),c;if(p.name=="JSXStartTag"&&(p=p.parent),t==">"&&p.name=="JSXFragmentTag")return{range:z.cursor(Q+1),changes:{from:Q,insert:"></>"}};if(t=="/"&&p.name=="JSXFragmentTag"){let u=p.parent,h=u==null?void 0:u.parent;if(u.from==Q-1&&((n=h.lastChild)===null||n===void 0?void 0:n.name)!="JSXEndTag"&&(c=pe(r.doc,h==null?void 0:h.firstChild,Q))){let f=`/${c}>`;return{range:z.cursor(Q+f.length),changes:{from:Q,insert:f}}}}else if(t==">"){let u=qr(p);if(u&&((o=u.lastChild)===null||o===void 0?void 0:o.name)!="JSXEndTag"&&r.sliceDoc(Q,Q+2)!="</"&&(c=pe(r.doc,u,Q)))return{range:z.cursor(Q+1),changes:{from:Q,insert:`></${c}>`}}}return{range:s}});return i.changes.empty?!1:(e.dispatch(i,{userEvent:"input.type",scrollIntoView:!0}),!0)}),j=["_blank","_self","_top","_parent"],$O=["ascii","utf-8","utf-16","latin1","latin1"],gO=["get","post","put","delete"
Line truncated
|
||||||
|
`;function ot(e,O,a){let t=Object.create(null);t.true=t.false=Mr,t.null=t.unknown=Hr;for(let r of e.split(" "))r&&(t[r]=st);for(let r of O.split(" "))r&&(t[r]=nt);for(let r of(a||"").split(" "))r&&(t[r]=ci);return t}const Si="array binary bit boolean char character clob date decimal double float int integer interval large national nchar nclob numeric object precision real smallint time timestamp varchar varying ",fi="absolute action add after all allocate alter and any are as asc assertion at authorization before begin between both breadth by call cascade cascaded case cast catalog check close collate collation column commit condition connect connection constraint constraints constructor continue corresponding count create cross cube current current_date current_default_transform_group current_transform_group_for_type current_path current_role current_time current_timestamp current_user cursor cycle data day deallocate declare default deferrable deferred delete depth deref desc describe descriptor deterministic diagnostics disconnect distinct do domain drop dynamic each else elseif end end-exec equals escape except exception exec execute exists exit external fetch first for foreign found from free full function general get global go goto grant group grouping handle having hold hour identity if immediate in indicator initially inner inout input insert intersect into is isolation join key language last lateral leading leave left level like limit local localtime localtimestamp locator loop map match method minute modifies module month names natural nesting new next no none not of old on only open option or order ordinality out outer output overlaps pad parameter partial path prepare preserve primary prior privileges procedure public read reads recursive redo ref references referencing relative release repeat resignal restrict result return returns revoke right role rollback rollup routine row rows savepoint schema scroll search second section select session session_user set sets signal similar size some space specific specifictype sql sqlexception sqlstate sqlwarning start state static system_user table temporary then timezone_hour timezone_minute to trailing transaction translation treat trigger under undo union unique unnest until update usage user using value values view when whenever where while with without work write year zone ",yO={backslashEscapes:!1,hashComments:!1,spaceAfterDashes:!1,slashComments:!1,doubleQuotedStrings:!1,doubleDollarQuotedStrings:!1,unquotedBitLiterals:!1,treatBitsAsBytes:!1,charSetCasts:!1,operatorChars:"*+-%<>!=&|~^/",specialVar:"?",identifierQuotes:'"',words:ot(fi,Si)};function di(e,O,a,t){let r={};for(let i in yO)r[i]=(e.hasOwnProperty(i)?e:yO)[i];return O&&(r.words=ot(O,a||"",t)),r}function Qt(e){return new Z(O=>{var a;let{next:t}=O;if(O.advance(),W(t,Xe)){for(;W(O.next,Xe);)O.advance();O.acceptToken(Lr)}else if(t==36&&O.next==36&&e.doubleDollarQuotedStrings)pi(O),O.acceptToken(N);else if(t==39||t==34&&e.doubleQuotedStrings)Y(O,t,e.backslashEscapes),O.acceptToken(N);else if(t==35&&e.hashComments||t==47&&O.next==47&&e.slashComments)be(O),O.acceptToken(de);else if(t==45&&O.next==45&&(!e.spaceAfterDashes||O.peek(1)==32))be(O),O.acceptToken(de);else if(t==47&&O.next==42){O.advance();for(let r=-1,i=1;!(O.next<0);)if(O.advance(),r==42&&O.next==47){if(i--,!i){O.advance();break}r=-1}else r==47&&O.next==42?(i++,r=-1):r=O.next;O.acceptToken(Jr)}else if((t==101||t==69)&&O.next==39)O.advance(),Y(O,39,!0);else if((t==110||t==78)&&O.next==39&&e.charSetCasts)O.advance(),Y(O,39,e.backslashEscapes),O.acceptToken(N);else if(t==95&&e.charSetCasts)for(let r=0;;r++){if(O.next==39&&r>1){O.advance(),Y(O,39,e.backslashEscapes),O.acceptToken(N);break}if(!xO(O.next))break;O.advance()}else if(t==40)O.acceptToken(Fr);else if(t==41)O.acceptToken(Kr);else if(t==123)O.acceptToken(Oi);else if(t==125)O.acceptToken(ei);else if(t==91)O.acceptToken(ti);else if(t==93)O.acceptToken(ai);else if(t==59)O.acceptToken(ri);else if(e.unquotedBitLiterals&&t==48&&O.next==98)O.advance(),Pe(O),O.acceptToken(ge);else if((t==98||t==66)&&(O.next==39||O.next==34)){const r=O.next;O.advance(),e.treatBitsAsBytes?(Y(O,r,e.backslashEscapes),O.acceptToken(Qi)):(Pe(O,r),O.acceptToken(ge))}else if(t==48&&(O.next==120||O.next==88)||(t==120||t==88)&&O.next==39){let r=O.next==39;for(O.advance();hi(O.next);)O.advance();r&&O.next==39&&O.advance(),O.acceptToken(mO)}else if(t==46&&O.next>=48&&O.next<=57)me(O,!0),O.acceptToken(mO);else if(t==46)O.acceptToken(ii);else if(t>=48&&t<=57)me(O,!1),O.acceptToken(mO);else if(W(t,e.operatorChars)){for(;W(O.next,e.operatorChars);)O.advance();O.acceptToken(si)}else if(W(t,e.specialVar))O.next==t&&O.advance(),ui(O),O.acceptToken(li);else if(W(t,e.identifierQuotes))Y(O,t,!1),O.acceptToken(oi);else if(t==58||t==44)O.acceptToken(ni);else if(xO(t)){let r=lt(O,String.fromCharCode(t));O.acceptToken(O.next==46?$e:(a=e.words[r.toLowerCase()])!==null&&a!==void 0?a:$e)}})}const ct=Qt(yO),$i=T.deserialize({version:1
Line truncated
|
||||||
-13
@@ -1,13 +0,0 @@
|
|||||||
import{S as Ue,i as _e,s as qe,e as je,f as Ce,T as XO,g as Ge,y as ZO,o as Re,K as ze,L as Ae,M as Ie}from"./index-3e0f12d8.js";import{P as Ee,N as Ne,u as Be,D as De,v as QO,T as R,I as Oe,w as cO,x as l,y as Me,L as hO,z as pO,A as z,B as uO,F as ee,G as SO,H as C,J as Je,K as Le,E as k,M as j,O as Ke,Q as He,R as g,U as Fe,V as Ot,a as V,h as et,b as tt,c as at,d as it,e as rt,s as st,f as nt,g as lt,i as ot,r as Qt,j as ct,k as ht,l as pt,m as ut,n as St,o as $t,p as ft,q as dt,t as bO,C as G}from"./index-4934dad7.js";class N{constructor(O,t,a,i,s,r,n,o,c,h=0,Q){this.p=O,this.stack=t,this.state=a,this.reducePos=i,this.pos=s,this.score=r,this.buffer=n,this.bufferBase=o,this.curContext=c,this.lookAhead=h,this.parent=Q}toString(){return`[${this.stack.filter((O,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(O,t,a=0){let i=O.parser.context;return new N(O,[],t,a,a,0,[],0,i?new xO(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(O,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=O}reduce(O){let t=O>>19,a=O&65535,{parser:i}=this.p,s=i.dynamicPrecedence(a);if(s&&(this.score+=s),t==0){this.pushState(i.getGoto(this.state,a,!0),this.reducePos),a<i.minRepeatTerm&&this.storeNode(a,this.reducePos,this.reducePos,4,!0),this.reduceContext(a,this.reducePos);return}let r=this.stack.length-(t-1)*3-(O&262144?6:0),n=r?this.stack[r-2]:0,o=this.reducePos-n;o>=2e3&&(n==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=o):this.p.lastBigReductionSize<o&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=n,this.p.lastBigReductionSize=o));let c=r?this.stack[r-1]:0,h=this.bufferBase+this.buffer.length-c;if(a<i.minRepeatTerm||O&131072){let Q=i.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(a,n,Q,h+4,!0)}if(O&262144)this.state=this.stack[r];else{let Q=this.stack[r-3];this.state=i.getGoto(Q,a,!0)}for(;this.stack.length>r;)this.stack.pop();this.reduceContext(a,n)}storeNode(O,t,a,i=4,s=!1){if(O==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let r=this,n=this.buffer.length;if(n==0&&r.parent&&(n=r.bufferBase-r.parent.bufferBase,r=r.parent),n>0&&r.buffer[n-4]==0&&r.buffer[n-1]>-1){if(t==a)return;if(r.buffer[n-2]>=t){r.buffer[n-2]=a;return}}}if(!s||this.pos==a)this.buffer.push(O,t,a,i);else{let r=this.buffer.length;if(r>0&&this.buffer[r-4]!=0)for(;r>0&&this.buffer[r-2]>a;)this.buffer[r]=this.buffer[r-4],this.buffer[r+1]=this.buffer[r-3],this.buffer[r+2]=this.buffer[r-2],this.buffer[r+3]=this.buffer[r-1],r-=4,i>4&&(i-=4);this.buffer[r]=O,this.buffer[r+1]=t,this.buffer[r+2]=a,this.buffer[r+3]=i}}shift(O,t,a){let i=this.pos;if(O&131072)this.pushState(O&65535,this.pos);else if(O&262144)this.pos=a,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,a,4);else{let s=O,{parser:r}=this.p;(a>this.pos||t<=r.maxNode)&&(this.pos=a,r.stateFlag(s,1)||(this.reducePos=a)),this.pushState(s,i),this.shiftContext(t,i),t<=r.maxNode&&this.buffer.push(t,i,a,4)}}apply(O,t,a){O&65536?this.reduce(O):this.shift(O,t,a)}useNode(O,t){let a=this.p.reused.length-1;(a<0||this.p.reused[a]!=O)&&(this.p.reused.push(O),a++);let i=this.pos;this.reducePos=this.pos=i+O.length,this.pushState(t,i),this.buffer.push(a,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,O,this,this.p.stream.reset(this.pos-O.length)))}split(){let O=this,t=O.buffer.length;for(;t>0&&O.buffer[t-2]>O.reducePos;)t-=4;let a=O.buffer.slice(t),i=O.bufferBase+t;for(;O&&i==O.bufferBase;)O=O.parent;return new N(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,a,i,this.curContext,this.lookAhead,O)}recoverByDelete(O,t){let a=O<=this.p.parser.maxNode;a&&this.storeNode(O,this.pos,t,4),this.storeNode(0,this.pos,t,a?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(O){for(let t=new Pt(this);;){let a=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,O);if(a==0)return!1;if(!(a&65536))return!0;t.reduce(a)}}recoverByInsert(O){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>4<<1||this.stack.length>=120){let i=[];for(let s=0,r;s<t.length;s+=2)(r=t[s+1])!=this.state&&this.p.parser.hasAction(r,O)&&i.push(t[s],r);if(this.stack.length<120)for(let s=0;i.length<4<<1&&s<t.length;s+=2){let r=t[s+1];i.some((n,o)=>o&1&&n==r)||i.push(t[s],r)}t=i}let a=[];for(let i=0;i<t.length&&a.length<4;i+=2){let s=t[i+1];if(s==this.state)continue;let r=this.split();r.pushState(s,this.pos),r.storeNode(0,r.pos,r.pos,4,!0),r.shiftContext(t[i],this.pos),r.score-=200,a.push(r)}return a}forceReduce(){let O=this.p.parser.stateSlot(this.state,5);if(!(O&65536))return!1;let{parser:t}=this.p;if(!t.validAction(this.state,O)){let a=O>>19,i=O&65535,s=this.stack.length-a*3;if(s<0||t.getGoto(this.stack[s],i,!1)<0)return!1;this.storeNode(0,this.reducePos,this.reducePos,4,!0),this.Line truncated
|
|
||||||
\${}
|
|
||||||
} catch (\${error}) {
|
|
||||||
\${}
|
|
||||||
}`,{label:"try",detail:"/ catch block",type:"keyword"}),g("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),g(`if (\${}) {
|
|
||||||
\${}
|
|
||||||
} else {
|
|
||||||
\${}
|
|
||||||
}`,{label:"if",detail:"/ else block",type:"keyword"}),g(`class \${name} {
|
|
||||||
constructor(\${params}) {
|
|
||||||
\${}
|
|
||||||
}
|
|
||||||
}`,{label:"class",detail:"definition",type:"keyword"}),g('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),g('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],JO=new Fe,ge=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function U(e){return(O,t)=>{let a=O.node.getChild("VariableDefinition");return a&&t(a,e),!0}}const Da=["FunctionDeclaration"],Ma={FunctionDeclaration:U("function"),ClassDeclaration:U("class"),ClassExpression:()=>!0,EnumDeclaration:U("constant"),TypeAliasDeclaration:U("type"),NamespaceDeclaration:U("namespace"),VariableDefinition(e,O){e.matchContext(Da)||O(e,"variable")},TypeDefinition(e,O){O(e,"type")},__proto__:null};function me(e,O){let t=JO.get(O);if(t)return t;let a=[],i=!0;function s(r,n){let o=e.sliceString(r.from,r.to);a.push({label:o,type:n})}return O.cursor(Oe.IncludeAnonymous).iterate(r=>{if(i)i=!1;else if(r.name){let n=Ma[r.name];if(n&&n(r,s)||ge.has(r.name))return!1}else if(r.to-r.from>8192){for(let n of me(e,r.node))a.push(n);return!1}}),JO.set(O,a),a}const LO=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Xe=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName"];function Ja(e){let O=C(e.state).resolveInner(e.pos,-1);if(Xe.indexOf(O.name)>-1)return null;let t=O.name=="VariableName"||O.to-O.from<20&&LO.test(e.state.sliceDoc(O.from,O.to));if(!t&&!e.explicit)return null;let a=[];for(let i=O;i;i=i.parent)ge.has(i.name)&&(a=a.concat(me(e.state.doc,i)));return{options:a,from:t?O.from:e.pos,validFor:LO}}const Z=hO.define({name:"javascript",parser:Na.configure({props:[pO.add({IfStatement:z({except:/^\s*({|else\b)/}),TryStatement:z({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Ke,SwitchBody:e=>{let O=e.textAfter,t=/^\s*\}/.test(O),a=/^\s*(case|default)\b/.test(O);return e.baseIndent+(t?0:a?1:2)*e.unit},Block:He({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":z({except:/^{/}),JSXElement(e){let O=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(O?0:e.unit)},JSXEscape(e){let O=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(O?0:e.unit)},"JSXOpenTag JSXSelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),uO.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression":ee,BlockComment(e){return{from:e.from+2,to:e.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Ze=Z.configure({dialect:"ts"},"typescript"),be=Z.configure({dialect:"jsx"}),xe=Z.configure({dialect:"jsx ts"},"typescript"),La="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(e=>({label:e,type:"keyword"}));function ye(e={}){let O=e.jsx?e.typescript?xe:be:e.typescript?Ze:Z;return new SO(O,[Z.data.of({autocomplete:Je(Xe,Le(Ba.concat(La)))}),Z.data.of({autocomplete:Ja}),e.jsx?Fa:[]])}function Ka(e){for(;;){if(e.name=="JSXOpenTag"||e.name=="JSXSelfClosingTag"||e.name=="JSXFragmentTag")return e;if(!e.parent)return null;e=e.parent}}function KO(e,O,t=e.length){for(let a=O==null?void 0:O.firstChild;a;a=a.nextSibling)if(a.name=="JSXIdentifier"||a.name=="JSXBuiltin"||a.name=="JSXNamespacedName"||a.name=="JSXMemberExpression")return e.sliceString(a.from,Math.min(a.to,t));return""}const Ha=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),Fa=k.inputHandler.of((e,O,t,a)=>{if((Ha?e.composing:e.compositionStarted)||e.state.readOnly||O!=t||a!=">"&&a!="/"||!Z.isActiveAt(e.state,O,-1))return!1;let{state:i}=e,s=i.changeByRange(r=>{var n,o;let{head:c}=r,h=C(i).resolveInner(c,-1),Q;if(h.name=="JSXStartTag"&&(h=h.parent),a==">"&&h.name=="JSXFragmentTag")return{range:j.cursor(c+1),changes:{from:c,insert:"><>"}};if(a=="/"&&h.name=="JSXFragmentTag"){let u=h.parent,S=u==null?void 0:u.parent;if(u.from==c-1&&((n=S.lastChild)===null||n===void 0?void 0:n.name)!="JSXEndTag"&&(Q=KO(i.doc,S==null?void 0:S.firstChild,c))){let $=`/${Q}>`;return{range:j.cursor(c+$.length),changes:{from:c,insert:$}}}}else if(a==">"){let u=Ka(h);if(u&&((o=u.lastChild)===null||o===void 0?void 0:o.name)!="JSXEndTag"&&i.sliceDoc(c,c+2)!="</"&&(Q=KO(i.doc,u,c)))return{range:j.cursor(c+1),changes:{from:c,insert:`></${Q}>`}}}return{range:r}});return s.changes.empty?!1:(e.dispatch(s,{userEvent:"input.type",scrollIntoView:!0}),!0)}),_=["_blank","_self","_top","_parent"],iO=["ascii","utf-8","utf-16","latin1","latin1"],rO=["get","post","put","delete"],sO=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],d=["true","false"],p={},Oi={a:{attrs:{href:null,ping:null,type:null,media:null,target:_,hrefl
Line truncated
|
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as Ce,i as $e,s as we,e as c,w as v,b as h,c as he,f as b,g as r,h as n,m as ve,x as Y,O as pe,P as Pe,k as Se,Q as Oe,n as Re,t as Z,a as x,o as f,d as ge,R as Te,C as Ee,p as ye,r as j,u as Be,N as qe}from"./index-3e0f12d8.js";import{S as Ae}from"./SdkTabs-ed893501.js";function ue(o,l,s){const a=o.slice();return a[5]=l[s],a}function be(o,l,s){const a=o.slice();return a[5]=l[s],a}function _e(o,l){let s,a=l[5].code+"",_,u,i,d;function p(){return l[4](l[5])}return{key:o,first:null,c(){s=c("button"),_=v(a),u=h(),b(s,"class","tab-item"),j(s,"active",l[1]===l[5].code),this.first=s},m(C,$){r(C,s,$),n(s,_),n(s,u),i||(d=Be(s,"click",p),i=!0)},p(C,$){l=C,$&4&&a!==(a=l[5].code+"")&&Y(_,a),$&6&&j(s,"active",l[1]===l[5].code)},d(C){C&&f(s),i=!1,d()}}}function ke(o,l){let s,a,_,u;return a=new qe({props:{content:l[5].body}}),{key:o,first:null,c(){s=c("div"),he(a.$$.fragment),_=h(),b(s,"class","tab-item"),j(s,"active",l[1]===l[5].code),this.first=s},m(i,d){r(i,s,d),ve(a,s,null),n(s,_),u=!0},p(i,d){l=i;const p={};d&4&&(p.content=l[5].body),a.$set(p),(!u||d&6)&&j(s,"active",l[1]===l[5].code)},i(i){u||(Z(a.$$.fragment,i),u=!0)},o(i){x(a.$$.fragment,i),u=!1},d(i){i&&f(s),ge(a)}}}function Ue(o){var re,fe;let l,s,a=o[0].name+"",_,u,i,d,p,C,$,D=o[0].name+"",H,ee,F,w,I,R,L,P,N,te,K,T,le,Q,M=o[0].name+"",z,se,G,E,J,y,V,B,X,S,q,g=[],ae=new Map,oe,A,k=[],ne=new Map,O;w=new Ae({props:{js:`
|
import{S as Ce,i as $e,s as we,e as c,w as v,b as h,c as he,f as b,g as r,h as n,m as ve,x as Y,O as pe,P as Pe,k as Se,Q as Oe,n as Re,t as Z,a as x,o as f,d as ge,R as Te,C as Ee,p as ye,r as j,u as Be,N as qe}from"./index-ffbb9561.js";import{S as Ae}from"./SdkTabs-5b973c0d.js";function ue(o,l,s){const a=o.slice();return a[5]=l[s],a}function be(o,l,s){const a=o.slice();return a[5]=l[s],a}function _e(o,l){let s,a=l[5].code+"",_,u,i,d;function p(){return l[4](l[5])}return{key:o,first:null,c(){s=c("button"),_=v(a),u=h(),b(s,"class","tab-item"),j(s,"active",l[1]===l[5].code),this.first=s},m(C,$){r(C,s,$),n(s,_),n(s,u),i||(d=Be(s,"click",p),i=!0)},p(C,$){l=C,$&4&&a!==(a=l[5].code+"")&&Y(_,a),$&6&&j(s,"active",l[1]===l[5].code)},d(C){C&&f(s),i=!1,d()}}}function ke(o,l){let s,a,_,u;return a=new qe({props:{content:l[5].body}}),{key:o,first:null,c(){s=c("div"),he(a.$$.fragment),_=h(),b(s,"class","tab-item"),j(s,"active",l[1]===l[5].code),this.first=s},m(i,d){r(i,s,d),ve(a,s,null),n(s,_),u=!0},p(i,d){l=i;const p={};d&4&&(p.content=l[5].body),a.$set(p),(!u||d&6)&&j(s,"active",l[1]===l[5].code)},i(i){u||(Z(a.$$.fragment,i),u=!0)},o(i){x(a.$$.fragment,i),u=!1},d(i){i&&f(s),ge(a)}}}function Ue(o){var re,fe;let l,s,a=o[0].name+"",_,u,i,d,p,C,$,D=o[0].name+"",H,ee,F,w,I,R,L,P,N,te,K,T,le,Q,M=o[0].name+"",z,se,G,E,J,y,V,B,X,S,q,g=[],ae=new Map,oe,A,k=[],ne=new Map,O;w=new Ae({props:{js:`
|
||||||
import PocketBase from 'pocketbase';
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
const pb = new PocketBase('${o[3]}');
|
const pb = new PocketBase('${o[3]}');
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as Se,i as he,s as Re,e as c,w,b as v,c as ve,f as b,g as r,h as n,m as we,x as K,O as me,P as Oe,k as Ne,Q as Ce,n as We,t as Z,a as x,o as d,d as Pe,R as $e,C as Ee,p as Te,r as U,u as ge,N as Ae}from"./index-3e0f12d8.js";import{S as De}from"./SdkTabs-ed893501.js";function ue(o,s,l){const a=o.slice();return a[5]=s[l],a}function be(o,s,l){const a=o.slice();return a[5]=s[l],a}function _e(o,s){let l,a=s[5].code+"",_,u,i,p;function m(){return s[4](s[5])}return{key:o,first:null,c(){l=c("button"),_=w(a),u=v(),b(l,"class","tab-item"),U(l,"active",s[1]===s[5].code),this.first=l},m(S,h){r(S,l,h),n(l,_),n(l,u),i||(p=ge(l,"click",m),i=!0)},p(S,h){s=S,h&4&&a!==(a=s[5].code+"")&&K(_,a),h&6&&U(l,"active",s[1]===s[5].code)},d(S){S&&d(l),i=!1,p()}}}function ke(o,s){let l,a,_,u;return a=new Ae({props:{content:s[5].body}}),{key:o,first:null,c(){l=c("div"),ve(a.$$.fragment),_=v(),b(l,"class","tab-item"),U(l,"active",s[1]===s[5].code),this.first=l},m(i,p){r(i,l,p),we(a,l,null),n(l,_),u=!0},p(i,p){s=i;const m={};p&4&&(m.content=s[5].body),a.$set(m),(!u||p&6)&&U(l,"active",s[1]===s[5].code)},i(i){u||(Z(a.$$.fragment,i),u=!0)},o(i){x(a.$$.fragment,i),u=!1},d(i){i&&d(l),Pe(a)}}}function ye(o){var re,de;let s,l,a=o[0].name+"",_,u,i,p,m,S,h,q=o[0].name+"",j,ee,H,R,L,W,Q,O,B,te,M,$,se,z,F=o[0].name+"",G,le,J,E,V,T,X,g,Y,N,A,P=[],ae=new Map,oe,D,k=[],ne=new Map,C;R=new De({props:{js:`
|
import{S as Se,i as he,s as Re,e as c,w,b as v,c as ve,f as b,g as r,h as n,m as we,x as K,O as me,P as Oe,k as Ne,Q as Ce,n as We,t as Z,a as x,o as d,d as Pe,R as $e,C as Ee,p as Te,r as U,u as ge,N as Ae}from"./index-ffbb9561.js";import{S as De}from"./SdkTabs-5b973c0d.js";function ue(o,s,l){const a=o.slice();return a[5]=s[l],a}function be(o,s,l){const a=o.slice();return a[5]=s[l],a}function _e(o,s){let l,a=s[5].code+"",_,u,i,p;function m(){return s[4](s[5])}return{key:o,first:null,c(){l=c("button"),_=w(a),u=v(),b(l,"class","tab-item"),U(l,"active",s[1]===s[5].code),this.first=l},m(S,h){r(S,l,h),n(l,_),n(l,u),i||(p=ge(l,"click",m),i=!0)},p(S,h){s=S,h&4&&a!==(a=s[5].code+"")&&K(_,a),h&6&&U(l,"active",s[1]===s[5].code)},d(S){S&&d(l),i=!1,p()}}}function ke(o,s){let l,a,_,u;return a=new Ae({props:{content:s[5].body}}),{key:o,first:null,c(){l=c("div"),ve(a.$$.fragment),_=v(),b(l,"class","tab-item"),U(l,"active",s[1]===s[5].code),this.first=l},m(i,p){r(i,l,p),we(a,l,null),n(l,_),u=!0},p(i,p){s=i;const m={};p&4&&(m.content=s[5].body),a.$set(m),(!u||p&6)&&U(l,"active",s[1]===s[5].code)},i(i){u||(Z(a.$$.fragment,i),u=!0)},o(i){x(a.$$.fragment,i),u=!1},d(i){i&&d(l),Pe(a)}}}function ye(o){var re,de;let s,l,a=o[0].name+"",_,u,i,p,m,S,h,q=o[0].name+"",j,ee,H,R,L,W,Q,O,B,te,M,$,se,z,F=o[0].name+"",G,le,J,E,V,T,X,g,Y,N,A,P=[],ae=new Map,oe,D,k=[],ne=new Map,C;R=new De({props:{js:`
|
||||||
import PocketBase from 'pocketbase';
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
const pb = new PocketBase('${o[3]}');
|
const pb = new PocketBase('${o[3]}');
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as we,i as Ce,s as Pe,e as c,w as h,b as v,c as ve,f as b,g as r,h as n,m as he,x as D,O as de,P as Te,k as ge,Q as ye,n as Be,t as Z,a as x,o as f,d as $e,R as qe,C as Oe,p as Se,r as H,u as Ee,N as Ne}from"./index-3e0f12d8.js";import{S as Ve}from"./SdkTabs-ed893501.js";function ue(i,l,s){const o=i.slice();return o[5]=l[s],o}function be(i,l,s){const o=i.slice();return o[5]=l[s],o}function _e(i,l){let s,o=l[5].code+"",_,u,a,p;function d(){return l[4](l[5])}return{key:i,first:null,c(){s=c("button"),_=h(o),u=v(),b(s,"class","tab-item"),H(s,"active",l[1]===l[5].code),this.first=s},m(w,C){r(w,s,C),n(s,_),n(s,u),a||(p=Ee(s,"click",d),a=!0)},p(w,C){l=w,C&4&&o!==(o=l[5].code+"")&&D(_,o),C&6&&H(s,"active",l[1]===l[5].code)},d(w){w&&f(s),a=!1,p()}}}function ke(i,l){let s,o,_,u;return o=new Ne({props:{content:l[5].body}}),{key:i,first:null,c(){s=c("div"),ve(o.$$.fragment),_=v(),b(s,"class","tab-item"),H(s,"active",l[1]===l[5].code),this.first=s},m(a,p){r(a,s,p),he(o,s,null),n(s,_),u=!0},p(a,p){l=a;const d={};p&4&&(d.content=l[5].body),o.$set(d),(!u||p&6)&&H(s,"active",l[1]===l[5].code)},i(a){u||(Z(o.$$.fragment,a),u=!0)},o(a){x(o.$$.fragment,a),u=!1},d(a){a&&f(s),$e(o)}}}function Ke(i){var re,fe;let l,s,o=i[0].name+"",_,u,a,p,d,w,C,M=i[0].name+"",F,ee,I,P,L,B,Q,T,A,te,R,q,le,z,U=i[0].name+"",G,se,J,O,W,S,X,E,Y,g,N,$=[],oe=new Map,ie,V,k=[],ne=new Map,y;P=new Ve({props:{js:`
|
import{S as we,i as Ce,s as Pe,e as c,w as h,b as v,c as ve,f as b,g as r,h as n,m as he,x as D,O as de,P as Te,k as ge,Q as ye,n as Be,t as Z,a as x,o as f,d as $e,R as qe,C as Oe,p as Se,r as H,u as Ee,N as Ne}from"./index-ffbb9561.js";import{S as Ve}from"./SdkTabs-5b973c0d.js";function ue(i,l,s){const o=i.slice();return o[5]=l[s],o}function be(i,l,s){const o=i.slice();return o[5]=l[s],o}function _e(i,l){let s,o=l[5].code+"",_,u,a,p;function d(){return l[4](l[5])}return{key:i,first:null,c(){s=c("button"),_=h(o),u=v(),b(s,"class","tab-item"),H(s,"active",l[1]===l[5].code),this.first=s},m(w,C){r(w,s,C),n(s,_),n(s,u),a||(p=Ee(s,"click",d),a=!0)},p(w,C){l=w,C&4&&o!==(o=l[5].code+"")&&D(_,o),C&6&&H(s,"active",l[1]===l[5].code)},d(w){w&&f(s),a=!1,p()}}}function ke(i,l){let s,o,_,u;return o=new Ne({props:{content:l[5].body}}),{key:i,first:null,c(){s=c("div"),ve(o.$$.fragment),_=v(),b(s,"class","tab-item"),H(s,"active",l[1]===l[5].code),this.first=s},m(a,p){r(a,s,p),he(o,s,null),n(s,_),u=!0},p(a,p){l=a;const d={};p&4&&(d.content=l[5].body),o.$set(d),(!u||p&6)&&H(s,"active",l[1]===l[5].code)},i(a){u||(Z(o.$$.fragment,a),u=!0)},o(a){x(o.$$.fragment,a),u=!1},d(a){a&&f(s),$e(o)}}}function Ke(i){var re,fe;let l,s,o=i[0].name+"",_,u,a,p,d,w,C,M=i[0].name+"",F,ee,I,P,L,B,Q,T,A,te,R,q,le,z,U=i[0].name+"",G,se,J,O,W,S,X,E,Y,g,N,$=[],oe=new Map,ie,V,k=[],ne=new Map,y;P=new Ve({props:{js:`
|
||||||
import PocketBase from 'pocketbase';
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
const pb = new PocketBase('${i[3]}');
|
const pb = new PocketBase('${i[3]}');
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as Ht,i as Lt,s as Pt,C as Q,N as At,e as a,w as k,b as m,c as Pe,f as h,g as r,h as n,m as Re,x,O as Le,P as ht,k as Rt,Q as Bt,n as Ft,t as fe,a as pe,o as d,d as Be,R as gt,p as jt,r as ue,u as Dt,y as le}from"./index-3e0f12d8.js";import{S as Nt}from"./SdkTabs-ed893501.js";function wt(o,e,l){const s=o.slice();return s[7]=e[l],s}function Ct(o,e,l){const s=o.slice();return s[7]=e[l],s}function St(o,e,l){const s=o.slice();return s[12]=e[l],s}function $t(o){let e;return{c(){e=a("p"),e.innerHTML="Requires admin <code>Authorization:TOKEN</code> header",h(e,"class","txt-hint txt-sm txt-right")},m(l,s){r(l,e,s)},d(l){l&&d(e)}}}function Tt(o){let e,l,s,b,p,c,f,y,T,w,O,g,D,V,L,J,j,B,S,N,q,C,_;function M(u,$){var ee,K;return(K=(ee=u[0])==null?void 0:ee.options)!=null&&K.requireEmail?Jt:Vt}let z=M(o),P=z(o);return{c(){e=a("tr"),e.innerHTML='<td colspan="3" class="txt-hint">Auth fields</td>',l=m(),s=a("tr"),s.innerHTML=`<td><div class="inline-flex"><span class="label label-warning">Optional</span>
|
import{S as Ht,i as Lt,s as Pt,C as Q,N as At,e as a,w as k,b as m,c as Pe,f as h,g as r,h as n,m as Re,x,O as Le,P as ht,k as Rt,Q as Bt,n as Ft,t as fe,a as pe,o as d,d as Be,R as gt,p as jt,r as ue,u as Dt,y as le}from"./index-ffbb9561.js";import{S as Nt}from"./SdkTabs-5b973c0d.js";function wt(o,e,l){const s=o.slice();return s[7]=e[l],s}function Ct(o,e,l){const s=o.slice();return s[7]=e[l],s}function St(o,e,l){const s=o.slice();return s[12]=e[l],s}function $t(o){let e;return{c(){e=a("p"),e.innerHTML="Requires admin <code>Authorization:TOKEN</code> header",h(e,"class","txt-hint txt-sm txt-right")},m(l,s){r(l,e,s)},d(l){l&&d(e)}}}function Tt(o){let e,l,s,b,p,c,f,y,T,w,O,g,D,V,L,J,j,B,S,N,q,C,_;function M(u,$){var ee,K;return(K=(ee=u[0])==null?void 0:ee.options)!=null&&K.requireEmail?Jt:Vt}let z=M(o),P=z(o);return{c(){e=a("tr"),e.innerHTML='<td colspan="3" class="txt-hint">Auth fields</td>',l=m(),s=a("tr"),s.innerHTML=`<td><div class="inline-flex"><span class="label label-warning">Optional</span>
|
||||||
<span>username</span></div></td>
|
<span>username</span></div></td>
|
||||||
<td><span class="label">String</span></td>
|
<td><span class="label">String</span></td>
|
||||||
<td>The username of the auth record.
|
<td>The username of the auth record.
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as Ce,i as Re,s as Pe,e as c,w as D,b as k,c as $e,f as m,g as d,h as n,m as we,x,O as _e,P as Ee,k as Oe,Q as Te,n as Be,t as ee,a as te,o as f,d as ge,R as Ie,C as Ae,p as Me,r as N,u as Se,N as qe}from"./index-3e0f12d8.js";import{S as He}from"./SdkTabs-ed893501.js";function ke(o,l,s){const a=o.slice();return a[6]=l[s],a}function he(o,l,s){const a=o.slice();return a[6]=l[s],a}function ve(o){let l;return{c(){l=c("p"),l.innerHTML="Requires admin <code>Authorization:TOKEN</code> header",m(l,"class","txt-hint txt-sm txt-right")},m(s,a){d(s,l,a)},d(s){s&&f(l)}}}function ye(o,l){let s,a=l[6].code+"",h,i,r,u;function $(){return l[5](l[6])}return{key:o,first:null,c(){s=c("button"),h=D(a),i=k(),m(s,"class","tab-item"),N(s,"active",l[2]===l[6].code),this.first=s},m(b,g){d(b,s,g),n(s,h),n(s,i),r||(u=Se(s,"click",$),r=!0)},p(b,g){l=b,g&20&&N(s,"active",l[2]===l[6].code)},d(b){b&&f(s),r=!1,u()}}}function De(o,l){let s,a,h,i;return a=new qe({props:{content:l[6].body}}),{key:o,first:null,c(){s=c("div"),$e(a.$$.fragment),h=k(),m(s,"class","tab-item"),N(s,"active",l[2]===l[6].code),this.first=s},m(r,u){d(r,s,u),we(a,s,null),n(s,h),i=!0},p(r,u){l=r,(!i||u&20)&&N(s,"active",l[2]===l[6].code)},i(r){i||(ee(a.$$.fragment,r),i=!0)},o(r){te(a.$$.fragment,r),i=!1},d(r){r&&f(s),ge(a)}}}function Le(o){var ue,pe;let l,s,a=o[0].name+"",h,i,r,u,$,b,g,q=o[0].name+"",z,le,F,C,K,O,Q,y,H,se,L,E,oe,G,U=o[0].name+"",J,ae,V,ne,W,T,X,B,Y,I,Z,R,A,w=[],ie=new Map,re,M,v=[],ce=new Map,P;C=new He({props:{js:`
|
import{S as Ce,i as Re,s as Pe,e as c,w as D,b as k,c as $e,f as m,g as d,h as n,m as we,x,O as _e,P as Ee,k as Oe,Q as Te,n as Be,t as ee,a as te,o as f,d as ge,R as Ie,C as Ae,p as Me,r as N,u as Se,N as qe}from"./index-ffbb9561.js";import{S as He}from"./SdkTabs-5b973c0d.js";function ke(o,l,s){const a=o.slice();return a[6]=l[s],a}function he(o,l,s){const a=o.slice();return a[6]=l[s],a}function ve(o){let l;return{c(){l=c("p"),l.innerHTML="Requires admin <code>Authorization:TOKEN</code> header",m(l,"class","txt-hint txt-sm txt-right")},m(s,a){d(s,l,a)},d(s){s&&f(l)}}}function ye(o,l){let s,a=l[6].code+"",h,i,r,u;function $(){return l[5](l[6])}return{key:o,first:null,c(){s=c("button"),h=D(a),i=k(),m(s,"class","tab-item"),N(s,"active",l[2]===l[6].code),this.first=s},m(b,g){d(b,s,g),n(s,h),n(s,i),r||(u=Se(s,"click",$),r=!0)},p(b,g){l=b,g&20&&N(s,"active",l[2]===l[6].code)},d(b){b&&f(s),r=!1,u()}}}function De(o,l){let s,a,h,i;return a=new qe({props:{content:l[6].body}}),{key:o,first:null,c(){s=c("div"),$e(a.$$.fragment),h=k(),m(s,"class","tab-item"),N(s,"active",l[2]===l[6].code),this.first=s},m(r,u){d(r,s,u),we(a,s,null),n(s,h),i=!0},p(r,u){l=r,(!i||u&20)&&N(s,"active",l[2]===l[6].code)},i(r){i||(ee(a.$$.fragment,r),i=!0)},o(r){te(a.$$.fragment,r),i=!1},d(r){r&&f(s),ge(a)}}}function Le(o){var ue,pe;let l,s,a=o[0].name+"",h,i,r,u,$,b,g,q=o[0].name+"",z,le,F,C,K,O,Q,y,H,se,L,E,oe,G,U=o[0].name+"",J,ae,V,ne,W,T,X,B,Y,I,Z,R,A,w=[],ie=new Map,re,M,v=[],ce=new Map,P;C=new He({props:{js:`
|
||||||
import PocketBase from 'pocketbase';
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
const pb = new PocketBase('${o[3]}');
|
const pb = new PocketBase('${o[3]}');
|
||||||
@@ -1 +0,0 @@
|
|||||||
import{S as oe,i as ae,s as ue,e as le,f as ce,g as fe,y as M,o as de,I as he,J as ge,K as pe,L as ye,C as I,M as me}from"./index-3e0f12d8.js";import{C as R,E as S,a as q,h as be,b as ke,c as xe,d as Ke,e as Ce,s as Se,f as qe,g as we,i as Le,r as Ee,j as Ie,k as Re,l as Ae,m as ve,n as Be,o as Oe,p as _e,q as Me,t as Y,S as De}from"./index-4934dad7.js";function He(e){Z(e,"start");var i={},n=e.languageData||{},g=!1;for(var p in e)if(p!=n&&e.hasOwnProperty(p))for(var d=i[p]=[],o=e[p],r=0;r<o.length;r++){var l=o[r];d.push(new Ue(l,e)),(l.indent||l.dedent)&&(g=!0)}return{name:n.name,startState:function(){return{state:"start",pending:null,indent:g?[]:null}},copyState:function(a){var b={state:a.state,pending:a.pending,indent:a.indent&&a.indent.slice(0)};return a.stack&&(b.stack=a.stack.slice(0)),b},token:We(i),indent:Ne(i,n),languageData:n}}function Z(e,i){if(!e.hasOwnProperty(i))throw new Error("Undefined state "+i+" in simple mode")}function Fe(e,i){if(!e)return/(?:)/;var n="";return e instanceof RegExp?(e.ignoreCase&&(n="i"),e=e.source):e=String(e),new RegExp((i===!1?"":"^")+"(?:"+e+")",n)}function Te(e){if(!e)return null;if(e.apply)return e;if(typeof e=="string")return e.replace(/\./g," ");for(var i=[],n=0;n<e.length;n++)i.push(e[n]&&e[n].replace(/\./g," "));return i}function Ue(e,i){(e.next||e.push)&&Z(i,e.next||e.push),this.regex=Fe(e.regex),this.token=Te(e.token),this.data=e}function We(e){return function(i,n){if(n.pending){var g=n.pending.shift();return n.pending.length==0&&(n.pending=null),i.pos+=g.text.length,g.token}for(var p=e[n.state],d=0;d<p.length;d++){var o=p[d],r=(!o.data.sol||i.sol())&&i.match(o.regex);if(r){o.data.next?n.state=o.data.next:o.data.push?((n.stack||(n.stack=[])).push(n.state),n.state=o.data.push):o.data.pop&&n.stack&&n.stack.length&&(n.state=n.stack.pop()),o.data.indent&&n.indent.push(i.indentation()+i.indentUnit),o.data.dedent&&n.indent.pop();var l=o.token;if(l&&l.apply&&(l=l(r)),r.length>2&&o.token&&typeof o.token!="string"){n.pending=[];for(var a=2;a<r.length;a++)r[a]&&n.pending.push({text:r[a],token:o.token[a-1]});return i.backUp(r[0].length-(r[1]?r[1].length:0)),l[0]}else return l&&l.join?l[0]:l}}return i.next(),null}}function Ne(e,i){return function(n,g){if(n.indent==null||i.dontIndentStates&&i.doneIndentState.indexOf(n.state)>-1)return null;var p=n.indent.length-1,d=e[n.state];e:for(;;){for(var o=0;o<d.length;o++){var r=d[o];if(r.data.dedent&&r.data.dedentIfLineStart!==!1){var l=r.regex.exec(g);if(l&&l[0]){p--,(r.next||r.push)&&(d=e[r.next||r.push]),g=g.slice(l[0].length);continue e}}}break}return p<0?0:n.indent[p]}}function Ve(e){let i;return{c(){i=le("div"),ce(i,"class","code-editor")},m(n,g){fe(n,i,g),e[15](i)},p:M,i:M,o:M,d(n){n&&de(i),e[15](null)}}}function Je(e){return JSON.stringify([e==null?void 0:e.name,e==null?void 0:e.type,e==null?void 0:e.schema])}function Pe(e,i,n){let g;he(e,ge,t=>n(21,g=t));const p=pe();let{id:d=""}=i,{value:o=""}=i,{disabled:r=!1}=i,{placeholder:l=""}=i,{baseCollection:a=null}=i,{singleLine:b=!1}=i,{extraAutocompleteKeys:A=[]}=i,{disableRequestKeys:x=!1}=i,{disableIndirectCollectionsKeys:K=!1}=i,f,k,v=r,D=new R,H=new R,F=new R,T=new R,w=[],U=[],W=[],N=[],L="",B="";function O(){f==null||f.focus()}let _=null;function j(){clearTimeout(_),_=setTimeout(()=>{w=$(g),N=ee(),U=x?[]:te(),W=K?[]:ne()},300)}function $(t){let s=t.slice();return a&&I.pushOrReplaceByKey(s,a,"id"),s}function V(){k==null||k.dispatchEvent(new CustomEvent("change",{detail:{value:o},bubbles:!0}))}function J(){if(!d)return;const t=document.querySelectorAll('[for="'+d+'"]');for(let s of t)s.removeEventListener("click",O)}function P(){if(!d)return;J();const t=document.querySelectorAll('[for="'+d+'"]');for(let s of t)s.addEventListener("click",O)}function C(t,s="",c=0){var m,z,Q;let h=w.find(y=>y.name==t||y.id==t);if(!h||c>=4)return[];let u=[s+"id",s+"created",s+"updated"];h.isAuth&&(u.push(s+"username"),u.push(s+"email"),u.push(s+"emailVisibility"),u.push(s+"verified"));for(const y of h.schema){const E=s+y.name;if(u.push(E),y.type==="relation"&&((m=y.options)!=null&&m.collectionId)){const X=C(y.options.collectionId,E+".",c+1);X.length&&(u=u.concat(X))}y.type==="select"&&((z=y.options)==null?void 0:z.maxSelect)!=1&&u.push(E+":each"),((Q=y.options)==null?void 0:Q.maxSelect)!=1&&["select","file","relation"].includes(y.type)&&u.push(E+":length")}return u}function ee(){return C(a==null?void 0:a.name)}function te(){const t=[];t.push("@request.method"),t.push("@request.query."),t.push("@request.data."),t.push("@request.auth.id"),t.push("@request.auth.collectionId"),t.push("@request.auth.collectionName"),t.push("@request.auth.verified"),t.push("@request.auth.username"),t.push("@request.auth.email"),t.push("@request.auth.emailVisibility"),t.push("@request.auth.created"),t.push("@request.auth.updated");const s=w.filter(h=>h.isAuth);for(const h of s){const u=C(h.id,"@request.auth.");for(const m of u)I.pushUnique(t,m)}const c=["created","updated"];if(a!=null&&a.id){const h=C(a.name,"@requestLine truncated
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
import{S as oe,i as ae,s as le,e as ue,f as ce,g as fe,y as M,o as de,I as he,J as ge,K as pe,L as ye,C as S,M as me}from"./index-ffbb9561.js";import{C as E,E as q,a as w,h as be,b as ke,c as xe,d as Ke,e as Ce,s as Se,f as qe,g as we,i as Le,r as Ie,j as Ee,k as Re,l as Ae,m as Be,n as Oe,o as _e,p as ve,q as Me,t as Y,S as De}from"./index-a6ccb683.js";function He(e){Z(e,"start");var i={},n=e.languageData||{},g=!1;for(var p in e)if(p!=n&&e.hasOwnProperty(p))for(var d=i[p]=[],o=e[p],s=0;s<o.length;s++){var l=o[s];d.push(new Ue(l,e)),(l.indent||l.dedent)&&(g=!0)}return{name:n.name,startState:function(){return{state:"start",pending:null,indent:g?[]:null}},copyState:function(a){var b={state:a.state,pending:a.pending,indent:a.indent&&a.indent.slice(0)};return a.stack&&(b.stack=a.stack.slice(0)),b},token:We(i),indent:Ne(i,n),languageData:n}}function Z(e,i){if(!e.hasOwnProperty(i))throw new Error("Undefined state "+i+" in simple mode")}function Fe(e,i){if(!e)return/(?:)/;var n="";return e instanceof RegExp?(e.ignoreCase&&(n="i"),e=e.source):e=String(e),new RegExp((i===!1?"":"^")+"(?:"+e+")",n)}function Te(e){if(!e)return null;if(e.apply)return e;if(typeof e=="string")return e.replace(/\./g," ");for(var i=[],n=0;n<e.length;n++)i.push(e[n]&&e[n].replace(/\./g," "));return i}function Ue(e,i){(e.next||e.push)&&Z(i,e.next||e.push),this.regex=Fe(e.regex),this.token=Te(e.token),this.data=e}function We(e){return function(i,n){if(n.pending){var g=n.pending.shift();return n.pending.length==0&&(n.pending=null),i.pos+=g.text.length,g.token}for(var p=e[n.state],d=0;d<p.length;d++){var o=p[d],s=(!o.data.sol||i.sol())&&i.match(o.regex);if(s){o.data.next?n.state=o.data.next:o.data.push?((n.stack||(n.stack=[])).push(n.state),n.state=o.data.push):o.data.pop&&n.stack&&n.stack.length&&(n.state=n.stack.pop()),o.data.indent&&n.indent.push(i.indentation()+i.indentUnit),o.data.dedent&&n.indent.pop();var l=o.token;if(l&&l.apply&&(l=l(s)),s.length>2&&o.token&&typeof o.token!="string"){n.pending=[];for(var a=2;a<s.length;a++)s[a]&&n.pending.push({text:s[a],token:o.token[a-1]});return i.backUp(s[0].length-(s[1]?s[1].length:0)),l[0]}else return l&&l.join?l[0]:l}}return i.next(),null}}function Ne(e,i){return function(n,g){if(n.indent==null||i.dontIndentStates&&i.doneIndentState.indexOf(n.state)>-1)return null;var p=n.indent.length-1,d=e[n.state];e:for(;;){for(var o=0;o<d.length;o++){var s=d[o];if(s.data.dedent&&s.data.dedentIfLineStart!==!1){var l=s.regex.exec(g);if(l&&l[0]){p--,(s.next||s.push)&&(d=e[s.next||s.push]),g=g.slice(l[0].length);continue e}}}break}return p<0?0:n.indent[p]}}function Je(e){let i;return{c(){i=ue("div"),ce(i,"class","code-editor")},m(n,g){fe(n,i,g),e[15](i)},p:M,i:M,o:M,d(n){n&&de(i),e[15](null)}}}function Pe(e){return JSON.stringify([e==null?void 0:e.name,e==null?void 0:e.type,e==null?void 0:e.schema])}function Ve(e,i,n){let g;he(e,ge,t=>n(21,g=t));const p=pe();let{id:d=""}=i,{value:o=""}=i,{disabled:s=!1}=i,{placeholder:l=""}=i,{baseCollection:a=null}=i,{singleLine:b=!1}=i,{extraAutocompleteKeys:R=[]}=i,{disableRequestKeys:x=!1}=i,{disableIndirectCollectionsKeys:K=!1}=i,f,k,A=s,D=new E,H=new E,F=new E,T=new E,L=[],U=[],W=[],N=[],I="",B="";function O(){f==null||f.focus()}let _=null;function j(){clearTimeout(_),_=setTimeout(()=>{L=$(g),N=ee(),U=x?[]:te(),W=K?[]:ne()},300)}function $(t){let r=t.slice();return a&&S.pushOrReplaceByKey(r,a,"id"),r}function J(){k==null||k.dispatchEvent(new CustomEvent("change",{detail:{value:o},bubbles:!0}))}function P(){if(!d)return;const t=document.querySelectorAll('[for="'+d+'"]');for(let r of t)r.removeEventListener("click",O)}function V(){if(!d)return;P();const t=document.querySelectorAll('[for="'+d+'"]');for(let r of t)r.addEventListener("click",O)}function C(t,r="",c=0){var m,z,Q;let h=L.find(y=>y.name==t||y.id==t);if(!h||c>=4)return[];let u=S.getAllCollectionIdentifiers(h,r);for(const y of h.schema){const v=r+y.name;if(y.type==="relation"&&((m=y.options)!=null&&m.collectionId)){const X=C(y.options.collectionId,v+".",c+1);X.length&&(u=u.concat(X))}y.type==="select"&&((z=y.options)==null?void 0:z.maxSelect)!=1&&u.push(v+":each"),((Q=y.options)==null?void 0:Q.maxSelect)!=1&&["select","file","relation"].includes(y.type)&&u.push(v+":length")}return u}function ee(){return C(a==null?void 0:a.name)}function te(){const t=[];t.push("@request.method"),t.push("@request.query."),t.push("@request.data."),t.push("@request.auth.id"),t.push("@request.auth.collectionId"),t.push("@request.auth.collectionName"),t.push("@request.auth.verified"),t.push("@request.auth.username"),t.push("@request.auth.email"),t.push("@request.auth.emailVisibility"),t.push("@request.auth.created"),t.push("@request.auth.updated");const r=L.filter(h=>h.isAuth);for(const h of r){const u=C(h.id,"@request.auth.");for(const m of u)S.pushUnique(t,m)}const c=["created","updated"];if(a!=null&&a.id){const h=C(a.name,"@request.data.");for(const u of h){t.push(u);const m=u.split(".");m.length===3&&m[2].indexOf(":")===-1&&!c.includes(Line truncated
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as Se,i as Ne,s as qe,e,b as s,E as He,f as o,g as u,u as De,y as Fe,o as m,w as _,h as t,N as he,c as Yt,m as Zt,x as we,O as Le,P as Me,k as Be,Q as Ie,n as Ge,t as Bt,a as It,d as te,R as ze,C as _e,p as Ue,r as xe}from"./index-3e0f12d8.js";import{S as je}from"./SdkTabs-ed893501.js";function Qe(d){let n,a,r;return{c(){n=e("span"),n.textContent="Show details",a=s(),r=e("i"),o(n,"class","txt"),o(r,"class","ri-arrow-down-s-line")},m(f,p){u(f,n,p),u(f,a,p),u(f,r,p)},d(f){f&&m(n),f&&m(a),f&&m(r)}}}function Je(d){let n,a,r;return{c(){n=e("span"),n.textContent="Hide details",a=s(),r=e("i"),o(n,"class","txt"),o(r,"class","ri-arrow-up-s-line")},m(f,p){u(f,n,p),u(f,a,p),u(f,r,p)},d(f){f&&m(n),f&&m(a),f&&m(r)}}}function Ae(d){let n,a,r,f,p,b,x,$,h,w,c,V,bt,Gt,R,zt,q,it,F,W,ee,I,G,le,at,ht,X,xt,se,rt,ct,Y,O,Ut,wt,y,Z,_t,jt,$t,z,tt,Ct,Qt,kt,L,dt,gt,ne,ft,oe,D,vt,et,yt,U,pt,ie,H,Ft,lt,Lt,st,At,nt,j,E,Jt,Tt,Kt,Pt,C,Q,M,ae,Rt,re,ut,ce,B,Ot,de,Et,Vt,St,Wt,A,mt,J,K,S,Nt,fe,T,k,pe,N,v,ot,ue,P,qt,me,Dt,be,Ht,Xt,Mt;return{c(){n=e("p"),n.innerHTML=`The syntax basically follows the format
|
import{S as Se,i as Ne,s as qe,e,b as s,E as He,f as o,g as u,u as De,y as Fe,o as m,w as _,h as t,N as he,c as Yt,m as Zt,x as we,O as Le,P as Me,k as Be,Q as Ie,n as Ge,t as Bt,a as It,d as te,R as ze,C as _e,p as Ue,r as xe}from"./index-ffbb9561.js";import{S as je}from"./SdkTabs-5b973c0d.js";function Qe(d){let n,a,r;return{c(){n=e("span"),n.textContent="Show details",a=s(),r=e("i"),o(n,"class","txt"),o(r,"class","ri-arrow-down-s-line")},m(f,p){u(f,n,p),u(f,a,p),u(f,r,p)},d(f){f&&m(n),f&&m(a),f&&m(r)}}}function Je(d){let n,a,r;return{c(){n=e("span"),n.textContent="Hide details",a=s(),r=e("i"),o(n,"class","txt"),o(r,"class","ri-arrow-up-s-line")},m(f,p){u(f,n,p),u(f,a,p),u(f,r,p)},d(f){f&&m(n),f&&m(a),f&&m(r)}}}function Ae(d){let n,a,r,f,p,b,x,$,h,w,c,V,bt,Gt,R,zt,q,it,F,W,ee,I,G,le,at,ht,X,xt,se,rt,ct,Y,O,Ut,wt,y,Z,_t,jt,$t,z,tt,Ct,Qt,kt,L,dt,gt,ne,ft,oe,D,vt,et,yt,U,pt,ie,H,Ft,lt,Lt,st,At,nt,j,E,Jt,Tt,Kt,Pt,C,Q,M,ae,Rt,re,ut,ce,B,Ot,de,Et,Vt,St,Wt,A,mt,J,K,S,Nt,fe,T,k,pe,N,v,ot,ue,P,qt,me,Dt,be,Ht,Xt,Mt;return{c(){n=e("p"),n.innerHTML=`The syntax basically follows the format
|
||||||
<code><span class="txt-success">OPERAND</span>
|
<code><span class="txt-success">OPERAND</span>
|
||||||
<span class="txt-danger">OPERATOR</span>
|
<span class="txt-danger">OPERATOR</span>
|
||||||
<span class="txt-success">OPERAND</span></code>, where:`,a=s(),r=e("ul"),f=e("li"),f.innerHTML=`<code class="txt-success">OPERAND</code> - could be any of the above field literal, string (single
|
<span class="txt-success">OPERAND</span></code>, where:`,a=s(),r=e("ul"),f=e("li"),f.innerHTML=`<code class="txt-success">OPERAND</code> - could be any of the above field literal, string (single
|
||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as Be,i as qe,s as Oe,e as i,w as v,b as _,c as Se,f as b,g as r,h as s,m as Ee,x as U,O as Pe,P as Le,k as Me,Q as Re,n as We,t as te,a as le,o as d,d as Ie,R as ze,C as De,p as He,r as j,u as Ue,N as je}from"./index-3e0f12d8.js";import{S as Ne}from"./SdkTabs-ed893501.js";function ye(a,l,o){const n=a.slice();return n[5]=l[o],n}function Ae(a,l,o){const n=a.slice();return n[5]=l[o],n}function Ce(a,l){let o,n=l[5].code+"",f,h,c,u;function m(){return l[4](l[5])}return{key:a,first:null,c(){o=i("button"),f=v(n),h=_(),b(o,"class","tab-item"),j(o,"active",l[1]===l[5].code),this.first=o},m(g,P){r(g,o,P),s(o,f),s(o,h),c||(u=Ue(o,"click",m),c=!0)},p(g,P){l=g,P&4&&n!==(n=l[5].code+"")&&U(f,n),P&6&&j(o,"active",l[1]===l[5].code)},d(g){g&&d(o),c=!1,u()}}}function Te(a,l){let o,n,f,h;return n=new je({props:{content:l[5].body}}),{key:a,first:null,c(){o=i("div"),Se(n.$$.fragment),f=_(),b(o,"class","tab-item"),j(o,"active",l[1]===l[5].code),this.first=o},m(c,u){r(c,o,u),Ee(n,o,null),s(o,f),h=!0},p(c,u){l=c;const m={};u&4&&(m.content=l[5].body),n.$set(m),(!h||u&6)&&j(o,"active",l[1]===l[5].code)},i(c){h||(te(n.$$.fragment,c),h=!0)},o(c){le(n.$$.fragment,c),h=!1},d(c){c&&d(o),Ie(n)}}}function Ge(a){var be,he,_e,ke;let l,o,n=a[0].name+"",f,h,c,u,m,g,P,M=a[0].name+"",N,oe,se,G,K,y,Q,S,F,w,R,ae,W,A,ne,J,z=a[0].name+"",V,ie,X,ce,re,D,Y,E,Z,I,x,B,ee,C,q,$=[],de=new Map,ue,O,k=[],pe=new Map,T;y=new Ne({props:{js:`
|
import{S as Be,i as qe,s as Oe,e as i,w as v,b as _,c as Se,f as b,g as r,h as s,m as Ee,x as U,O as Pe,P as Le,k as Me,Q as Re,n as We,t as te,a as le,o as d,d as Ie,R as ze,C as De,p as He,r as j,u as Ue,N as je}from"./index-ffbb9561.js";import{S as Ne}from"./SdkTabs-5b973c0d.js";function ye(a,l,o){const n=a.slice();return n[5]=l[o],n}function Ae(a,l,o){const n=a.slice();return n[5]=l[o],n}function Ce(a,l){let o,n=l[5].code+"",f,h,c,u;function m(){return l[4](l[5])}return{key:a,first:null,c(){o=i("button"),f=v(n),h=_(),b(o,"class","tab-item"),j(o,"active",l[1]===l[5].code),this.first=o},m(g,P){r(g,o,P),s(o,f),s(o,h),c||(u=Ue(o,"click",m),c=!0)},p(g,P){l=g,P&4&&n!==(n=l[5].code+"")&&U(f,n),P&6&&j(o,"active",l[1]===l[5].code)},d(g){g&&d(o),c=!1,u()}}}function Te(a,l){let o,n,f,h;return n=new je({props:{content:l[5].body}}),{key:a,first:null,c(){o=i("div"),Se(n.$$.fragment),f=_(),b(o,"class","tab-item"),j(o,"active",l[1]===l[5].code),this.first=o},m(c,u){r(c,o,u),Ee(n,o,null),s(o,f),h=!0},p(c,u){l=c;const m={};u&4&&(m.content=l[5].body),n.$set(m),(!h||u&6)&&j(o,"active",l[1]===l[5].code)},i(c){h||(te(n.$$.fragment,c),h=!0)},o(c){le(n.$$.fragment,c),h=!1},d(c){c&&d(o),Ie(n)}}}function Ge(a){var be,he,_e,ke;let l,o,n=a[0].name+"",f,h,c,u,m,g,P,M=a[0].name+"",N,oe,se,G,K,y,Q,S,F,w,R,ae,W,A,ne,J,z=a[0].name+"",V,ie,X,ce,re,D,Y,E,Z,I,x,B,ee,C,q,$=[],de=new Map,ue,O,k=[],pe=new Map,T;y=new Ne({props:{js:`
|
||||||
import PocketBase from 'pocketbase';
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
const pb = new PocketBase('${a[3]}');
|
const pb = new PocketBase('${a[3]}');
|
||||||
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
import{S as E,i as G,s as I,F as K,c as A,m as B,t as H,a as N,d as T,C as M,q as J,e as c,w as q,b as C,f as u,r as L,g as b,h as _,u as h,v as O,j as Q,l as U,o as w,A as V,p as W,B as X,D as Y,x as Z,z as S}from"./index-3e0f12d8.js";function y(f){let e,o,s;return{c(){e=q("for "),o=c("strong"),s=q(f[3]),u(o,"class","txt-nowrap")},m(l,t){b(l,e,t),b(l,o,t),_(o,s)},p(l,t){t&8&&Z(s,l[3])},d(l){l&&w(e),l&&w(o)}}}function x(f){let e,o,s,l,t,r,p,d;return{c(){e=c("label"),o=q("New password"),l=C(),t=c("input"),u(e,"for",s=f[8]),u(t,"type","password"),u(t,"id",r=f[8]),t.required=!0,t.autofocus=!0},m(n,i){b(n,e,i),_(e,o),b(n,l,i),b(n,t,i),S(t,f[0]),t.focus(),p||(d=h(t,"input",f[6]),p=!0)},p(n,i){i&256&&s!==(s=n[8])&&u(e,"for",s),i&256&&r!==(r=n[8])&&u(t,"id",r),i&1&&t.value!==n[0]&&S(t,n[0])},d(n){n&&w(e),n&&w(l),n&&w(t),p=!1,d()}}}function ee(f){let e,o,s,l,t,r,p,d;return{c(){e=c("label"),o=q("New password confirm"),l=C(),t=c("input"),u(e,"for",s=f[8]),u(t,"type","password"),u(t,"id",r=f[8]),t.required=!0},m(n,i){b(n,e,i),_(e,o),b(n,l,i),b(n,t,i),S(t,f[1]),p||(d=h(t,"input",f[7]),p=!0)},p(n,i){i&256&&s!==(s=n[8])&&u(e,"for",s),i&256&&r!==(r=n[8])&&u(t,"id",r),i&2&&t.value!==n[1]&&S(t,n[1])},d(n){n&&w(e),n&&w(l),n&&w(t),p=!1,d()}}}function te(f){let e,o,s,l,t,r,p,d,n,i,g,R,P,v,k,F,j,m=f[3]&&y(f);return r=new J({props:{class:"form-field required",name:"password",$$slots:{default:[x,({uniqueId:a})=>({8:a}),({uniqueId:a})=>a?256:0]},$$scope:{ctx:f}}}),d=new J({props:{class:"form-field required",name:"passwordConfirm",$$slots:{default:[ee,({uniqueId:a})=>({8:a}),({uniqueId:a})=>a?256:0]},$$scope:{ctx:f}}}),{c(){e=c("form"),o=c("div"),s=c("h4"),l=q(`Reset your admin password
|
import{S as E,i as G,s as I,F as K,c as A,m as B,t as H,a as N,d as T,C as M,q as J,e as c,w as q,b as C,f as u,r as L,g as b,h as _,u as h,v as O,j as Q,l as U,o as w,A as V,p as W,B as X,D as Y,x as Z,z as S}from"./index-ffbb9561.js";function y(f){let e,o,s;return{c(){e=q("for "),o=c("strong"),s=q(f[3]),u(o,"class","txt-nowrap")},m(l,t){b(l,e,t),b(l,o,t),_(o,s)},p(l,t){t&8&&Z(s,l[3])},d(l){l&&w(e),l&&w(o)}}}function x(f){let e,o,s,l,t,r,p,d;return{c(){e=c("label"),o=q("New password"),l=C(),t=c("input"),u(e,"for",s=f[8]),u(t,"type","password"),u(t,"id",r=f[8]),t.required=!0,t.autofocus=!0},m(n,i){b(n,e,i),_(e,o),b(n,l,i),b(n,t,i),S(t,f[0]),t.focus(),p||(d=h(t,"input",f[6]),p=!0)},p(n,i){i&256&&s!==(s=n[8])&&u(e,"for",s),i&256&&r!==(r=n[8])&&u(t,"id",r),i&1&&t.value!==n[0]&&S(t,n[0])},d(n){n&&w(e),n&&w(l),n&&w(t),p=!1,d()}}}function ee(f){let e,o,s,l,t,r,p,d;return{c(){e=c("label"),o=q("New password confirm"),l=C(),t=c("input"),u(e,"for",s=f[8]),u(t,"type","password"),u(t,"id",r=f[8]),t.required=!0},m(n,i){b(n,e,i),_(e,o),b(n,l,i),b(n,t,i),S(t,f[1]),p||(d=h(t,"input",f[7]),p=!0)},p(n,i){i&256&&s!==(s=n[8])&&u(e,"for",s),i&256&&r!==(r=n[8])&&u(t,"id",r),i&2&&t.value!==n[1]&&S(t,n[1])},d(n){n&&w(e),n&&w(l),n&&w(t),p=!1,d()}}}function te(f){let e,o,s,l,t,r,p,d,n,i,g,R,P,v,k,F,j,m=f[3]&&y(f);return r=new J({props:{class:"form-field required",name:"password",$$slots:{default:[x,({uniqueId:a})=>({8:a}),({uniqueId:a})=>a?256:0]},$$scope:{ctx:f}}}),d=new J({props:{class:"form-field required",name:"passwordConfirm",$$slots:{default:[ee,({uniqueId:a})=>({8:a}),({uniqueId:a})=>a?256:0]},$$scope:{ctx:f}}}),{c(){e=c("form"),o=c("div"),s=c("h4"),l=q(`Reset your admin password
|
||||||
`),m&&m.c(),t=C(),A(r.$$.fragment),p=C(),A(d.$$.fragment),n=C(),i=c("button"),g=c("span"),g.textContent="Set new password",R=C(),P=c("div"),v=c("a"),v.textContent="Back to login",u(s,"class","m-b-xs"),u(o,"class","content txt-center m-b-sm"),u(g,"class","txt"),u(i,"type","submit"),u(i,"class","btn btn-lg btn-block"),i.disabled=f[2],L(i,"btn-loading",f[2]),u(e,"class","m-b-base"),u(v,"href","/login"),u(v,"class","link-hint"),u(P,"class","content txt-center")},m(a,$){b(a,e,$),_(e,o),_(o,s),_(s,l),m&&m.m(s,null),_(e,t),B(r,e,null),_(e,p),B(d,e,null),_(e,n),_(e,i),_(i,g),b(a,R,$),b(a,P,$),_(P,v),k=!0,F||(j=[h(e,"submit",O(f[4])),Q(U.call(null,v))],F=!0)},p(a,$){a[3]?m?m.p(a,$):(m=y(a),m.c(),m.m(s,null)):m&&(m.d(1),m=null);const z={};$&769&&(z.$$scope={dirty:$,ctx:a}),r.$set(z);const D={};$&770&&(D.$$scope={dirty:$,ctx:a}),d.$set(D),(!k||$&4)&&(i.disabled=a[2]),(!k||$&4)&&L(i,"btn-loading",a[2])},i(a){k||(H(r.$$.fragment,a),H(d.$$.fragment,a),k=!0)},o(a){N(r.$$.fragment,a),N(d.$$.fragment,a),k=!1},d(a){a&&w(e),m&&m.d(),T(r),T(d),a&&w(R),a&&w(P),F=!1,V(j)}}}function se(f){let e,o;return e=new K({props:{$$slots:{default:[te]},$$scope:{ctx:f}}}),{c(){A(e.$$.fragment)},m(s,l){B(e,s,l),o=!0},p(s,[l]){const t={};l&527&&(t.$$scope={dirty:l,ctx:s}),e.$set(t)},i(s){o||(H(e.$$.fragment,s),o=!0)},o(s){N(e.$$.fragment,s),o=!1},d(s){T(e,s)}}}function le(f,e,o){let s,{params:l}=e,t="",r="",p=!1;async function d(){if(!p){o(2,p=!0);try{await W.admins.confirmPasswordReset(l==null?void 0:l.token,t,r),X("Successfully set a new admin password."),Y("/")}catch(g){W.errorResponseHandler(g)}o(2,p=!1)}}function n(){t=this.value,o(0,t)}function i(){r=this.value,o(1,r)}return f.$$set=g=>{"params"in g&&o(5,l=g.params)},f.$$.update=()=>{f.$$.dirty&32&&o(3,s=M.getJWTPayload(l==null?void 0:l.token).email||"")},[t,r,p,s,d,l,n,i]}class ae extends E{constructor(e){super(),G(this,e,le,se,I,{params:5})}}export{ae as default};
|
`),m&&m.c(),t=C(),A(r.$$.fragment),p=C(),A(d.$$.fragment),n=C(),i=c("button"),g=c("span"),g.textContent="Set new password",R=C(),P=c("div"),v=c("a"),v.textContent="Back to login",u(s,"class","m-b-xs"),u(o,"class","content txt-center m-b-sm"),u(g,"class","txt"),u(i,"type","submit"),u(i,"class","btn btn-lg btn-block"),i.disabled=f[2],L(i,"btn-loading",f[2]),u(e,"class","m-b-base"),u(v,"href","/login"),u(v,"class","link-hint"),u(P,"class","content txt-center")},m(a,$){b(a,e,$),_(e,o),_(o,s),_(s,l),m&&m.m(s,null),_(e,t),B(r,e,null),_(e,p),B(d,e,null),_(e,n),_(e,i),_(i,g),b(a,R,$),b(a,P,$),_(P,v),k=!0,F||(j=[h(e,"submit",O(f[4])),Q(U.call(null,v))],F=!0)},p(a,$){a[3]?m?m.p(a,$):(m=y(a),m.c(),m.m(s,null)):m&&(m.d(1),m=null);const z={};$&769&&(z.$$scope={dirty:$,ctx:a}),r.$set(z);const D={};$&770&&(D.$$scope={dirty:$,ctx:a}),d.$set(D),(!k||$&4)&&(i.disabled=a[2]),(!k||$&4)&&L(i,"btn-loading",a[2])},i(a){k||(H(r.$$.fragment,a),H(d.$$.fragment,a),k=!0)},o(a){N(r.$$.fragment,a),N(d.$$.fragment,a),k=!1},d(a){a&&w(e),m&&m.d(),T(r),T(d),a&&w(R),a&&w(P),F=!1,V(j)}}}function se(f){let e,o;return e=new K({props:{$$slots:{default:[te]},$$scope:{ctx:f}}}),{c(){A(e.$$.fragment)},m(s,l){B(e,s,l),o=!0},p(s,[l]){const t={};l&527&&(t.$$scope={dirty:l,ctx:s}),e.$set(t)},i(s){o||(H(e.$$.fragment,s),o=!0)},o(s){N(e.$$.fragment,s),o=!1},d(s){T(e,s)}}}function le(f,e,o){let s,{params:l}=e,t="",r="",p=!1;async function d(){if(!p){o(2,p=!0);try{await W.admins.confirmPasswordReset(l==null?void 0:l.token,t,r),X("Successfully set a new admin password."),Y("/")}catch(g){W.errorResponseHandler(g)}o(2,p=!1)}}function n(){t=this.value,o(0,t)}function i(){r=this.value,o(1,r)}return f.$$set=g=>{"params"in g&&o(5,l=g.params)},f.$$.update=()=>{f.$$.dirty&32&&o(3,s=M.getJWTPayload(l==null?void 0:l.token).email||"")},[t,r,p,s,d,l,n,i]}class ae extends E{constructor(e){super(),G(this,e,le,se,I,{params:5})}}export{ae as default};
|
||||||
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
import{S as M,i as T,s as j,F as z,c as H,m as L,t as w,a as y,d as S,b as g,e as _,f as p,g as k,h as d,j as A,l as B,k as N,n as D,o as v,p as C,q as G,r as F,u as E,v as I,w as h,x as J,y as P,z as R}from"./index-3e0f12d8.js";function K(c){let e,s,n,l,t,o,f,m,i,a,b,u;return l=new G({props:{class:"form-field required",name:"email",$$slots:{default:[Q,({uniqueId:r})=>({5:r}),({uniqueId:r})=>r?32:0]},$$scope:{ctx:c}}}),{c(){e=_("form"),s=_("div"),s.innerHTML=`<h4 class="m-b-xs">Forgotten admin password</h4>
|
import{S as M,i as T,s as j,F as z,c as H,m as L,t as w,a as y,d as S,b as g,e as _,f as p,g as k,h as d,j as A,l as B,k as N,n as D,o as v,p as C,q as G,r as F,u as E,v as I,w as h,x as J,y as P,z as R}from"./index-ffbb9561.js";function K(c){let e,s,n,l,t,o,f,m,i,a,b,u;return l=new G({props:{class:"form-field required",name:"email",$$slots:{default:[Q,({uniqueId:r})=>({5:r}),({uniqueId:r})=>r?32:0]},$$scope:{ctx:c}}}),{c(){e=_("form"),s=_("div"),s.innerHTML=`<h4 class="m-b-xs">Forgotten admin password</h4>
|
||||||
<p>Enter the email associated with your account and we’ll send you a recovery link:</p>`,n=g(),H(l.$$.fragment),t=g(),o=_("button"),f=_("i"),m=g(),i=_("span"),i.textContent="Send recovery link",p(s,"class","content txt-center m-b-sm"),p(f,"class","ri-mail-send-line"),p(i,"class","txt"),p(o,"type","submit"),p(o,"class","btn btn-lg btn-block"),o.disabled=c[1],F(o,"btn-loading",c[1]),p(e,"class","m-b-base")},m(r,$){k(r,e,$),d(e,s),d(e,n),L(l,e,null),d(e,t),d(e,o),d(o,f),d(o,m),d(o,i),a=!0,b||(u=E(e,"submit",I(c[3])),b=!0)},p(r,$){const q={};$&97&&(q.$$scope={dirty:$,ctx:r}),l.$set(q),(!a||$&2)&&(o.disabled=r[1]),(!a||$&2)&&F(o,"btn-loading",r[1])},i(r){a||(w(l.$$.fragment,r),a=!0)},o(r){y(l.$$.fragment,r),a=!1},d(r){r&&v(e),S(l),b=!1,u()}}}function O(c){let e,s,n,l,t,o,f,m,i;return{c(){e=_("div"),s=_("div"),s.innerHTML='<i class="ri-checkbox-circle-line"></i>',n=g(),l=_("div"),t=_("p"),o=h("Check "),f=_("strong"),m=h(c[0]),i=h(" for the recovery link."),p(s,"class","icon"),p(f,"class","txt-nowrap"),p(l,"class","content"),p(e,"class","alert alert-success")},m(a,b){k(a,e,b),d(e,s),d(e,n),d(e,l),d(l,t),d(t,o),d(t,f),d(f,m),d(t,i)},p(a,b){b&1&&J(m,a[0])},i:P,o:P,d(a){a&&v(e)}}}function Q(c){let e,s,n,l,t,o,f,m;return{c(){e=_("label"),s=h("Email"),l=g(),t=_("input"),p(e,"for",n=c[5]),p(t,"type","email"),p(t,"id",o=c[5]),t.required=!0,t.autofocus=!0},m(i,a){k(i,e,a),d(e,s),k(i,l,a),k(i,t,a),R(t,c[0]),t.focus(),f||(m=E(t,"input",c[4]),f=!0)},p(i,a){a&32&&n!==(n=i[5])&&p(e,"for",n),a&32&&o!==(o=i[5])&&p(t,"id",o),a&1&&t.value!==i[0]&&R(t,i[0])},d(i){i&&v(e),i&&v(l),i&&v(t),f=!1,m()}}}function U(c){let e,s,n,l,t,o,f,m;const i=[O,K],a=[];function b(u,r){return u[2]?0:1}return e=b(c),s=a[e]=i[e](c),{c(){s.c(),n=g(),l=_("div"),t=_("a"),t.textContent="Back to login",p(t,"href","/login"),p(t,"class","link-hint"),p(l,"class","content txt-center")},m(u,r){a[e].m(u,r),k(u,n,r),k(u,l,r),d(l,t),o=!0,f||(m=A(B.call(null,t)),f=!0)},p(u,r){let $=e;e=b(u),e===$?a[e].p(u,r):(N(),y(a[$],1,1,()=>{a[$]=null}),D(),s=a[e],s?s.p(u,r):(s=a[e]=i[e](u),s.c()),w(s,1),s.m(n.parentNode,n))},i(u){o||(w(s),o=!0)},o(u){y(s),o=!1},d(u){a[e].d(u),u&&v(n),u&&v(l),f=!1,m()}}}function V(c){let e,s;return e=new z({props:{$$slots:{default:[U]},$$scope:{ctx:c}}}),{c(){H(e.$$.fragment)},m(n,l){L(e,n,l),s=!0},p(n,[l]){const t={};l&71&&(t.$$scope={dirty:l,ctx:n}),e.$set(t)},i(n){s||(w(e.$$.fragment,n),s=!0)},o(n){y(e.$$.fragment,n),s=!1},d(n){S(e,n)}}}function W(c,e,s){let n="",l=!1,t=!1;async function o(){if(!l){s(1,l=!0);try{await C.admins.requestPasswordReset(n),s(2,t=!0)}catch(m){C.errorResponseHandler(m)}s(1,l=!1)}}function f(){n=this.value,s(0,n)}return[n,l,t,o,f]}class Y extends M{constructor(e){super(),T(this,e,W,V,j,{})}}export{Y as default};
|
<p>Enter the email associated with your account and we’ll send you a recovery link:</p>`,n=g(),H(l.$$.fragment),t=g(),o=_("button"),f=_("i"),m=g(),i=_("span"),i.textContent="Send recovery link",p(s,"class","content txt-center m-b-sm"),p(f,"class","ri-mail-send-line"),p(i,"class","txt"),p(o,"type","submit"),p(o,"class","btn btn-lg btn-block"),o.disabled=c[1],F(o,"btn-loading",c[1]),p(e,"class","m-b-base")},m(r,$){k(r,e,$),d(e,s),d(e,n),L(l,e,null),d(e,t),d(e,o),d(o,f),d(o,m),d(o,i),a=!0,b||(u=E(e,"submit",I(c[3])),b=!0)},p(r,$){const q={};$&97&&(q.$$scope={dirty:$,ctx:r}),l.$set(q),(!a||$&2)&&(o.disabled=r[1]),(!a||$&2)&&F(o,"btn-loading",r[1])},i(r){a||(w(l.$$.fragment,r),a=!0)},o(r){y(l.$$.fragment,r),a=!1},d(r){r&&v(e),S(l),b=!1,u()}}}function O(c){let e,s,n,l,t,o,f,m,i;return{c(){e=_("div"),s=_("div"),s.innerHTML='<i class="ri-checkbox-circle-line"></i>',n=g(),l=_("div"),t=_("p"),o=h("Check "),f=_("strong"),m=h(c[0]),i=h(" for the recovery link."),p(s,"class","icon"),p(f,"class","txt-nowrap"),p(l,"class","content"),p(e,"class","alert alert-success")},m(a,b){k(a,e,b),d(e,s),d(e,n),d(e,l),d(l,t),d(t,o),d(t,f),d(f,m),d(t,i)},p(a,b){b&1&&J(m,a[0])},i:P,o:P,d(a){a&&v(e)}}}function Q(c){let e,s,n,l,t,o,f,m;return{c(){e=_("label"),s=h("Email"),l=g(),t=_("input"),p(e,"for",n=c[5]),p(t,"type","email"),p(t,"id",o=c[5]),t.required=!0,t.autofocus=!0},m(i,a){k(i,e,a),d(e,s),k(i,l,a),k(i,t,a),R(t,c[0]),t.focus(),f||(m=E(t,"input",c[4]),f=!0)},p(i,a){a&32&&n!==(n=i[5])&&p(e,"for",n),a&32&&o!==(o=i[5])&&p(t,"id",o),a&1&&t.value!==i[0]&&R(t,i[0])},d(i){i&&v(e),i&&v(l),i&&v(t),f=!1,m()}}}function U(c){let e,s,n,l,t,o,f,m;const i=[O,K],a=[];function b(u,r){return u[2]?0:1}return e=b(c),s=a[e]=i[e](c),{c(){s.c(),n=g(),l=_("div"),t=_("a"),t.textContent="Back to login",p(t,"href","/login"),p(t,"class","link-hint"),p(l,"class","content txt-center")},m(u,r){a[e].m(u,r),k(u,n,r),k(u,l,r),d(l,t),o=!0,f||(m=A(B.call(null,t)),f=!0)},p(u,r){let $=e;e=b(u),e===$?a[e].p(u,r):(N(),y(a[$],1,1,()=>{a[$]=null}),D(),s=a[e],s?s.p(u,r):(s=a[e]=i[e](u),s.c()),w(s,1),s.m(n.parentNode,n))},i(u){o||(w(s),o=!0)},o(u){y(s),o=!1},d(u){a[e].d(u),u&&v(n),u&&v(l),f=!1,m()}}}function V(c){let e,s;return e=new z({props:{$$slots:{default:[U]},$$scope:{ctx:c}}}),{c(){H(e.$$.fragment)},m(n,l){L(e,n,l),s=!0},p(n,[l]){const t={};l&71&&(t.$$scope={dirty:l,ctx:n}),e.$set(t)},i(n){s||(w(e.$$.fragment,n),s=!0)},o(n){y(e.$$.fragment,n),s=!1},d(n){S(e,n)}}}function W(c,e,s){let n="",l=!1,t=!1;async function o(){if(!l){s(1,l=!0);try{await C.admins.requestPasswordReset(n),s(2,t=!0)}catch(m){C.errorResponseHandler(m)}s(1,l=!1)}}function f(){n=this.value,s(0,n)}return[n,l,t,o,f]}class Y extends M{constructor(e){super(),T(this,e,W,V,j,{})}}export{Y as default};
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as z,i as G,s as I,F as J,c as S,m as L,t as v,a as y,d as R,C as M,E as N,g as _,k as W,n as Y,o as b,G as j,H as A,p as B,q as D,e as m,w as C,b as h,f as d,r as H,h as k,u as P,v as K,y as E,x as O,z as T}from"./index-3e0f12d8.js";function Q(r){let e,t,l,s,n,o,c,a,i,u,g,$,p=r[3]&&F(r);return o=new D({props:{class:"form-field required",name:"password",$$slots:{default:[V,({uniqueId:f})=>({8:f}),({uniqueId:f})=>f?256:0]},$$scope:{ctx:r}}}),{c(){e=m("form"),t=m("div"),l=m("h5"),s=C(`Type your password to confirm changing your email address
|
import{S as z,i as G,s as I,F as J,c as S,m as L,t as v,a as y,d as R,C as M,E as N,g as _,k as W,n as Y,o as b,G as j,H as A,p as B,q as D,e as m,w as C,b as h,f as d,r as H,h as k,u as P,v as K,y as E,x as O,z as T}from"./index-ffbb9561.js";function Q(r){let e,t,l,s,n,o,c,a,i,u,g,$,p=r[3]&&F(r);return o=new D({props:{class:"form-field required",name:"password",$$slots:{default:[V,({uniqueId:f})=>({8:f}),({uniqueId:f})=>f?256:0]},$$scope:{ctx:r}}}),{c(){e=m("form"),t=m("div"),l=m("h5"),s=C(`Type your password to confirm changing your email address
|
||||||
`),p&&p.c(),n=h(),S(o.$$.fragment),c=h(),a=m("button"),i=m("span"),i.textContent="Confirm new email",d(t,"class","content txt-center m-b-base"),d(i,"class","txt"),d(a,"type","submit"),d(a,"class","btn btn-lg btn-block"),a.disabled=r[1],H(a,"btn-loading",r[1])},m(f,w){_(f,e,w),k(e,t),k(t,l),k(l,s),p&&p.m(l,null),k(e,n),L(o,e,null),k(e,c),k(e,a),k(a,i),u=!0,g||($=P(e,"submit",K(r[4])),g=!0)},p(f,w){f[3]?p?p.p(f,w):(p=F(f),p.c(),p.m(l,null)):p&&(p.d(1),p=null);const q={};w&769&&(q.$$scope={dirty:w,ctx:f}),o.$set(q),(!u||w&2)&&(a.disabled=f[1]),(!u||w&2)&&H(a,"btn-loading",f[1])},i(f){u||(v(o.$$.fragment,f),u=!0)},o(f){y(o.$$.fragment,f),u=!1},d(f){f&&b(e),p&&p.d(),R(o),g=!1,$()}}}function U(r){let e,t,l,s,n;return{c(){e=m("div"),e.innerHTML=`<div class="icon"><i class="ri-checkbox-circle-line"></i></div>
|
`),p&&p.c(),n=h(),S(o.$$.fragment),c=h(),a=m("button"),i=m("span"),i.textContent="Confirm new email",d(t,"class","content txt-center m-b-base"),d(i,"class","txt"),d(a,"type","submit"),d(a,"class","btn btn-lg btn-block"),a.disabled=r[1],H(a,"btn-loading",r[1])},m(f,w){_(f,e,w),k(e,t),k(t,l),k(l,s),p&&p.m(l,null),k(e,n),L(o,e,null),k(e,c),k(e,a),k(a,i),u=!0,g||($=P(e,"submit",K(r[4])),g=!0)},p(f,w){f[3]?p?p.p(f,w):(p=F(f),p.c(),p.m(l,null)):p&&(p.d(1),p=null);const q={};w&769&&(q.$$scope={dirty:w,ctx:f}),o.$set(q),(!u||w&2)&&(a.disabled=f[1]),(!u||w&2)&&H(a,"btn-loading",f[1])},i(f){u||(v(o.$$.fragment,f),u=!0)},o(f){y(o.$$.fragment,f),u=!1},d(f){f&&b(e),p&&p.d(),R(o),g=!1,$()}}}function U(r){let e,t,l,s,n;return{c(){e=m("div"),e.innerHTML=`<div class="icon"><i class="ri-checkbox-circle-line"></i></div>
|
||||||
<div class="content txt-bold"><p>Successfully changed the user email address.</p>
|
<div class="content txt-bold"><p>Successfully changed the user email address.</p>
|
||||||
<p>You can now sign in with your new email address.</p></div>`,t=h(),l=m("button"),l.textContent="Close",d(e,"class","alert alert-success"),d(l,"type","button"),d(l,"class","btn btn-transparent btn-block")},m(o,c){_(o,e,c),_(o,t,c),_(o,l,c),s||(n=P(l,"click",r[6]),s=!0)},p:E,i:E,o:E,d(o){o&&b(e),o&&b(t),o&&b(l),s=!1,n()}}}function F(r){let e,t,l;return{c(){e=C("to "),t=m("strong"),l=C(r[3]),d(t,"class","txt-nowrap")},m(s,n){_(s,e,n),_(s,t,n),k(t,l)},p(s,n){n&8&&O(l,s[3])},d(s){s&&b(e),s&&b(t)}}}function V(r){let e,t,l,s,n,o,c,a;return{c(){e=m("label"),t=C("Password"),s=h(),n=m("input"),d(e,"for",l=r[8]),d(n,"type","password"),d(n,"id",o=r[8]),n.required=!0,n.autofocus=!0},m(i,u){_(i,e,u),k(e,t),_(i,s,u),_(i,n,u),T(n,r[0]),n.focus(),c||(a=P(n,"input",r[7]),c=!0)},p(i,u){u&256&&l!==(l=i[8])&&d(e,"for",l),u&256&&o!==(o=i[8])&&d(n,"id",o),u&1&&n.value!==i[0]&&T(n,i[0])},d(i){i&&b(e),i&&b(s),i&&b(n),c=!1,a()}}}function X(r){let e,t,l,s;const n=[U,Q],o=[];function c(a,i){return a[2]?0:1}return e=c(r),t=o[e]=n[e](r),{c(){t.c(),l=N()},m(a,i){o[e].m(a,i),_(a,l,i),s=!0},p(a,i){let u=e;e=c(a),e===u?o[e].p(a,i):(W(),y(o[u],1,1,()=>{o[u]=null}),Y(),t=o[e],t?t.p(a,i):(t=o[e]=n[e](a),t.c()),v(t,1),t.m(l.parentNode,l))},i(a){s||(v(t),s=!0)},o(a){y(t),s=!1},d(a){o[e].d(a),a&&b(l)}}}function Z(r){let e,t;return e=new J({props:{nobranding:!0,$$slots:{default:[X]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(l,s){L(e,l,s),t=!0},p(l,[s]){const n={};s&527&&(n.$$scope={dirty:s,ctx:l}),e.$set(n)},i(l){t||(v(e.$$.fragment,l),t=!0)},o(l){y(e.$$.fragment,l),t=!1},d(l){R(e,l)}}}function x(r,e,t){let l,{params:s}=e,n="",o=!1,c=!1;async function a(){if(o)return;t(1,o=!0);const g=new j("../");try{const $=A(s==null?void 0:s.token);await g.collection($.collectionId).confirmEmailChange(s==null?void 0:s.token,n),t(2,c=!0)}catch($){B.errorResponseHandler($)}t(1,o=!1)}const i=()=>window.close();function u(){n=this.value,t(0,n)}return r.$$set=g=>{"params"in g&&t(5,s=g.params)},r.$$.update=()=>{r.$$.dirty&32&&t(3,l=M.getJWTPayload(s==null?void 0:s.token).newEmail||"")},[n,o,c,l,a,s,i,u]}class te extends z{constructor(e){super(),G(this,e,x,Z,I,{params:5})}}export{te as default};
|
<p>You can now sign in with your new email address.</p></div>`,t=h(),l=m("button"),l.textContent="Close",d(e,"class","alert alert-success"),d(l,"type","button"),d(l,"class","btn btn-transparent btn-block")},m(o,c){_(o,e,c),_(o,t,c),_(o,l,c),s||(n=P(l,"click",r[6]),s=!0)},p:E,i:E,o:E,d(o){o&&b(e),o&&b(t),o&&b(l),s=!1,n()}}}function F(r){let e,t,l;return{c(){e=C("to "),t=m("strong"),l=C(r[3]),d(t,"class","txt-nowrap")},m(s,n){_(s,e,n),_(s,t,n),k(t,l)},p(s,n){n&8&&O(l,s[3])},d(s){s&&b(e),s&&b(t)}}}function V(r){let e,t,l,s,n,o,c,a;return{c(){e=m("label"),t=C("Password"),s=h(),n=m("input"),d(e,"for",l=r[8]),d(n,"type","password"),d(n,"id",o=r[8]),n.required=!0,n.autofocus=!0},m(i,u){_(i,e,u),k(e,t),_(i,s,u),_(i,n,u),T(n,r[0]),n.focus(),c||(a=P(n,"input",r[7]),c=!0)},p(i,u){u&256&&l!==(l=i[8])&&d(e,"for",l),u&256&&o!==(o=i[8])&&d(n,"id",o),u&1&&n.value!==i[0]&&T(n,i[0])},d(i){i&&b(e),i&&b(s),i&&b(n),c=!1,a()}}}function X(r){let e,t,l,s;const n=[U,Q],o=[];function c(a,i){return a[2]?0:1}return e=c(r),t=o[e]=n[e](r),{c(){t.c(),l=N()},m(a,i){o[e].m(a,i),_(a,l,i),s=!0},p(a,i){let u=e;e=c(a),e===u?o[e].p(a,i):(W(),y(o[u],1,1,()=>{o[u]=null}),Y(),t=o[e],t?t.p(a,i):(t=o[e]=n[e](a),t.c()),v(t,1),t.m(l.parentNode,l))},i(a){s||(v(t),s=!0)},o(a){y(t),s=!1},d(a){o[e].d(a),a&&b(l)}}}function Z(r){let e,t;return e=new J({props:{nobranding:!0,$$slots:{default:[X]},$$scope:{ctx:r}}}),{c(){S(e.$$.fragment)},m(l,s){L(e,l,s),t=!0},p(l,[s]){const n={};s&527&&(n.$$scope={dirty:s,ctx:l}),e.$set(n)},i(l){t||(v(e.$$.fragment,l),t=!0)},o(l){y(e.$$.fragment,l),t=!1},d(l){R(e,l)}}}function x(r,e,t){let l,{params:s}=e,n="",o=!1,c=!1;async function a(){if(o)return;t(1,o=!0);const g=new j("../");try{const $=A(s==null?void 0:s.token);await g.collection($.collectionId).confirmEmailChange(s==null?void 0:s.token,n),t(2,c=!0)}catch($){B.errorResponseHandler($)}t(1,o=!1)}const i=()=>window.close();function u(){n=this.value,t(0,n)}return r.$$set=g=>{"params"in g&&t(5,s=g.params)},r.$$.update=()=>{r.$$.dirty&32&&t(3,l=M.getJWTPayload(s==null?void 0:s.token).newEmail||"")},[n,o,c,l,a,s,i,u]}class te extends z{constructor(e){super(),G(this,e,x,Z,I,{params:5})}}export{te as default};
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as J,i as M,s as W,F as Y,c as F,m as N,t as y,a as q,d as T,C as j,E as A,g as _,k as B,n as D,o as m,G as K,H as O,p as Q,q as E,e as b,w as R,b as P,f as p,r as G,h as w,u as H,v as U,y as S,x as V,z as h}from"./index-3e0f12d8.js";function X(r){let e,l,s,n,t,o,c,a,i,u,v,k,g,C,d=r[4]&&I(r);return o=new E({props:{class:"form-field required",name:"password",$$slots:{default:[x,({uniqueId:f})=>({10:f}),({uniqueId:f})=>f?1024:0]},$$scope:{ctx:r}}}),a=new E({props:{class:"form-field required",name:"passwordConfirm",$$slots:{default:[ee,({uniqueId:f})=>({10:f}),({uniqueId:f})=>f?1024:0]},$$scope:{ctx:r}}}),{c(){e=b("form"),l=b("div"),s=b("h5"),n=R(`Reset your user password
|
import{S as J,i as M,s as W,F as Y,c as F,m as N,t as y,a as q,d as T,C as j,E as A,g as _,k as B,n as D,o as m,G as K,H as O,p as Q,q as E,e as b,w as R,b as P,f as p,r as G,h as w,u as H,v as U,y as S,x as V,z as h}from"./index-ffbb9561.js";function X(r){let e,l,s,n,t,o,c,a,i,u,v,k,g,C,d=r[4]&&I(r);return o=new E({props:{class:"form-field required",name:"password",$$slots:{default:[x,({uniqueId:f})=>({10:f}),({uniqueId:f})=>f?1024:0]},$$scope:{ctx:r}}}),a=new E({props:{class:"form-field required",name:"passwordConfirm",$$slots:{default:[ee,({uniqueId:f})=>({10:f}),({uniqueId:f})=>f?1024:0]},$$scope:{ctx:r}}}),{c(){e=b("form"),l=b("div"),s=b("h5"),n=R(`Reset your user password
|
||||||
`),d&&d.c(),t=P(),F(o.$$.fragment),c=P(),F(a.$$.fragment),i=P(),u=b("button"),v=b("span"),v.textContent="Set new password",p(l,"class","content txt-center m-b-base"),p(v,"class","txt"),p(u,"type","submit"),p(u,"class","btn btn-lg btn-block"),u.disabled=r[2],G(u,"btn-loading",r[2])},m(f,$){_(f,e,$),w(e,l),w(l,s),w(s,n),d&&d.m(s,null),w(e,t),N(o,e,null),w(e,c),N(a,e,null),w(e,i),w(e,u),w(u,v),k=!0,g||(C=H(e,"submit",U(r[5])),g=!0)},p(f,$){f[4]?d?d.p(f,$):(d=I(f),d.c(),d.m(s,null)):d&&(d.d(1),d=null);const L={};$&3073&&(L.$$scope={dirty:$,ctx:f}),o.$set(L);const z={};$&3074&&(z.$$scope={dirty:$,ctx:f}),a.$set(z),(!k||$&4)&&(u.disabled=f[2]),(!k||$&4)&&G(u,"btn-loading",f[2])},i(f){k||(y(o.$$.fragment,f),y(a.$$.fragment,f),k=!0)},o(f){q(o.$$.fragment,f),q(a.$$.fragment,f),k=!1},d(f){f&&m(e),d&&d.d(),T(o),T(a),g=!1,C()}}}function Z(r){let e,l,s,n,t;return{c(){e=b("div"),e.innerHTML=`<div class="icon"><i class="ri-checkbox-circle-line"></i></div>
|
`),d&&d.c(),t=P(),F(o.$$.fragment),c=P(),F(a.$$.fragment),i=P(),u=b("button"),v=b("span"),v.textContent="Set new password",p(l,"class","content txt-center m-b-base"),p(v,"class","txt"),p(u,"type","submit"),p(u,"class","btn btn-lg btn-block"),u.disabled=r[2],G(u,"btn-loading",r[2])},m(f,$){_(f,e,$),w(e,l),w(l,s),w(s,n),d&&d.m(s,null),w(e,t),N(o,e,null),w(e,c),N(a,e,null),w(e,i),w(e,u),w(u,v),k=!0,g||(C=H(e,"submit",U(r[5])),g=!0)},p(f,$){f[4]?d?d.p(f,$):(d=I(f),d.c(),d.m(s,null)):d&&(d.d(1),d=null);const L={};$&3073&&(L.$$scope={dirty:$,ctx:f}),o.$set(L);const z={};$&3074&&(z.$$scope={dirty:$,ctx:f}),a.$set(z),(!k||$&4)&&(u.disabled=f[2]),(!k||$&4)&&G(u,"btn-loading",f[2])},i(f){k||(y(o.$$.fragment,f),y(a.$$.fragment,f),k=!0)},o(f){q(o.$$.fragment,f),q(a.$$.fragment,f),k=!1},d(f){f&&m(e),d&&d.d(),T(o),T(a),g=!1,C()}}}function Z(r){let e,l,s,n,t;return{c(){e=b("div"),e.innerHTML=`<div class="icon"><i class="ri-checkbox-circle-line"></i></div>
|
||||||
<div class="content txt-bold"><p>Successfully changed the user password.</p>
|
<div class="content txt-bold"><p>Successfully changed the user password.</p>
|
||||||
<p>You can now sign in with your new password.</p></div>`,l=P(),s=b("button"),s.textContent="Close",p(e,"class","alert alert-success"),p(s,"type","button"),p(s,"class","btn btn-transparent btn-block")},m(o,c){_(o,e,c),_(o,l,c),_(o,s,c),n||(t=H(s,"click",r[7]),n=!0)},p:S,i:S,o:S,d(o){o&&m(e),o&&m(l),o&&m(s),n=!1,t()}}}function I(r){let e,l,s;return{c(){e=R("for "),l=b("strong"),s=R(r[4])},m(n,t){_(n,e,t),_(n,l,t),w(l,s)},p(n,t){t&16&&V(s,n[4])},d(n){n&&m(e),n&&m(l)}}}function x(r){let e,l,s,n,t,o,c,a;return{c(){e=b("label"),l=R("New password"),n=P(),t=b("input"),p(e,"for",s=r[10]),p(t,"type","password"),p(t,"id",o=r[10]),t.required=!0,t.autofocus=!0},m(i,u){_(i,e,u),w(e,l),_(i,n,u),_(i,t,u),h(t,r[0]),t.focus(),c||(a=H(t,"input",r[8]),c=!0)},p(i,u){u&1024&&s!==(s=i[10])&&p(e,"for",s),u&1024&&o!==(o=i[10])&&p(t,"id",o),u&1&&t.value!==i[0]&&h(t,i[0])},d(i){i&&m(e),i&&m(n),i&&m(t),c=!1,a()}}}function ee(r){let e,l,s,n,t,o,c,a;return{c(){e=b("label"),l=R("New password confirm"),n=P(),t=b("input"),p(e,"for",s=r[10]),p(t,"type","password"),p(t,"id",o=r[10]),t.required=!0},m(i,u){_(i,e,u),w(e,l),_(i,n,u),_(i,t,u),h(t,r[1]),c||(a=H(t,"input",r[9]),c=!0)},p(i,u){u&1024&&s!==(s=i[10])&&p(e,"for",s),u&1024&&o!==(o=i[10])&&p(t,"id",o),u&2&&t.value!==i[1]&&h(t,i[1])},d(i){i&&m(e),i&&m(n),i&&m(t),c=!1,a()}}}function te(r){let e,l,s,n;const t=[Z,X],o=[];function c(a,i){return a[3]?0:1}return e=c(r),l=o[e]=t[e](r),{c(){l.c(),s=A()},m(a,i){o[e].m(a,i),_(a,s,i),n=!0},p(a,i){let u=e;e=c(a),e===u?o[e].p(a,i):(B(),q(o[u],1,1,()=>{o[u]=null}),D(),l=o[e],l?l.p(a,i):(l=o[e]=t[e](a),l.c()),y(l,1),l.m(s.parentNode,s))},i(a){n||(y(l),n=!0)},o(a){q(l),n=!1},d(a){o[e].d(a),a&&m(s)}}}function se(r){let e,l;return e=new Y({props:{nobranding:!0,$$slots:{default:[te]},$$scope:{ctx:r}}}),{c(){F(e.$$.fragment)},m(s,n){N(e,s,n),l=!0},p(s,[n]){const t={};n&2079&&(t.$$scope={dirty:n,ctx:s}),e.$set(t)},i(s){l||(y(e.$$.fragment,s),l=!0)},o(s){q(e.$$.fragment,s),l=!1},d(s){T(e,s)}}}function le(r,e,l){let s,{params:n}=e,t="",o="",c=!1,a=!1;async function i(){if(c)return;l(2,c=!0);const g=new K("../");try{const C=O(n==null?void 0:n.token);await g.collection(C.collectionId).confirmPasswordReset(n==null?void 0:n.token,t,o),l(3,a=!0)}catch(C){Q.errorResponseHandler(C)}l(2,c=!1)}const u=()=>window.close();function v(){t=this.value,l(0,t)}function k(){o=this.value,l(1,o)}return r.$$set=g=>{"params"in g&&l(6,n=g.params)},r.$$.update=()=>{r.$$.dirty&64&&l(4,s=j.getJWTPayload(n==null?void 0:n.token).email||"")},[t,o,c,a,s,i,n,u,v,k]}class oe extends J{constructor(e){super(),M(this,e,le,se,W,{params:6})}}export{oe as default};
|
<p>You can now sign in with your new password.</p></div>`,l=P(),s=b("button"),s.textContent="Close",p(e,"class","alert alert-success"),p(s,"type","button"),p(s,"class","btn btn-transparent btn-block")},m(o,c){_(o,e,c),_(o,l,c),_(o,s,c),n||(t=H(s,"click",r[7]),n=!0)},p:S,i:S,o:S,d(o){o&&m(e),o&&m(l),o&&m(s),n=!1,t()}}}function I(r){let e,l,s;return{c(){e=R("for "),l=b("strong"),s=R(r[4])},m(n,t){_(n,e,t),_(n,l,t),w(l,s)},p(n,t){t&16&&V(s,n[4])},d(n){n&&m(e),n&&m(l)}}}function x(r){let e,l,s,n,t,o,c,a;return{c(){e=b("label"),l=R("New password"),n=P(),t=b("input"),p(e,"for",s=r[10]),p(t,"type","password"),p(t,"id",o=r[10]),t.required=!0,t.autofocus=!0},m(i,u){_(i,e,u),w(e,l),_(i,n,u),_(i,t,u),h(t,r[0]),t.focus(),c||(a=H(t,"input",r[8]),c=!0)},p(i,u){u&1024&&s!==(s=i[10])&&p(e,"for",s),u&1024&&o!==(o=i[10])&&p(t,"id",o),u&1&&t.value!==i[0]&&h(t,i[0])},d(i){i&&m(e),i&&m(n),i&&m(t),c=!1,a()}}}function ee(r){let e,l,s,n,t,o,c,a;return{c(){e=b("label"),l=R("New password confirm"),n=P(),t=b("input"),p(e,"for",s=r[10]),p(t,"type","password"),p(t,"id",o=r[10]),t.required=!0},m(i,u){_(i,e,u),w(e,l),_(i,n,u),_(i,t,u),h(t,r[1]),c||(a=H(t,"input",r[9]),c=!0)},p(i,u){u&1024&&s!==(s=i[10])&&p(e,"for",s),u&1024&&o!==(o=i[10])&&p(t,"id",o),u&2&&t.value!==i[1]&&h(t,i[1])},d(i){i&&m(e),i&&m(n),i&&m(t),c=!1,a()}}}function te(r){let e,l,s,n;const t=[Z,X],o=[];function c(a,i){return a[3]?0:1}return e=c(r),l=o[e]=t[e](r),{c(){l.c(),s=A()},m(a,i){o[e].m(a,i),_(a,s,i),n=!0},p(a,i){let u=e;e=c(a),e===u?o[e].p(a,i):(B(),q(o[u],1,1,()=>{o[u]=null}),D(),l=o[e],l?l.p(a,i):(l=o[e]=t[e](a),l.c()),y(l,1),l.m(s.parentNode,s))},i(a){n||(y(l),n=!0)},o(a){q(l),n=!1},d(a){o[e].d(a),a&&m(s)}}}function se(r){let e,l;return e=new Y({props:{nobranding:!0,$$slots:{default:[te]},$$scope:{ctx:r}}}),{c(){F(e.$$.fragment)},m(s,n){N(e,s,n),l=!0},p(s,[n]){const t={};n&2079&&(t.$$scope={dirty:n,ctx:s}),e.$set(t)},i(s){l||(y(e.$$.fragment,s),l=!0)},o(s){q(e.$$.fragment,s),l=!1},d(s){T(e,s)}}}function le(r,e,l){let s,{params:n}=e,t="",o="",c=!1,a=!1;async function i(){if(c)return;l(2,c=!0);const g=new K("../");try{const C=O(n==null?void 0:n.token);await g.collection(C.collectionId).confirmPasswordReset(n==null?void 0:n.token,t,o),l(3,a=!0)}catch(C){Q.errorResponseHandler(C)}l(2,c=!1)}const u=()=>window.close();function v(){t=this.value,l(0,t)}function k(){o=this.value,l(1,o)}return r.$$set=g=>{"params"in g&&l(6,n=g.params)},r.$$.update=()=>{r.$$.dirty&64&&l(4,s=j.getJWTPayload(n==null?void 0:n.token).email||"")},[t,o,c,a,s,i,n,u,v,k]}class oe extends J{constructor(e){super(),M(this,e,le,se,W,{params:6})}}export{oe as default};
|
||||||
+1
-1
@@ -1,3 +1,3 @@
|
|||||||
import{S as v,i as y,s as w,F as C,c as g,m as x,t as $,a as H,d as L,G as P,H as T,E as M,g as r,o as a,e as u,b as _,f,u as b,y as p}from"./index-3e0f12d8.js";function S(o){let t,s,e,n,l;return{c(){t=u("div"),t.innerHTML=`<div class="icon"><i class="ri-error-warning-line"></i></div>
|
import{S as v,i as y,s as w,F as C,c as g,m as x,t as $,a as H,d as L,G as P,H as T,E as M,g as r,o as a,e as u,b as _,f,u as b,y as p}from"./index-ffbb9561.js";function S(o){let t,s,e,n,l;return{c(){t=u("div"),t.innerHTML=`<div class="icon"><i class="ri-error-warning-line"></i></div>
|
||||||
<div class="content txt-bold"><p>Invalid or expired verification token.</p></div>`,s=_(),e=u("button"),e.textContent="Close",f(t,"class","alert alert-danger"),f(e,"type","button"),f(e,"class","btn btn-transparent btn-block")},m(i,c){r(i,t,c),r(i,s,c),r(i,e,c),n||(l=b(e,"click",o[4]),n=!0)},p,d(i){i&&a(t),i&&a(s),i&&a(e),n=!1,l()}}}function F(o){let t,s,e,n,l;return{c(){t=u("div"),t.innerHTML=`<div class="icon"><i class="ri-checkbox-circle-line"></i></div>
|
<div class="content txt-bold"><p>Invalid or expired verification token.</p></div>`,s=_(),e=u("button"),e.textContent="Close",f(t,"class","alert alert-danger"),f(e,"type","button"),f(e,"class","btn btn-transparent btn-block")},m(i,c){r(i,t,c),r(i,s,c),r(i,e,c),n||(l=b(e,"click",o[4]),n=!0)},p,d(i){i&&a(t),i&&a(s),i&&a(e),n=!1,l()}}}function F(o){let t,s,e,n,l;return{c(){t=u("div"),t.innerHTML=`<div class="icon"><i class="ri-checkbox-circle-line"></i></div>
|
||||||
<div class="content txt-bold"><p>Successfully verified email address.</p></div>`,s=_(),e=u("button"),e.textContent="Close",f(t,"class","alert alert-success"),f(e,"type","button"),f(e,"class","btn btn-transparent btn-block")},m(i,c){r(i,t,c),r(i,s,c),r(i,e,c),n||(l=b(e,"click",o[3]),n=!0)},p,d(i){i&&a(t),i&&a(s),i&&a(e),n=!1,l()}}}function I(o){let t;return{c(){t=u("div"),t.innerHTML='<div class="loader loader-lg"><em>Please wait...</em></div>',f(t,"class","txt-center")},m(s,e){r(s,t,e)},p,d(s){s&&a(t)}}}function V(o){let t;function s(l,i){return l[1]?I:l[0]?F:S}let e=s(o),n=e(o);return{c(){n.c(),t=M()},m(l,i){n.m(l,i),r(l,t,i)},p(l,i){e===(e=s(l))&&n?n.p(l,i):(n.d(1),n=e(l),n&&(n.c(),n.m(t.parentNode,t)))},d(l){n.d(l),l&&a(t)}}}function q(o){let t,s;return t=new C({props:{nobranding:!0,$$slots:{default:[V]},$$scope:{ctx:o}}}),{c(){g(t.$$.fragment)},m(e,n){x(t,e,n),s=!0},p(e,[n]){const l={};n&67&&(l.$$scope={dirty:n,ctx:e}),t.$set(l)},i(e){s||($(t.$$.fragment,e),s=!0)},o(e){H(t.$$.fragment,e),s=!1},d(e){L(t,e)}}}function E(o,t,s){let{params:e}=t,n=!1,l=!1;i();async function i(){s(1,l=!0);const d=new P("../");try{const m=T(e==null?void 0:e.token);await d.collection(m.collectionId).confirmVerification(e==null?void 0:e.token),s(0,n=!0)}catch{s(0,n=!1)}s(1,l=!1)}const c=()=>window.close(),k=()=>window.close();return o.$$set=d=>{"params"in d&&s(2,e=d.params)},[n,l,e,c,k]}class N extends v{constructor(t){super(),y(this,t,E,q,w,{params:2})}}export{N as default};
|
<div class="content txt-bold"><p>Successfully verified email address.</p></div>`,s=_(),e=u("button"),e.textContent="Close",f(t,"class","alert alert-success"),f(e,"type","button"),f(e,"class","btn btn-transparent btn-block")},m(i,c){r(i,t,c),r(i,s,c),r(i,e,c),n||(l=b(e,"click",o[3]),n=!0)},p,d(i){i&&a(t),i&&a(s),i&&a(e),n=!1,l()}}}function I(o){let t;return{c(){t=u("div"),t.innerHTML='<div class="loader loader-lg"><em>Please wait...</em></div>',f(t,"class","txt-center")},m(s,e){r(s,t,e)},p,d(s){s&&a(t)}}}function V(o){let t;function s(l,i){return l[1]?I:l[0]?F:S}let e=s(o),n=e(o);return{c(){n.c(),t=M()},m(l,i){n.m(l,i),r(l,t,i)},p(l,i){e===(e=s(l))&&n?n.p(l,i):(n.d(1),n=e(l),n&&(n.c(),n.m(t.parentNode,t)))},d(l){n.d(l),l&&a(t)}}}function q(o){let t,s;return t=new C({props:{nobranding:!0,$$slots:{default:[V]},$$scope:{ctx:o}}}),{c(){g(t.$$.fragment)},m(e,n){x(t,e,n),s=!0},p(e,[n]){const l={};n&67&&(l.$$scope={dirty:n,ctx:e}),t.$set(l)},i(e){s||($(t.$$.fragment,e),s=!0)},o(e){H(t.$$.fragment,e),s=!1},d(e){L(t,e)}}}function E(o,t,s){let{params:e}=t,n=!1,l=!1;i();async function i(){s(1,l=!0);const d=new P("../");try{const m=T(e==null?void 0:e.token);await d.collection(m.collectionId).confirmVerification(e==null?void 0:e.token),s(0,n=!0)}catch{s(0,n=!1)}s(1,l=!1)}const c=()=>window.close(),k=()=>window.close();return o.$$set=d=>{"params"in d&&s(2,e=d.params)},[n,l,e,c,k]}class N extends v{constructor(t){super(),y(this,t,E,q,w,{params:2})}}export{N as default};
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as re,i as ae,s as be,N as ue,C as P,e as u,w as y,b as a,c as te,f as p,g as t,h as I,m as ne,x as pe,t as ie,a as le,o as n,d as ce,R as me,p as de}from"./index-3e0f12d8.js";import{S as fe}from"./SdkTabs-ed893501.js";function $e(o){var B,U,W,A,H,L,T,q,M,N,j,J;let i,m,l=o[0].name+"",b,d,h,f,_,$,k,c,S,v,w,R,C,g,E,r,D;return c=new fe({props:{js:`
|
import{S as re,i as ae,s as be,N as ue,C as P,e as u,w as y,b as a,c as te,f as p,g as t,h as I,m as ne,x as pe,t as ie,a as le,o as n,d as ce,R as me,p as de}from"./index-ffbb9561.js";import{S as fe}from"./SdkTabs-5b973c0d.js";function $e(o){var B,U,W,A,H,L,T,q,M,N,j,J;let i,m,l=o[0].name+"",b,d,h,f,_,$,k,c,S,v,w,R,C,g,E,r,D;return c=new fe({props:{js:`
|
||||||
import PocketBase from 'pocketbase';
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
const pb = new PocketBase('${o[1]}');
|
const pb = new PocketBase('${o[1]}');
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as Te,i as Ee,s as Be,e as c,w as v,b as h,c as Pe,f,g as r,h as n,m as Ce,x as L,O as ve,P as Se,k as Re,Q as Me,n as Ae,t as x,a as ee,o as m,d as ye,R as We,C as ze,p as He,r as N,u as Oe,N as Ue}from"./index-3e0f12d8.js";import{S as je}from"./SdkTabs-ed893501.js";function we(o,l,s){const a=o.slice();return a[5]=l[s],a}function ge(o,l,s){const a=o.slice();return a[5]=l[s],a}function $e(o,l){let s,a=l[5].code+"",_,b,i,p;function u(){return l[4](l[5])}return{key:o,first:null,c(){s=c("button"),_=v(a),b=h(),f(s,"class","tab-item"),N(s,"active",l[1]===l[5].code),this.first=s},m($,q){r($,s,q),n(s,_),n(s,b),i||(p=Oe(s,"click",u),i=!0)},p($,q){l=$,q&4&&a!==(a=l[5].code+"")&&L(_,a),q&6&&N(s,"active",l[1]===l[5].code)},d($){$&&m(s),i=!1,p()}}}function qe(o,l){let s,a,_,b;return a=new Ue({props:{content:l[5].body}}),{key:o,first:null,c(){s=c("div"),Pe(a.$$.fragment),_=h(),f(s,"class","tab-item"),N(s,"active",l[1]===l[5].code),this.first=s},m(i,p){r(i,s,p),Ce(a,s,null),n(s,_),b=!0},p(i,p){l=i;const u={};p&4&&(u.content=l[5].body),a.$set(u),(!b||p&6)&&N(s,"active",l[1]===l[5].code)},i(i){b||(x(a.$$.fragment,i),b=!0)},o(i){ee(a.$$.fragment,i),b=!1},d(i){i&&m(s),ye(a)}}}function De(o){var de,pe,ue,fe;let l,s,a=o[0].name+"",_,b,i,p,u,$,q,z=o[0].name+"",F,te,I,P,K,T,Q,w,H,le,O,E,se,G,U=o[0].name+"",J,ae,oe,j,V,B,X,S,Y,R,Z,C,M,g=[],ne=new Map,ie,A,k=[],ce=new Map,y;P=new je({props:{js:`
|
import{S as Te,i as Ee,s as Be,e as c,w as v,b as h,c as Pe,f,g as r,h as n,m as Ce,x as L,O as ve,P as Se,k as Re,Q as Me,n as Ae,t as x,a as ee,o as m,d as ye,R as We,C as ze,p as He,r as N,u as Oe,N as Ue}from"./index-ffbb9561.js";import{S as je}from"./SdkTabs-5b973c0d.js";function we(o,l,s){const a=o.slice();return a[5]=l[s],a}function ge(o,l,s){const a=o.slice();return a[5]=l[s],a}function $e(o,l){let s,a=l[5].code+"",_,b,i,p;function u(){return l[4](l[5])}return{key:o,first:null,c(){s=c("button"),_=v(a),b=h(),f(s,"class","tab-item"),N(s,"active",l[1]===l[5].code),this.first=s},m($,q){r($,s,q),n(s,_),n(s,b),i||(p=Oe(s,"click",u),i=!0)},p($,q){l=$,q&4&&a!==(a=l[5].code+"")&&L(_,a),q&6&&N(s,"active",l[1]===l[5].code)},d($){$&&m(s),i=!1,p()}}}function qe(o,l){let s,a,_,b;return a=new Ue({props:{content:l[5].body}}),{key:o,first:null,c(){s=c("div"),Pe(a.$$.fragment),_=h(),f(s,"class","tab-item"),N(s,"active",l[1]===l[5].code),this.first=s},m(i,p){r(i,s,p),Ce(a,s,null),n(s,_),b=!0},p(i,p){l=i;const u={};p&4&&(u.content=l[5].body),a.$set(u),(!b||p&6)&&N(s,"active",l[1]===l[5].code)},i(i){b||(x(a.$$.fragment,i),b=!0)},o(i){ee(a.$$.fragment,i),b=!1},d(i){i&&m(s),ye(a)}}}function De(o){var de,pe,ue,fe;let l,s,a=o[0].name+"",_,b,i,p,u,$,q,z=o[0].name+"",F,te,I,P,K,T,Q,w,H,le,O,E,se,G,U=o[0].name+"",J,ae,oe,j,V,B,X,S,Y,R,Z,C,M,g=[],ne=new Map,ie,A,k=[],ce=new Map,y;P=new je({props:{js:`
|
||||||
import PocketBase from 'pocketbase';
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
const pb = new PocketBase('${o[3]}');
|
const pb = new PocketBase('${o[3]}');
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as Pe,i as $e,s as qe,e as c,w,b as v,c as ve,f as b,g as r,h as n,m as we,x as I,O as me,P as Re,k as ge,Q as ye,n as Be,t as Z,a as x,o as d,d as he,R as Ce,C as Se,p as Te,r as L,u as Me,N as Ae}from"./index-3e0f12d8.js";import{S as Ue}from"./SdkTabs-ed893501.js";function ue(a,s,l){const o=a.slice();return o[5]=s[l],o}function be(a,s,l){const o=a.slice();return o[5]=s[l],o}function _e(a,s){let l,o=s[5].code+"",_,u,i,p;function m(){return s[4](s[5])}return{key:a,first:null,c(){l=c("button"),_=w(o),u=v(),b(l,"class","tab-item"),L(l,"active",s[1]===s[5].code),this.first=l},m(P,$){r(P,l,$),n(l,_),n(l,u),i||(p=Me(l,"click",m),i=!0)},p(P,$){s=P,$&4&&o!==(o=s[5].code+"")&&I(_,o),$&6&&L(l,"active",s[1]===s[5].code)},d(P){P&&d(l),i=!1,p()}}}function ke(a,s){let l,o,_,u;return o=new Ae({props:{content:s[5].body}}),{key:a,first:null,c(){l=c("div"),ve(o.$$.fragment),_=v(),b(l,"class","tab-item"),L(l,"active",s[1]===s[5].code),this.first=l},m(i,p){r(i,l,p),we(o,l,null),n(l,_),u=!0},p(i,p){s=i;const m={};p&4&&(m.content=s[5].body),o.$set(m),(!u||p&6)&&L(l,"active",s[1]===s[5].code)},i(i){u||(Z(o.$$.fragment,i),u=!0)},o(i){x(o.$$.fragment,i),u=!1},d(i){i&&d(l),he(o)}}}function je(a){var re,de;let s,l,o=a[0].name+"",_,u,i,p,m,P,$,D=a[0].name+"",N,ee,Q,q,z,B,G,R,H,te,O,C,se,J,E=a[0].name+"",K,le,V,S,W,T,X,M,Y,g,A,h=[],oe=new Map,ae,U,k=[],ne=new Map,y;q=new Ue({props:{js:`
|
import{S as Pe,i as $e,s as qe,e as c,w,b as v,c as ve,f as b,g as r,h as n,m as we,x as I,O as me,P as Re,k as ge,Q as ye,n as Be,t as Z,a as x,o as d,d as he,R as Ce,C as Se,p as Te,r as L,u as Me,N as Ae}from"./index-ffbb9561.js";import{S as Ue}from"./SdkTabs-5b973c0d.js";function ue(a,s,l){const o=a.slice();return o[5]=s[l],o}function be(a,s,l){const o=a.slice();return o[5]=s[l],o}function _e(a,s){let l,o=s[5].code+"",_,u,i,p;function m(){return s[4](s[5])}return{key:a,first:null,c(){l=c("button"),_=w(o),u=v(),b(l,"class","tab-item"),L(l,"active",s[1]===s[5].code),this.first=l},m(P,$){r(P,l,$),n(l,_),n(l,u),i||(p=Me(l,"click",m),i=!0)},p(P,$){s=P,$&4&&o!==(o=s[5].code+"")&&I(_,o),$&6&&L(l,"active",s[1]===s[5].code)},d(P){P&&d(l),i=!1,p()}}}function ke(a,s){let l,o,_,u;return o=new Ae({props:{content:s[5].body}}),{key:a,first:null,c(){l=c("div"),ve(o.$$.fragment),_=v(),b(l,"class","tab-item"),L(l,"active",s[1]===s[5].code),this.first=l},m(i,p){r(i,l,p),we(o,l,null),n(l,_),u=!0},p(i,p){s=i;const m={};p&4&&(m.content=s[5].body),o.$set(m),(!u||p&6)&&L(l,"active",s[1]===s[5].code)},i(i){u||(Z(o.$$.fragment,i),u=!0)},o(i){x(o.$$.fragment,i),u=!1},d(i){i&&d(l),he(o)}}}function je(a){var re,de;let s,l,o=a[0].name+"",_,u,i,p,m,P,$,D=a[0].name+"",N,ee,Q,q,z,B,G,R,H,te,O,C,se,J,E=a[0].name+"",K,le,V,S,W,T,X,M,Y,g,A,h=[],oe=new Map,ae,U,k=[],ne=new Map,y;q=new Ue({props:{js:`
|
||||||
import PocketBase from 'pocketbase';
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
const pb = new PocketBase('${a[3]}');
|
const pb = new PocketBase('${a[3]}');
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as qe,i as we,s as Pe,e as c,w as h,b as v,c as ve,f as b,g as r,h as i,m as he,x as F,O as de,P as ge,k as ye,Q as Be,n as Ce,t as Z,a as x,o as f,d as $e,R as Se,C as Te,p as Re,r as I,u as Ve,N as Me}from"./index-3e0f12d8.js";import{S as Ae}from"./SdkTabs-ed893501.js";function pe(a,l,s){const o=a.slice();return o[5]=l[s],o}function be(a,l,s){const o=a.slice();return o[5]=l[s],o}function _e(a,l){let s,o=l[5].code+"",_,p,n,u;function d(){return l[4](l[5])}return{key:a,first:null,c(){s=c("button"),_=h(o),p=v(),b(s,"class","tab-item"),I(s,"active",l[1]===l[5].code),this.first=s},m(q,w){r(q,s,w),i(s,_),i(s,p),n||(u=Ve(s,"click",d),n=!0)},p(q,w){l=q,w&4&&o!==(o=l[5].code+"")&&F(_,o),w&6&&I(s,"active",l[1]===l[5].code)},d(q){q&&f(s),n=!1,u()}}}function ke(a,l){let s,o,_,p;return o=new Me({props:{content:l[5].body}}),{key:a,first:null,c(){s=c("div"),ve(o.$$.fragment),_=v(),b(s,"class","tab-item"),I(s,"active",l[1]===l[5].code),this.first=s},m(n,u){r(n,s,u),he(o,s,null),i(s,_),p=!0},p(n,u){l=n;const d={};u&4&&(d.content=l[5].body),o.$set(d),(!p||u&6)&&I(s,"active",l[1]===l[5].code)},i(n){p||(Z(o.$$.fragment,n),p=!0)},o(n){x(o.$$.fragment,n),p=!1},d(n){n&&f(s),$e(o)}}}function Ue(a){var re,fe;let l,s,o=a[0].name+"",_,p,n,u,d,q,w,j=a[0].name+"",L,ee,N,P,Q,C,z,g,D,te,H,S,le,G,O=a[0].name+"",J,se,K,T,W,R,X,V,Y,y,M,$=[],oe=new Map,ae,A,k=[],ie=new Map,B;P=new Ae({props:{js:`
|
import{S as qe,i as we,s as Pe,e as c,w as h,b as v,c as ve,f as b,g as r,h as i,m as he,x as F,O as de,P as ge,k as ye,Q as Be,n as Ce,t as Z,a as x,o as f,d as $e,R as Se,C as Te,p as Re,r as I,u as Ve,N as Me}from"./index-ffbb9561.js";import{S as Ae}from"./SdkTabs-5b973c0d.js";function pe(a,l,s){const o=a.slice();return o[5]=l[s],o}function be(a,l,s){const o=a.slice();return o[5]=l[s],o}function _e(a,l){let s,o=l[5].code+"",_,p,n,u;function d(){return l[4](l[5])}return{key:a,first:null,c(){s=c("button"),_=h(o),p=v(),b(s,"class","tab-item"),I(s,"active",l[1]===l[5].code),this.first=s},m(q,w){r(q,s,w),i(s,_),i(s,p),n||(u=Ve(s,"click",d),n=!0)},p(q,w){l=q,w&4&&o!==(o=l[5].code+"")&&F(_,o),w&6&&I(s,"active",l[1]===l[5].code)},d(q){q&&f(s),n=!1,u()}}}function ke(a,l){let s,o,_,p;return o=new Me({props:{content:l[5].body}}),{key:a,first:null,c(){s=c("div"),ve(o.$$.fragment),_=v(),b(s,"class","tab-item"),I(s,"active",l[1]===l[5].code),this.first=s},m(n,u){r(n,s,u),he(o,s,null),i(s,_),p=!0},p(n,u){l=n;const d={};u&4&&(d.content=l[5].body),o.$set(d),(!p||u&6)&&I(s,"active",l[1]===l[5].code)},i(n){p||(Z(o.$$.fragment,n),p=!0)},o(n){x(o.$$.fragment,n),p=!1},d(n){n&&f(s),$e(o)}}}function Ue(a){var re,fe;let l,s,o=a[0].name+"",_,p,n,u,d,q,w,j=a[0].name+"",L,ee,N,P,Q,C,z,g,D,te,H,S,le,G,O=a[0].name+"",J,se,K,T,W,R,X,V,Y,y,M,$=[],oe=new Map,ae,A,k=[],ie=new Map,B;P=new Ae({props:{js:`
|
||||||
import PocketBase from 'pocketbase';
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
const pb = new PocketBase('${a[3]}');
|
const pb = new PocketBase('${a[3]}');
|
||||||
@@ -1 +1 @@
|
|||||||
import{S as q,i as B,s as F,e as v,b as j,f as h,g as y,h as m,O as C,P as J,k as O,Q,n as Y,t as N,a as P,o as w,w as E,r as S,u as z,x as R,N as A,c as G,m as H,d as L}from"./index-3e0f12d8.js";function D(o,e,l){const s=o.slice();return s[6]=e[l],s}function K(o,e,l){const s=o.slice();return s[6]=e[l],s}function T(o,e){let l,s,g=e[6].title+"",r,i,n,k;function c(){return e[5](e[6])}return{key:o,first:null,c(){l=v("button"),s=v("div"),r=E(g),i=j(),h(s,"class","txt"),h(l,"class","tab-item svelte-1maocj6"),S(l,"active",e[1]===e[6].language),this.first=l},m(u,_){y(u,l,_),m(l,s),m(s,r),m(l,i),n||(k=z(l,"click",c),n=!0)},p(u,_){e=u,_&4&&g!==(g=e[6].title+"")&&R(r,g),_&6&&S(l,"active",e[1]===e[6].language)},d(u){u&&w(l),n=!1,k()}}}function I(o,e){let l,s,g,r,i,n,k=e[6].title+"",c,u,_,p,f;return s=new A({props:{language:e[6].language,content:e[6].content}}),{key:o,first:null,c(){l=v("div"),G(s.$$.fragment),g=j(),r=v("div"),i=v("em"),n=v("a"),c=E(k),u=E(" SDK"),p=j(),h(n,"href",_=e[6].url),h(n,"target","_blank"),h(n,"rel","noopener noreferrer"),h(i,"class","txt-sm txt-hint"),h(r,"class","txt-right"),h(l,"class","tab-item svelte-1maocj6"),S(l,"active",e[1]===e[6].language),this.first=l},m(b,t){y(b,l,t),H(s,l,null),m(l,g),m(l,r),m(r,i),m(i,n),m(n,c),m(n,u),m(l,p),f=!0},p(b,t){e=b;const a={};t&4&&(a.language=e[6].language),t&4&&(a.content=e[6].content),s.$set(a),(!f||t&4)&&k!==(k=e[6].title+"")&&R(c,k),(!f||t&4&&_!==(_=e[6].url))&&h(n,"href",_),(!f||t&6)&&S(l,"active",e[1]===e[6].language)},i(b){f||(N(s.$$.fragment,b),f=!0)},o(b){P(s.$$.fragment,b),f=!1},d(b){b&&w(l),L(s)}}}function U(o){let e,l,s=[],g=new Map,r,i,n=[],k=new Map,c,u,_=o[2];const p=t=>t[6].language;for(let t=0;t<_.length;t+=1){let a=K(o,_,t),d=p(a);g.set(d,s[t]=T(d,a))}let f=o[2];const b=t=>t[6].language;for(let t=0;t<f.length;t+=1){let a=D(o,f,t),d=b(a);k.set(d,n[t]=I(d,a))}return{c(){e=v("div"),l=v("div");for(let t=0;t<s.length;t+=1)s[t].c();r=j(),i=v("div");for(let t=0;t<n.length;t+=1)n[t].c();h(l,"class","tabs-header compact left"),h(i,"class","tabs-content"),h(e,"class",c="tabs sdk-tabs "+o[0]+" svelte-1maocj6")},m(t,a){y(t,e,a),m(e,l);for(let d=0;d<s.length;d+=1)s[d].m(l,null);m(e,r),m(e,i);for(let d=0;d<n.length;d+=1)n[d].m(i,null);u=!0},p(t,[a]){a&6&&(_=t[2],s=C(s,a,p,1,t,_,g,l,J,T,null,K)),a&6&&(f=t[2],O(),n=C(n,a,b,1,t,f,k,i,Q,I,null,D),Y()),(!u||a&1&&c!==(c="tabs sdk-tabs "+t[0]+" svelte-1maocj6"))&&h(e,"class",c)},i(t){if(!u){for(let a=0;a<f.length;a+=1)N(n[a]);u=!0}},o(t){for(let a=0;a<n.length;a+=1)P(n[a]);u=!1},d(t){t&&w(e);for(let a=0;a<s.length;a+=1)s[a].d();for(let a=0;a<n.length;a+=1)n[a].d()}}}const M="pb_sdk_preference";function V(o,e,l){let s,{class:g="m-b-base"}=e,{js:r=""}=e,{dart:i=""}=e,n=localStorage.getItem(M)||"javascript";const k=c=>l(1,n=c.language);return o.$$set=c=>{"class"in c&&l(0,g=c.class),"js"in c&&l(3,r=c.js),"dart"in c&&l(4,i=c.dart)},o.$$.update=()=>{o.$$.dirty&2&&n&&localStorage.setItem(M,n),o.$$.dirty&24&&l(2,s=[{title:"JavaScript",language:"javascript",content:r,url:"https://github.com/pocketbase/js-sdk"},{title:"Dart",language:"dart",content:i,url:"https://github.com/pocketbase/dart-sdk"}])},[g,n,s,r,i,k]}class X extends q{constructor(e){super(),B(this,e,V,U,F,{class:0,js:3,dart:4})}}export{X as S};
|
import{S as q,i as B,s as F,e as v,b as j,f as h,g as y,h as m,O as C,P as J,k as O,Q,n as Y,t as N,a as P,o as w,w as E,r as S,u as z,x as R,N as A,c as G,m as H,d as L}from"./index-ffbb9561.js";function D(o,e,l){const s=o.slice();return s[6]=e[l],s}function K(o,e,l){const s=o.slice();return s[6]=e[l],s}function T(o,e){let l,s,g=e[6].title+"",r,i,n,k;function c(){return e[5](e[6])}return{key:o,first:null,c(){l=v("button"),s=v("div"),r=E(g),i=j(),h(s,"class","txt"),h(l,"class","tab-item svelte-1maocj6"),S(l,"active",e[1]===e[6].language),this.first=l},m(u,_){y(u,l,_),m(l,s),m(s,r),m(l,i),n||(k=z(l,"click",c),n=!0)},p(u,_){e=u,_&4&&g!==(g=e[6].title+"")&&R(r,g),_&6&&S(l,"active",e[1]===e[6].language)},d(u){u&&w(l),n=!1,k()}}}function I(o,e){let l,s,g,r,i,n,k=e[6].title+"",c,u,_,p,f;return s=new A({props:{language:e[6].language,content:e[6].content}}),{key:o,first:null,c(){l=v("div"),G(s.$$.fragment),g=j(),r=v("div"),i=v("em"),n=v("a"),c=E(k),u=E(" SDK"),p=j(),h(n,"href",_=e[6].url),h(n,"target","_blank"),h(n,"rel","noopener noreferrer"),h(i,"class","txt-sm txt-hint"),h(r,"class","txt-right"),h(l,"class","tab-item svelte-1maocj6"),S(l,"active",e[1]===e[6].language),this.first=l},m(b,t){y(b,l,t),H(s,l,null),m(l,g),m(l,r),m(r,i),m(i,n),m(n,c),m(n,u),m(l,p),f=!0},p(b,t){e=b;const a={};t&4&&(a.language=e[6].language),t&4&&(a.content=e[6].content),s.$set(a),(!f||t&4)&&k!==(k=e[6].title+"")&&R(c,k),(!f||t&4&&_!==(_=e[6].url))&&h(n,"href",_),(!f||t&6)&&S(l,"active",e[1]===e[6].language)},i(b){f||(N(s.$$.fragment,b),f=!0)},o(b){P(s.$$.fragment,b),f=!1},d(b){b&&w(l),L(s)}}}function U(o){let e,l,s=[],g=new Map,r,i,n=[],k=new Map,c,u,_=o[2];const p=t=>t[6].language;for(let t=0;t<_.length;t+=1){let a=K(o,_,t),d=p(a);g.set(d,s[t]=T(d,a))}let f=o[2];const b=t=>t[6].language;for(let t=0;t<f.length;t+=1){let a=D(o,f,t),d=b(a);k.set(d,n[t]=I(d,a))}return{c(){e=v("div"),l=v("div");for(let t=0;t<s.length;t+=1)s[t].c();r=j(),i=v("div");for(let t=0;t<n.length;t+=1)n[t].c();h(l,"class","tabs-header compact left"),h(i,"class","tabs-content"),h(e,"class",c="tabs sdk-tabs "+o[0]+" svelte-1maocj6")},m(t,a){y(t,e,a),m(e,l);for(let d=0;d<s.length;d+=1)s[d].m(l,null);m(e,r),m(e,i);for(let d=0;d<n.length;d+=1)n[d].m(i,null);u=!0},p(t,[a]){a&6&&(_=t[2],s=C(s,a,p,1,t,_,g,l,J,T,null,K)),a&6&&(f=t[2],O(),n=C(n,a,b,1,t,f,k,i,Q,I,null,D),Y()),(!u||a&1&&c!==(c="tabs sdk-tabs "+t[0]+" svelte-1maocj6"))&&h(e,"class",c)},i(t){if(!u){for(let a=0;a<f.length;a+=1)N(n[a]);u=!0}},o(t){for(let a=0;a<n.length;a+=1)P(n[a]);u=!1},d(t){t&&w(e);for(let a=0;a<s.length;a+=1)s[a].d();for(let a=0;a<n.length;a+=1)n[a].d()}}}const M="pb_sdk_preference";function V(o,e,l){let s,{class:g="m-b-base"}=e,{js:r=""}=e,{dart:i=""}=e,n=localStorage.getItem(M)||"javascript";const k=c=>l(1,n=c.language);return o.$$set=c=>{"class"in c&&l(0,g=c.class),"js"in c&&l(3,r=c.js),"dart"in c&&l(4,i=c.dart)},o.$$.update=()=>{o.$$.dirty&2&&n&&localStorage.setItem(M,n),o.$$.dirty&24&&l(2,s=[{title:"JavaScript",language:"javascript",content:r,url:"https://github.com/pocketbase/js-sdk"},{title:"Dart",language:"dart",content:i,url:"https://github.com/pocketbase/dart-sdk"}])},[g,n,s,r,i,k]}class X extends q{constructor(e){super(),B(this,e,V,U,F,{class:0,js:3,dart:4})}}export{X as S};
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as qe,i as Oe,s as De,e as i,w as v,b as h,c as Se,f,g as r,h as s,m as Be,x as j,O as ye,P as Me,k as We,Q as ze,n as He,t as le,a as oe,o as d,d as Ue,R as Le,C as Re,p as je,r as I,u as Ie,N as Ne}from"./index-3e0f12d8.js";import{S as Ke}from"./SdkTabs-ed893501.js";function Ae(n,l,o){const a=n.slice();return a[5]=l[o],a}function Ce(n,l,o){const a=n.slice();return a[5]=l[o],a}function Te(n,l){let o,a=l[5].code+"",_,b,c,u;function m(){return l[4](l[5])}return{key:n,first:null,c(){o=i("button"),_=v(a),b=h(),f(o,"class","tab-item"),I(o,"active",l[1]===l[5].code),this.first=o},m($,P){r($,o,P),s(o,_),s(o,b),c||(u=Ie(o,"click",m),c=!0)},p($,P){l=$,P&4&&a!==(a=l[5].code+"")&&j(_,a),P&6&&I(o,"active",l[1]===l[5].code)},d($){$&&d(o),c=!1,u()}}}function Ee(n,l){let o,a,_,b;return a=new Ne({props:{content:l[5].body}}),{key:n,first:null,c(){o=i("div"),Se(a.$$.fragment),_=h(),f(o,"class","tab-item"),I(o,"active",l[1]===l[5].code),this.first=o},m(c,u){r(c,o,u),Be(a,o,null),s(o,_),b=!0},p(c,u){l=c;const m={};u&4&&(m.content=l[5].body),a.$set(m),(!b||u&6)&&I(o,"active",l[1]===l[5].code)},i(c){b||(le(a.$$.fragment,c),b=!0)},o(c){oe(a.$$.fragment,c),b=!1},d(c){c&&d(o),Ue(a)}}}function Qe(n){var he,_e,ke,ve;let l,o,a=n[0].name+"",_,b,c,u,m,$,P,M=n[0].name+"",N,se,ae,K,Q,A,F,E,G,g,W,ne,z,y,ie,J,H=n[0].name+"",V,ce,X,re,Y,de,L,Z,S,x,B,ee,U,te,C,q,w=[],ue=new Map,pe,O,k=[],me=new Map,T;A=new Ke({props:{js:`
|
import{S as qe,i as Oe,s as De,e as i,w as v,b as h,c as Se,f,g as r,h as s,m as Be,x as j,O as ye,P as Me,k as We,Q as ze,n as He,t as le,a as oe,o as d,d as Ue,R as Le,C as Re,p as je,r as I,u as Ie,N as Ne}from"./index-ffbb9561.js";import{S as Ke}from"./SdkTabs-5b973c0d.js";function Ae(n,l,o){const a=n.slice();return a[5]=l[o],a}function Ce(n,l,o){const a=n.slice();return a[5]=l[o],a}function Te(n,l){let o,a=l[5].code+"",_,b,c,u;function m(){return l[4](l[5])}return{key:n,first:null,c(){o=i("button"),_=v(a),b=h(),f(o,"class","tab-item"),I(o,"active",l[1]===l[5].code),this.first=o},m($,P){r($,o,P),s(o,_),s(o,b),c||(u=Ie(o,"click",m),c=!0)},p($,P){l=$,P&4&&a!==(a=l[5].code+"")&&j(_,a),P&6&&I(o,"active",l[1]===l[5].code)},d($){$&&d(o),c=!1,u()}}}function Ee(n,l){let o,a,_,b;return a=new Ne({props:{content:l[5].body}}),{key:n,first:null,c(){o=i("div"),Se(a.$$.fragment),_=h(),f(o,"class","tab-item"),I(o,"active",l[1]===l[5].code),this.first=o},m(c,u){r(c,o,u),Be(a,o,null),s(o,_),b=!0},p(c,u){l=c;const m={};u&4&&(m.content=l[5].body),a.$set(m),(!b||u&6)&&I(o,"active",l[1]===l[5].code)},i(c){b||(le(a.$$.fragment,c),b=!0)},o(c){oe(a.$$.fragment,c),b=!1},d(c){c&&d(o),Ue(a)}}}function Qe(n){var he,_e,ke,ve;let l,o,a=n[0].name+"",_,b,c,u,m,$,P,M=n[0].name+"",N,se,ae,K,Q,A,F,E,G,g,W,ne,z,y,ie,J,H=n[0].name+"",V,ce,X,re,Y,de,L,Z,S,x,B,ee,U,te,C,q,w=[],ue=new Map,pe,O,k=[],me=new Map,T;A=new Ke({props:{js:`
|
||||||
import PocketBase from 'pocketbase';
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
const pb = new PocketBase('${n[3]}');
|
const pb = new PocketBase('${n[3]}');
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as Ct,i as St,s as Ot,C as U,N as Tt,e as r,w as y,b as m,c as Ae,f as T,g as a,h as i,m as Be,x as I,O as Pe,P as ut,k as Mt,Q as $t,n as Rt,t as pe,a as fe,o,d as Fe,R as qt,p as Dt,r as ce,u as Ht,y as G}from"./index-3e0f12d8.js";import{S as Lt}from"./SdkTabs-ed893501.js";function bt(p,t,l){const s=p.slice();return s[7]=t[l],s}function mt(p,t,l){const s=p.slice();return s[7]=t[l],s}function _t(p,t,l){const s=p.slice();return s[12]=t[l],s}function yt(p){let t;return{c(){t=r("p"),t.innerHTML="Requires admin <code>Authorization:TOKEN</code> header",T(t,"class","txt-hint txt-sm txt-right")},m(l,s){a(l,t,s)},d(l){l&&o(t)}}}function kt(p){let t,l,s,b,u,d,f,k,C,v,O,D,A,F,M,N,B;return{c(){t=r("tr"),t.innerHTML='<td colspan="3" class="txt-hint">Auth fields</td>',l=m(),s=r("tr"),s.innerHTML=`<td><div class="inline-flex"><span class="label label-warning">Optional</span>
|
import{S as Ct,i as St,s as Ot,C as U,N as Tt,e as r,w as y,b as m,c as Ae,f as T,g as a,h as i,m as Be,x as I,O as Pe,P as ut,k as Mt,Q as $t,n as Rt,t as pe,a as fe,o,d as Fe,R as qt,p as Dt,r as ce,u as Ht,y as G}from"./index-ffbb9561.js";import{S as Lt}from"./SdkTabs-5b973c0d.js";function bt(p,t,l){const s=p.slice();return s[7]=t[l],s}function mt(p,t,l){const s=p.slice();return s[7]=t[l],s}function _t(p,t,l){const s=p.slice();return s[12]=t[l],s}function yt(p){let t;return{c(){t=r("p"),t.innerHTML="Requires admin <code>Authorization:TOKEN</code> header",T(t,"class","txt-hint txt-sm txt-right")},m(l,s){a(l,t,s)},d(l){l&&o(t)}}}function kt(p){let t,l,s,b,u,d,f,k,C,v,O,D,A,F,M,N,B;return{c(){t=r("tr"),t.innerHTML='<td colspan="3" class="txt-hint">Auth fields</td>',l=m(),s=r("tr"),s.innerHTML=`<td><div class="inline-flex"><span class="label label-warning">Optional</span>
|
||||||
<span>username</span></div></td>
|
<span>username</span></div></td>
|
||||||
<td><span class="label">String</span></td>
|
<td><span class="label">String</span></td>
|
||||||
<td>The username of the auth record.</td>`,b=m(),u=r("tr"),u.innerHTML=`<td><div class="inline-flex"><span class="label label-warning">Optional</span>
|
<td>The username of the auth record.</td>`,b=m(),u=r("tr"),u.innerHTML=`<td><div class="inline-flex"><span class="label label-warning">Optional</span>
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import{S as Ze,i as et,s as tt,N as Ye,e as o,w as m,b as f,c as _e,f as _,g as r,h as l,m as ke,x as me,O as Ve,P as lt,k as st,Q as nt,n as ot,t as z,a as G,o as d,d as he,R as it,C as ze,p as at,r as J,u as rt}from"./index-3e0f12d8.js";import{S as dt}from"./SdkTabs-ed893501.js";function Ge(i,s,n){const a=i.slice();return a[6]=s[n],a}function Je(i,s,n){const a=i.slice();return a[6]=s[n],a}function Ke(i){let s;return{c(){s=o("p"),s.innerHTML="Requires admin <code>Authorization:TOKEN</code> header",_(s,"class","txt-hint txt-sm txt-right")},m(n,a){r(n,s,a)},d(n){n&&d(s)}}}function We(i,s){let n,a=s[6].code+"",w,c,p,u;function C(){return s[5](s[6])}return{key:i,first:null,c(){n=o("button"),w=m(a),c=f(),_(n,"class","tab-item"),J(n,"active",s[2]===s[6].code),this.first=n},m(h,F){r(h,n,F),l(n,w),l(n,c),p||(u=rt(n,"click",C),p=!0)},p(h,F){s=h,F&20&&J(n,"active",s[2]===s[6].code)},d(h){h&&d(n),p=!1,u()}}}function Xe(i,s){let n,a,w,c;return a=new Ye({props:{content:s[6].body}}),{key:i,first:null,c(){n=o("div"),_e(a.$$.fragment),w=f(),_(n,"class","tab-item"),J(n,"active",s[2]===s[6].code),this.first=n},m(p,u){r(p,n,u),ke(a,n,null),l(n,w),c=!0},p(p,u){s=p,(!c||u&20)&&J(n,"active",s[2]===s[6].code)},i(p){c||(z(a.$$.fragment,p),c=!0)},o(p){G(a.$$.fragment,p),c=!1},d(p){p&&d(n),he(a)}}}function ct(i){var Ne,Ue;let s,n,a=i[0].name+"",w,c,p,u,C,h,F,N=i[0].name+"",K,ve,W,g,X,B,Y,$,U,we,j,E,ye,Z,Q=i[0].name+"",ee,$e,te,Ce,le,x,se,A,ne,I,oe,O,ie,Re,ae,D,re,Fe,de,ge,k,Oe,S,De,Pe,Te,ce,Ee,pe,Se,Be,xe,fe,Ae,ue,M,be,P,H,R=[],Ie=new Map,Me,q,y=[],He=new Map,T;g=new dt({props:{js:`
|
import{S as Ze,i as et,s as tt,N as Ye,e as o,w as m,b as f,c as _e,f as _,g as r,h as l,m as ke,x as me,O as Ve,P as lt,k as st,Q as nt,n as ot,t as z,a as G,o as d,d as he,R as it,C as ze,p as at,r as J,u as rt}from"./index-ffbb9561.js";import{S as dt}from"./SdkTabs-5b973c0d.js";function Ge(i,s,n){const a=i.slice();return a[6]=s[n],a}function Je(i,s,n){const a=i.slice();return a[6]=s[n],a}function Ke(i){let s;return{c(){s=o("p"),s.innerHTML="Requires admin <code>Authorization:TOKEN</code> header",_(s,"class","txt-hint txt-sm txt-right")},m(n,a){r(n,s,a)},d(n){n&&d(s)}}}function We(i,s){let n,a=s[6].code+"",w,c,p,u;function C(){return s[5](s[6])}return{key:i,first:null,c(){n=o("button"),w=m(a),c=f(),_(n,"class","tab-item"),J(n,"active",s[2]===s[6].code),this.first=n},m(h,F){r(h,n,F),l(n,w),l(n,c),p||(u=rt(n,"click",C),p=!0)},p(h,F){s=h,F&20&&J(n,"active",s[2]===s[6].code)},d(h){h&&d(n),p=!1,u()}}}function Xe(i,s){let n,a,w,c;return a=new Ye({props:{content:s[6].body}}),{key:i,first:null,c(){n=o("div"),_e(a.$$.fragment),w=f(),_(n,"class","tab-item"),J(n,"active",s[2]===s[6].code),this.first=n},m(p,u){r(p,n,u),ke(a,n,null),l(n,w),c=!0},p(p,u){s=p,(!c||u&20)&&J(n,"active",s[2]===s[6].code)},i(p){c||(z(a.$$.fragment,p),c=!0)},o(p){G(a.$$.fragment,p),c=!1},d(p){p&&d(n),he(a)}}}function ct(i){var Ne,Ue;let s,n,a=i[0].name+"",w,c,p,u,C,h,F,N=i[0].name+"",K,ve,W,g,X,B,Y,$,U,we,j,E,ye,Z,Q=i[0].name+"",ee,$e,te,Ce,le,x,se,A,ne,I,oe,O,ie,Re,ae,D,re,Fe,de,ge,k,Oe,S,De,Pe,Te,ce,Ee,pe,Se,Be,xe,fe,Ae,ue,M,be,P,H,R=[],Ie=new Map,Me,q,y=[],He=new Map,T;g=new dt({props:{js:`
|
||||||
import PocketBase from 'pocketbase';
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
const pb = new PocketBase('${i[3]}');
|
const pb = new PocketBase('${i[3]}');
|
||||||
Vendored
-200
@@ -1,200 +0,0 @@
|
|||||||
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const l of s)if(l.type==="childList")for(const o of l.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function t(s){const l={};return s.integrity&&(l.integrity=s.integrity),s.referrerpolicy&&(l.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?l.credentials="include":s.crossorigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function i(s){if(s.ep)return;s.ep=!0;const l=t(s);fetch(s.href,l)}})();function G(){}const kl=n=>n;function Xe(n,e){for(const t in e)n[t]=e[t];return n}function wb(n){return!!n&&(typeof n=="object"||typeof n=="function")&&typeof n.then=="function"}function Rh(n){return n()}function iu(){return Object.create(null)}function Le(n){n.forEach(Rh)}function zt(n){return typeof n=="function"}function be(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}let Rl;function Hn(n,e){return Rl||(Rl=document.createElement("a")),Rl.href=e,n===Rl.href}function Sb(n){return Object.keys(n).length===0}function jh(n,...e){if(n==null)return G;const t=n.subscribe(...e);return t.unsubscribe?()=>t.unsubscribe():t}function Je(n,e,t){n.$$.on_destroy.push(jh(e,t))}function Ft(n,e,t,i){if(n){const s=Hh(n,e,t,i);return n[0](s)}}function Hh(n,e,t,i){return n[1]&&i?Xe(t.ctx.slice(),n[1](i(e))):t.ctx}function Rt(n,e,t,i){if(n[2]&&i){const s=n[2](i(t));if(e.dirty===void 0)return s;if(typeof s=="object"){const l=[],o=Math.max(e.dirty.length,s.length);for(let r=0;r<o;r+=1)l[r]=e.dirty[r]|s[r];return l}return e.dirty|s}return e.dirty}function jt(n,e,t,i,s,l){if(s){const o=Hh(e,t,i,l);n.p(o,s)}}function Ht(n){if(n.ctx.length>32){const e=[],t=n.ctx.length/32;for(let i=0;i<t;i++)e[i]=-1;return e}return-1}function Gn(n){const e={};for(const t in n)t[0]!=="$"&&(e[t]=n[t]);return e}function At(n,e){const t={};e=new Set(e);for(const i in n)!e.has(i)&&i[0]!=="$"&&(t[i]=n[i]);return t}function yi(n){return n??""}function Yt(n,e,t){return n.set(t),e}function Pe(n){return n&&zt(n.destroy)?n.destroy:G}const qh=typeof window<"u";let No=qh?()=>window.performance.now():()=>Date.now(),fa=qh?n=>requestAnimationFrame(n):G;const _s=new Set;function Vh(n){_s.forEach(e=>{e.c(n)||(_s.delete(e),e.f())}),_s.size!==0&&fa(Vh)}function Fo(n){let e;return _s.size===0&&fa(Vh),{promise:new Promise(t=>{_s.add(e={c:n,f:t})}),abort(){_s.delete(e)}}}function _(n,e){n.appendChild(e)}function zh(n){if(!n)return document;const e=n.getRootNode?n.getRootNode():n.ownerDocument;return e&&e.host?e:n.ownerDocument}function Tb(n){const e=v("style");return Cb(zh(n),e),e.sheet}function Cb(n,e){return _(n.head||n,e),e.sheet}function S(n,e,t){n.insertBefore(e,t||null)}function w(n){n.parentNode&&n.parentNode.removeChild(n)}function bt(n,e){for(let t=0;t<n.length;t+=1)n[t]&&n[t].d(e)}function v(n){return document.createElement(n)}function z(n){return document.createTextNode(n)}function D(){return z(" ")}function Ae(){return z("")}function K(n,e,t,i){return n.addEventListener(e,t,i),()=>n.removeEventListener(e,t,i)}function pt(n){return function(e){return e.preventDefault(),n.call(this,e)}}function yn(n){return function(e){return e.stopPropagation(),n.call(this,e)}}function p(n,e,t){t==null?n.removeAttribute(e):n.getAttribute(e)!==t&&n.setAttribute(e,t)}function Zn(n,e){const t=Object.getOwnPropertyDescriptors(n.__proto__);for(const i in e)e[i]==null?n.removeAttribute(i):i==="style"?n.style.cssText=e[i]:i==="__value"?n.value=n[i]=e[i]:t[i]&&t[i].set?n[i]=e[i]:p(n,i,e[i])}function ht(n){return n===""?null:+n}function $b(n){return Array.from(n.childNodes)}function re(n,e){e=""+e,n.wholeText!==e&&(n.data=e)}function de(n,e){n.value=e??""}function Ir(n,e,t,i){t===null?n.style.removeProperty(e):n.style.setProperty(e,t,i?"important":"")}function x(n,e,t){n.classList[t?"add":"remove"](e)}function Bh(n,e,{bubbles:t=!1,cancelable:i=!1}={}){const s=document.createEvent("CustomEvent");return s.initCustomEvent(n,t,i,e),s}function Kt(n,e){return new n(e)}const po=new Map;let mo=0;function Mb(n){let e=5381,t=n.length;for(;t--;)e=(e<<5)-e^n.charCodeAt(t);return e>>>0}function Db(n,e){const t={stylesheet:Tb(e),rules:{}};return po.set(n,t),t}function rl(n,e,t,i,s,l,o,r=0){const a=16.666/i;let u=`{
|
|
||||||
`;for(let b=0;b<=1;b+=a){const y=e+(t-e)*l(b);u+=b*100+`%{${o(y,1-y)}}
|
|
||||||
`}const f=u+`100% {${o(t,1-t)}}
|
|
||||||
}`,c=`__svelte_${Mb(f)}_${r}`,d=zh(n),{stylesheet:m,rules:h}=po.get(d)||Db(d,n);h[c]||(h[c]=!0,m.insertRule(`@keyframes ${c} ${f}`,m.cssRules.length));const g=n.style.animation||"";return n.style.animation=`${g?`${g}, `:""}${c} ${i}ms linear ${s}ms 1 both`,mo+=1,c}function al(n,e){const t=(n.style.animation||"").split(", "),i=t.filter(e?l=>l.indexOf(e)<0:l=>l.indexOf("__svelte")===-1),s=t.length-i.length;s&&(n.style.animation=i.join(", "),mo-=s,mo||Ob())}function Ob(){fa(()=>{mo||(po.forEach(n=>{const{ownerNode:e}=n.stylesheet;e&&w(e)}),po.clear())})}function Eb(n,e,t,i){if(!e)return G;const s=n.getBoundingClientRect();if(e.left===s.left&&e.right===s.right&&e.top===s.top&&e.bottom===s.bottom)return G;const{delay:l=0,duration:o=300,easing:r=kl,start:a=No()+l,end:u=a+o,tick:f=G,css:c}=t(n,{from:e,to:s},i);let d=!0,m=!1,h;function g(){c&&(h=rl(n,0,1,o,l,r,c)),l||(m=!0)}function b(){c&&al(n,h),d=!1}return Fo(y=>{if(!m&&y>=a&&(m=!0),m&&y>=u&&(f(1,0),b()),!d)return!1;if(m){const k=y-a,T=0+1*r(k/o);f(T,1-T)}return!0}),g(),f(0,1),b}function Ab(n){const e=getComputedStyle(n);if(e.position!=="absolute"&&e.position!=="fixed"){const{width:t,height:i}=e,s=n.getBoundingClientRect();n.style.position="absolute",n.style.width=t,n.style.height=i,Uh(n,s)}}function Uh(n,e){const t=n.getBoundingClientRect();if(e.left!==t.left||e.top!==t.top){const i=getComputedStyle(n),s=i.transform==="none"?"":i.transform;n.style.transform=`${s} translate(${e.left-t.left}px, ${e.top-t.top}px)`}}let ul;function li(n){ul=n}function wl(){if(!ul)throw new Error("Function called outside component initialization");return ul}function sn(n){wl().$$.on_mount.push(n)}function Ib(n){wl().$$.after_update.push(n)}function Wh(n){wl().$$.on_destroy.push(n)}function $t(){const n=wl();return(e,t,{cancelable:i=!1}={})=>{const s=n.$$.callbacks[e];if(s){const l=Bh(e,t,{cancelable:i});return s.slice().forEach(o=>{o.call(n,l)}),!l.defaultPrevented}return!0}}function We(n,e){const t=n.$$.callbacks[e.type];t&&t.slice().forEach(i=>i.call(this,e))}const ms=[],ie=[],oo=[],Pr=[],Yh=Promise.resolve();let Lr=!1;function Kh(){Lr||(Lr=!0,Yh.then(ca))}function tn(){return Kh(),Yh}function nt(n){oo.push(n)}function we(n){Pr.push(n)}const Qo=new Set;let as=0;function ca(){if(as!==0)return;const n=ul;do{try{for(;as<ms.length;){const e=ms[as];as++,li(e),Pb(e.$$)}}catch(e){throw ms.length=0,as=0,e}for(li(null),ms.length=0,as=0;ie.length;)ie.pop()();for(let e=0;e<oo.length;e+=1){const t=oo[e];Qo.has(t)||(Qo.add(t),t())}oo.length=0}while(ms.length);for(;Pr.length;)Pr.pop()();Lr=!1,Qo.clear(),li(n)}function Pb(n){if(n.fragment!==null){n.update(),Le(n.before_update);const e=n.dirty;n.dirty=[-1],n.fragment&&n.fragment.p(n.ctx,e),n.after_update.forEach(nt)}}let Rs;function da(){return Rs||(Rs=Promise.resolve(),Rs.then(()=>{Rs=null})),Rs}function Bi(n,e,t){n.dispatchEvent(Bh(`${e?"intro":"outro"}${t}`))}const ro=new Set;let Yn;function pe(){Yn={r:0,c:[],p:Yn}}function me(){Yn.r||Le(Yn.c),Yn=Yn.p}function A(n,e){n&&n.i&&(ro.delete(n),n.i(e))}function P(n,e,t,i){if(n&&n.o){if(ro.has(n))return;ro.add(n),Yn.c.push(()=>{ro.delete(n),i&&(t&&n.d(1),i())}),n.o(e)}else i&&i()}const pa={duration:0};function Jh(n,e,t){const i={direction:"in"};let s=e(n,t,i),l=!1,o,r,a=0;function u(){o&&al(n,o)}function f(){const{delay:d=0,duration:m=300,easing:h=kl,tick:g=G,css:b}=s||pa;b&&(o=rl(n,0,1,m,d,h,b,a++)),g(0,1);const y=No()+d,k=y+m;r&&r.abort(),l=!0,nt(()=>Bi(n,!0,"start")),r=Fo(T=>{if(l){if(T>=k)return g(1,0),Bi(n,!0,"end"),u(),l=!1;if(T>=y){const C=h((T-y)/m);g(C,1-C)}}return l})}let c=!1;return{start(){c||(c=!0,al(n),zt(s)?(s=s(i),da().then(f)):f())},invalidate(){c=!1},end(){l&&(u(),l=!1)}}}function Zh(n,e,t){const i={direction:"out"};let s=e(n,t,i),l=!0,o;const r=Yn;r.r+=1;function a(){const{delay:u=0,duration:f=300,easing:c=kl,tick:d=G,css:m}=s||pa;m&&(o=rl(n,1,0,f,u,c,m));const h=No()+u,g=h+f;nt(()=>Bi(n,!1,"start")),Fo(b=>{if(l){if(b>=g)return d(0,1),Bi(n,!1,"end"),--r.r||Le(r.c),!1;if(b>=h){const y=c((b-h)/f);d(1-y,y)}}return l})}return zt(s)?da().then(()=>{s=s(i),a()}):a(),{end(u){u&&s.tick&&s.tick(1,0),l&&(o&&al(n,o),l=!1)}}}function ze(n,e,t,i){const s={direction:"both"};let l=e(n,t,s),o=i?0:1,r=null,a=null,u=null;function f(){u&&al(n,u)}function c(m,h){const g=m.b-o;return h*=Math.abs(g),{a:o,b:m.b,d:g,duration:h,start:m.start,end:m.start+h,group:m.group}}function d(m){const{delay:h=0,duration:g=300,easing:b=kl,tick:y=G,css:k}=l||pa,T={start:No()+h,b:m};m||(T.group=Yn,Yn.r+=1),r||a?a=T:(k&&(f(),u=rl(n,o,m,g,h,b,k)),m&&y(0,1),r=c(T,g),nt(()=>Bi(n,m,"start")),Fo(C=>{if(a&&C>a.start&&(r=c(a,g),a=null,Bi(n,r.b,"start"),k&&(f(),u=rl(n,o,r.b,r.duration,0,b,l.css))),r){if(C>=r.end)y(o=r.b,1-o),Bi(n,r.b,"end"),a||(r.b?f():--r.group.r||Le(r.group.c)),r=null;else if(C>=r.start){const M=C-r.start;o=r.a+r.d*b(M/r.duration),y(o,1-o)}}return!!(r||a)}))}return{run(m){zt(l)?da().then(()=>{l=l(s),d(m)}):d(m)},end(){f(),r=a=null}}}function su(n,e){const t=e.token={};function i(s,l,o,r){if(e.token!==t)return;e
Line truncated
|
|
||||||
<span class="txt">Pocket<strong>Base</strong></span></figure>`,t=D(),i=v("div"),p(e,"class","block txt-center m-b-lg"),p(i,"class","clearfix")},m(s,l){S(s,e,l),S(s,t,l),S(s,i,l)},d(s){s&&w(e),s&&w(t),s&&w(i)}}}function fv(n){let e,t,i,s=!n[0]&&Ru();const l=n[1].default,o=Ft(l,n,n[2],null);return{c(){e=v("div"),s&&s.c(),t=D(),o&&o.c(),p(e,"class","wrapper wrapper-sm m-b-xl panel-wrapper svelte-lxxzfu")},m(r,a){S(r,e,a),s&&s.m(e,null),_(e,t),o&&o.m(e,null),i=!0},p(r,a){r[0]?s&&(s.d(1),s=null):s||(s=Ru(),s.c(),s.m(e,t)),o&&o.p&&(!i||a&4)&&jt(o,l,r,r[2],i?Rt(l,r[2],a,null):Ht(r[2]),null)},i(r){i||(A(o,r),i=!0)},o(r){P(o,r),i=!1},d(r){r&&w(e),s&&s.d(),o&&o.d(r)}}}function cv(n){let e,t;return e=new kn({props:{class:"full-page",center:!0,$$slots:{default:[fv]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,s){H(e,i,s),t=!0},p(i,[s]){const l={};s&5&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){P(e.$$.fragment,i),t=!1},d(i){q(e,i)}}}function dv(n,e,t){let{$$slots:i={},$$scope:s}=e,{nobranding:l=!1}=e;return n.$$set=o=>{"nobranding"in o&&t(0,l=o.nobranding),"$$scope"in o&&t(2,s=o.$$scope)},[l,i,s]}class i_ extends ke{constructor(e){super(),ye(this,e,dv,cv,be,{nobranding:0})}}function ju(n,e,t){const i=n.slice();return i[11]=e[t],i}const pv=n=>({}),Hu=n=>({uniqueId:n[3]});function mv(n){let e=(n[11]||bo)+"",t;return{c(){t=z(e)},m(i,s){S(i,t,s)},p(i,s){s&4&&e!==(e=(i[11]||bo)+"")&&re(t,e)},d(i){i&&w(t)}}}function hv(n){var s,l;let e,t=(((s=n[11])==null?void 0:s.message)||((l=n[11])==null?void 0:l.code)||bo)+"",i;return{c(){e=v("pre"),i=z(t)},m(o,r){S(o,e,r),_(e,i)},p(o,r){var a,u;r&4&&t!==(t=(((a=o[11])==null?void 0:a.message)||((u=o[11])==null?void 0:u.code)||bo)+"")&&re(i,t)},d(o){o&&w(e)}}}function qu(n){let e,t;function i(o,r){return typeof o[11]=="object"?hv:mv}let s=i(n),l=s(n);return{c(){e=v("div"),l.c(),t=D(),p(e,"class","help-block help-block-error")},m(o,r){S(o,e,r),l.m(e,null),_(e,t)},p(o,r){s===(s=i(o))&&l?l.p(o,r):(l.d(1),l=s(o),l&&(l.c(),l.m(e,t)))},d(o){o&&w(e),l.d()}}}function gv(n){let e,t,i,s,l;const o=n[7].default,r=Ft(o,n,n[6],Hu);let a=n[2],u=[];for(let f=0;f<a.length;f+=1)u[f]=qu(ju(n,a,f));return{c(){e=v("div"),r&&r.c(),t=D();for(let f=0;f<u.length;f+=1)u[f].c();p(e,"class",n[0]),x(e,"error",n[2].length)},m(f,c){S(f,e,c),r&&r.m(e,null),_(e,t);for(let d=0;d<u.length;d+=1)u[d].m(e,null);n[9](e),i=!0,s||(l=K(e,"click",n[8]),s=!0)},p(f,[c]){if(r&&r.p&&(!i||c&64)&&jt(r,o,f,f[6],i?Rt(o,f[6],c,pv):Ht(f[6]),Hu),c&4){a=f[2];let d;for(d=0;d<a.length;d+=1){const m=ju(f,a,d);u[d]?u[d].p(m,c):(u[d]=qu(m),u[d].c(),u[d].m(e,null))}for(;d<u.length;d+=1)u[d].d(1);u.length=a.length}(!i||c&1)&&p(e,"class",f[0]),(!i||c&5)&&x(e,"error",f[2].length)},i(f){i||(A(r,f),i=!0)},o(f){P(r,f),i=!1},d(f){f&&w(e),r&&r.d(f),bt(u,f),n[9](null),s=!1,l()}}}const bo="Invalid value";function _v(n,e,t){let i;Je(n,Ci,h=>t(5,i=h));let{$$slots:s={},$$scope:l}=e;const o="field_"+B.randomString(7);let{name:r=""}=e,{class:a=void 0}=e,u,f=[];function c(){Ts(r)}sn(()=>(u.addEventListener("input",c),u.addEventListener("change",c),()=>{u.removeEventListener("input",c),u.removeEventListener("change",c)}));function d(h){We.call(this,n,h)}function m(h){ie[h?"unshift":"push"](()=>{u=h,t(1,u)})}return n.$$set=h=>{"name"in h&&t(4,r=h.name),"class"in h&&t(0,a=h.class),"$$scope"in h&&t(6,l=h.$$scope)},n.$$.update=()=>{n.$$.dirty&48&&t(2,f=B.toArray(B.getNestedVal(i,r)))},[a,u,f,o,r,i,l,s,d,m]}class _e extends ke{constructor(e){super(),ye(this,e,_v,gv,be,{name:4,class:0})}}function bv(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=z("Email"),s=D(),l=v("input"),p(e,"for",i=n[9]),p(l,"type","email"),p(l,"autocomplete","off"),p(l,"id",o=n[9]),l.required=!0,l.autofocus=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),de(l,n[0]),l.focus(),r||(a=K(l,"input",n[5]),r=!0)},p(u,f){f&512&&i!==(i=u[9])&&p(e,"for",i),f&512&&o!==(o=u[9])&&p(l,"id",o),f&1&&l.value!==u[0]&&de(l,u[0])},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function vv(n){let e,t,i,s,l,o,r,a,u,f;return{c(){e=v("label"),t=z("Password"),s=D(),l=v("input"),r=D(),a=v("div"),a.textContent="Minimum 10 characters.",p(e,"for",i=n[9]),p(l,"type","password"),p(l,"autocomplete","new-password"),p(l,"minlength","10"),p(l,"id",o=n[9]),l.required=!0,p(a,"class","help-block")},m(c,d){S(c,e,d),_(e,t),S(c,s,d),S(c,l,d),de(l,n[1]),S(c,r,d),S(c,a,d),u||(f=K(l,"input",n[6]),u=!0)},p(c,d){d&512&&i!==(i=c[9])&&p(e,"for",i),d&512&&o!==(o=c[9])&&p(l,"id",o),d&2&&l.value!==c[1]&&de(l,c[1])},d(c){c&&w(e),c&&w(s),c&&w(l),c&&w(r),c&&w(a),u=!1,f()}}}function yv(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=z("Password confirm"),s=D(),l=v("input"),p(e,"for",i=n[9]),p(l,"type","password"),p(l,"minlength","10"),p(l,"id",o=n[9]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),de(l,n[2]),r||(a=K(l,"input",n[7]),r=!0)},p(u,f){f&512&&i!==(i=u[9])&&p(e,"for",i),f&512&&o!==(o=u[9])&&p(l,"id",o),f&4&&l.value!==u[2]&&de(l,u[2])},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function kvLine truncated
|
|
||||||
<i class="ri-arrow-right-line"></i>`,p(t,"class","content txt-center m-b-base"),p(f,"type","submit"),p(f,"class","btn btn-lg btn-block btn-next"),x(f,"btn-disabled",n[3]),x(f,"btn-loading",n[3]),p(e,"class","block"),p(e,"autocomplete","off")},m(h,g){S(h,e,g),_(e,t),_(e,i),H(s,e,null),_(e,l),H(o,e,null),_(e,r),H(a,e,null),_(e,u),_(e,f),c=!0,d||(m=K(e,"submit",pt(n[4])),d=!0)},p(h,[g]){const b={};g&1537&&(b.$$scope={dirty:g,ctx:h}),s.$set(b);const y={};g&1538&&(y.$$scope={dirty:g,ctx:h}),o.$set(y);const k={};g&1540&&(k.$$scope={dirty:g,ctx:h}),a.$set(k),(!c||g&8)&&x(f,"btn-disabled",h[3]),(!c||g&8)&&x(f,"btn-loading",h[3])},i(h){c||(A(s.$$.fragment,h),A(o.$$.fragment,h),A(a.$$.fragment,h),c=!0)},o(h){P(s.$$.fragment,h),P(o.$$.fragment,h),P(a.$$.fragment,h),c=!1},d(h){h&&w(e),q(s),q(o),q(a),d=!1,m()}}}function wv(n,e,t){const i=$t();let s="",l="",o="",r=!1;async function a(){if(!r){t(3,r=!0);try{await he.admins.create({email:s,password:l,passwordConfirm:o}),await he.admins.authWithPassword(s,l),i("submit")}catch(d){he.errorResponseHandler(d)}t(3,r=!1)}}function u(){s=this.value,t(0,s)}function f(){l=this.value,t(1,l)}function c(){o=this.value,t(2,o)}return[s,l,o,r,a,u,f,c]}class Sv extends ke{constructor(e){super(),ye(this,e,wv,kv,be,{})}}function Vu(n){let e,t;return e=new i_({props:{$$slots:{default:[Tv]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,s){H(e,i,s),t=!0},p(i,s){const l={};s&9&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){P(e.$$.fragment,i),t=!1},d(i){q(e,i)}}}function Tv(n){let e,t;return e=new Sv({}),e.$on("submit",n[1]),{c(){V(e.$$.fragment)},m(i,s){H(e,i,s),t=!0},p:G,i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){P(e.$$.fragment,i),t=!1},d(i){q(e,i)}}}function Cv(n){let e,t,i=n[0]&&Vu(n);return{c(){i&&i.c(),e=Ae()},m(s,l){i&&i.m(s,l),S(s,e,l),t=!0},p(s,[l]){s[0]?i?(i.p(s,l),l&1&&A(i,1)):(i=Vu(s),i.c(),A(i,1),i.m(e.parentNode,e)):i&&(pe(),P(i,1,1,()=>{i=null}),me())},i(s){t||(A(i),t=!0)},o(s){P(i),t=!1},d(s){i&&i.d(s),s&&w(e)}}}function $v(n,e,t){let i=!1;s();function s(){if(t(0,i=!1),new URLSearchParams(window.location.search).has("installer")){he.logout(!1),t(0,i=!0);return}he.authStore.isValid?Ti("/collections"):he.logout()}return[i,async()=>{t(0,i=!1),await tn(),window.location.search=""}]}class Mv extends ke{constructor(e){super(),ye(this,e,$v,Cv,be,{})}}const St=Pn(""),vo=Pn(""),Cs=Pn(!1);function Bo(n){const e=n-1;return e*e*e+1}function yo(n,{delay:e=0,duration:t=400,easing:i=kl}={}){const s=+getComputedStyle(n).opacity;return{delay:e,duration:t,easing:i,css:l=>`opacity: ${l*s}`}}function En(n,{delay:e=0,duration:t=400,easing:i=Bo,x:s=0,y:l=0,opacity:o=0}={}){const r=getComputedStyle(n),a=+r.opacity,u=r.transform==="none"?"":r.transform,f=a*(1-o);return{delay:e,duration:t,easing:i,css:(c,d)=>`
|
|
||||||
transform: ${u} translate(${(1-c)*s}px, ${(1-c)*l}px);
|
|
||||||
opacity: ${a-f*d}`}}function It(n,{delay:e=0,duration:t=400,easing:i=Bo}={}){const s=getComputedStyle(n),l=+s.opacity,o=parseFloat(s.height),r=parseFloat(s.paddingTop),a=parseFloat(s.paddingBottom),u=parseFloat(s.marginTop),f=parseFloat(s.marginBottom),c=parseFloat(s.borderTopWidth),d=parseFloat(s.borderBottomWidth);return{delay:e,duration:t,easing:i,css:m=>`overflow: hidden;opacity: ${Math.min(m*20,1)*l};height: ${m*o}px;padding-top: ${m*r}px;padding-bottom: ${m*a}px;margin-top: ${m*u}px;margin-bottom: ${m*f}px;border-top-width: ${m*c}px;border-bottom-width: ${m*d}px;`}}function Pt(n,{delay:e=0,duration:t=400,easing:i=Bo,start:s=0,opacity:l=0}={}){const o=getComputedStyle(n),r=+o.opacity,a=o.transform==="none"?"":o.transform,u=1-s,f=r*(1-l);return{delay:e,duration:t,easing:i,css:(c,d)=>`
|
|
||||||
transform: ${a} scale(${1-u*d});
|
|
||||||
opacity: ${r-f*d}
|
|
||||||
`}}function Dv(n){let e,t,i,s;return{c(){e=v("input"),p(e,"type","text"),p(e,"id",n[8]),p(e,"placeholder",t=n[0]||n[1])},m(l,o){S(l,e,o),n[13](e),de(e,n[7]),i||(s=K(e,"input",n[14]),i=!0)},p(l,o){o&3&&t!==(t=l[0]||l[1])&&p(e,"placeholder",t),o&128&&e.value!==l[7]&&de(e,l[7])},i:G,o:G,d(l){l&&w(e),n[13](null),i=!1,s()}}}function Ov(n){let e,t,i,s;function l(a){n[12](a)}var o=n[4];function r(a){let u={id:a[8],singleLine:!0,disableRequestKeys:!0,disableIndirectCollectionsKeys:!0,extraAutocompleteKeys:a[3],baseCollection:a[2],placeholder:a[0]||a[1]};return a[7]!==void 0&&(u.value=a[7]),{props:u}}return o&&(e=Kt(o,r(n)),ie.push(()=>ve(e,"value",l)),e.$on("submit",n[10])),{c(){e&&V(e.$$.fragment),i=Ae()},m(a,u){e&&H(e,a,u),S(a,i,u),s=!0},p(a,u){const f={};if(u&8&&(f.extraAutocompleteKeys=a[3]),u&4&&(f.baseCollection=a[2]),u&3&&(f.placeholder=a[0]||a[1]),!t&&u&128&&(t=!0,f.value=a[7],we(()=>t=!1)),o!==(o=a[4])){if(e){pe();const c=e;P(c.$$.fragment,1,0,()=>{q(c,1)}),me()}o?(e=Kt(o,r(a)),ie.push(()=>ve(e,"value",l)),e.$on("submit",a[10]),V(e.$$.fragment),A(e.$$.fragment,1),H(e,i.parentNode,i)):e=null}else o&&e.$set(f)},i(a){s||(e&&A(e.$$.fragment,a),s=!0)},o(a){e&&P(e.$$.fragment,a),s=!1},d(a){a&&w(i),e&&q(e,a)}}}function zu(n){let e,t,i,s,l,o,r=n[7]!==n[0]&&Bu();return{c(){r&&r.c(),e=D(),t=v("button"),t.innerHTML='<span class="txt">Clear</span>',p(t,"type","button"),p(t,"class","btn btn-transparent btn-sm btn-hint p-l-xs p-r-xs m-l-10")},m(a,u){r&&r.m(a,u),S(a,e,u),S(a,t,u),s=!0,l||(o=K(t,"click",n[15]),l=!0)},p(a,u){a[7]!==a[0]?r?u&129&&A(r,1):(r=Bu(),r.c(),A(r,1),r.m(e.parentNode,e)):r&&(pe(),P(r,1,1,()=>{r=null}),me())},i(a){s||(A(r),a&&nt(()=>{i||(i=ze(t,En,{duration:150,x:5},!0)),i.run(1)}),s=!0)},o(a){P(r),a&&(i||(i=ze(t,En,{duration:150,x:5},!1)),i.run(0)),s=!1},d(a){r&&r.d(a),a&&w(e),a&&w(t),a&&i&&i.end(),l=!1,o()}}}function Bu(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Search</span>',p(e,"type","submit"),p(e,"class","btn btn-expanded btn-sm btn-warning")},m(s,l){S(s,e,l),i=!0},i(s){i||(s&&nt(()=>{t||(t=ze(e,En,{duration:150,x:5},!0)),t.run(1)}),i=!0)},o(s){s&&(t||(t=ze(e,En,{duration:150,x:5},!1)),t.run(0)),i=!1},d(s){s&&w(e),s&&t&&t.end()}}}function Ev(n){let e,t,i,s,l,o,r,a,u,f;const c=[Ov,Dv],d=[];function m(g,b){return g[4]&&!g[5]?0:1}l=m(n),o=d[l]=c[l](n);let h=(n[0].length||n[7].length)&&zu(n);return{c(){e=v("form"),t=v("label"),i=v("i"),s=D(),o.c(),r=D(),h&&h.c(),p(i,"class","ri-search-line"),p(t,"for",n[8]),p(t,"class","m-l-10 txt-xl"),p(e,"class","searchbar")},m(g,b){S(g,e,b),_(e,t),_(t,i),_(e,s),d[l].m(e,null),_(e,r),h&&h.m(e,null),a=!0,u||(f=[K(e,"click",yn(n[11])),K(e,"submit",pt(n[10]))],u=!0)},p(g,[b]){let y=l;l=m(g),l===y?d[l].p(g,b):(pe(),P(d[y],1,1,()=>{d[y]=null}),me(),o=d[l],o?o.p(g,b):(o=d[l]=c[l](g),o.c()),A(o,1),o.m(e,r)),g[0].length||g[7].length?h?(h.p(g,b),b&129&&A(h,1)):(h=zu(g),h.c(),A(h,1),h.m(e,null)):h&&(pe(),P(h,1,1,()=>{h=null}),me())},i(g){a||(A(o),A(h),a=!0)},o(g){P(o),P(h),a=!1},d(g){g&&w(e),d[l].d(),h&&h.d(),u=!1,Le(f)}}}function Av(n,e,t){const i=$t(),s="search_"+B.randomString(7);let{value:l=""}=e,{placeholder:o='Search filter, ex. created > "2022-01-01"...'}=e,{autocompleteCollection:r=new bn}=e,{extraAutocompleteKeys:a=[]}=e,u,f=!1,c,d="";function m(M=!0){t(7,d=""),M&&(c==null||c.focus()),i("clear")}function h(){t(0,l=d),i("submit",l)}async function g(){u||f||(t(5,f=!0),t(4,u=(await ft(()=>import("./FilterAutocompleteInput-6d6a13cf.js"),["./FilterAutocompleteInput-6d6a13cf.js","./index-4934dad7.js"],import.meta.url)).default),t(5,f=!1))}sn(()=>{g()});function b(M){We.call(this,n,M)}function y(M){d=M,t(7,d),t(0,l)}function k(M){ie[M?"unshift":"push"](()=>{c=M,t(6,c)})}function T(){d=this.value,t(7,d),t(0,l)}const C=()=>{m(!1),h()};return n.$$set=M=>{"value"in M&&t(0,l=M.value),"placeholder"in M&&t(1,o=M.placeholder),"autocompleteCollection"in M&&t(2,r=M.autocompleteCollection),"extraAutocompleteKeys"in M&&t(3,a=M.extraAutocompleteKeys)},n.$$.update=()=>{n.$$.dirty&1&&typeof l=="string"&&t(7,d=l)},[l,o,r,a,u,f,c,d,s,m,h,b,y,k,T,C]}class Uo extends ke{constructor(e){super(),ye(this,e,Av,Ev,be,{value:0,placeholder:1,autocompleteCollection:2,extraAutocompleteKeys:3})}}let Yr,Li;const Kr="app-tooltip";function Uu(n){return typeof n=="string"?{text:n,position:"bottom",hideOnClick:null}:n||{}}function bi(){return Li=Li||document.querySelector("."+Kr),Li||(Li=document.createElement("div"),Li.classList.add(Kr),document.body.appendChild(Li)),Li}function s_(n,e){let t=bi();if(!t.classList.contains("active")||!(e!=null&&e.text)){Jr();return}t.textContent=e.text,t.className=Kr+" active",e.class&&t.classList.add(e.class),e.position&&t.classList.add(e.position),t.style.top="0px",t.style.left="0px";let i=t.offsetHeight,s=t.offsetWidth,l=n.getBoundingClientRect(),o=0,r=0,a=5;e.position=="left"?(o=l.top+l.height/2-i/2,r=l.left-s-a):e.position=="right"?(o=l.top+l.height/2-i/2,r=l.right+a):e.position=="top"?(o=l.top-i-a,r=l.left+l.width/2-s/2):e.position=="top
Line truncated
|
|
||||||
<span class="txt">method</span>`,p(e,"class","col-header-content")},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function Yv(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=D(),s=v("span"),s.textContent="url",p(t,"class",B.getFieldTypeIcon("url")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:G,d(l){l&&w(e)}}}function Kv(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=D(),s=v("span"),s.textContent="referer",p(t,"class",B.getFieldTypeIcon("url")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:G,d(l){l&&w(e)}}}function Jv(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=D(),s=v("span"),s.textContent="User IP",p(t,"class",B.getFieldTypeIcon("number")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:G,d(l){l&&w(e)}}}function Zv(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=D(),s=v("span"),s.textContent="status",p(t,"class",B.getFieldTypeIcon("number")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:G,d(l){l&&w(e)}}}function Gv(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=D(),s=v("span"),s.textContent="created",p(t,"class",B.getFieldTypeIcon("date")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:G,d(l){l&&w(e)}}}function Ju(n){let e;function t(l,o){return l[6]?xv:Xv}let i=t(n),s=i(n);return{c(){s.c(),e=Ae()},m(l,o){s.m(l,o),S(l,e,o)},p(l,o){i===(i=t(l))&&s?s.p(l,o):(s.d(1),s=i(l),s&&(s.c(),s.m(e.parentNode,e)))},d(l){s.d(l),l&&w(e)}}}function Xv(n){var r;let e,t,i,s,l,o=((r=n[0])==null?void 0:r.length)&&Zu(n);return{c(){e=v("tr"),t=v("td"),i=v("h6"),i.textContent="No logs found.",s=D(),o&&o.c(),l=D(),p(t,"colspan","99"),p(t,"class","txt-center txt-hint p-xs")},m(a,u){S(a,e,u),_(e,t),_(t,i),_(t,s),o&&o.m(t,null),_(e,l)},p(a,u){var f;(f=a[0])!=null&&f.length?o?o.p(a,u):(o=Zu(a),o.c(),o.m(t,null)):o&&(o.d(1),o=null)},d(a){a&&w(e),o&&o.d()}}}function xv(n){let e;return{c(){e=v("tr"),e.innerHTML=`<td colspan="99" class="p-xs"><span class="skeleton-loader"></span></td>
|
|
||||||
`},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function Zu(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Clear filters</span>',p(e,"type","button"),p(e,"class","btn btn-hint btn-expanded m-t-sm")},m(s,l){S(s,e,l),t||(i=K(e,"click",n[19]),t=!0)},p:G,d(s){s&&w(e),t=!1,i()}}}function Gu(n){let e;return{c(){e=v("i"),p(e,"class","ri-error-warning-line txt-danger m-l-5 m-r-5"),p(e,"title","Error")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function Xu(n,e){var Se,Ue,lt;let t,i,s,l=((Se=e[23].method)==null?void 0:Se.toUpperCase())+"",o,r,a,u,f,c=e[23].url+"",d,m,h,g,b,y,k=(e[23].referer||"N/A")+"",T,C,M,$,O,E=(e[23].userIp||"N/A")+"",I,L,N,F,U,J=e[23].status+"",ne,Z,te,ee,R,X,Y,se,He,Re,Fe=(((Ue=e[23].meta)==null?void 0:Ue.errorMessage)||((lt=e[23].meta)==null?void 0:lt.errorData))&&Gu();ee=new Zi({props:{date:e[23].created}});function qe(){return e[17](e[23])}function ge(...ue){return e[18](e[23],...ue)}return{key:n,first:null,c(){t=v("tr"),i=v("td"),s=v("span"),o=z(l),a=D(),u=v("td"),f=v("span"),d=z(c),h=D(),Fe&&Fe.c(),g=D(),b=v("td"),y=v("span"),T=z(k),M=D(),$=v("td"),O=v("span"),I=z(E),N=D(),F=v("td"),U=v("span"),ne=z(J),Z=D(),te=v("td"),V(ee.$$.fragment),R=D(),X=v("td"),X.innerHTML='<i class="ri-arrow-right-line"></i>',Y=D(),p(s,"class",r="label txt-uppercase "+e[9][e[23].method.toLowerCase()]),p(i,"class","col-type-text col-field-method min-width"),p(f,"class","txt txt-ellipsis"),p(f,"title",m=e[23].url),p(u,"class","col-type-text col-field-url"),p(y,"class","txt txt-ellipsis"),p(y,"title",C=e[23].referer),x(y,"txt-hint",!e[23].referer),p(b,"class","col-type-text col-field-referer"),p(O,"class","txt txt-ellipsis"),p(O,"title",L=e[23].userIp),x(O,"txt-hint",!e[23].userIp),p($,"class","col-type-number col-field-userIp"),p(U,"class","label"),x(U,"label-danger",e[23].status>=400),p(F,"class","col-type-number col-field-status"),p(te,"class","col-type-date col-field-created"),p(X,"class","col-type-action min-width"),p(t,"tabindex","0"),p(t,"class","row-handle"),this.first=t},m(ue,fe){S(ue,t,fe),_(t,i),_(i,s),_(s,o),_(t,a),_(t,u),_(u,f),_(f,d),_(u,h),Fe&&Fe.m(u,null),_(t,g),_(t,b),_(b,y),_(y,T),_(t,M),_(t,$),_($,O),_(O,I),_(t,N),_(t,F),_(F,U),_(U,ne),_(t,Z),_(t,te),H(ee,te,null),_(t,R),_(t,X),_(t,Y),se=!0,He||(Re=[K(t,"click",qe),K(t,"keydown",ge)],He=!0)},p(ue,fe){var oe,je,Me;e=ue,(!se||fe&8)&&l!==(l=((oe=e[23].method)==null?void 0:oe.toUpperCase())+"")&&re(o,l),(!se||fe&8&&r!==(r="label txt-uppercase "+e[9][e[23].method.toLowerCase()]))&&p(s,"class",r),(!se||fe&8)&&c!==(c=e[23].url+"")&&re(d,c),(!se||fe&8&&m!==(m=e[23].url))&&p(f,"title",m),(je=e[23].meta)!=null&&je.errorMessage||(Me=e[23].meta)!=null&&Me.errorData?Fe||(Fe=Gu(),Fe.c(),Fe.m(u,null)):Fe&&(Fe.d(1),Fe=null),(!se||fe&8)&&k!==(k=(e[23].referer||"N/A")+"")&&re(T,k),(!se||fe&8&&C!==(C=e[23].referer))&&p(y,"title",C),(!se||fe&8)&&x(y,"txt-hint",!e[23].referer),(!se||fe&8)&&E!==(E=(e[23].userIp||"N/A")+"")&&re(I,E),(!se||fe&8&&L!==(L=e[23].userIp))&&p(O,"title",L),(!se||fe&8)&&x(O,"txt-hint",!e[23].userIp),(!se||fe&8)&&J!==(J=e[23].status+"")&&re(ne,J),(!se||fe&8)&&x(U,"label-danger",e[23].status>=400);const ae={};fe&8&&(ae.date=e[23].created),ee.$set(ae)},i(ue){se||(A(ee.$$.fragment,ue),se=!0)},o(ue){P(ee.$$.fragment,ue),se=!1},d(ue){ue&&w(t),Fe&&Fe.d(),q(ee),He=!1,Le(Re)}}}function Qv(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,y,k,T,C,M,$,O,E,I=[],L=new Map,N;function F(ge){n[11](ge)}let U={disable:!0,class:"col-field-method",name:"method",$$slots:{default:[Wv]},$$scope:{ctx:n}};n[1]!==void 0&&(U.sort=n[1]),s=new Ut({props:U}),ie.push(()=>ve(s,"sort",F));function J(ge){n[12](ge)}let ne={disable:!0,class:"col-type-text col-field-url",name:"url",$$slots:{default:[Yv]},$$scope:{ctx:n}};n[1]!==void 0&&(ne.sort=n[1]),r=new Ut({props:ne}),ie.push(()=>ve(r,"sort",J));function Z(ge){n[13](ge)}let te={disable:!0,class:"col-type-text col-field-referer",name:"referer",$$slots:{default:[Kv]},$$scope:{ctx:n}};n[1]!==void 0&&(te.sort=n[1]),f=new Ut({props:te}),ie.push(()=>ve(f,"sort",Z));function ee(ge){n[14](ge)}let R={disable:!0,class:"col-type-number col-field-userIp",name:"userIp",$$slots:{default:[Jv]},$$scope:{ctx:n}};n[1]!==void 0&&(R.sort=n[1]),m=new Ut({props:R}),ie.push(()=>ve(m,"sort",ee));function X(ge){n[15](ge)}let Y={disable:!0,class:"col-type-number col-field-status",name:"status",$$slots:{default:[Zv]},$$scope:{ctx:n}};n[1]!==void 0&&(Y.sort=n[1]),b=new Ut({props:Y}),ie.push(()=>ve(b,"sort",X));function se(ge){n[16](ge)}let He={disable:!0,class:"col-type-date col-field-created",name:"created",$$slots:{default:[Gv]},$$scope:{ctx:n}};n[1]!==void 0&&(He.sort=n[1]),T=new Ut({props:He}),ie.push(()=>ve(T,"sort",se));let Re=n[3];const Fe=ge=>ge[23].id;for(let ge=0;ge<Re.length;ge+=1){let Se=Ku(n,Re,ge),Ue=Fe(Se);L.set(Ue,I[ge]=Xu(Ue,Se))}let qe=null;return Re.length||(qe=Ju(n)),{c(){e=v("table"),t=v("thead"),i=v("tr"),V(s.$$.fragment),o=D(),V(r.$$.fragment),u=D(),V(f.$$.fragment),d=D(),V(m.$$.fragment),g=D(),V(b.$$.fragment),k=D(),V(T.
Line truncated
|
|
||||||
* Chart.js v3.9.1
|
|
||||||
* https://www.chartjs.org
|
|
||||||
* (c) 2022 Chart.js Contributors
|
|
||||||
* Released under the MIT License
|
|
||||||
*/function ti(){}const iy=function(){let n=0;return function(){return n++}}();function ut(n){return n===null||typeof n>"u"}function gt(n){if(Array.isArray&&Array.isArray(n))return!0;const e=Object.prototype.toString.call(n);return e.slice(0,7)==="[object"&&e.slice(-6)==="Array]"}function Ge(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}const Ct=n=>(typeof n=="number"||n instanceof Number)&&isFinite(+n);function Tn(n,e){return Ct(n)?n:e}function et(n,e){return typeof n>"u"?e:n}const sy=(n,e)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100:n/e,l_=(n,e)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100*e:+n;function yt(n,e,t){if(n&&typeof n.call=="function")return n.apply(t,e)}function ct(n,e,t,i){let s,l,o;if(gt(n))if(l=n.length,i)for(s=l-1;s>=0;s--)e.call(t,n[s],s);else for(s=0;s<l;s++)e.call(t,n[s],s);else if(Ge(n))for(o=Object.keys(n),l=o.length,s=0;s<l;s++)e.call(t,n[o[s]],o[s])}function ko(n,e){let t,i,s,l;if(!n||!e||n.length!==e.length)return!1;for(t=0,i=n.length;t<i;++t)if(s=n[t],l=e[t],s.datasetIndex!==l.datasetIndex||s.index!==l.index)return!1;return!0}function wo(n){if(gt(n))return n.map(wo);if(Ge(n)){const e=Object.create(null),t=Object.keys(n),i=t.length;let s=0;for(;s<i;++s)e[t[s]]=wo(n[t[s]]);return e}return n}function o_(n){return["__proto__","prototype","constructor"].indexOf(n)===-1}function ly(n,e,t,i){if(!o_(n))return;const s=e[n],l=t[n];Ge(s)&&Ge(l)?dl(s,l,i):e[n]=wo(l)}function dl(n,e,t){const i=gt(e)?e:[e],s=i.length;if(!Ge(n))return n;t=t||{};const l=t.merger||ly;for(let o=0;o<s;++o){if(e=i[o],!Ge(e))continue;const r=Object.keys(e);for(let a=0,u=r.length;a<u;++a)l(r[a],n,e,t)}return n}function tl(n,e){return dl(n,e,{merger:oy})}function oy(n,e,t){if(!o_(n))return;const i=e[n],s=t[n];Ge(i)&&Ge(s)?tl(i,s):Object.prototype.hasOwnProperty.call(e,n)||(e[n]=wo(s))}const ef={"":n=>n,x:n=>n.x,y:n=>n.y};function ki(n,e){return(ef[e]||(ef[e]=ry(e)))(n)}function ry(n){const e=ay(n);return t=>{for(const i of e){if(i==="")break;t=t&&t[i]}return t}}function ay(n){const e=n.split("."),t=[];let i="";for(const s of e)i+=s,i.endsWith("\\")?i=i.slice(0,-1)+".":(t.push(i),i="");return t}function Ea(n){return n.charAt(0).toUpperCase()+n.slice(1)}const An=n=>typeof n<"u",wi=n=>typeof n=="function",tf=(n,e)=>{if(n.size!==e.size)return!1;for(const t of n)if(!e.has(t))return!1;return!0};function uy(n){return n.type==="mouseup"||n.type==="click"||n.type==="contextmenu"}const Tt=Math.PI,dt=2*Tt,fy=dt+Tt,So=Number.POSITIVE_INFINITY,cy=Tt/180,kt=Tt/2,zs=Tt/4,nf=Tt*2/3,Dn=Math.log10,Jn=Math.sign;function sf(n){const e=Math.round(n);n=nl(n,e,n/1e3)?e:n;const t=Math.pow(10,Math.floor(Dn(n))),i=n/t;return(i<=1?1:i<=2?2:i<=5?5:10)*t}function dy(n){const e=[],t=Math.sqrt(n);let i;for(i=1;i<t;i++)n%i===0&&(e.push(i),e.push(n/i));return t===(t|0)&&e.push(t),e.sort((s,l)=>s-l).pop(),e}function $s(n){return!isNaN(parseFloat(n))&&isFinite(n)}function nl(n,e,t){return Math.abs(n-e)<t}function py(n,e){const t=Math.round(n);return t-e<=n&&t+e>=n}function r_(n,e,t){let i,s,l;for(i=0,s=n.length;i<s;i++)l=n[i][t],isNaN(l)||(e.min=Math.min(e.min,l),e.max=Math.max(e.max,l))}function jn(n){return n*(Tt/180)}function Aa(n){return n*(180/Tt)}function lf(n){if(!Ct(n))return;let e=1,t=0;for(;Math.round(n*e)/e!==n;)e*=10,t++;return t}function a_(n,e){const t=e.x-n.x,i=e.y-n.y,s=Math.sqrt(t*t+i*i);let l=Math.atan2(i,t);return l<-.5*Tt&&(l+=dt),{angle:l,distance:s}}function Zr(n,e){return Math.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2))}function my(n,e){return(n-e+fy)%dt-Tt}function gn(n){return(n%dt+dt)%dt}function pl(n,e,t,i){const s=gn(n),l=gn(e),o=gn(t),r=gn(l-s),a=gn(o-s),u=gn(s-l),f=gn(s-o);return s===l||s===o||i&&l===o||r>a&&u<f}function Wt(n,e,t){return Math.max(e,Math.min(t,n))}function hy(n){return Wt(n,-32768,32767)}function ml(n,e,t,i=1e-6){return n>=Math.min(e,t)-i&&n<=Math.max(e,t)+i}function Ia(n,e,t){t=t||(o=>n[o]<e);let i=n.length-1,s=0,l;for(;i-s>1;)l=s+i>>1,t(l)?s=l:i=l;return{lo:s,hi:i}}const zi=(n,e,t,i)=>Ia(n,t,i?s=>n[s][e]<=t:s=>n[s][e]<t),gy=(n,e,t)=>Ia(n,t,i=>n[i][e]>=t);function _y(n,e,t){let i=0,s=n.length;for(;i<s&&n[i]<e;)i++;for(;s>i&&n[s-1]>t;)s--;return i>0||s<n.length?n.slice(i,s):n}const u_=["push","pop","shift","splice","unshift"];function by(n,e){if(n._chartjs){n._chartjs.listeners.push(e);return}Object.defineProperty(n,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),u_.forEach(t=>{const i="_onData"+Ea(t),s=n[t];Object.defineProperty(n,t,{configurable:!0,enumerable:!1,value(...l){const o=s.apply(this,l);return n._chartjs.listeners.forEach(r=>{typeof r[i]=="function"&&r[i](...l)}),o}})})}function of(n,e){const t=n._chartjs;if(!t)return;const i=t.listeners,s=i.indexOf(e);s!==-1&&i.splice(s,1),!(i.length>0)&&(u_.forEach(l=>{delete n[l]}),delete n._chartjs)}function f_(n){const e=new Set;let t,i;for(t=0,i=n.length;t<i;++t)e.add(n[t]);return e.size===i?n:Array.from(e)}const c_=function(){return typeof window>"u"?function(n){return n()}:window.requestLine truncated
|
|
||||||
* @kurkle/color v0.2.1
|
|
||||||
* https://github.com/kurkle/color#readme
|
|
||||||
* (c) 2022 Jukka Kurkela
|
|
||||||
* Released under the MIT License
|
|
||||||
*/function Ol(n){return n+.5|0}const hi=(n,e,t)=>Math.max(Math.min(n,t),e);function Xs(n){return hi(Ol(n*2.55),0,255)}function vi(n){return hi(Ol(n*255),0,255)}function si(n){return hi(Ol(n/2.55)/100,0,1)}function ff(n){return hi(Ol(n*100),0,100)}const Sn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Gr=[..."0123456789ABCDEF"],ky=n=>Gr[n&15],wy=n=>Gr[(n&240)>>4]+Gr[n&15],Wl=n=>(n&240)>>4===(n&15),Sy=n=>Wl(n.r)&&Wl(n.g)&&Wl(n.b)&&Wl(n.a);function Ty(n){var e=n.length,t;return n[0]==="#"&&(e===4||e===5?t={r:255&Sn[n[1]]*17,g:255&Sn[n[2]]*17,b:255&Sn[n[3]]*17,a:e===5?Sn[n[4]]*17:255}:(e===7||e===9)&&(t={r:Sn[n[1]]<<4|Sn[n[2]],g:Sn[n[3]]<<4|Sn[n[4]],b:Sn[n[5]]<<4|Sn[n[6]],a:e===9?Sn[n[7]]<<4|Sn[n[8]]:255})),t}const Cy=(n,e)=>n<255?e(n):"";function $y(n){var e=Sy(n)?ky:wy;return n?"#"+e(n.r)+e(n.g)+e(n.b)+Cy(n.a,e):void 0}const My=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function h_(n,e,t){const i=e*Math.min(t,1-t),s=(l,o=(l+n/30)%12)=>t-i*Math.max(Math.min(o-3,9-o,1),-1);return[s(0),s(8),s(4)]}function Dy(n,e,t){const i=(s,l=(s+n/60)%6)=>t-t*e*Math.max(Math.min(l,4-l,1),0);return[i(5),i(3),i(1)]}function Oy(n,e,t){const i=h_(n,1,.5);let s;for(e+t>1&&(s=1/(e+t),e*=s,t*=s),s=0;s<3;s++)i[s]*=1-e-t,i[s]+=e;return i}function Ey(n,e,t,i,s){return n===s?(e-t)/i+(e<t?6:0):e===s?(t-n)/i+2:(n-e)/i+4}function Pa(n){const t=n.r/255,i=n.g/255,s=n.b/255,l=Math.max(t,i,s),o=Math.min(t,i,s),r=(l+o)/2;let a,u,f;return l!==o&&(f=l-o,u=r>.5?f/(2-l-o):f/(l+o),a=Ey(t,i,s,f,l),a=a*60+.5),[a|0,u||0,r]}function La(n,e,t,i){return(Array.isArray(e)?n(e[0],e[1],e[2]):n(e,t,i)).map(vi)}function Na(n,e,t){return La(h_,n,e,t)}function Ay(n,e,t){return La(Oy,n,e,t)}function Iy(n,e,t){return La(Dy,n,e,t)}function g_(n){return(n%360+360)%360}function Py(n){const e=My.exec(n);let t=255,i;if(!e)return;e[5]!==i&&(t=e[6]?Xs(+e[5]):vi(+e[5]));const s=g_(+e[2]),l=+e[3]/100,o=+e[4]/100;return e[1]==="hwb"?i=Ay(s,l,o):e[1]==="hsv"?i=Iy(s,l,o):i=Na(s,l,o),{r:i[0],g:i[1],b:i[2],a:t}}function Ly(n,e){var t=Pa(n);t[0]=g_(t[0]+e),t=Na(t),n.r=t[0],n.g=t[1],n.b=t[2]}function Ny(n){if(!n)return;const e=Pa(n),t=e[0],i=ff(e[1]),s=ff(e[2]);return n.a<255?`hsla(${t}, ${i}%, ${s}%, ${si(n.a)})`:`hsl(${t}, ${i}%, ${s}%)`}const cf={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},df={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function Fy(){const n={},e=Object.keys(df),t=Object.keys(cf);let i,s,l,o,r;for(i=0;i<e.length;i++){for(o=r=e[i],s=0;s<t.length;s++)l=t[s]Line truncated
|
|
||||||
* Chart.js v3.9.1
|
|
||||||
* https://www.chartjs.org
|
|
||||||
* (c) 2022 Chart.js Contributors
|
|
||||||
* Released under the MIT License
|
|
||||||
*/class j2{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(e,t,i,s){const l=t.listeners[s],o=t.duration;l.forEach(r=>r({chart:e,initial:t.initial,numSteps:o,currentStep:Math.min(i-t.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=c_.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(e=Date.now()){let t=0;this._charts.forEach((i,s)=>{if(!i.running||!i.items.length)return;const l=i.items;let o=l.length-1,r=!1,a;for(;o>=0;--o)a=l[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(e),r=!0):(l[o]=l[l.length-1],l.pop());r&&(s.draw(),this._notify(s,i,e,"progress")),l.length||(i.running=!1,this._notify(s,i,e,"complete"),i.initial=!1),t+=l.length}),this._lastDate=e,t===0&&(this._running=!1)}_getAnims(e){const t=this._charts;let i=t.get(e);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(e,i)),i}listen(e,t,i){this._getAnims(e).listeners[t].push(i)}add(e,t){!t||!t.length||this._getAnims(e).items.push(...t)}has(e){return this._getAnims(e).items.length>0}start(e){const t=this._charts.get(e);t&&(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce((i,s)=>Math.max(i,s._duration),0),this._refresh())}running(e){if(!this._running)return!1;const t=this._charts.get(e);return!(!t||!t.running||!t.items.length)}stop(e){const t=this._charts.get(e);if(!t||!t.items.length)return;const i=t.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();t.items=[],this._notify(e,t,Date.now(),"complete")}remove(e){return this._charts.delete(e)}}var ni=new j2;const Tf="transparent",H2={boolean(n,e,t){return t>.5?e:n},color(n,e,t){const i=mf(n||Tf),s=i.valid&&mf(e||Tf);return s&&s.valid?s.mix(i,t).hexString():e},number(n,e,t){return n+(e-n)*t}};class q2{constructor(e,t,i,s){const l=t[i];s=Jl([e.to,s,l,e.from]);const o=Jl([e.from,l,s]);this._active=!0,this._fn=e.fn||H2[e.type||typeof o],this._easing=il[e.easing]||il.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=t,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(e,t,i){if(this._active){this._notify(!1);const s=this._target[this._prop],l=i-this._start,o=this._duration-l;this._start=i,this._duration=Math.floor(Math.max(o,e.duration)),this._total+=l,this._loop=!!e.loop,this._to=Jl([e.to,t,s,e.from]),this._from=Jl([e.from,s,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){const t=e-this._start,i=this._duration,s=this._prop,l=this._from,o=this._loop,r=this._to;let a;if(this._active=l!==r&&(o||t<i),!this._active){this._target[s]=r,this._notify(!0);return}if(t<0){this._target[s]=l;return}a=t/i%2,a=o&&a>1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[s]=this._fn(l,r,a)}wait(){const e=this._promises||(this._promises=[]);return new Promise((t,i)=>{e.push({res:t,rej:i})})}_notify(e){const t=e?"res":"rej",i=this._promises||[];for(let s=0;s<i.length;s++)i[s][t]()}}const V2=["x","y","borderWidth","radius","tension"],z2=["color","borderColor","backgroundColor"];tt.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0});const B2=Object.keys(tt.animation);tt.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:n=>n!=="onProgress"&&n!=="onComplete"&&n!=="fn"});tt.set("animations",{colors:{type:"color",properties:z2},numbers:{type:"number",properties:V2}});tt.describe("animations",{_fallback:"animation"});tt.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:n=>n|0}}}});class A_{constructor(e,t){this._chart=e,this._properties=new Map,this.configure(t)}configure(e){if(!Ge(e))return;const t=this._properties;Object.getOwnPropertyNames(e).forEach(i=>{const s=e[i];if(!Ge(s))return;const l={};for(const o of B2)l[o]=s[o];(gt(s.properties)&&s.properties||[i]).forEach(o=>{(o===i||!t.has(o))&&t.set(o,l)})})}_animateOptions(e,t){const i=t.options,s=W2(e,i);if(!s)return[];const l=this._createAnimations(s,i);return i.$shared&&U2(e.options.$animations,i).then(()=>{e.options=i},()=>{}),l}_createAnimations(e,t){const i=this._properties,s=[],l=e.$animations||(e.$animations={}),o=Object.keys(t),r=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){s.push(...this._animateOptions(e,t));continue}const f=t[u];let c=l[u];const d=i.get(u);if(c)if(d&&c.active()){c.update(d,f,r);continue}else c.cancel();if(!d||!d.duration){e[u]=f;continue}l[u]=c=new q2(d,e,u,f),s.push(c)}return s}update(e,t){if(this._properties.size===0){Object.assign(e,t);return}const i=this._createAnimations(e,t);if(i.length)return ni.add(this._chart,i),!0}}function U2(n,e){const t=[],Line truncated
|
|
||||||
`)>-1?n.split(`
|
|
||||||
`):n}function lS(n,e){const{element:t,datasetIndex:i,index:s}=e,l=n.getDatasetMeta(i).controller,{label:o,value:r}=l.getLabelAndValue(s);return{chart:n,label:o,parsed:l.getParsed(s),raw:n.data.datasets[i].data[s],formattedValue:r,dataset:l.getDataset(),dataIndex:s,datasetIndex:i,element:t}}function tc(n,e){const t=n.chart.ctx,{body:i,footer:s,title:l}=n,{boxWidth:o,boxHeight:r}=e,a=_n(e.bodyFont),u=_n(e.titleFont),f=_n(e.footerFont),c=l.length,d=s.length,m=i.length,h=In(e.padding);let g=h.height,b=0,y=i.reduce((C,M)=>C+M.before.length+M.lines.length+M.after.length,0);if(y+=n.beforeBody.length+n.afterBody.length,c&&(g+=c*u.lineHeight+(c-1)*e.titleSpacing+e.titleMarginBottom),y){const C=e.displayColors?Math.max(r,a.lineHeight):a.lineHeight;g+=m*C+(y-m)*a.lineHeight+(y-1)*e.bodySpacing}d&&(g+=e.footerMarginTop+d*f.lineHeight+(d-1)*e.footerSpacing);let k=0;const T=function(C){b=Math.max(b,t.measureText(C).width+k)};return t.save(),t.font=u.string,ct(n.title,T),t.font=a.string,ct(n.beforeBody.concat(n.afterBody),T),k=e.displayColors?o+2+e.boxPadding:0,ct(i,C=>{ct(C.before,T),ct(C.lines,T),ct(C.after,T)}),k=0,t.font=f.string,ct(n.footer,T),t.restore(),b+=h.width,{width:b,height:g}}function oS(n,e){const{y:t,height:i}=e;return t<i/2?"top":t>n.height-i/2?"bottom":"center"}function rS(n,e,t,i){const{x:s,width:l}=i,o=t.caretSize+t.caretPadding;if(n==="left"&&s+l+o>e.width||n==="right"&&s-l-o<0)return!0}function aS(n,e,t,i){const{x:s,width:l}=t,{width:o,chartArea:{left:r,right:a}}=n;let u="center";return i==="center"?u=s<=(r+a)/2?"left":"right":s<=l/2?u="left":s>=o-l/2&&(u="right"),rS(u,n,e,t)&&(u="center"),u}function nc(n,e,t){const i=t.yAlign||e.yAlign||oS(n,t);return{xAlign:t.xAlign||e.xAlign||aS(n,e,t,i),yAlign:i}}function uS(n,e){let{x:t,width:i}=n;return e==="right"?t-=i:e==="center"&&(t-=i/2),t}function fS(n,e,t){let{y:i,height:s}=n;return e==="top"?i+=t:e==="bottom"?i-=s+t:i-=s/2,i}function ic(n,e,t,i){const{caretSize:s,caretPadding:l,cornerRadius:o}=n,{xAlign:r,yAlign:a}=t,u=s+l,{topLeft:f,topRight:c,bottomLeft:d,bottomRight:m}=vs(o);let h=uS(e,r);const g=fS(e,a,u);return a==="center"?r==="left"?h+=u:r==="right"&&(h-=u):r==="left"?h-=Math.max(f,d)+s:r==="right"&&(h+=Math.max(c,m)+s),{x:Wt(h,0,i.width-e.width),y:Wt(g,0,i.height-e.height)}}function to(n,e,t){const i=In(t.padding);return e==="center"?n.x+n.width/2:e==="right"?n.x+n.width-i.right:n.x+i.left}function sc(n){return Wn([],ii(n))}function cS(n,e,t){return $i(n,{tooltip:e,tooltipItems:t,type:"tooltip"})}function lc(n,e){const t=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return t?n.override(t):n}class la extends ai{constructor(e){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=e.chart||e._chart,this._chart=this.chart,this.options=e.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(e){this.options=e,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const e=this._cachedAnimations;if(e)return e;const t=this.chart,i=this.options.setContext(this.getContext()),s=i.enabled&&t.options.animation&&i.animations,l=new A_(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(l)),l}getContext(){return this.$context||(this.$context=cS(this.chart.getContext(),this,this._tooltipItems))}getTitle(e,t){const{callbacks:i}=t,s=i.beforeTitle.apply(this,[e]),l=i.title.apply(this,[e]),o=i.afterTitle.apply(this,[e]);let r=[];return r=Wn(r,ii(s)),r=Wn(r,ii(l)),r=Wn(r,ii(o)),r}getBeforeBody(e,t){return sc(t.callbacks.beforeBody.apply(this,[e]))}getBody(e,t){const{callbacks:i}=t,s=[];return ct(e,l=>{const o={before:[],lines:[],after:[]},r=lc(i,l);Wn(o.before,ii(r.beforeLabel.call(this,l))),Wn(o.lines,r.label.call(this,l)),Wn(o.after,ii(r.afterLabel.call(this,l))),s.push(o)}),s}getAfterBody(e,t){return sc(t.callbacks.afterBody.apply(this,[e]))}getFooter(e,t){const{callbacks:i}=t,s=i.beforeFooter.apply(this,[e]),l=i.footer.apply(this,[e]),o=i.afterFooter.apply(this,[e]);let r=[];return r=Wn(r,ii(s)),r=Wn(r,ii(l)),r=Wn(r,ii(o)),r}_createItems(e){const t=this._active,i=this.chart.data,s=[],l=[],o=[];let r=[],a,u;for(a=0,u=t.length;a<u;++a)r.push(lS(this.chart,t[a]));return e.filter&&(r=r.filter((f,c,d)=>e.filter(f,c,d,i))),e.itemSort&&(r=r.sort((f,c)=>e.itemSort(f,c,i))),ct(r,f=>{const c=lc(e.callbacks,f);s.push(c.labelColor.call(this,f)),l.push(c.labelPointStyle.call(this,f)),o.push(c.labelTextColor.call(this,f))}),this.labelColors=s,this.labelPointStyles=l,this.labelTextColors=o,this.dataPoints=r,r}update(e,t){const i=this.options.setContext(this.getContext()),s=this._active;l
Line truncated
|
|
||||||
* chartjs-adapter-luxon v1.3.0
|
|
||||||
* https://www.chartjs.org
|
|
||||||
* (c) 2022 chartjs-adapter-luxon Contributors
|
|
||||||
* Released under the MIT license
|
|
||||||
*/const IS={datetime:Ve.DATETIME_MED_WITH_SECONDS,millisecond:"h:mm:ss.SSS a",second:Ve.TIME_WITH_SECONDS,minute:Ve.TIME_SIMPLE,hour:{hour:"numeric"},day:{day:"numeric",month:"short"},week:"DD",month:{month:"short",year:"numeric"},quarter:"'Q'q - yyyy",year:{year:"numeric"}};F_._date.override({_id:"luxon",_create:function(n){return Ve.fromMillis(n,this.options)},init(n){this.options.locale||(this.options.locale=n.locale)},formats:function(){return IS},parse:function(n,e){const t=this.options,i=typeof n;return n===null||i==="undefined"?null:(i==="number"?n=this._create(n):i==="string"?typeof e=="string"?n=Ve.fromFormat(n,e,t):n=Ve.fromISO(n,t):n instanceof Date?n=Ve.fromJSDate(n,t):i==="object"&&!(n instanceof Ve)&&(n=Ve.fromObject(n,t)),n.isValid?n.valueOf():null)},format:function(n,e){const t=this._create(n);return typeof e=="string"?t.toFormat(e):t.toLocaleString(e)},add:function(n,e,t){const i={};return i[t]=e,this._create(n).plus(i).valueOf()},diff:function(n,e,t){return this._create(n).diff(this._create(e)).as(t).valueOf()},startOf:function(n,e,t){if(e==="isoWeek"){t=Math.trunc(Math.min(Math.max(0,t),6));const i=this._create(n);return i.minus({days:(i.weekday-t+7)%7}).startOf("day").valueOf()}return e?this._create(n).startOf(e).valueOf():n},endOf:function(n,e){return this._create(n).endOf(e).valueOf()}});function pc(n){let e,t,i;return{c(){e=v("div"),p(e,"class","chart-loader loader svelte-vh4sl8")},m(s,l){S(s,e,l),i=!0},i(s){i||(s&&nt(()=>{t||(t=ze(e,Pt,{duration:150},!0)),t.run(1)}),i=!0)},o(s){s&&(t||(t=ze(e,Pt,{duration:150},!1)),t.run(0)),i=!1},d(s){s&&w(e),s&&t&&t.end()}}}function PS(n){let e,t,i=n[1]===1?"log":"logs",s;return{c(){e=z(n[1]),t=D(),s=z(i)},m(l,o){S(l,e,o),S(l,t,o),S(l,s,o)},p(l,o){o&2&&re(e,l[1]),o&2&&i!==(i=l[1]===1?"log":"logs")&&re(s,i)},d(l){l&&w(e),l&&w(t),l&&w(s)}}}function LS(n){let e;return{c(){e=z("Loading...")},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function NS(n){let e,t,i,s,l,o=n[2]&&pc();function r(f,c){return f[2]?LS:PS}let a=r(n),u=a(n);return{c(){e=v("div"),o&&o.c(),t=D(),i=v("canvas"),s=D(),l=v("div"),u.c(),p(i,"class","chart-canvas svelte-vh4sl8"),Ir(i,"height","250px"),Ir(i,"width","100%"),p(e,"class","chart-wrapper svelte-vh4sl8"),x(e,"loading",n[2]),p(l,"class","txt-hint m-t-xs txt-right")},m(f,c){S(f,e,c),o&&o.m(e,null),_(e,t),_(e,i),n[8](i),S(f,s,c),S(f,l,c),u.m(l,null)},p(f,[c]){f[2]?o?c&4&&A(o,1):(o=pc(),o.c(),A(o,1),o.m(e,t)):o&&(pe(),P(o,1,1,()=>{o=null}),me()),c&4&&x(e,"loading",f[2]),a===(a=r(f))&&u?u.p(f,c):(u.d(1),u=a(f),u&&(u.c(),u.m(l,null)))},i(f){A(o)},o(f){P(o)},d(f){f&&w(e),o&&o.d(),n[8](null),f&&w(s),f&&w(l),u.d()}}}function FS(n,e,t){let{filter:i=""}=e,{presets:s=""}=e,l,o,r=[],a=0,u=!1;async function f(){return t(2,u=!0),he.logs.getRequestsStats({filter:[s,i].filter(Boolean).join("&&")}).then(m=>{c();for(let h of m)r.push({x:new Date(h.date),y:h.total}),t(1,a+=h.total);r.push({x:new Date,y:void 0})}).catch(m=>{m!=null&&m.isAbort||(c(),console.warn(m),he.errorResponseHandler(m,!1))}).finally(()=>{t(2,u=!1)})}function c(){t(1,a=0),t(7,r=[])}sn(()=>(Ao.register(Mi,Jo,Yo,Xa,Pl,sS,dS),t(6,o=new Ao(l,{type:"line",data:{datasets:[{label:"Total requests",data:r,borderColor:"#ef4565",pointBackgroundColor:"#ef4565",backgroundColor:"rgb(239,69,101,0.05)",borderWidth:2,pointRadius:1,pointBorderWidth:0,fill:!0}]},options:{animation:!1,interaction:{intersect:!1,mode:"index"},scales:{y:{beginAtZero:!0,grid:{color:"#edf0f3",borderColor:"#dee3e8"},ticks:{precision:0,maxTicksLimit:6,autoSkip:!0,color:"#666f75"}},x:{type:"time",time:{unit:"hour",tooltipFormat:"DD h a"},grid:{borderColor:"#dee3e8",color:m=>m.tick.major?"#edf0f3":""},ticks:{maxTicksLimit:15,autoSkip:!0,maxRotation:0,major:{enabled:!0},color:m=>m.tick.major?"#16161a":"#666f75"}}},plugins:{legend:{display:!1}}}})),()=>o==null?void 0:o.destroy()));function d(m){ie[m?"unshift":"push"](()=>{l=m,t(0,l)})}return n.$$set=m=>{"filter"in m&&t(3,i=m.filter),"presets"in m&&t(4,s=m.presets)},n.$$.update=()=>{n.$$.dirty&24&&(typeof i<"u"||typeof s<"u")&&f(),n.$$.dirty&192&&typeof r<"u"&&o&&(t(6,o.data.datasets[0].data=r,o),o.update())},[l,a,u,i,s,f,o,r,d]}class RS extends ke{constructor(e){super(),ye(this,e,FS,NS,be,{filter:3,presets:4,load:5})}get load(){return this.$$.ctx[5]}}var mc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},aa={},jS={get exports(){return aa},set exports(n){aa=n}};(function(n){var e=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};/**
|
|
||||||
* Prism: Lightweight, robust, elegant syntax highlighting
|
|
||||||
*
|
|
||||||
* @license MIT <https://opensource.org/licenses/MIT>
|
|
||||||
* @author Lea Verou <https://lea.verou.me>
|
|
||||||
* @namespace
|
|
||||||
* @public
|
|
||||||
*/var t=function(i){var s=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,l=0,o={},r={manual:i.Prism&&i.Prism.manual,disableWorkerMessageHandler:i.Prism&&i.Prism.disableWorkerMessageHandler,util:{encode:function k(T){return T instanceof a?new a(T.type,k(T.content),T.alias):Array.isArray(T)?T.map(k):T.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(k){return Object.prototype.toString.call(k).slice(8,-1)},objId:function(k){return k.__id||Object.defineProperty(k,"__id",{value:++l}),k.__id},clone:function k(T,C){C=C||{};var M,$;switch(r.util.type(T)){case"Object":if($=r.util.objId(T),C[$])return C[$];M={},C[$]=M;for(var O in T)T.hasOwnProperty(O)&&(M[O]=k(T[O],C));return M;case"Array":return $=r.util.objId(T),C[$]?C[$]:(M=[],C[$]=M,T.forEach(function(E,I){M[I]=k(E,C)}),M);default:return T}},getLanguage:function(k){for(;k;){var T=s.exec(k.className);if(T)return T[1].toLowerCase();k=k.parentElement}return"none"},setLanguage:function(k,T){k.className=k.className.replace(RegExp(s,"gi"),""),k.classList.add("language-"+T)},currentScript:function(){if(typeof document>"u")return null;if("currentScript"in document&&1<2)return document.currentScript;try{throw new Error}catch(M){var k=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(M.stack)||[])[1];if(k){var T=document.getElementsByTagName("script");for(var C in T)if(T[C].src==k)return T[C]}return null}},isActive:function(k,T,C){for(var M="no-"+T;k;){var $=k.classList;if($.contains(T))return!0;if($.contains(M))return!1;k=k.parentElement}return!!C}},languages:{plain:o,plaintext:o,text:o,txt:o,extend:function(k,T){var C=r.util.clone(r.languages[k]);for(var M in T)C[M]=T[M];return C},insertBefore:function(k,T,C,M){M=M||r.languages;var $=M[k],O={};for(var E in $)if($.hasOwnProperty(E)){if(E==T)for(var I in C)C.hasOwnProperty(I)&&(O[I]=C[I]);C.hasOwnProperty(E)||(O[E]=$[E])}var L=M[k];return M[k]=O,r.languages.DFS(r.languages,function(N,F){F===L&&N!=k&&(this[N]=O)}),O},DFS:function k(T,C,M,$){$=$||{};var O=r.util.objId;for(var E in T)if(T.hasOwnProperty(E)){C.call(T,E,T[E],M||E);var I=T[E],L=r.util.type(I);L==="Object"&&!$[O(I)]?($[O(I)]=!0,k(I,C,null,$)):L==="Array"&&!$[O(I)]&&($[O(I)]=!0,k(I,C,E,$))}}},plugins:{},highlightAll:function(k,T){r.highlightAllUnder(document,k,T)},highlightAllUnder:function(k,T,C){var M={callback:C,container:k,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};r.hooks.run("before-highlightall",M),M.elements=Array.prototype.slice.apply(M.container.querySelectorAll(M.selector)),r.hooks.run("before-all-elements-highlight",M);for(var $=0,O;O=M.elements[$++];)r.highlightElement(O,T===!0,M.callback)},highlightElement:function(k,T,C){var M=r.util.getLanguage(k),$=r.languages[M];r.util.setLanguage(k,M);var O=k.parentElement;O&&O.nodeName.toLowerCase()==="pre"&&r.util.setLanguage(O,M);var E=k.textContent,I={element:k,language:M,grammar:$,code:E};function L(F){I.highlightedCode=F,r.hooks.run("before-insert",I),I.element.innerHTML=I.highlightedCode,r.hooks.run("after-highlight",I),r.hooks.run("complete",I),C&&C.call(I.element)}if(r.hooks.run("before-sanity-check",I),O=I.element.parentElement,O&&O.nodeName.toLowerCase()==="pre"&&!O.hasAttribute("tabindex")&&O.setAttribute("tabindex","0"),!I.code){r.hooks.run("complete",I),C&&C.call(I.element);return}if(r.hooks.run("before-highlight",I),!I.grammar){L(r.util.encode(I.code));return}if(T&&i.Worker){var N=new Worker(r.filename);N.onmessage=function(F){L(F.data)},N.postMessage(JSON.stringify({language:I.language,code:I.code,immediateClose:!0}))}else L(r.highlight(I.code,I.grammar,I.language))},highlight:function(k,T,C){var M={code:k,grammar:T,language:C};if(r.hooks.run("before-tokenize",M),!M.grammar)throw new Error('The language "'+M.language+'" has no grammar.');return M.tokens=r.tokenize(M.code,M.grammar),r.hooks.run("after-tokenize",M),a.stringify(r.util.encode(M.tokens),M.language)},tokenize:function(k,T){var C=T.rest;if(C){for(var M in C)T[M]=C[M];delete T.rest}var $=new c;return d($,$.head,k),f(k,$,T,$.head,0),h($)},hooks:{all:{},add:function(k,T){var C=r.hooks.all;C[k]=C[k]||[],C[k].push(T)},run:function(k,T){var C=r.hooks.all[k];if(!(!C||!C.length))for(var M=0,$;$=C[M++];)$(T)}},Token:a};i.Prism=r;function a(k,T,C,M){this.type=k,this.content=T,this.alias=C,this.length=(M||"").length|0}a.stringify=function k(T,C){if(typeof T=="string")return T;if(Array.isArray(T)){var M="";return T.forEach(function(L){M+=k(L,C)}),M}var $={type:T.type,content:k(T.content,C),tag:"span",classes:["token",T.type],attributes:{},language:C},O=T.alias;O&&(Array.isArray(O)?Array.prototype.push.apply($.classes,O):$.classes.push(O)),r.hooks.run("wrap",$);var E="";for(var I in $.attributes)E+=" "+I+'="'+($.attributes[I]||"").replace(/"/g,""")+'"';return"<"+$.tag+' class="'+$.classes.join(" ")+'"'+E+">"+$.content+"</"+$.tag+">"};function u(k,T,C,M){k.lastIndex=T;var $=k.exec(C);if($&&M&&$[1]){var O=$[1].length;$.index+=O,$[0]=$[0].slice(O)}return $}funLine truncated
|
|
||||||
`),b.hasAttribute("data-start")||b.setAttribute("data-start",String(I+1))}y.textContent=$,t.highlightElement(y)},function($){b.setAttribute(r,f),y.textContent=$})}}),t.plugins.fileHighlight={highlight:function(b){for(var y=(b||document).querySelectorAll(c),k=0,T;T=y[k++];)t.highlightElement(T)}};var h=!1;t.fileHighlight=function(){h||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),h=!0),t.plugins.fileHighlight.highlight.apply(this,arguments)}}()})(jS);const Js=aa;var hc={},HS={get exports(){return hc},set exports(n){hc=n}};(function(n){(function(){if(typeof Prism>"u")return;var e=Object.assign||function(o,r){for(var a in r)r.hasOwnProperty(a)&&(o[a]=r[a]);return o};function t(o){this.defaults=e({},o)}function i(o){return o.replace(/-(\w)/g,function(r,a){return a.toUpperCase()})}function s(o){for(var r=0,a=0;a<o.length;++a)o.charCodeAt(a)==" ".charCodeAt(0)&&(r+=3);return o.length+r}var l={"remove-trailing":"boolean","remove-indent":"boolean","left-trim":"boolean","right-trim":"boolean","break-lines":"number",indent:"number","remove-initial-line-feed":"boolean","tabs-to-spaces":"number","spaces-to-tabs":"number"};t.prototype={setDefaults:function(o){this.defaults=e(this.defaults,o)},normalize:function(o,r){r=e(this.defaults,r);for(var a in r){var u=i(a);a!=="normalize"&&u!=="setDefaults"&&r[a]&&this[u]&&(o=this[u].call(this,o,r[a]))}return o},leftTrim:function(o){return o.replace(/^\s+/,"")},rightTrim:function(o){return o.replace(/\s+$/,"")},tabsToSpaces:function(o,r){return r=r|0||4,o.replace(/\t/g,new Array(++r).join(" "))},spacesToTabs:function(o,r){return r=r|0||4,o.replace(RegExp(" {"+r+"}","g")," ")},removeTrailing:function(o){return o.replace(/\s*?$/gm,"")},removeInitialLineFeed:function(o){return o.replace(/^(?:\r?\n|\r)/,"")},removeIndent:function(o){var r=o.match(/^[^\S\n\r]*(?=\S)/gm);return!r||!r[0].length||(r.sort(function(a,u){return a.length-u.length}),!r[0].length)?o:o.replace(RegExp("^"+r[0],"gm"),"")},indent:function(o,r){return o.replace(/^[^\S\n\r]*(?=\S)/gm,new Array(++r).join(" ")+"$&")},breakLines:function(o,r){r=r===!0?80:r|0||80;for(var a=o.split(`
|
|
||||||
`),u=0;u<a.length;++u)if(!(s(a[u])<=r)){for(var f=a[u].split(/(\s+)/g),c=0,d=0;d<f.length;++d){var m=s(f[d]);c+=m,c>r&&(f[d]=`
|
|
||||||
`+f[d],c=m)}a[u]=f.join("")}return a.join(`
|
|
||||||
`)}},n.exports&&(n.exports=t),Prism.plugins.NormalizeWhitespace=new t({"remove-trailing":!0,"remove-indent":!0,"left-trim":!0,"right-trim":!0}),Prism.hooks.add("before-sanity-check",function(o){var r=Prism.plugins.NormalizeWhitespace;if(!(o.settings&&o.settings["whitespace-normalization"]===!1)&&Prism.util.isActive(o.element,"whitespace-normalization",!0)){if((!o.element||!o.element.parentNode)&&o.code){o.code=r.normalize(o.code,o.settings);return}var a=o.element.parentNode;if(!(!o.code||!a||a.nodeName.toLowerCase()!=="pre")){o.settings==null&&(o.settings={});for(var u in l)if(Object.hasOwnProperty.call(l,u)){var f=l[u];if(a.hasAttribute("data-"+u))try{var c=JSON.parse(a.getAttribute("data-"+u)||"true");typeof c===f&&(o.settings[u]=c)}catch{}}for(var d=a.childNodes,m="",h="",g=!1,b=0;b<d.length;++b){var y=d[b];y==o.element?g=!0:y.nodeName==="#text"&&(g?h+=y.nodeValue:m+=y.nodeValue,a.removeChild(y),--b)}if(!o.element.children.length||!Prism.plugins.KeepMarkup)o.code=m+o.code+h,o.code=r.normalize(o.code,o.settings);else{var k=m+o.element.innerHTML+h;o.element.innerHTML=r.normalize(k,o.settings),o.code=o.element.textContent}}}})})()})(HS);(function(n){var e=[/\b(?:async|sync|yield)\*/,/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/],t=/(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,i={pattern:RegExp(t+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}}}};n.languages.dart=n.languages.extend("clike",{"class-name":[i,{pattern:RegExp(t+/[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source),lookbehind:!0,inside:i.inside}],keyword:e,operator:/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/}),n.languages.insertBefore("dart","string",{"string-literal":{pattern:/r?(?:("""|''')[\s\S]*?\1|(["'])(?:\\.|(?!\2)[^\\\r\n])*\2(?!\2))/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,lookbehind:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:n.languages.dart}}},string:/[\s\S]+/}},string:void 0}),n.languages.insertBefore("dart","class-name",{metadata:{pattern:/@\w+/,alias:"function"}}),n.languages.insertBefore("dart","class-name",{generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":i,keyword:e,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})})(Prism);function qS(n){let e,t,i;return{c(){e=v("div"),t=v("code"),p(t,"class","svelte-10s5tkd"),p(e,"class",i="code-wrapper prism-light "+n[0]+" svelte-10s5tkd")},m(s,l){S(s,e,l),_(e,t),t.innerHTML=n[1]},p(s,[l]){l&2&&(t.innerHTML=s[1]),l&1&&i!==(i="code-wrapper prism-light "+s[0]+" svelte-10s5tkd")&&p(e,"class",i)},i:G,o:G,d(s){s&&w(e)}}}function VS(n,e,t){let{class:i=""}=e,{content:s=""}=e,{language:l="javascript"}=e,o="";function r(a){return a=typeof a=="string"?a:"",a=Js.plugins.NormalizeWhitespace.normalize(a,{"remove-trailing":!0,"remove-indent":!0,"left-trim":!0,"right-trim":!0}),Js.highlight(a,Js.languages[l]||Js.languages.javascript,l)}return n.$$set=a=>{"class"in a&&t(0,i=a.class),"content"in a&&t(2,s=a.content),"language"in a&&t(3,l=a.language)},n.$$.update=()=>{n.$$.dirty&4&&typeof Js<"u"&&s&&t(1,o=r(s))},[i,o,s,l]}class nb extends ke{constructor(e){super(),ye(this,e,VS,qS,be,{class:0,content:2,language:3})}}const zS=n=>({}),gc=n=>({}),BS=n=>({}),_c=n=>({});function bc(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,y,k,T=n[4]&&!n[2]&&vc(n);const C=n[19].header,M=Ft(C,n,n[18],_c);let $=n[4]&&n[2]&&yc(n);const O=n[19].default,E=Ft(O,n,n[18],null),I=n[19].footer,L=Ft(I,n,n[18],gc);return{c(){e=v("div"),t=v("div"),s=D(),l=v("div"),o=v("div"),T&&T.c(),r=D(),M&&M.c(),a=D(),$&&$.c(),u=D(),f=v("div"),E&&E.c(),c=D(),d=v("div"),L&&L.c(),p(t,"class","overlay"),p(o,"class","overlay-panel-section panel-header"),p(f,"class","overlay-panel-section panel-content"),p(d,"class","overlay-panel-section panel-footer"),p(l,"class",m="overlay-panel "+n[1]+" "+n[8]),x(l,"popup",n[2]),p(e,"class","overlay-panel-container"),x(e,"padded",n[2]),x(e,"active",n[0])},m(N,F){S(N,e,F),_(e,t),_(e,s),_(e,l),_(l,o),T&&T.m(o,null),_(o,r),M&&M.m(o,null),_(o,a),$&&$.m(o,null),_(l,u),_(l,f),E&&E.m(f,null),n[21](f),_(l,c),_(l,d),L&&L.m(d,null),b=!0,y||(k=[K(t,"click",pt(n[20])),K(f,"scroll",n[22])],y=!0)},p(N,F){n=N,n[4]&&!n[2]?T?T.p(n,F):(T=vc(n),T.c(),T.m(o,r)):T&&(T.d(1),T=null),M&&M.p&&(!b||F[0]&262144)&&jt(M,C,n,n[18],b?Rt(C,n[18],F,BS):Ht(n[18]),_c),n[4]&&n[2]?$?$.p(n,F):($=yc(n),$.c(),$.m(o,null)):$&&($.d(1),$=null),E&&E.p&&(!b||F[0]&262144)&&jt(E,O,n,n[18],b?Rt(O,n[18],F,null):Ht(n[18]),null),L&&L.p&&(!b||F[0]&262144)&&jt(L,I,n,n[18],b?Rt(I,n[18],F,z
Line truncated
|
|
||||||
This field is disabled if "Only domains" is set.`,position:"top"})),d=!0)},p(b,y){(!c||y&16&&l!==(l=b[4]))&&p(e,"for",l);const k={};y&16&&(k.id=b[4]),y&1&&(k.disabled=!B.isEmpty(b[0].onlyDomains)),!a&&y&1&&(a=!0,k.value=b[0].exceptDomains,we(()=>a=!1)),r.$set(k)},i(b){c||(A(r.$$.fragment,b),c=!0)},o(b){P(r.$$.fragment,b),c=!1},d(b){b&&w(e),b&&w(o),q(r,b),b&&w(u),b&&w(f),d=!1,m()}}}function Z3(n){let e,t,i,s,l,o,r,a,u,f,c,d,m;function h(b){n[3](b)}let g={id:n[4]+".options.onlyDomains",disabled:!B.isEmpty(n[0].exceptDomains)};return n[0].onlyDomains!==void 0&&(g.value=n[0].onlyDomains),r=new Ns({props:g}),ie.push(()=>ve(r,"value",h)),{c(){e=v("label"),t=v("span"),t.textContent="Only domains",i=D(),s=v("i"),o=D(),V(r.$$.fragment),u=D(),f=v("div"),f.textContent="Use comma as separator.",p(t,"class","txt"),p(s,"class","ri-information-line link-hint"),p(e,"for",l=n[4]+".options.onlyDomains"),p(f,"class","help-block")},m(b,y){S(b,e,y),_(e,t),_(e,i),_(e,s),S(b,o,y),H(r,b,y),S(b,u,y),S(b,f,y),c=!0,d||(m=Pe(Ye.call(null,s,{text:`List of domains that are ONLY allowed.
|
|
||||||
This field is disabled if "Except domains" is set.`,position:"top"})),d=!0)},p(b,y){(!c||y&16&&l!==(l=b[4]+".options.onlyDomains"))&&p(e,"for",l);const k={};y&16&&(k.id=b[4]+".options.onlyDomains"),y&1&&(k.disabled=!B.isEmpty(b[0].exceptDomains)),!a&&y&1&&(a=!0,k.value=b[0].onlyDomains,we(()=>a=!1)),r.$set(k)},i(b){c||(A(r.$$.fragment,b),c=!0)},o(b){P(r.$$.fragment,b),c=!1},d(b){b&&w(e),b&&w(o),q(r,b),b&&w(u),b&&w(f),d=!1,m()}}}function G3(n){let e,t,i,s,l,o,r;return i=new _e({props:{class:"form-field",name:"schema."+n[1]+".options.exceptDomains",$$slots:{default:[J3,({uniqueId:a})=>({4:a}),({uniqueId:a})=>a?16:0]},$$scope:{ctx:n}}}),o=new _e({props:{class:"form-field",name:"schema."+n[1]+".options.onlyDomains",$$slots:{default:[Z3,({uniqueId:a})=>({4:a}),({uniqueId:a})=>a?16:0]},$$scope:{ctx:n}}}),{c(){e=v("div"),t=v("div"),V(i.$$.fragment),s=D(),l=v("div"),V(o.$$.fragment),p(t,"class","col-sm-6"),p(l,"class","col-sm-6"),p(e,"class","grid")},m(a,u){S(a,e,u),_(e,t),H(i,t,null),_(e,s),_(e,l),H(o,l,null),r=!0},p(a,[u]){const f={};u&2&&(f.name="schema."+a[1]+".options.exceptDomains"),u&49&&(f.$$scope={dirty:u,ctx:a}),i.$set(f);const c={};u&2&&(c.name="schema."+a[1]+".options.onlyDomains"),u&49&&(c.$$scope={dirty:u,ctx:a}),o.$set(c)},i(a){r||(A(i.$$.fragment,a),A(o.$$.fragment,a),r=!0)},o(a){P(i.$$.fragment,a),P(o.$$.fragment,a),r=!1},d(a){a&&w(e),q(i),q(o)}}}function X3(n,e,t){let{key:i=""}=e,{options:s={}}=e;function l(r){n.$$.not_equal(s.exceptDomains,r)&&(s.exceptDomains=r,t(0,s))}function o(r){n.$$.not_equal(s.onlyDomains,r)&&(s.onlyDomains=r,t(0,s))}return n.$$set=r=>{"key"in r&&t(1,i=r.key),"options"in r&&t(0,s=r.options)},[s,i,l,o]}class ob extends ke{constructor(e){super(),ye(this,e,X3,G3,be,{key:1,options:0})}}function x3(n){let e,t,i,s;function l(a){n[2](a)}function o(a){n[3](a)}let r={};return n[0]!==void 0&&(r.key=n[0]),n[1]!==void 0&&(r.options=n[1]),e=new ob({props:r}),ie.push(()=>ve(e,"key",l)),ie.push(()=>ve(e,"options",o)),{c(){V(e.$$.fragment)},m(a,u){H(e,a,u),s=!0},p(a,[u]){const f={};!t&&u&1&&(t=!0,f.key=a[0],we(()=>t=!1)),!i&&u&2&&(i=!0,f.options=a[1],we(()=>i=!1)),e.$set(f)},i(a){s||(A(e.$$.fragment,a),s=!0)},o(a){P(e.$$.fragment,a),s=!1},d(a){q(e,a)}}}function Q3(n,e,t){let{key:i=""}=e,{options:s={}}=e;function l(r){i=r,t(0,i)}function o(r){s=r,t(1,s)}return n.$$set=r=>{"key"in r&&t(0,i=r.key),"options"in r&&t(1,s=r.options)},[i,s,l,o]}class eT extends ke{constructor(e){super(),ye(this,e,Q3,x3,be,{key:0,options:1})}}function tT(n,e,t){let{key:i=""}=e,{options:s={}}=e;return n.$$set=l=>{"key"in l&&t(0,i=l.key),"options"in l&&t(1,s=l.options)},[i,s]}class nT extends ke{constructor(e){super(),ye(this,e,tT,null,be,{key:0,options:1})}}var Sr=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],ks={_disable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:"F j, Y",altInput:!1,altInputClass:"form-control input",animate:typeof window=="object"&&window.navigator.userAgent.indexOf("MSIE")===-1,ariaDateFormat:"F j, Y",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:", ",dateFormat:"Y-m-d",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enableSeconds:!1,enableTime:!1,errorHandler:function(n){return typeof console<"u"&&console.warn(n)},getWeek:function(n){var e=new Date(n.getTime());e.setHours(0,0,0,0),e.setDate(e.getDate()+3-(e.getDay()+6)%7);var t=new Date(e.getFullYear(),0,4);return 1+Math.round(((e.getTime()-t.getTime())/864e5-3+(t.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:"default",minuteIncrement:5,mode:"single",monthSelectorType:"dropdown",nextArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},_l={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(n){var e=n%10
Line truncated
|
|
||||||
<span class='flatpickr-weekday'>
|
|
||||||
`+W.join("</span><span class='flatpickr-weekday'>")+`
|
|
||||||
</span>
|
|
||||||
`}}function X(){t.calendarContainer.classList.add("hasWeeks");var j=at("div","flatpickr-weekwrapper");j.appendChild(at("span","flatpickr-weekday",t.l10n.weekAbbreviation));var W=at("div","flatpickr-weeks");return j.appendChild(W),{weekWrapper:j,weekNumbers:W}}function Y(j,W){W===void 0&&(W=!0);var Q=W?j:j-t.currentMonth;Q<0&&t._hidePrevMonthArrow===!0||Q>0&&t._hideNextMonthArrow===!0||(t.currentMonth+=Q,(t.currentMonth<0||t.currentMonth>11)&&(t.currentYear+=t.currentMonth>11?1:-1,t.currentMonth=(t.currentMonth+12)%12,xe("onYearChange"),U()),F(),xe("onMonthChange"),Ei())}function se(j,W){if(j===void 0&&(j=!0),W===void 0&&(W=!0),t.input.value="",t.altInput!==void 0&&(t.altInput.value=""),t.mobileInput!==void 0&&(t.mobileInput.value=""),t.selectedDates=[],t.latestSelectedDateObj=void 0,W===!0&&(t.currentYear=t._initialDate.getFullYear(),t.currentMonth=t._initialDate.getMonth()),t.config.enableTime===!0){var Q=Mr(t.config),le=Q.hours,Ce=Q.minutes,Ee=Q.seconds;m(le,Ce,Ee)}t.redraw(),j&&xe("onChange")}function He(){t.isOpen=!1,t.isMobile||(t.calendarContainer!==void 0&&t.calendarContainer.classList.remove("open"),t._input!==void 0&&t._input.classList.remove("active")),xe("onClose")}function Re(){t.config!==void 0&&xe("onDestroy");for(var j=t._handlers.length;j--;)t._handlers[j].remove();if(t._handlers=[],t.mobileInput)t.mobileInput.parentNode&&t.mobileInput.parentNode.removeChild(t.mobileInput),t.mobileInput=void 0;else if(t.calendarContainer&&t.calendarContainer.parentNode)if(t.config.static&&t.calendarContainer.parentNode){var W=t.calendarContainer.parentNode;if(W.lastChild&&W.removeChild(W.lastChild),W.parentNode){for(;W.firstChild;)W.parentNode.insertBefore(W.firstChild,W);W.parentNode.removeChild(W)}}else t.calendarContainer.parentNode.removeChild(t.calendarContainer);t.altInput&&(t.input.type="text",t.altInput.parentNode&&t.altInput.parentNode.removeChild(t.altInput),delete t.altInput),t.input&&(t.input.type=t.input._type,t.input.classList.remove("flatpickr-input"),t.input.removeAttribute("readonly")),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(function(Q){try{delete t[Q]}catch{}})}function Fe(j){return t.calendarContainer.contains(j)}function qe(j){if(t.isOpen&&!t.config.inline){var W=mn(j),Q=Fe(W),le=W===t.input||W===t.altInput||t.element.contains(W)||j.path&&j.path.indexOf&&(~j.path.indexOf(t.input)||~j.path.indexOf(t.altInput)),Ce=!le&&!Q&&!Fe(j.relatedTarget),Ee=!t.config.ignoredFocusElements.some(function(Ie){return Ie.contains(W)});Ce&&Ee&&(t.config.allowInput&&t.setDate(t._input.value,!1,t.config.altInput?t.config.altFormat:t.config.dateFormat),t.timeContainer!==void 0&&t.minuteElement!==void 0&&t.hourElement!==void 0&&t.input.value!==""&&t.input.value!==void 0&&a(),t.close(),t.config&&t.config.mode==="range"&&t.selectedDates.length===1&&t.clear(!1))}}function ge(j){if(!(!j||t.config.minDate&&j<t.config.minDate.getFullYear()||t.config.maxDate&&j>t.config.maxDate.getFullYear())){var W=j,Q=t.currentYear!==W;t.currentYear=W||t.currentYear,t.config.maxDate&&t.currentYear===t.config.maxDate.getFullYear()?t.currentMonth=Math.min(t.config.maxDate.getMonth(),t.currentMonth):t.config.minDate&&t.currentYear===t.config.minDate.getFullYear()&&(t.currentMonth=Math.max(t.config.minDate.getMonth(),t.currentMonth)),Q&&(t.redraw(),xe("onYearChange"),U())}}function Se(j,W){var Q;W===void 0&&(W=!0);var le=t.parseDate(j,void 0,W);if(t.config.minDate&&le&&hn(le,t.config.minDate,W!==void 0?W:!t.minDateHasTime)<0||t.config.maxDate&&le&&hn(le,t.config.maxDate,W!==void 0?W:!t.maxDateHasTime)>0)return!1;if(!t.config.enable&&t.config.disable.length===0)return!0;if(le===void 0)return!1;for(var Ce=!!t.config.enable,Ee=(Q=t.config.enable)!==null&&Q!==void 0?Q:t.config.disable,Ie=0,De=void 0;Ie<Ee.length;Ie++){if(De=Ee[Ie],typeof De=="function"&&De(le))return Ce;if(De instanceof Date&&le!==void 0&&De.getTime()===le.getTime())return Ce;if(typeof De=="string"){var Ke=t.parseDate(De,void 0,!0);return Ke&&Ke.getTime()===le.getTime()?Ce:!Ce}else if(typeof De=="object"&&le!==void 0&&De.from&&De.to&&le.getTime()>=De.from.getTime()&&le.getTime()<=De.to.getTime())return Ce}return!Ce}function Ue(j){return t.daysContainer!==void 0?j.className.indexOf("hidden")===-1&&j.className.indexOf("flatpickr-disabled")===-1&&t.daysContainer.contains(j):!1}function lt(j){var W=j.target===t._input,Q=t._input.value.trimEnd()!==Ai();W&&Q&&!(j.relatedTarget&&Fe(j.relatedTarget))&&t.setDate(t._input.value,!0,j.target===t.altInput?t.config.altFormat:t.config.dateFormat)}function ue(j){var W=m
Line truncated
|
|
||||||
`),r=v("code"),r.textContent="multipart/form-data",a=z(`
|
|
||||||
requests, the following normalization rules are applied if the `),u=v("code"),u.textContent="json",f=z(` field is a
|
|
||||||
`),c=v("strong"),c.textContent="plain string",d=z(`:
|
|
||||||
`),m=v("ul"),h=v("li"),h.innerHTML=""true" is converted to the json <code>true</code>",g=D(),b=v("li"),b.innerHTML=""false" is converted to the json <code>false</code>",y=D(),k=v("li"),k.innerHTML=""null" is converted to the json <code>null</code>",T=D(),C=v("li"),C.innerHTML=""[1,2,3]" is converted to the json <code>[1,2,3]</code>",M=D(),$=v("li"),E=z(O),I=z(" is converted to the json "),L=v("code"),L.textContent='{"a":1,"b":2}',N=D(),F=v("li"),F.textContent="numeric strings are converted to json number",U=D(),J=v("li"),J.textContent="double quoted strings are left as they are (aka. without normalizations)",ne=D(),Z=v("li"),Z.textContent="any other string (empty string too) is double quoted",te=z(`
|
|
||||||
Alternatively, if you want to avoid the string value normalizations, you can wrap your data inside
|
|
||||||
an object, eg.`),ee=v("code"),ee.textContent='{"data": anything}',p(i,"class","content"),p(t,"class","alert alert-warning m-b-0 m-t-10"),p(e,"class","block")},m(Y,se){S(Y,e,se),_(e,t),_(t,i),_(i,s),_(i,l),_(i,o),_(i,r),_(i,a),_(i,u),_(i,f),_(i,c),_(i,d),_(i,m),_(m,h),_(m,g),_(m,b),_(m,y),_(m,k),_(m,T),_(m,C),_(m,M),_(m,$),_($,E),_($,I),_($,L),_(m,N),_(m,F),_(m,U),_(m,J),_(m,ne),_(m,Z),_(i,te),_(i,ee),X=!0},i(Y){X||(Y&&nt(()=>{R||(R=ze(e,It,{duration:150},!0)),R.run(1)}),X=!0)},o(Y){Y&&(R||(R=ze(e,It,{duration:150},!1)),R.run(0)),X=!1},d(Y){Y&&w(e),Y&&R&&R.end()}}}function CT(n){let e,t,i,s,l,o,r;function a(d,m){return d[0]?TT:ST}let u=a(n),f=u(n),c=n[0]&&Jc();return{c(){e=v("button"),t=v("strong"),t.textContent="String value normalizations",i=D(),f.c(),s=D(),c&&c.c(),l=Ae(),p(t,"class","txt"),p(e,"type","button"),p(e,"class","inline-flex txt-sm flex-gap-5 link-hint")},m(d,m){S(d,e,m),_(e,t),_(e,i),f.m(e,null),S(d,s,m),c&&c.m(d,m),S(d,l,m),o||(r=K(e,"click",n[3]),o=!0)},p(d,[m]){u!==(u=a(d))&&(f.d(1),f=u(d),f&&(f.c(),f.m(e,null))),d[0]?c?m&1&&A(c,1):(c=Jc(),c.c(),A(c,1),c.m(l.parentNode,l)):c&&(pe(),P(c,1,1,()=>{c=null}),me())},i(d){A(c)},o(d){P(c)},d(d){d&&w(e),f.d(),d&&w(s),c&&c.d(d),d&&w(l),o=!1,r()}}}function $T(n,e,t){const i="",s={};let l=!1;return[l,i,s,()=>{t(0,l=!l)}]}class MT extends ke{constructor(e){super(),ye(this,e,$T,CT,be,{key:1,options:2})}get key(){return this.$$.ctx[1]}get options(){return this.$$.ctx[2]}}function DT(n){let e,t=(n[0].ext||"N/A")+"",i,s,l,o=n[0].mimeType+"",r;return{c(){e=v("span"),i=z(t),s=D(),l=v("small"),r=z(o),p(e,"class","txt"),p(l,"class","txt-hint")},m(a,u){S(a,e,u),_(e,i),S(a,s,u),S(a,l,u),_(l,r)},p(a,[u]){u&1&&t!==(t=(a[0].ext||"N/A")+"")&&re(i,t),u&1&&o!==(o=a[0].mimeType+"")&&re(r,o)},i:G,o:G,d(a){a&&w(e),a&&w(s),a&&w(l)}}}function OT(n,e,t){let{item:i={}}=e;return n.$$set=s=>{"item"in s&&t(0,i=s.item)},[i]}class Zc extends ke{constructor(e){super(),ye(this,e,OT,DT,be,{item:0})}}const ET=[{ext:".xpm",mimeType:"image/x-xpixmap"},{ext:".7z",mimeType:"application/x-7z-compressed"},{ext:".zip",mimeType:"application/zip"},{ext:".xlsx",mimeType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},{ext:".docx",mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},{ext:".pptx",mimeType:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},{ext:".epub",mimeType:"application/epub+zip"},{ext:".jar",mimeType:"application/jar"},{ext:".odt",mimeType:"application/vnd.oasis.opendocument.text"},{ext:".ott",mimeType:"application/vnd.oasis.opendocument.text-template"},{ext:".ods",mimeType:"application/vnd.oasis.opendocument.spreadsheet"},{ext:".ots",mimeType:"application/vnd.oasis.opendocument.spreadsheet-template"},{ext:".odp",mimeType:"application/vnd.oasis.opendocument.presentation"},{ext:".otp",mimeType:"application/vnd.oasis.opendocument.presentation-template"},{ext:".odg",mimeType:"application/vnd.oasis.opendocument.graphics"},{ext:".otg",mimeType:"application/vnd.oasis.opendocument.graphics-template"},{ext:".odf",mimeType:"application/vnd.oasis.opendocument.formula"},{ext:".odc",mimeType:"application/vnd.oasis.opendocument.chart"},{ext:".sxc",mimeType:"application/vnd.sun.xml.calc"},{ext:".pdf",mimeType:"application/pdf"},{ext:".fdf",mimeType:"application/vnd.fdf"},{ext:"",mimeType:"application/x-ole-storage"},{ext:".msi",mimeType:"application/x-ms-installer"},{ext:".aaf",mimeType:"application/octet-stream"},{ext:".msg",mimeType:"application/vnd.ms-outlook"},{ext:".xls",mimeType:"application/vnd.ms-excel"},{ext:".pub",mimeType:"application/vnd.ms-publisher"},{ext:".ppt",mimeType:"application/vnd.ms-powerpoint"},{ext:".doc",mimeType:"application/msword"},{ext:".ps",mimeType:"application/postscript"},{ext:".psd",mimeType:"image/vnd.adobe.photoshop"},{ext:".p7s",mimeType:"application/pkcs7-signature"},{ext:".ogg",mimeType:"application/ogg"},{ext:".oga",mimeType:"audio/ogg"},{ext:".ogv",mimeType:"video/ogg"},{ext:".png",mimeType:"image/png"},{ext:".png",mimeType:"image/vnd.mozilla.apng"},{ext:".jpg",mimeType:"image/jpeg"},{ext:".jxl",mimeType:"image/jxl"},{ext:".jp2",mimeType:"image/jp2"},{ext:".jpf",mimeType:"image/jpx"},{ext:".jpm",mimeType:"image/jpm"},{ext:".jxs",mimeType:"image/jxs"},{ext:".gif",mimeType:"image/gif"},{ext:".webp",mimeType:"image/webp"},{ext:".exe",mimeType:"application/vnd.microsoft.portable-executable"},{ext:"",mimeType:"application/x-elf"},{ext:"",mimeType:"application/x-object"},{ext:"",mimeType:"application/x-executable"},{ext:".so",mimeType:"application/x-sharedlib"},{ext:"",mimeType:"application/x-coredump"},{ext:".a",mimeType:"application/x-archive"},{ext:".deb",mimeType:"application/vnd.debian.binary-package"},{ext:".tar",mimeType:"application/x-tar"},{ext:".xar",mimeType:"application/x-xar"},{ext:".bz2",mimeType:"application/x-bzip2"},{ext:".fits",mimeType:"application/fits"},{ext:".tiff",mimeType:"image/tiff"},{ext:".bmp",mimeType:"image/bmp"},{ext:".ico",mimeTyp
Line truncated
|
|
||||||
Leave empty for no restriction.`,position:"top"})),k=!0)},p($,O){(!y||O&4096&&l!==(l=$[12]))&&p(e,"for",l);const E={};O&4096&&(E.id=$[12]),O&4&&(E.items=$[2]),!a&&O&1&&(a=!0,E.keyOfSelected=$[0].mimeTypes,we(()=>a=!1)),r.$set(E);const I={};O&8193&&(I.$$scope={dirty:O,ctx:$}),b.$set(I)},i($){y||(A(r.$$.fragment,$),A(b.$$.fragment,$),y=!0)},o($){P(r.$$.fragment,$),P(b.$$.fragment,$),y=!1},d($){$&&w(e),$&&w(o),q(r,$),$&&w(u),$&&w(f),q(b),k=!1,T()}}}function NT(n){let e;return{c(){e=v("ul"),e.innerHTML=`<li><strong>WxH</strong>
|
|
||||||
(eg. 100x50) - crop to WxH viewbox (from center)</li>
|
|
||||||
<li><strong>WxHt</strong>
|
|
||||||
(eg. 100x50t) - crop to WxH viewbox (from top)</li>
|
|
||||||
<li><strong>WxHb</strong>
|
|
||||||
(eg. 100x50b) - crop to WxH viewbox (from bottom)</li>
|
|
||||||
<li><strong>WxHf</strong>
|
|
||||||
(eg. 100x50f) - fit inside a WxH viewbox (without cropping)</li>
|
|
||||||
<li><strong>0xH</strong>
|
|
||||||
(eg. 0x50) - resize to H height preserving the aspect ratio</li>
|
|
||||||
<li><strong>Wx0</strong>
|
|
||||||
(eg. 100x0) - resize to W width preserving the aspect ratio</li>`,p(e,"class","m-0")},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function FT(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,y,k,T,C,M;function $(E){n[10](E)}let O={id:n[12],placeholder:"eg. 50x50, 480x720"};return n[0].thumbs!==void 0&&(O.value=n[0].thumbs),r=new Ns({props:O}),ie.push(()=>ve(r,"value",$)),k=new xn({props:{class:"dropdown dropdown-sm dropdown-center dropdown-nowrap p-r-10",$$slots:{default:[NT]},$$scope:{ctx:n}}}),{c(){e=v("label"),t=v("span"),t.textContent="Thumb sizes",i=D(),s=v("i"),o=D(),V(r.$$.fragment),u=D(),f=v("div"),c=v("span"),c.textContent="Use comma as separator.",d=D(),m=v("button"),h=v("span"),h.textContent="Supported formats",g=D(),b=v("i"),y=D(),V(k.$$.fragment),p(t,"class","txt"),p(s,"class","ri-information-line link-hint"),p(e,"for",l=n[12]),p(c,"class","txt"),p(h,"class","txt link-primary"),p(b,"class","ri-arrow-drop-down-fill"),p(m,"type","button"),p(m,"class","inline-flex flex-gap-0"),p(f,"class","help-block")},m(E,I){S(E,e,I),_(e,t),_(e,i),_(e,s),S(E,o,I),H(r,E,I),S(E,u,I),S(E,f,I),_(f,c),_(f,d),_(f,m),_(m,h),_(m,g),_(m,b),_(m,y),H(k,m,null),T=!0,C||(M=Pe(Ye.call(null,s,{text:"List of additional thumb sizes for image files, along with the default thumb size of 100x100. The thumbs are generated lazily on first access.",position:"top"})),C=!0)},p(E,I){(!T||I&4096&&l!==(l=E[12]))&&p(e,"for",l);const L={};I&4096&&(L.id=E[12]),!a&&I&1&&(a=!0,L.value=E[0].thumbs,we(()=>a=!1)),r.$set(L);const N={};I&8192&&(N.$$scope={dirty:I,ctx:E}),k.$set(N)},i(E){T||(A(r.$$.fragment,E),A(k.$$.fragment,E),T=!0)},o(E){P(r.$$.fragment,E),P(k.$$.fragment,E),T=!1},d(E){E&&w(e),E&&w(o),q(r,E),E&&w(u),E&&w(f),q(k),C=!1,M()}}}function RT(n){let e,t,i,s,l,o,r,a,u,f,c,d,m;return i=new _e({props:{class:"form-field required",name:"schema."+n[1]+".options.maxSize",$$slots:{default:[AT,({uniqueId:h})=>({12:h}),({uniqueId:h})=>h?4096:0]},$$scope:{ctx:n}}}),o=new _e({props:{class:"form-field required",name:"schema."+n[1]+".options.maxSelect",$$slots:{default:[IT,({uniqueId:h})=>({12:h}),({uniqueId:h})=>h?4096:0]},$$scope:{ctx:n}}}),u=new _e({props:{class:"form-field",name:"schema."+n[1]+".options.mimeTypes",$$slots:{default:[LT,({uniqueId:h})=>({12:h}),({uniqueId:h})=>h?4096:0]},$$scope:{ctx:n}}}),d=new _e({props:{class:"form-field",name:"schema."+n[1]+".options.thumbs",$$slots:{default:[FT,({uniqueId:h})=>({12:h}),({uniqueId:h})=>h?4096:0]},$$scope:{ctx:n}}}),{c(){e=v("div"),t=v("div"),V(i.$$.fragment),s=D(),l=v("div"),V(o.$$.fragment),r=D(),a=v("div"),V(u.$$.fragment),f=D(),c=v("div"),V(d.$$.fragment),p(t,"class","col-sm-6"),p(l,"class","col-sm-6"),p(a,"class","col-sm-12"),p(c,"class","col-sm-12"),p(e,"class","grid")},m(h,g){S(h,e,g),_(e,t),H(i,t,null),_(e,s),_(e,l),H(o,l,null),_(e,r),_(e,a),H(u,a,null),_(e,f),_(e,c),H(d,c,null),m=!0},p(h,[g]){const b={};g&2&&(b.name="schema."+h[1]+".options.maxSize"),g&12289&&(b.$$scope={dirty:g,ctx:h}),i.$set(b);const y={};g&2&&(y.name="schema."+h[1]+".options.maxSelect"),g&12289&&(y.$$scope={dirty:g,ctx:h}),o.$set(y);const k={};g&2&&(k.name="schema."+h[1]+".options.mimeTypes"),g&12293&&(k.$$scope={dirty:g,ctx:h}),u.$set(k);const T={};g&2&&(T.name="schema."+h[1]+".options.thumbs"),g&12289&&(T.$$scope={dirty:g,ctx:h}),d.$set(T)},i(h){m||(A(i.$$.fragment,h),A(o.$$.fragment,h),A(u.$$.fragment,h),A(d.$$.fragment,h),m=!0)},o(h){P(i.$$.fragment,h),P(o.$$.fragment,h),P(u.$$.fragment,h),P(d.$$.fragment,h),m=!1},d(h){h&&w(e),q(i),q(o),q(u),q(d)}}}function jT(n,e,t){let{key:i=""}=e,{options:s={}}=e,l=ET.slice();function o(){if(B.isEmpty(s.mimeTypes))return;const g=[];for(const b of s.mimeTypes)l.find(y=>y.mimeType===b)||g.push({mimeType:b});g.length&&t(2,l=l.concat(g))}function r(){s.maxSize=ht(this.value),t(0,s)}function a(){s.maxSelect=ht(this.value),t(0,s)}function u(g){n.$$.not_equal(s.mimeTypes,g)&&(s.mimeTypes=g,t(0,s))}const f=()=>{t(0,s.mimeTypes=["image/jpeg","image/png","image/svg+xml","image/gif","image/webp"],s)},c=()=>{t(0,s.mimeTypes=["application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],s)},d=()=>{t(0,s.mimeTypes=["video/mp4","video/x-ms-wmv","video/quicktime","video/3gpp"],s)},m=()=>{t(0,s.mimeTypes=["application/zip","application/x-7z-compressed","application/x-rar-compressed"],s)};function h(g){n.$$.not_equal(s.thumbs,g)&&(s.thumbs=g,t(0,s))}return n.$$set=g=>{"key"in g&&t(1,i=g.key),"options"in g&&t(0,s=g.options)},n.$$.update=()=>{n.$$.dirty&1&&(B.isEmpty(s)?t(0,s={maxSelect:1,maxSize:5242880,thumbs:[],mimeTypes:[]}):o())},[s,i,l,r,a,u,f,c,d,m,h]}class HT extends ke{constructor(e){super(),ye(this,e,jT,RT,be,{key:1,options:0})}}function qT(n){let e,t,i,s,l;return{c(){e=v("hr"),t=D(),i=v("button"),i.innerHTML=`<i class="ri-add-line"></i>
|
|
||||||
<span class="txt">New collection</span>`,p(i,"type","button"),p(i,"class","btn btn-transparent btn-block btn-sm")},m(o,r){S(o,e,r),S(o,t,r),S(o,i,r),s||(l=K(i,"click",n[7]),s=!0)},p:G,d(o){o&&w(e),o&&w(t),o&&w(i),s=!1,l()}}}function VT(n){let e,t,i,s,l,o,r;function a(f){n[8](f)}let u={searchable:n[2].length>5,selectPlaceholder:"Select collection",noOptionsText:"No collections found",selectionKey:"id",items:n[2],$$slots:{afterOptions:[qT]},$$scope:{ctx:n}};return n[0].collectionId!==void 0&&(u.keyOfSelected=n[0].collectionId),l=new Ls({props:u}),ie.push(()=>ve(l,"keyOfSelected",a)),{c(){e=v("label"),t=z("Collection"),s=D(),V(l.$$.fragment),p(e,"for",i=n[18])},m(f,c){S(f,e,c),_(e,t),S(f,s,c),H(l,f,c),r=!0},p(f,c){(!r||c&262144&&i!==(i=f[18]))&&p(e,"for",i);const d={};c&4&&(d.searchable=f[2].length>5),c&4&&(d.items=f[2]),c&524296&&(d.$$scope={dirty:c,ctx:f}),!o&&c&1&&(o=!0,d.keyOfSelected=f[0].collectionId,we(()=>o=!1)),l.$set(d)},i(f){r||(A(l.$$.fragment,f),r=!0)},o(f){P(l.$$.fragment,f),r=!1},d(f){f&&w(e),f&&w(s),q(l,f)}}}function zT(n){let e,t,i,s,l,o,r,a,u,f;return{c(){e=v("label"),t=v("span"),t.textContent="Max select",i=D(),s=v("i"),o=D(),r=v("input"),p(t,"class","txt"),p(s,"class","ri-information-line link-hint"),p(e,"for",l=n[18]),p(r,"type","number"),p(r,"id",a=n[18]),p(r,"step","1"),p(r,"min","1")},m(c,d){S(c,e,d),_(e,t),_(e,i),_(e,s),S(c,o,d),S(c,r,d),de(r,n[0].maxSelect),u||(f=[Pe(Ye.call(null,s,{text:"Leave empty for no limit.",position:"top"})),K(r,"input",n[9])],u=!0)},p(c,d){d&262144&&l!==(l=c[18])&&p(e,"for",l),d&262144&&a!==(a=c[18])&&p(r,"id",a),d&1&&ht(r.value)!==c[0].maxSelect&&de(r,c[0].maxSelect)},d(c){c&&w(e),c&&w(o),c&&w(r),u=!1,Le(f)}}}function BT(n){let e,t,i,s,l,o,r,a,u,f,c;function d(h){n[10](h)}let m={multiple:!0,searchable:!0,id:n[18],selectPlaceholder:"Auto",items:n[4]};return n[0].displayFields!==void 0&&(m.selected=n[0].displayFields),r=new Qa({props:m}),ie.push(()=>ve(r,"selected",d)),{c(){e=v("label"),t=v("span"),t.textContent="Display fields",i=D(),s=v("i"),o=D(),V(r.$$.fragment),p(t,"class","txt"),p(s,"class","ri-information-line link-hint"),p(e,"for",l=n[18])},m(h,g){S(h,e,g),_(e,t),_(e,i),_(e,s),S(h,o,g),H(r,h,g),u=!0,f||(c=Pe(Ye.call(null,s,{text:"Optionally select the field(s) that will be used in the listings UI. Leave empty for auto.",position:"top"})),f=!0)},p(h,g){(!u||g&262144&&l!==(l=h[18]))&&p(e,"for",l);const b={};g&262144&&(b.id=h[18]),g&16&&(b.items=h[4]),!a&&g&1&&(a=!0,b.selected=h[0].displayFields,we(()=>a=!1)),r.$set(b)},i(h){u||(A(r.$$.fragment,h),u=!0)},o(h){P(r.$$.fragment,h),u=!1},d(h){h&&w(e),h&&w(o),q(r,h),f=!1,c()}}}function UT(n){let e,t,i,s,l,o,r;function a(f){n[11](f)}let u={id:n[18],items:n[5]};return n[0].cascadeDelete!==void 0&&(u.keyOfSelected=n[0].cascadeDelete),l=new Ls({props:u}),ie.push(()=>ve(l,"keyOfSelected",a)),{c(){e=v("label"),t=z("Cascade delete"),s=D(),V(l.$$.fragment),p(e,"for",i=n[18])},m(f,c){S(f,e,c),_(e,t),S(f,s,c),H(l,f,c),r=!0},p(f,c){(!r||c&262144&&i!==(i=f[18]))&&p(e,"for",i);const d={};c&262144&&(d.id=f[18]),!o&&c&1&&(o=!0,d.keyOfSelected=f[0].cascadeDelete,we(()=>o=!1)),l.$set(d)},i(f){r||(A(l.$$.fragment,f),r=!0)},o(f){P(l.$$.fragment,f),r=!1},d(f){f&&w(e),f&&w(s),q(l,f)}}}function WT(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g;i=new _e({props:{class:"form-field required",name:"schema."+n[1]+".options.collectionId",$$slots:{default:[VT,({uniqueId:y})=>({18:y}),({uniqueId:y})=>y?262144:0]},$$scope:{ctx:n}}}),o=new _e({props:{class:"form-field",name:"schema."+n[1]+".options.maxSelect",$$slots:{default:[zT,({uniqueId:y})=>({18:y}),({uniqueId:y})=>y?262144:0]},$$scope:{ctx:n}}}),u=new _e({props:{class:"form-field",name:"schema."+n[1]+".options.displayFields",$$slots:{default:[BT,({uniqueId:y})=>({18:y}),({uniqueId:y})=>y?262144:0]},$$scope:{ctx:n}}}),d=new _e({props:{class:"form-field",name:"schema."+n[1]+".options.cascadeDelete",$$slots:{default:[UT,({uniqueId:y})=>({18:y}),({uniqueId:y})=>y?262144:0]},$$scope:{ctx:n}}});let b={};return h=new tu({props:b}),n[12](h),h.$on("save",n[13]),{c(){e=v("div"),t=v("div"),V(i.$$.fragment),s=D(),l=v("div"),V(o.$$.fragment),r=D(),a=v("div"),V(u.$$.fragment),f=D(),c=v("div"),V(d.$$.fragment),m=D(),V(h.$$.fragment),p(t,"class","col-sm-9"),p(l,"class","col-sm-3"),p(a,"class","col-sm-9"),p(c,"class","col-sm-3"),p(e,"class","grid")},m(y,k){S(y,e,k),_(e,t),H(i,t,null),_(e,s),_(e,l),H(o,l,null),_(e,r),_(e,a),H(u,a,null),_(e,f),_(e,c),H(d,c,null),S(y,m,k),H(h,y,k),g=!0},p(y,[k]){const T={};k&2&&(T.name="schema."+y[1]+".options.collectionId"),k&786445&&(T.$$scope={dirty:k,ctx:y}),i.$set(T);const C={};k&2&&(C.name="schema."+y[1]+".options.maxSelect"),k&786433&&(C.$$scope={dirty:k,ctx:y}),o.$set(C);const M={};k&2&&(M.name="schema."+y[1]+".options.displayFields"),k&786449&&(M.$$scope={dirty:k,ctx:y}),u.$set(M);const $={};k&2&&($.name="schema."+y[1]+".options.cascadeDelete"),k&786433&&($.$$scope={dirty:k,ctx:y}),d.$set($);const O={};h.$set(O)},i(y){g||(A(i.$$.fragment,y),A(o.$$.fLine truncated
|
|
||||||
(aka. not ${B.zeroDefaultStr(n[0])}).`,position:"right"}))],d=!0)},p(h,g){g[1]&4096&&t!==(t=h[43])&&p(e,"id",t),g[0]&1&&(e.checked=h[0].required),g[0]&1&&o!==(o=gs(h[0])+"")&&re(r,o),f&&zt(f.update)&&g[0]&1&&f.update.call(null,{text:`Requires the field value to be ${gs(h[0])}
|
|
||||||
(aka. not ${B.zeroDefaultStr(h[0])}).`,position:"right"}),g[1]&4096&&c!==(c=h[43])&&p(s,"for",c)},d(h){h&&w(e),h&&w(i),h&&w(s),d=!1,Le(m)}}}function Xc(n){let e,t;return e=new _e({props:{class:"form-field form-field-toggle m-0",name:"unique",$$slots:{default:[aC,({uniqueId:i})=>({43:i}),({uniqueId:i})=>[0,i?4096:0]]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,s){H(e,i,s),t=!0},p(i,s){const l={};s[0]&1|s[1]&12288&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){P(e.$$.fragment,i),t=!1},d(i){q(e,i)}}}function aC(n){let e,t,i,s,l,o,r,a;return{c(){e=v("input"),i=D(),s=v("label"),l=z("Unique"),p(e,"type","checkbox"),p(e,"id",t=n[43]),p(s,"for",o=n[43])},m(u,f){S(u,e,f),e.checked=n[0].unique,S(u,i,f),S(u,s,f),_(s,l),r||(a=K(e,"change",n[31]),r=!0)},p(u,f){f[1]&4096&&t!==(t=u[43])&&p(e,"id",t),f[0]&1&&(e.checked=u[0].unique),f[1]&4096&&o!==(o=u[43])&&p(s,"for",o)},d(u){u&&w(e),u&&w(i),u&&w(s),r=!1,a()}}}function xc(n){let e,t,i,s,l,o,r,a,u,f;a=new xn({props:{class:"dropdown dropdown-sm dropdown-upside dropdown-right dropdown-nowrap no-min-width",$$slots:{default:[uC]},$$scope:{ctx:n}}});let c=n[8]&&Qc(n);return{c(){e=v("div"),t=v("div"),i=D(),s=v("div"),l=v("button"),o=v("i"),r=D(),V(a.$$.fragment),u=D(),c&&c.c(),p(t,"class","flex-fill"),p(o,"class","ri-more-line"),p(l,"type","button"),p(l,"aria-label","More"),p(l,"class","btn btn-circle btn-sm btn-transparent"),p(s,"class","inline-flex flex-gap-sm flex-nowrap"),p(e,"class","col-sm-4 txt-right")},m(d,m){S(d,e,m),_(e,t),_(e,i),_(e,s),_(s,l),_(l,o),_(l,r),H(a,l,null),_(s,u),c&&c.m(s,null),f=!0},p(d,m){const h={};m[1]&8192&&(h.$$scope={dirty:m,ctx:d}),a.$set(h),d[8]?c?c.p(d,m):(c=Qc(d),c.c(),c.m(s,null)):c&&(c.d(1),c=null)},i(d){f||(A(a.$$.fragment,d),f=!0)},o(d){P(a.$$.fragment,d),f=!1},d(d){d&&w(e),q(a),c&&c.d()}}}function uC(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Remove</span>',p(e,"type","button"),p(e,"class","dropdown-item txt-right")},m(s,l){S(s,e,l),t||(i=K(e,"click",n[9]),t=!0)},p:G,d(s){s&&w(e),t=!1,i()}}}function Qc(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Done</span>',p(e,"type","button"),p(e,"class","btn btn-sm btn-outline btn-expanded-sm")},m(s,l){S(s,e,l),t||(i=K(e,"click",yn(n[3])),t=!0)},p:G,d(s){s&&w(e),t=!1,i()}}}function fC(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,y,k,T,C,M,$;s=new _e({props:{class:"form-field required "+(n[0].id?"disabled":""),name:"schema."+n[1]+".type",$$slots:{default:[JT,({uniqueId:F})=>({43:F}),({uniqueId:F})=>[0,F?4096:0]]},$$scope:{ctx:n}}}),r=new _e({props:{class:`
|
|
||||||
form-field
|
|
||||||
required
|
|
||||||
`+(n[5]?"":"invalid")+`
|
|
||||||
`+(n[0].id&&n[0].system?"disabled":"")+`
|
|
||||||
`,name:"schema."+n[1]+".name",$$slots:{default:[ZT,({uniqueId:F})=>({43:F}),({uniqueId:F})=>[0,F?4096:0]]},$$scope:{ctx:n}}});const O=[oC,lC,sC,iC,nC,tC,eC,QT,xT,XT,GT],E=[];function I(F,U){return F[0].type==="text"?0:F[0].type==="number"?1:F[0].type==="bool"?2:F[0].type==="email"?3:F[0].type==="url"?4:F[0].type==="editor"?5:F[0].type==="date"?6:F[0].type==="select"?7:F[0].type==="json"?8:F[0].type==="file"?9:F[0].type==="relation"?10:-1}~(f=I(n))&&(c=E[f]=O[f](n)),h=new _e({props:{class:"form-field form-field-toggle m-0",name:"requried",$$slots:{default:[rC,({uniqueId:F})=>({43:F}),({uniqueId:F})=>[0,F?4096:0]]},$$scope:{ctx:n}}});let L=n[0].type!=="file"&&Xc(n),N=!n[0].toDelete&&xc(n);return{c(){e=v("form"),t=v("div"),i=v("div"),V(s.$$.fragment),l=D(),o=v("div"),V(r.$$.fragment),a=D(),u=v("div"),c&&c.c(),d=D(),m=v("div"),V(h.$$.fragment),g=D(),b=v("div"),L&&L.c(),y=D(),N&&N.c(),k=D(),T=v("input"),p(i,"class","col-sm-6"),p(o,"class","col-sm-6"),p(u,"class","col-sm-12 hidden-empty"),p(m,"class","col-sm-4 flex"),p(b,"class","col-sm-4 flex"),p(t,"class","grid"),p(T,"type","submit"),p(T,"class","hidden"),p(T,"tabindex","-1"),p(e,"class","field-form")},m(F,U){S(F,e,U),_(e,t),_(t,i),H(s,i,null),_(t,l),_(t,o),H(r,o,null),_(t,a),_(t,u),~f&&E[f].m(u,null),_(t,d),_(t,m),H(h,m,null),_(t,g),_(t,b),L&&L.m(b,null),_(t,y),N&&N.m(t,null),_(e,k),_(e,T),C=!0,M||($=[K(e,"dragstart",pC),K(e,"submit",pt(n[32]))],M=!0)},p(F,U){const J={};U[0]&1&&(J.class="form-field required "+(F[0].id?"disabled":"")),U[0]&2&&(J.name="schema."+F[1]+".type"),U[0]&1|U[1]&12288&&(J.$$scope={dirty:U,ctx:F}),s.$set(J);const ne={};U[0]&33&&(ne.class=`
|
|
||||||
form-field
|
|
||||||
required
|
|
||||||
`+(F[5]?"":"invalid")+`
|
|
||||||
`+(F[0].id&&F[0].system?"disabled":"")+`
|
|
||||||
`),U[0]&2&&(ne.name="schema."+F[1]+".name"),U[0]&33|U[1]&12288&&(ne.$$scope={dirty:U,ctx:F}),r.$set(ne);let Z=f;f=I(F),f===Z?~f&&E[f].p(F,U):(c&&(pe(),P(E[Z],1,1,()=>{E[Z]=null}),me()),~f?(c=E[f],c?c.p(F,U):(c=E[f]=O[f](F),c.c()),A(c,1),c.m(u,null)):c=null);const te={};U[0]&1|U[1]&12288&&(te.$$scope={dirty:U,ctx:F}),h.$set(te),F[0].type!=="file"?L?(L.p(F,U),U[0]&1&&A(L,1)):(L=Xc(F),L.c(),A(L,1),L.m(b,null)):L&&(pe(),P(L,1,1,()=>{L=null}),me()),F[0].toDelete?N&&(pe(),P(N,1,1,()=>{N=null}),me()):N?(N.p(F,U),U[0]&1&&A(N,1)):(N=xc(F),N.c(),A(N,1),N.m(t,null))},i(F){C||(A(s.$$.fragment,F),A(r.$$.fragment,F),A(c),A(h.$$.fragment,F),A(L),A(N),C=!0)},o(F){P(s.$$.fragment,F),P(r.$$.fragment,F),P(c),P(h.$$.fragment,F),P(L),P(N),C=!1},d(F){F&&w(e),q(s),q(r),~f&&E[f].d(),q(h),L&&L.d(),N&&N.d(),M=!1,Le($)}}}function ed(n){let e,t,i,s,l=n[0].system&&td(),o=!n[0].id&&nd(n),r=n[0].required&&id(n),a=n[0].unique&&sd();return{c(){e=v("div"),l&&l.c(),t=D(),o&&o.c(),i=D(),r&&r.c(),s=D(),a&&a.c(),p(e,"class","inline-flex")},m(u,f){S(u,e,f),l&&l.m(e,null),_(e,t),o&&o.m(e,null),_(e,i),r&&r.m(e,null),_(e,s),a&&a.m(e,null)},p(u,f){u[0].system?l||(l=td(),l.c(),l.m(e,t)):l&&(l.d(1),l=null),u[0].id?o&&(o.d(1),o=null):o?o.p(u,f):(o=nd(u),o.c(),o.m(e,i)),u[0].required?r?r.p(u,f):(r=id(u),r.c(),r.m(e,s)):r&&(r.d(1),r=null),u[0].unique?a||(a=sd(),a.c(),a.m(e,null)):a&&(a.d(1),a=null)},d(u){u&&w(e),l&&l.d(),o&&o.d(),r&&r.d(),a&&a.d()}}}function td(n){let e;return{c(){e=v("span"),e.textContent="System",p(e,"class","label label-danger")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function nd(n){let e;return{c(){e=v("span"),e.textContent="New",p(e,"class","label"),x(e,"label-warning",n[8]&&!n[0].toDelete)},m(t,i){S(t,e,i)},p(t,i){i[0]&257&&x(e,"label-warning",t[8]&&!t[0].toDelete)},d(t){t&&w(e)}}}function id(n){let e,t=gs(n[0])+"",i;return{c(){e=v("span"),i=z(t),p(e,"class","label label-success")},m(s,l){S(s,e,l),_(e,i)},p(s,l){l[0]&1&&t!==(t=gs(s[0])+"")&&re(i,t)},d(s){s&&w(e)}}}function sd(n){let e;return{c(){e=v("span"),e.textContent="Unique",p(e,"class","label label-success")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function ld(n){let e,t,i,s,l;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){S(o,e,r),i=!0,s||(l=Pe(Ye.call(null,e,{text:"Has errors",position:"left"})),s=!0)},i(o){i||(nt(()=>{t||(t=ze(e,Pt,{duration:150,start:.7},!0)),t.run(1)}),i=!0)},o(o){t||(t=ze(e,Pt,{duration:150,start:.7},!1)),t.run(0),i=!1},d(o){o&&w(e),o&&t&&t.end(),s=!1,l()}}}function od(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Restore</span>',p(e,"type","button"),p(e,"class","btn btn-sm btn-danger btn-transparent")},m(s,l){S(s,e,l),t||(i=K(e,"click",yn(n[16])),t=!0)},p:G,d(s){s&&w(e),t=!1,i()}}}function cC(n){let e,t,i,s,l,o,r=(n[0].name||"-")+"",a,u,f,c,d,m,h,g,b,y=!n[0].toDelete&&ed(n),k=n[7]&&!n[0].system&&ld(),T=n[0].toDelete&&od(n);return{c(){e=v("div"),t=v("span"),i=v("i"),l=D(),o=v("strong"),a=z(r),f=D(),y&&y.c(),c=D(),d=v("div"),m=D(),k&&k.c(),h=D(),T&&T.c(),g=Ae(),p(i,"class",s=yi(B.getFieldTypeIcon(n[0].type))+" svelte-1tpxlm5"),p(t,"class","icon field-type"),p(o,"class","title field-name svelte-1tpxlm5"),p(o,"title",u=n[0].name),x(o,"txt-strikethrough",n[0].toDelete),p(e,"class","inline-flex"),p(d,"class","flex-fill")},m(C,M){S(C,e,M),_(e,t),_(t,i),_(e,l),_(e,o),_(o,a),S(C,f,M),y&&y.m(C,M),S(C,c,M),S(C,d,M),S(C,m,M),k&&k.m(C,M),S(C,h,M),T&&T.m(C,M),S(C,g,M),b=!0},p(C,M){(!b||M[0]&1&&s!==(s=yi(B.getFieldTypeIcon(C[0].type))+" svelte-1tpxlm5"))&&p(i,"class",s),(!b||M[0]&1)&&r!==(r=(C[0].name||"-")+"")&&re(a,r),(!b||M[0]&1&&u!==(u=C[0].name))&&p(o,"title",u),(!b||M[0]&1)&&x(o,"txt-strikethrough",C[0].toDelete),C[0].toDelete?y&&(y.d(1),y=null):y?y.p(C,M):(y=ed(C),y.c(),y.m(c.parentNode,c)),C[7]&&!C[0].system?k?M[0]&129&&A(k,1):(k=ld(),k.c(),A(k,1),k.m(h.parentNode,h)):k&&(pe(),P(k,1,1,()=>{k=null}),me()),C[0].toDelete?T?T.p(C,M):(T=od(C),T.c(),T.m(g.parentNode,g)):T&&(T.d(1),T=null)},i(C){b||(A(k),b=!0)},o(C){P(k),b=!1},d(C){C&&w(e),C&&w(f),y&&y.d(C),C&&w(c),C&&w(d),C&&w(m),k&&k.d(C),C&&w(h),T&&T.d(C),C&&w(g)}}}function dC(n){let e,t;const i=[{draggable:!0},{single:!0},{interactive:n[8]},{class:n[2]||n[0].toDelete||n[0].system?"field-accordion disabled":"field-accordion"},n[11]];let s={$$slots:{header:[cC],default:[fC]},$$scope:{ctx:n}};for(let l=0;l<i.length;l+=1)s=Xe(s,i[l]);return e=new ys({props:s}),n[33](e),e.$on("expand",n[34]),e.$on("collapse",n[35]),e.$on("toggle",n[36]),e.$on("dragenter",n[37]),e.$on("dragleave",n[38]),e.$on("dragstart",n[39]),e.$on("drop",n[40]),{c(){V(e.$$.fragment)},m(l,o){H(e,l,o),t=!0},p(l,o){const r=o[0]&2309?ln(i,[i[0],i[1],o[0]&256&&{interactive:l[8]},o[0]&5&&{class:l[2]||l[0].toDelete||l[0].system?"field-accordion disabled":"field-accordion"},o[0]&2048&&Xn(l[11])]):{};o[0]&483|o[1]&8192&&(r.$$scope={dirty:o,ctx:l}),e.$set(r)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){P(e.$$.fragment,l),t=!1},d(l){n[33](null),q(e,l)}}}function gs(n){switch(n==null?void 0:n.type){case"boo
Line truncated
|
|
||||||
`),t=v("code"),t.textContent="username",i=z(` ,
|
|
||||||
`),s=v("code"),s.textContent="email",l=z(` ,
|
|
||||||
`),o=v("code"),o.textContent="emailVisibility",r=z(` ,
|
|
||||||
`),a=v("code"),a.textContent="verified",p(t,"class","txt-sm"),p(s,"class","txt-sm"),p(o,"class","txt-sm"),p(a,"class","txt-sm")},m(u,f){S(u,e,f),S(u,t,f),S(u,i,f),S(u,s,f),S(u,l,f),S(u,o,f),S(u,r,f),S(u,a,f)},d(u){u&&w(e),u&&w(t),u&&w(i),u&&w(s),u&&w(l),u&&w(o),u&&w(r),u&&w(a)}}}function ud(n,e){let t,i,s,l;function o(c){e[6](c,e[13],e[14],e[15])}function r(){return e[7](e[15])}function a(...c){return e[8](e[15],...c)}function u(...c){return e[9](e[15],...c)}let f={key:e[15],excludeNames:e[1].concat(e[4](e[13]))};return e[13]!==void 0&&(f.field=e[13]),i=new hC({props:f}),ie.push(()=>ve(i,"field",o)),i.$on("remove",r),i.$on("dragstart",a),i.$on("drop",u),{key:n,first:null,c(){t=Ae(),V(i.$$.fragment),this.first=t},m(c,d){S(c,t,d),H(i,c,d),l=!0},p(c,d){e=c;const m={};d&1&&(m.key=e[15]),d&3&&(m.excludeNames=e[1].concat(e[4](e[13]))),!s&&d&1&&(s=!0,m.field=e[13],we(()=>s=!1)),i.$set(m)},i(c){l||(A(i.$$.fragment,c),l=!0)},o(c){P(i.$$.fragment,c),l=!1},d(c){c&&w(t),q(i,c)}}}function gC(n){let e,t,i,s,l,o,r,a,u,f,c,d,m=[],h=new Map,g,b,y,k,T,C,M,$,O,E,I,L=n[0].isAuth&&ad(),N=n[0].schema;const F=U=>U[13];for(let U=0;U<N.length;U+=1){let J=rd(n,N,U),ne=F(J);h.set(ne,m[U]=ud(ne,J))}return{c(){e=v("div"),t=v("p"),i=z(`System fields:
|
|
||||||
`),s=v("code"),s.textContent="id",l=z(` ,
|
|
||||||
`),o=v("code"),o.textContent="created",r=z(` ,
|
|
||||||
`),a=v("code"),a.textContent="updated",u=D(),L&&L.c(),f=z(`
|
|
||||||
.`),c=D(),d=v("div");for(let U=0;U<m.length;U+=1)m[U].c();g=D(),b=v("div"),y=D(),k=v("button"),T=v("i"),C=D(),M=v("span"),M.textContent="New field",p(s,"class","txt-sm"),p(o,"class","txt-sm"),p(a,"class","txt-sm"),p(t,"class","txt-sm"),p(e,"class","block m-b-25"),p(d,"class","accordions"),p(b,"class","clearfix m-t-xs"),p(T,"class","ri-add-line"),p(M,"class","txt"),p(k,"type","button"),p(k,"class",$="btn btn-block "+(n[0].schema.length?"btn-transparent":"btn-secondary"))},m(U,J){S(U,e,J),_(e,t),_(t,i),_(t,s),_(t,l),_(t,o),_(t,r),_(t,a),_(t,u),L&&L.m(t,null),_(t,f),S(U,c,J),S(U,d,J);for(let ne=0;ne<m.length;ne+=1)m[ne].m(d,null);S(U,g,J),S(U,b,J),S(U,y,J),S(U,k,J),_(k,T),_(k,C),_(k,M),O=!0,E||(I=K(k,"click",n[3]),E=!0)},p(U,[J]){U[0].isAuth?L||(L=ad(),L.c(),L.m(t,f)):L&&(L.d(1),L=null),J&55&&(N=U[0].schema,pe(),m=wt(m,J,F,1,U,N,h,d,nn,ud,null,rd),me()),(!O||J&1&&$!==($="btn btn-block "+(U[0].schema.length?"btn-transparent":"btn-secondary")))&&p(k,"class",$)},i(U){if(!O){for(let J=0;J<N.length;J+=1)A(m[J]);O=!0}},o(U){for(let J=0;J<m.length;J+=1)P(m[J]);O=!1},d(U){U&&w(e),L&&L.d(),U&&w(c),U&&w(d);for(let J=0;J<m.length;J+=1)m[J].d();U&&w(g),U&&w(b),U&&w(y),U&&w(k),E=!1,I()}}}function _C(n,e){n&&(n.dataTransfer.effectAllowed="move",n.dataTransfer.dropEffect="move",n.dataTransfer.setData("text/plain",e))}function bC(n,e,t){let{collection:i=new bn}=e;const s=["id","created","updated","collectionId","collectionName","expand","true","false","null"];let l=[];function o(b){i.schema[b]&&(i.schema.splice(b,1),t(0,i))}function r(){const b=new dn({name:a()});b.onMountExpand=!0,i.schema.push(b),t(0,i)}function a(b="field"){let y="";for(;u(b+y);)++y;return b+y}function u(b){return!!i.schema.find(y=>y.name===b)}function f(b){let y=[];if(b.toDelete)return y;for(let k of i.schema)k===b||k.toDelete||y.push(k.name);return y}function c(b,y){if(!b)return;b.dataTransfer.dropEffect="move";const k=parseInt(b.dataTransfer.getData("text/plain")),T=i.schema;k<y?(T.splice(y+1,0,T[k]),T.splice(k,1)):(T.splice(y,0,T[k]),T.splice(k+1,1)),t(0,i.schema=T,i)}function d(b,y,k,T){k[T]=b,t(0,i)}const m=b=>o(b),h=(b,y)=>_C(y==null?void 0:y.detail,b),g=(b,y)=>c(y==null?void 0:y.detail,b);return n.$$set=b=>{"collection"in b&&t(0,i=b.collection)},n.$$.update=()=>{n.$$.dirty&1&&typeof i.schema>"u"&&(t(0,i=i||new bn),t(0,i.schema=[],i)),n.$$.dirty&1&&(i.isAuth?t(1,l=s.concat(["username","email","emailVisibility","verified","tokenKey","passwordHash","lastResetSentAt","lastVerificationSentAt","password","passwordConfirm","oldPassword"])):t(1,l=s.slice(0)))},[i,l,o,r,f,c,d,m,h,g]}class vC extends ke{constructor(e){super(),ye(this,e,bC,gC,be,{collection:0})}}const yC=n=>({isAdminOnly:n&256}),fd=n=>({isAdminOnly:n[8]});function kC(n){let e,t;return e=new _e({props:{class:"form-field rule-field m-0 "+(n[4]?"requied":"")+" "+(n[8]?"disabled":""),name:n[3],$$slots:{default:[DC,({uniqueId:i})=>({17:i}),({uniqueId:i})=>i?131072:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,s){H(e,i,s),t=!0},p(i,s){const l={};s&272&&(l.class="form-field rule-field m-0 "+(i[4]?"requied":"")+" "+(i[8]?"disabled":"")),s&8&&(l.name=i[3]),s&147815&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){P(e.$$.fragment,i),t=!1},d(i){q(e,i)}}}function wC(n){let e;return{c(){e=v("div"),e.innerHTML='<span class="loader"></span>',p(e,"class","txt-center")},m(t,i){S(t,e,i)},p:G,i:G,o:G,d(t){t&&w(e)}}}function SC(n){let e,t,i;return{c(){e=v("button"),e.innerHTML=`<i class="ri-lock-line"></i>
|
|
||||||
<span class="txt">Set Admins only</span>`,p(e,"type","button"),p(e,"class","btn btn-sm btn-transparent btn-hint lock-toggle svelte-1qbi6vr")},m(s,l){S(s,e,l),t||(i=K(e,"click",n[10]),t=!0)},p:G,d(s){s&&w(e),t=!1,i()}}}function TC(n){let e,t,i;return{c(){e=v("button"),e.innerHTML=`<i class="ri-lock-unlock-line"></i>
|
|
||||||
<span class="txt">Set custom rule</span>`,p(e,"type","button"),p(e,"class","btn btn-sm btn-transparent btn-success lock-toggle svelte-1qbi6vr")},m(s,l){S(s,e,l),t||(i=K(e,"click",n[9]),t=!0)},p:G,d(s){s&&w(e),t=!1,i()}}}function CC(n){let e;return{c(){e=z("Leave empty to grant everyone access.")},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function $C(n){let e,t,i,s,l;return{c(){e=z(`Only admins will be able to perform this action (
|
|
||||||
`),t=v("button"),t.textContent="unlock to change",i=z(`
|
|
||||||
).`),p(t,"type","button"),p(t,"class","link-hint")},m(o,r){S(o,e,r),S(o,t,r),S(o,i,r),s||(l=K(t,"click",n[9]),s=!0)},p:G,d(o){o&&w(e),o&&w(t),o&&w(i),s=!1,l()}}}function MC(n){let e;function t(l,o){return l[8]?$C:CC}let i=t(n),s=i(n);return{c(){e=v("p"),s.c()},m(l,o){S(l,e,o),s.m(e,null)},p(l,o){i===(i=t(l))&&s?s.p(l,o):(s.d(1),s=i(l),s&&(s.c(),s.m(e,null)))},d(l){l&&w(e),s.d()}}}function DC(n){let e,t,i,s,l=n[8]?"Admins only":"Custom rule",o,r,a,u,f,c,d,m,h;function g(E,I){return E[8]?TC:SC}let b=g(n),y=b(n);function k(E){n[13](E)}var T=n[6];function C(E){let I={id:E[17],baseCollection:E[1],disabled:E[8]};return E[0]!==void 0&&(I.value=E[0]),{props:I}}T&&(f=Kt(T,C(n)),n[12](f),ie.push(()=>ve(f,"value",k)));const M=n[11].default,$=Ft(M,n,n[14],fd),O=$||MC(n);return{c(){e=v("label"),t=v("span"),i=z(n[2]),s=z(" - "),o=z(l),r=D(),y.c(),u=D(),f&&V(f.$$.fragment),d=D(),m=v("div"),O&&O.c(),p(t,"class","txt"),p(e,"for",a=n[17]),p(m,"class","help-block")},m(E,I){S(E,e,I),_(e,t),_(t,i),_(t,s),_(t,o),_(e,r),y.m(e,null),S(E,u,I),f&&H(f,E,I),S(E,d,I),S(E,m,I),O&&O.m(m,null),h=!0},p(E,I){(!h||I&4)&&re(i,E[2]),(!h||I&256)&&l!==(l=E[8]?"Admins only":"Custom rule")&&re(o,l),b===(b=g(E))&&y?y.p(E,I):(y.d(1),y=b(E),y&&(y.c(),y.m(e,null))),(!h||I&131072&&a!==(a=E[17]))&&p(e,"for",a);const L={};if(I&131072&&(L.id=E[17]),I&2&&(L.baseCollection=E[1]),I&256&&(L.disabled=E[8]),!c&&I&1&&(c=!0,L.value=E[0],we(()=>c=!1)),T!==(T=E[6])){if(f){pe();const N=f;P(N.$$.fragment,1,0,()=>{q(N,1)}),me()}T?(f=Kt(T,C(E)),E[12](f),ie.push(()=>ve(f,"value",k)),V(f.$$.fragment),A(f.$$.fragment,1),H(f,d.parentNode,d)):f=null}else T&&f.$set(L);$?$.p&&(!h||I&16640)&&jt($,M,E,E[14],h?Rt(M,E[14],I,yC):Ht(E[14]),fd):O&&O.p&&(!h||I&256)&&O.p(E,h?I:-1)},i(E){h||(f&&A(f.$$.fragment,E),A(O,E),h=!0)},o(E){f&&P(f.$$.fragment,E),P(O,E),h=!1},d(E){E&&w(e),y.d(),E&&w(u),n[12](null),f&&q(f,E),E&&w(d),E&&w(m),O&&O.d(E)}}}function OC(n){let e,t,i,s;const l=[wC,kC],o=[];function r(a,u){return a[7]?0:1}return e=r(n),t=o[e]=l[e](n),{c(){t.c(),i=Ae()},m(a,u){o[e].m(a,u),S(a,i,u),s=!0},p(a,[u]){let f=e;e=r(a),e===f?o[e].p(a,u):(pe(),P(o[f],1,1,()=>{o[f]=null}),me(),t=o[e],t?t.p(a,u):(t=o[e]=l[e](a),t.c()),A(t,1),t.m(i.parentNode,i))},i(a){s||(A(t),s=!0)},o(a){P(t),s=!1},d(a){o[e].d(a),a&&w(i)}}}let cd;function EC(n,e,t){let i,{$$slots:s={},$$scope:l}=e,{collection:o=null}=e,{rule:r=null}=e,{label:a="Rule"}=e,{formKey:u="rule"}=e,{required:f=!1}=e,c=null,d=null,m=cd,h=!1;g();async function g(){m||h||(t(7,h=!0),t(6,m=(await ft(()=>import("./FilterAutocompleteInput-6d6a13cf.js"),["./FilterAutocompleteInput-6d6a13cf.js","./index-4934dad7.js"],import.meta.url)).default),cd=m,t(7,h=!1))}async function b(){t(0,r=d||""),await tn(),c==null||c.focus()}async function y(){d=r,t(0,r=null)}function k(C){ie[C?"unshift":"push"](()=>{c=C,t(5,c)})}function T(C){r=C,t(0,r)}return n.$$set=C=>{"collection"in C&&t(1,o=C.collection),"rule"in C&&t(0,r=C.rule),"label"in C&&t(2,a=C.label),"formKey"in C&&t(3,u=C.formKey),"required"in C&&t(4,f=C.required),"$$scope"in C&&t(14,l=C.$$scope)},n.$$.update=()=>{n.$$.dirty&1&&t(8,i=r===null)},[r,o,a,u,f,c,m,h,i,b,y,s,k,T,l]}class hs extends ke{constructor(e){super(),ye(this,e,EC,OC,be,{collection:1,rule:0,label:2,formKey:3,required:4})}}function dd(n,e,t){const i=n.slice();return i[9]=e[t],i}function pd(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,y,k,T,C,M,$,O,E,I,L,N,F,U,J,ne=n[0].schema,Z=[];for(let te=0;te<ne.length;te+=1)Z[te]=md(dd(n,ne,te));return{c(){e=v("div"),t=v("div"),i=v("div"),s=v("p"),s.textContent="The following record fields are available:",l=D(),o=v("div"),r=v("code"),r.textContent="id",a=D(),u=v("code"),u.textContent="created",f=D(),c=v("code"),c.textContent="updated",d=D();for(let te=0;te<Z.length;te+=1)Z[te].c();m=D(),h=v("hr"),g=D(),b=v("p"),b.innerHTML="The request fields could be accessed with the special <em>@request</em> filter:",y=D(),k=v("div"),k.innerHTML=`<code>@request.method</code>
|
|
||||||
<code>@request.query.*</code>
|
|
||||||
<code>@request.data.*</code>
|
|
||||||
<code>@request.auth.*</code>`,T=D(),C=v("hr"),M=D(),$=v("p"),$.innerHTML="You could also add constraints and query other collections using the <em>@collection</em> filter:",O=D(),E=v("div"),E.innerHTML="<code>@collection.ANY_COLLECTION_NAME.*</code>",I=D(),L=v("hr"),N=D(),F=v("p"),F.innerHTML=`Example rule:
|
|
||||||
<br/>
|
|
||||||
<code>@request.auth.id != "" && created > "2022-01-01 00:00:00"</code>`,p(s,"class","m-b-0"),p(o,"class","inline-flex flex-gap-5"),p(h,"class","m-t-10 m-b-5"),p(b,"class","m-b-0"),p(k,"class","inline-flex flex-gap-5"),p(C,"class","m-t-10 m-b-5"),p($,"class","m-b-0"),p(E,"class","inline-flex flex-gap-5"),p(L,"class","m-t-10 m-b-5"),p(i,"class","content"),p(t,"class","alert alert-warning m-0")},m(te,ee){S(te,e,ee),_(e,t),_(t,i),_(i,s),_(i,l),_(i,o),_(o,r),_(o,a),_(o,u),_(o,f),_(o,c),_(o,d);for(let R=0;R<Z.length;R+=1)Z[R].m(o,null);_(i,m),_(i,h),_(i,g),_(i,b),_(i,y),_(i,k),_(i,T),_(i,C),_(i,M),_(i,$),_(i,O),_(i,E),_(i,I),_(i,L),_(i,N),_(i,F),J=!0},p(te,ee){if(ee&1){ne=te[0].schema;let R;for(R=0;R<ne.length;R+=1){const X=dd(te,ne,R);Z[R]?Z[R].p(X,ee):(Z[R]=md(X),Z[R].c(),Z[R].m(o,null))}for(;R<Z.length;R+=1)Z[R].d(1);Z.length=ne.length}},i(te){J||(te&&nt(()=>{U||(U=ze(e,It,{duration:150},!0)),U.run(1)}),J=!0)},o(te){te&&(U||(U=ze(e,It,{duration:150},!1)),U.run(0)),J=!1},d(te){te&&w(e),bt(Z,te),te&&U&&U.end()}}}function AC(n){let e,t=n[9].name+"",i;return{c(){e=v("code"),i=z(t)},m(s,l){S(s,e,l),_(e,i)},p(s,l){l&1&&t!==(t=s[9].name+"")&&re(i,t)},d(s){s&&w(e)}}}function IC(n){let e,t=n[9].name+"",i,s;return{c(){e=v("code"),i=z(t),s=z(".*")},m(l,o){S(l,e,o),_(e,i),_(e,s)},p(l,o){o&1&&t!==(t=l[9].name+"")&&re(i,t)},d(l){l&&w(e)}}}function md(n){let e;function t(l,o){return l[9].type==="relation"||l[9].type==="user"?IC:AC}let i=t(n),s=i(n);return{c(){s.c(),e=Ae()},m(l,o){s.m(l,o),S(l,e,o)},p(l,o){i===(i=t(l))&&s?s.p(l,o):(s.d(1),s=i(l),s&&(s.c(),s.m(e.parentNode,e)))},d(l){s.d(l),l&&w(e)}}}function hd(n){let e,t,i,s,l;function o(a){n[8](a)}let r={label:"Manage action",formKey:"options.manageRule",collection:n[0],$$slots:{default:[PC]},$$scope:{ctx:n}};return n[0].options.manageRule!==void 0&&(r.rule=n[0].options.manageRule),i=new hs({props:r}),ie.push(()=>ve(i,"rule",o)),{c(){e=v("hr"),t=D(),V(i.$$.fragment),p(e,"class","m-t-sm m-b-sm")},m(a,u){S(a,e,u),S(a,t,u),H(i,a,u),l=!0},p(a,u){const f={};u&1&&(f.collection=a[0]),u&4096&&(f.$$scope={dirty:u,ctx:a}),!s&&u&1&&(s=!0,f.rule=a[0].options.manageRule,we(()=>s=!1)),i.$set(f)},i(a){l||(A(i.$$.fragment,a),l=!0)},o(a){P(i.$$.fragment,a),l=!1},d(a){a&&w(e),a&&w(t),q(i,a)}}}function PC(n){let e,t,i;return{c(){e=v("p"),e.textContent=`This API rule gives admin-like permissions to allow fully managing the auth record(s), eg.
|
|
||||||
changing the password without requiring to enter the old one, directly updating the verified
|
|
||||||
state or email, etc.`,t=D(),i=v("p"),i.innerHTML="This rule is executed in addition to the <code>create</code> and <code>update</code> API rules."},m(s,l){S(s,e,l),S(s,t,l),S(s,i,l)},p:G,d(s){s&&w(e),s&&w(t),s&&w(i)}}}function LC(n){var ae;let e,t,i,s,l,o=n[1]?"Hide available fields":"Show available fields",r,a,u,f,c,d,m,h,g,b,y,k,T,C,M,$,O,E,I,L,N,F,U,J,ne,Z,te,ee,R,X,Y=n[1]&&pd(n);function se(oe){n[3](oe)}let He={label:"List/Search action",formKey:"listRule",collection:n[0]};n[0].listRule!==void 0&&(He.rule=n[0].listRule),f=new hs({props:He}),ie.push(()=>ve(f,"rule",se));function Re(oe){n[4](oe)}let Fe={label:"View action",formKey:"viewRule",collection:n[0]};n[0].viewRule!==void 0&&(Fe.rule=n[0].viewRule),g=new hs({props:Fe}),ie.push(()=>ve(g,"rule",Re));function qe(oe){n[5](oe)}let ge={label:"Create action",formKey:"createRule",collection:n[0]};n[0].createRule!==void 0&&(ge.rule=n[0].createRule),C=new hs({props:ge}),ie.push(()=>ve(C,"rule",qe));function Se(oe){n[6](oe)}let Ue={label:"Update action",formKey:"updateRule",collection:n[0]};n[0].updateRule!==void 0&&(Ue.rule=n[0].updateRule),I=new hs({props:Ue}),ie.push(()=>ve(I,"rule",Se));function lt(oe){n[7](oe)}let ue={label:"Delete action",formKey:"deleteRule",collection:n[0]};n[0].deleteRule!==void 0&&(ue.rule=n[0].deleteRule),J=new hs({props:ue}),ie.push(()=>ve(J,"rule",lt));let fe=((ae=n[0])==null?void 0:ae.isAuth)&&hd(n);return{c(){e=v("div"),t=v("div"),i=v("p"),i.innerHTML=`All rules follow the
|
|
||||||
<a href="https://pocketbase.io/docs/api-rules-and-filters/" target="_blank" rel="noopener noreferrer">PocketBase filter syntax and operators
|
|
||||||
</a>.`,s=D(),l=v("button"),r=z(o),a=D(),Y&&Y.c(),u=D(),V(f.$$.fragment),d=D(),m=v("hr"),h=D(),V(g.$$.fragment),y=D(),k=v("hr"),T=D(),V(C.$$.fragment),$=D(),O=v("hr"),E=D(),V(I.$$.fragment),N=D(),F=v("hr"),U=D(),V(J.$$.fragment),Z=D(),fe&&fe.c(),te=Ae(),p(l,"type","button"),p(l,"class","expand-handle txt-sm txt-bold txt-nowrap link-hint"),p(t,"class","flex txt-sm txt-hint m-b-5"),p(e,"class","block m-b-base"),p(m,"class","m-t-sm m-b-sm"),p(k,"class","m-t-sm m-b-sm"),p(O,"class","m-t-sm m-b-sm"),p(F,"class","m-t-sm m-b-sm")},m(oe,je){S(oe,e,je),_(e,t),_(t,i),_(t,s),_(t,l),_(l,r),_(e,a),Y&&Y.m(e,null),S(oe,u,je),H(f,oe,je),S(oe,d,je),S(oe,m,je),S(oe,h,je),H(g,oe,je),S(oe,y,je),S(oe,k,je),S(oe,T,je),H(C,oe,je),S(oe,$,je),S(oe,O,je),S(oe,E,je),H(I,oe,je),S(oe,N,je),S(oe,F,je),S(oe,U,je),H(J,oe,je),S(oe,Z,je),fe&&fe.m(oe,je),S(oe,te,je),ee=!0,R||(X=K(l,"click",n[2]),R=!0)},p(oe,[je]){var it;(!ee||je&2)&&o!==(o=oe[1]?"Hide available fields":"Show available fields")&&re(r,o),oe[1]?Y?(Y.p(oe,je),je&2&&A(Y,1)):(Y=pd(oe),Y.c(),A(Y,1),Y.m(e,null)):Y&&(pe(),P(Y,1,1,()=>{Y=null}),me());const Me={};je&1&&(Me.collection=oe[0]),!c&&je&1&&(c=!0,Me.rule=oe[0].listRule,we(()=>c=!1)),f.$set(Me);const Te={};je&1&&(Te.collection=oe[0]),!b&&je&1&&(b=!0,Te.rule=oe[0].viewRule,we(()=>b=!1)),g.$set(Te);const ce={};je&1&&(ce.collection=oe[0]),!M&&je&1&&(M=!0,ce.rule=oe[0].createRule,we(()=>M=!1)),C.$set(ce);const $e={};je&1&&($e.collection=oe[0]),!L&&je&1&&(L=!0,$e.rule=oe[0].updateRule,we(()=>L=!1)),I.$set($e);const Ze={};je&1&&(Ze.collection=oe[0]),!ne&&je&1&&(ne=!0,Ze.rule=oe[0].deleteRule,we(()=>ne=!1)),J.$set(Ze),(it=oe[0])!=null&&it.isAuth?fe?(fe.p(oe,je),je&1&&A(fe,1)):(fe=hd(oe),fe.c(),A(fe,1),fe.m(te.parentNode,te)):fe&&(pe(),P(fe,1,1,()=>{fe=null}),me())},i(oe){ee||(A(Y),A(f.$$.fragment,oe),A(g.$$.fragment,oe),A(C.$$.fragment,oe),A(I.$$.fragment,oe),A(J.$$.fragment,oe),A(fe),ee=!0)},o(oe){P(Y),P(f.$$.fragment,oe),P(g.$$.fragment,oe),P(C.$$.fragment,oe),P(I.$$.fragment,oe),P(J.$$.fragment,oe),P(fe),ee=!1},d(oe){oe&&w(e),Y&&Y.d(),oe&&w(u),q(f,oe),oe&&w(d),oe&&w(m),oe&&w(h),q(g,oe),oe&&w(y),oe&&w(k),oe&&w(T),q(C,oe),oe&&w($),oe&&w(O),oe&&w(E),q(I,oe),oe&&w(N),oe&&w(F),oe&&w(U),q(J,oe),oe&&w(Z),fe&&fe.d(oe),oe&&w(te),R=!1,X()}}}function NC(n,e,t){let{collection:i=new bn}=e,s=!1;const l=()=>t(1,s=!s);function o(d){n.$$.not_equal(i.listRule,d)&&(i.listRule=d,t(0,i))}function r(d){n.$$.not_equal(i.viewRule,d)&&(i.viewRule=d,t(0,i))}function a(d){n.$$.not_equal(i.createRule,d)&&(i.createRule=d,t(0,i))}function u(d){n.$$.not_equal(i.updateRule,d)&&(i.updateRule=d,t(0,i))}function f(d){n.$$.not_equal(i.deleteRule,d)&&(i.deleteRule=d,t(0,i))}function c(d){n.$$.not_equal(i.options.manageRule,d)&&(i.options.manageRule=d,t(0,i))}return n.$$set=d=>{"collection"in d&&t(0,i=d.collection)},[i,s,l,o,r,a,u,f,c]}class FC extends ke{constructor(e){super(),ye(this,e,NC,LC,be,{collection:0})}}function RC(n){let e,t,i,s,l,o,r,a;return{c(){e=v("input"),i=D(),s=v("label"),l=z("Enable"),p(e,"type","checkbox"),p(e,"id",t=n[12]),p(s,"for",o=n[12])},m(u,f){S(u,e,f),e.checked=n[0].options.allowUsernameAuth,S(u,i,f),S(u,s,f),_(s,l),r||(a=K(e,"change",n[5]),r=!0)},p(u,f){f&4096&&t!==(t=u[12])&&p(e,"id",t),f&1&&(e.checked=u[0].options.allowUsernameAuth),f&4096&&o!==(o=u[12])&&p(s,"for",o)},d(u){u&&w(e),u&&w(i),u&&w(s),r=!1,a()}}}function jC(n){let e,t;return e=new _e({props:{class:"form-field form-field-toggle m-b-0",name:"options.allowUsernameAuth",$$slots:{default:[RC,({uniqueId:i})=>({12:i}),({uniqueId:i})=>i?4096:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,s){H(e,i,s),t=!0},p(i,s){const l={};s&12289&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){P(e.$$.fragment,i),t=!1},d(i){q(e,i)}}}function HC(n){let e;return{c(){e=v("span"),e.textContent="Disabled",p(e,"class","label")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function qC(n){let e;return{c(){e=v("span"),e.textContent="Enabled",p(e,"class","label label-success")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function gd(n){let e,t,i,s,l;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){S(o,e,r),i=!0,s||(l=Pe(Ye.call(null,e,{text:"Has errors",position:"left"})),s=!0)},i(o){i||(nt(()=>{t||(t=ze(e,Pt,{duration:150,start:.7},!0)),t.run(1)}),i=!0)},o(o){t||(t=ze(e,Pt,{duration:150,start:.7},!1)),t.run(0),i=!1},d(o){o&&w(e),o&&t&&t.end(),s=!1,l()}}}function VC(n){let e,t,i,s,l,o,r;function a(d,m){return d[0].options.allowUsernameAuth?qC:HC}let u=a(n),f=u(n),c=n[3]&&gd();return{c(){e=v("div"),e.innerHTML=`<i class="ri-user-star-line"></i>
|
|
||||||
<span class="txt">Username/Password</span>`,t=D(),i=v("div"),s=D(),f.c(),l=D(),c&&c.c(),o=Ae(),p(e,"class","inline-flex"),p(i,"class","flex-fill")},m(d,m){S(d,e,m),S(d,t,m),S(d,i,m),S(d,s,m),f.m(d,m),S(d,l,m),c&&c.m(d,m),S(d,o,m),r=!0},p(d,m){u!==(u=a(d))&&(f.d(1),f=u(d),f&&(f.c(),f.m(l.parentNode,l))),d[3]?c?m&8&&A(c,1):(c=gd(),c.c(),A(c,1),c.m(o.parentNode,o)):c&&(pe(),P(c,1,1,()=>{c=null}),me())},i(d){r||(A(c),r=!0)},o(d){P(c),r=!1},d(d){d&&w(e),d&&w(t),d&&w(i),d&&w(s),f.d(d),d&&w(l),c&&c.d(d),d&&w(o)}}}function zC(n){let e,t,i,s,l,o,r,a;return{c(){e=v("input"),i=D(),s=v("label"),l=z("Enable"),p(e,"type","checkbox"),p(e,"id",t=n[12]),p(s,"for",o=n[12])},m(u,f){S(u,e,f),e.checked=n[0].options.allowEmailAuth,S(u,i,f),S(u,s,f),_(s,l),r||(a=K(e,"change",n[6]),r=!0)},p(u,f){f&4096&&t!==(t=u[12])&&p(e,"id",t),f&1&&(e.checked=u[0].options.allowEmailAuth),f&4096&&o!==(o=u[12])&&p(s,"for",o)},d(u){u&&w(e),u&&w(i),u&&w(s),r=!1,a()}}}function _d(n){let e,t,i,s,l,o,r,a;return i=new _e({props:{class:"form-field "+(B.isEmpty(n[0].options.onlyEmailDomains)?"":"disabled"),name:"options.exceptEmailDomains",$$slots:{default:[BC,({uniqueId:u})=>({12:u}),({uniqueId:u})=>u?4096:0]},$$scope:{ctx:n}}}),o=new _e({props:{class:"form-field "+(B.isEmpty(n[0].options.exceptEmailDomains)?"":"disabled"),name:"options.onlyEmailDomains",$$slots:{default:[UC,({uniqueId:u})=>({12:u}),({uniqueId:u})=>u?4096:0]},$$scope:{ctx:n}}}),{c(){e=v("div"),t=v("div"),V(i.$$.fragment),s=D(),l=v("div"),V(o.$$.fragment),p(t,"class","col-lg-6"),p(l,"class","col-lg-6"),p(e,"class","grid grid-sm p-t-sm")},m(u,f){S(u,e,f),_(e,t),H(i,t,null),_(e,s),_(e,l),H(o,l,null),a=!0},p(u,f){const c={};f&1&&(c.class="form-field "+(B.isEmpty(u[0].options.onlyEmailDomains)?"":"disabled")),f&12289&&(c.$$scope={dirty:f,ctx:u}),i.$set(c);const d={};f&1&&(d.class="form-field "+(B.isEmpty(u[0].options.exceptEmailDomains)?"":"disabled")),f&12289&&(d.$$scope={dirty:f,ctx:u}),o.$set(d)},i(u){a||(A(i.$$.fragment,u),A(o.$$.fragment,u),u&&nt(()=>{r||(r=ze(e,It,{duration:150},!0)),r.run(1)}),a=!0)},o(u){P(i.$$.fragment,u),P(o.$$.fragment,u),u&&(r||(r=ze(e,It,{duration:150},!1)),r.run(0)),a=!1},d(u){u&&w(e),q(i),q(o),u&&r&&r.end()}}}function BC(n){let e,t,i,s,l,o,r,a,u,f,c,d,m;function h(b){n[7](b)}let g={id:n[12],disabled:!B.isEmpty(n[0].options.onlyEmailDomains)};return n[0].options.exceptEmailDomains!==void 0&&(g.value=n[0].options.exceptEmailDomains),r=new Ns({props:g}),ie.push(()=>ve(r,"value",h)),{c(){e=v("label"),t=v("span"),t.textContent="Except domains",i=D(),s=v("i"),o=D(),V(r.$$.fragment),u=D(),f=v("div"),f.textContent="Use comma as separator.",p(t,"class","txt"),p(s,"class","ri-information-line link-hint"),p(e,"for",l=n[12]),p(f,"class","help-block")},m(b,y){S(b,e,y),_(e,t),_(e,i),_(e,s),S(b,o,y),H(r,b,y),S(b,u,y),S(b,f,y),c=!0,d||(m=Pe(Ye.call(null,s,{text:`Email domains that are NOT allowed to sign up.
|
|
||||||
This field is disabled if "Only domains" is set.`,position:"top"})),d=!0)},p(b,y){(!c||y&4096&&l!==(l=b[12]))&&p(e,"for",l);const k={};y&4096&&(k.id=b[12]),y&1&&(k.disabled=!B.isEmpty(b[0].options.onlyEmailDomains)),!a&&y&1&&(a=!0,k.value=b[0].options.exceptEmailDomains,we(()=>a=!1)),r.$set(k)},i(b){c||(A(r.$$.fragment,b),c=!0)},o(b){P(r.$$.fragment,b),c=!1},d(b){b&&w(e),b&&w(o),q(r,b),b&&w(u),b&&w(f),d=!1,m()}}}function UC(n){let e,t,i,s,l,o,r,a,u,f,c,d,m;function h(b){n[8](b)}let g={id:n[12],disabled:!B.isEmpty(n[0].options.exceptEmailDomains)};return n[0].options.onlyEmailDomains!==void 0&&(g.value=n[0].options.onlyEmailDomains),r=new Ns({props:g}),ie.push(()=>ve(r,"value",h)),{c(){e=v("label"),t=v("span"),t.textContent="Only domains",i=D(),s=v("i"),o=D(),V(r.$$.fragment),u=D(),f=v("div"),f.textContent="Use comma as separator.",p(t,"class","txt"),p(s,"class","ri-information-line link-hint"),p(e,"for",l=n[12]),p(f,"class","help-block")},m(b,y){S(b,e,y),_(e,t),_(e,i),_(e,s),S(b,o,y),H(r,b,y),S(b,u,y),S(b,f,y),c=!0,d||(m=Pe(Ye.call(null,s,{text:`Email domains that are ONLY allowed to sign up.
|
|
||||||
This field is disabled if "Except domains" is set.`,position:"top"})),d=!0)},p(b,y){(!c||y&4096&&l!==(l=b[12]))&&p(e,"for",l);const k={};y&4096&&(k.id=b[12]),y&1&&(k.disabled=!B.isEmpty(b[0].options.exceptEmailDomains)),!a&&y&1&&(a=!0,k.value=b[0].options.onlyEmailDomains,we(()=>a=!1)),r.$set(k)},i(b){c||(A(r.$$.fragment,b),c=!0)},o(b){P(r.$$.fragment,b),c=!1},d(b){b&&w(e),b&&w(o),q(r,b),b&&w(u),b&&w(f),d=!1,m()}}}function WC(n){let e,t,i,s;e=new _e({props:{class:"form-field form-field-toggle m-0",name:"options.allowEmailAuth",$$slots:{default:[zC,({uniqueId:o})=>({12:o}),({uniqueId:o})=>o?4096:0]},$$scope:{ctx:n}}});let l=n[0].options.allowEmailAuth&&_d(n);return{c(){V(e.$$.fragment),t=D(),l&&l.c(),i=Ae()},m(o,r){H(e,o,r),S(o,t,r),l&&l.m(o,r),S(o,i,r),s=!0},p(o,r){const a={};r&12289&&(a.$$scope={dirty:r,ctx:o}),e.$set(a),o[0].options.allowEmailAuth?l?(l.p(o,r),r&1&&A(l,1)):(l=_d(o),l.c(),A(l,1),l.m(i.parentNode,i)):l&&(pe(),P(l,1,1,()=>{l=null}),me())},i(o){s||(A(e.$$.fragment,o),A(l),s=!0)},o(o){P(e.$$.fragment,o),P(l),s=!1},d(o){q(e,o),o&&w(t),l&&l.d(o),o&&w(i)}}}function YC(n){let e;return{c(){e=v("span"),e.textContent="Disabled",p(e,"class","label")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function KC(n){let e;return{c(){e=v("span"),e.textContent="Enabled",p(e,"class","label label-success")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function bd(n){let e,t,i,s,l;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){S(o,e,r),i=!0,s||(l=Pe(Ye.call(null,e,{text:"Has errors",position:"left"})),s=!0)},i(o){i||(nt(()=>{t||(t=ze(e,Pt,{duration:150,start:.7},!0)),t.run(1)}),i=!0)},o(o){t||(t=ze(e,Pt,{duration:150,start:.7},!1)),t.run(0),i=!1},d(o){o&&w(e),o&&t&&t.end(),s=!1,l()}}}function JC(n){let e,t,i,s,l,o,r;function a(d,m){return d[0].options.allowEmailAuth?KC:YC}let u=a(n),f=u(n),c=n[2]&&bd();return{c(){e=v("div"),e.innerHTML=`<i class="ri-mail-star-line"></i>
|
|
||||||
<span class="txt">Email/Password</span>`,t=D(),i=v("div"),s=D(),f.c(),l=D(),c&&c.c(),o=Ae(),p(e,"class","inline-flex"),p(i,"class","flex-fill")},m(d,m){S(d,e,m),S(d,t,m),S(d,i,m),S(d,s,m),f.m(d,m),S(d,l,m),c&&c.m(d,m),S(d,o,m),r=!0},p(d,m){u!==(u=a(d))&&(f.d(1),f=u(d),f&&(f.c(),f.m(l.parentNode,l))),d[2]?c?m&4&&A(c,1):(c=bd(),c.c(),A(c,1),c.m(o.parentNode,o)):c&&(pe(),P(c,1,1,()=>{c=null}),me())},i(d){r||(A(c),r=!0)},o(d){P(c),r=!1},d(d){d&&w(e),d&&w(t),d&&w(i),d&&w(s),f.d(d),d&&w(l),c&&c.d(d),d&&w(o)}}}function ZC(n){let e,t,i,s,l,o,r,a;return{c(){e=v("input"),i=D(),s=v("label"),l=z("Enable"),p(e,"type","checkbox"),p(e,"id",t=n[12]),p(s,"for",o=n[12])},m(u,f){S(u,e,f),e.checked=n[0].options.allowOAuth2Auth,S(u,i,f),S(u,s,f),_(s,l),r||(a=K(e,"change",n[9]),r=!0)},p(u,f){f&4096&&t!==(t=u[12])&&p(e,"id",t),f&1&&(e.checked=u[0].options.allowOAuth2Auth),f&4096&&o!==(o=u[12])&&p(s,"for",o)},d(u){u&&w(e),u&&w(i),u&&w(s),r=!1,a()}}}function vd(n){let e,t,i;return{c(){e=v("div"),e.innerHTML='<div class="flex p-t-base"><a href="/_/#/settings/auth-providers" target="_blank" class="btn btn-sm btn-outline"><span class="txt">Manage OAuth2 providers</span></a></div>',p(e,"class","block")},m(s,l){S(s,e,l),i=!0},i(s){i||(s&&nt(()=>{t||(t=ze(e,It,{duration:150},!0)),t.run(1)}),i=!0)},o(s){s&&(t||(t=ze(e,It,{duration:150},!1)),t.run(0)),i=!1},d(s){s&&w(e),s&&t&&t.end()}}}function GC(n){let e,t,i,s;e=new _e({props:{class:"form-field form-field-toggle m-b-0",name:"options.allowOAuth2Auth",$$slots:{default:[ZC,({uniqueId:o})=>({12:o}),({uniqueId:o})=>o?4096:0]},$$scope:{ctx:n}}});let l=n[0].options.allowOAuth2Auth&&vd();return{c(){V(e.$$.fragment),t=D(),l&&l.c(),i=Ae()},m(o,r){H(e,o,r),S(o,t,r),l&&l.m(o,r),S(o,i,r),s=!0},p(o,r){const a={};r&12289&&(a.$$scope={dirty:r,ctx:o}),e.$set(a),o[0].options.allowOAuth2Auth?l?r&1&&A(l,1):(l=vd(),l.c(),A(l,1),l.m(i.parentNode,i)):l&&(pe(),P(l,1,1,()=>{l=null}),me())},i(o){s||(A(e.$$.fragment,o),A(l),s=!0)},o(o){P(e.$$.fragment,o),P(l),s=!1},d(o){q(e,o),o&&w(t),l&&l.d(o),o&&w(i)}}}function XC(n){let e;return{c(){e=v("span"),e.textContent="Disabled",p(e,"class","label")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function xC(n){let e;return{c(){e=v("span"),e.textContent="Enabled",p(e,"class","label label-success")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function yd(n){let e,t,i,s,l;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){S(o,e,r),i=!0,s||(l=Pe(Ye.call(null,e,{text:"Has errors",position:"left"})),s=!0)},i(o){i||(nt(()=>{t||(t=ze(e,Pt,{duration:150,start:.7},!0)),t.run(1)}),i=!0)},o(o){t||(t=ze(e,Pt,{duration:150,start:.7},!1)),t.run(0),i=!1},d(o){o&&w(e),o&&t&&t.end(),s=!1,l()}}}function QC(n){let e,t,i,s,l,o,r;function a(d,m){return d[0].options.allowOAuth2Auth?xC:XC}let u=a(n),f=u(n),c=n[1]&&yd();return{c(){e=v("div"),e.innerHTML=`<i class="ri-shield-star-line"></i>
|
|
||||||
<span class="txt">OAuth2</span>`,t=D(),i=v("div"),s=D(),f.c(),l=D(),c&&c.c(),o=Ae(),p(e,"class","inline-flex"),p(i,"class","flex-fill")},m(d,m){S(d,e,m),S(d,t,m),S(d,i,m),S(d,s,m),f.m(d,m),S(d,l,m),c&&c.m(d,m),S(d,o,m),r=!0},p(d,m){u!==(u=a(d))&&(f.d(1),f=u(d),f&&(f.c(),f.m(l.parentNode,l))),d[1]?c?m&2&&A(c,1):(c=yd(),c.c(),A(c,1),c.m(o.parentNode,o)):c&&(pe(),P(c,1,1,()=>{c=null}),me())},i(d){r||(A(c),r=!0)},o(d){P(c),r=!1},d(d){d&&w(e),d&&w(t),d&&w(i),d&&w(s),f.d(d),d&&w(l),c&&c.d(d),d&&w(o)}}}function e$(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=z("Minimum password length"),s=D(),l=v("input"),p(e,"for",i=n[12]),p(l,"type","number"),p(l,"id",o=n[12]),l.required=!0,p(l,"min","6"),p(l,"max","72")},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),de(l,n[0].options.minPasswordLength),r||(a=K(l,"input",n[10]),r=!0)},p(u,f){f&4096&&i!==(i=u[12])&&p(e,"for",i),f&4096&&o!==(o=u[12])&&p(l,"id",o),f&1&&ht(l.value)!==u[0].options.minPasswordLength&&de(l,u[0].options.minPasswordLength)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function t$(n){let e,t,i,s,l,o,r,a,u,f;return{c(){e=v("input"),i=D(),s=v("label"),l=v("span"),l.textContent="Always require email",o=D(),r=v("i"),p(e,"type","checkbox"),p(e,"id",t=n[12]),p(l,"class","txt"),p(r,"class","ri-information-line txt-sm link-hint"),p(s,"for",a=n[12])},m(c,d){S(c,e,d),e.checked=n[0].options.requireEmail,S(c,i,d),S(c,s,d),_(s,l),_(s,o),_(s,r),u||(f=[K(e,"change",n[11]),Pe(Ye.call(null,r,{text:`The constraint is applied only for new records.
|
|
||||||
Also note that some OAuth2 providers (like Twitter), don't return an email and the authentication may fail if the email field is required.`,position:"right"}))],u=!0)},p(c,d){d&4096&&t!==(t=c[12])&&p(e,"id",t),d&1&&(e.checked=c[0].options.requireEmail),d&4096&&a!==(a=c[12])&&p(s,"for",a)},d(c){c&&w(e),c&&w(i),c&&w(s),u=!1,Le(f)}}}function n$(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,y;return s=new ys({props:{single:!0,$$slots:{header:[VC],default:[jC]},$$scope:{ctx:n}}}),o=new ys({props:{single:!0,$$slots:{header:[JC],default:[WC]},$$scope:{ctx:n}}}),a=new ys({props:{single:!0,$$slots:{header:[QC],default:[GC]},$$scope:{ctx:n}}}),h=new _e({props:{class:"form-field required",name:"options.minPasswordLength",$$slots:{default:[e$,({uniqueId:k})=>({12:k}),({uniqueId:k})=>k?4096:0]},$$scope:{ctx:n}}}),b=new _e({props:{class:"form-field form-field-toggle m-b-sm",name:"options.requireEmail",$$slots:{default:[t$,({uniqueId:k})=>({12:k}),({uniqueId:k})=>k?4096:0]},$$scope:{ctx:n}}}),{c(){e=v("h4"),e.textContent="Auth methods",t=D(),i=v("div"),V(s.$$.fragment),l=D(),V(o.$$.fragment),r=D(),V(a.$$.fragment),u=D(),f=v("hr"),c=D(),d=v("h4"),d.textContent="General",m=D(),V(h.$$.fragment),g=D(),V(b.$$.fragment),p(e,"class","section-title"),p(i,"class","accordions"),p(d,"class","section-title")},m(k,T){S(k,e,T),S(k,t,T),S(k,i,T),H(s,i,null),_(i,l),H(o,i,null),_(i,r),H(a,i,null),S(k,u,T),S(k,f,T),S(k,c,T),S(k,d,T),S(k,m,T),H(h,k,T),S(k,g,T),H(b,k,T),y=!0},p(k,[T]){const C={};T&8201&&(C.$$scope={dirty:T,ctx:k}),s.$set(C);const M={};T&8197&&(M.$$scope={dirty:T,ctx:k}),o.$set(M);const $={};T&8195&&($.$$scope={dirty:T,ctx:k}),a.$set($);const O={};T&12289&&(O.$$scope={dirty:T,ctx:k}),h.$set(O);const E={};T&12289&&(E.$$scope={dirty:T,ctx:k}),b.$set(E)},i(k){y||(A(s.$$.fragment,k),A(o.$$.fragment,k),A(a.$$.fragment,k),A(h.$$.fragment,k),A(b.$$.fragment,k),y=!0)},o(k){P(s.$$.fragment,k),P(o.$$.fragment,k),P(a.$$.fragment,k),P(h.$$.fragment,k),P(b.$$.fragment,k),y=!1},d(k){k&&w(e),k&&w(t),k&&w(i),q(s),q(o),q(a),k&&w(u),k&&w(f),k&&w(c),k&&w(d),k&&w(m),q(h,k),k&&w(g),q(b,k)}}}function i$(n,e,t){let i,s,l,o;Je(n,Ci,g=>t(4,o=g));let{collection:r=new bn}=e;function a(){r.options.allowUsernameAuth=this.checked,t(0,r)}function u(){r.options.allowEmailAuth=this.checked,t(0,r)}function f(g){n.$$.not_equal(r.options.exceptEmailDomains,g)&&(r.options.exceptEmailDomains=g,t(0,r))}function c(g){n.$$.not_equal(r.options.onlyEmailDomains,g)&&(r.options.onlyEmailDomains=g,t(0,r))}function d(){r.options.allowOAuth2Auth=this.checked,t(0,r)}function m(){r.options.minPasswordLength=ht(this.value),t(0,r)}function h(){r.options.requireEmail=this.checked,t(0,r)}return n.$$set=g=>{"collection"in g&&t(0,r=g.collection)},n.$$.update=()=>{var g,b,y,k;n.$$.dirty&1&&r.isAuth&&B.isEmpty(r.options)&&t(0,r.options={allowEmailAuth:!0,allowUsernameAuth:!0,allowOAuth2Auth:!0,minPasswordLength:8},r),n.$$.dirty&16&&t(2,s=!B.isEmpty((g=o==null?void 0:o.options)==null?void 0:g.allowEmailAuth)||!B.isEmpty((b=o==null?void 0:o.options)==null?void 0:b.onlyEmailDomains)||!B.isEmpty((y=o==null?void 0:o.options)==null?void 0:y.exceptEmailDomains)),n.$$.dirty&16&&t(1,l=!B.isEmpty((k=o==null?void 0:o.options)==null?void 0:k.allowOAuth2Auth))},t(3,i=!1),[r,l,s,i,o,a,u,f,c,d,m,h]}class s$ extends ke{constructor(e){super(),ye(this,e,i$,n$,be,{collection:0})}}function kd(n,e,t){const i=n.slice();return i[14]=e[t],i}function wd(n,e,t){const i=n.slice();return i[14]=e[t],i}function Sd(n){let e;return{c(){e=v("p"),e.textContent="All data associated with the removed fields will be permanently deleted!"},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function Td(n){let e,t,i,s,l=n[1].originalName+"",o,r,a,u,f,c=n[1].name+"",d;return{c(){e=v("li"),t=v("div"),i=z(`Renamed collection
|
|
||||||
`),s=v("strong"),o=z(l),r=D(),a=v("i"),u=D(),f=v("strong"),d=z(c),p(s,"class","txt-strikethrough txt-hint"),p(a,"class","ri-arrow-right-line txt-sm"),p(f,"class","txt"),p(t,"class","inline-flex")},m(m,h){S(m,e,h),_(e,t),_(t,i),_(t,s),_(s,o),_(t,r),_(t,a),_(t,u),_(t,f),_(f,d)},p(m,h){h&2&&l!==(l=m[1].originalName+"")&&re(o,l),h&2&&c!==(c=m[1].name+"")&&re(d,c)},d(m){m&&w(e)}}}function Cd(n){let e,t,i,s,l=n[14].originalName+"",o,r,a,u,f,c=n[14].name+"",d;return{c(){e=v("li"),t=v("div"),i=z(`Renamed field
|
|
||||||
`),s=v("strong"),o=z(l),r=D(),a=v("i"),u=D(),f=v("strong"),d=z(c),p(s,"class","txt-strikethrough txt-hint"),p(a,"class","ri-arrow-right-line txt-sm"),p(f,"class","txt"),p(t,"class","inline-flex")},m(m,h){S(m,e,h),_(e,t),_(t,i),_(t,s),_(s,o),_(t,r),_(t,a),_(t,u),_(t,f),_(f,d)},p(m,h){h&16&&l!==(l=m[14].originalName+"")&&re(o,l),h&16&&c!==(c=m[14].name+"")&&re(d,c)},d(m){m&&w(e)}}}function $d(n){let e,t,i,s=n[14].name+"",l,o;return{c(){e=v("li"),t=z("Removed field "),i=v("span"),l=z(s),o=D(),p(i,"class","txt-bold"),p(e,"class","txt-danger")},m(r,a){S(r,e,a),_(e,t),_(e,i),_(i,l),_(e,o)},p(r,a){a&8&&s!==(s=r[14].name+"")&&re(l,s)},d(r){r&&w(e)}}}function l$(n){let e,t,i,s,l,o,r,a,u,f,c,d,m=n[3].length&&Sd(),h=n[5]&&Td(n),g=n[4],b=[];for(let T=0;T<g.length;T+=1)b[T]=Cd(wd(n,g,T));let y=n[3],k=[];for(let T=0;T<y.length;T+=1)k[T]=$d(kd(n,y,T));return{c(){e=v("div"),t=v("div"),t.innerHTML='<i class="ri-error-warning-line"></i>',i=D(),s=v("div"),l=v("p"),l.textContent=`If any of the following changes is part of another collection rule or filter, you'll have to
|
|
||||||
update it manually!`,o=D(),m&&m.c(),r=D(),a=v("h6"),a.textContent="Changes:",u=D(),f=v("ul"),h&&h.c(),c=D();for(let T=0;T<b.length;T+=1)b[T].c();d=D();for(let T=0;T<k.length;T+=1)k[T].c();p(t,"class","icon"),p(s,"class","content txt-bold"),p(e,"class","alert alert-warning"),p(f,"class","changes-list svelte-1ghly2p")},m(T,C){S(T,e,C),_(e,t),_(e,i),_(e,s),_(s,l),_(s,o),m&&m.m(s,null),S(T,r,C),S(T,a,C),S(T,u,C),S(T,f,C),h&&h.m(f,null),_(f,c);for(let M=0;M<b.length;M+=1)b[M].m(f,null);_(f,d);for(let M=0;M<k.length;M+=1)k[M].m(f,null)},p(T,C){if(T[3].length?m||(m=Sd(),m.c(),m.m(s,null)):m&&(m.d(1),m=null),T[5]?h?h.p(T,C):(h=Td(T),h.c(),h.m(f,c)):h&&(h.d(1),h=null),C&16){g=T[4];let M;for(M=0;M<g.length;M+=1){const $=wd(T,g,M);b[M]?b[M].p($,C):(b[M]=Cd($),b[M].c(),b[M].m(f,d))}for(;M<b.length;M+=1)b[M].d(1);b.length=g.length}if(C&8){y=T[3];let M;for(M=0;M<y.length;M+=1){const $=kd(T,y,M);k[M]?k[M].p($,C):(k[M]=$d($),k[M].c(),k[M].m(f,null))}for(;M<k.length;M+=1)k[M].d(1);k.length=y.length}},d(T){T&&w(e),m&&m.d(),T&&w(r),T&&w(a),T&&w(u),T&&w(f),h&&h.d(),bt(b,T),bt(k,T)}}}function o$(n){let e;return{c(){e=v("h4"),e.textContent="Confirm collection changes"},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function r$(n){let e,t,i,s,l;return{c(){e=v("button"),e.innerHTML='<span class="txt">Cancel</span>',t=D(),i=v("button"),i.innerHTML='<span class="txt">Confirm</span>',e.autofocus=!0,p(e,"type","button"),p(e,"class","btn btn-transparent"),p(i,"type","button"),p(i,"class","btn btn-expanded")},m(o,r){S(o,e,r),S(o,t,r),S(o,i,r),e.focus(),s||(l=[K(e,"click",n[8]),K(i,"click",n[9])],s=!0)},p:G,d(o){o&&w(e),o&&w(t),o&&w(i),s=!1,Le(l)}}}function a$(n){let e,t,i={class:"confirm-changes-panel",popup:!0,$$slots:{footer:[r$],header:[o$],default:[l$]},$$scope:{ctx:n}};return e=new Bn({props:i}),n[10](e),e.$on("hide",n[11]),e.$on("show",n[12]),{c(){V(e.$$.fragment)},m(s,l){H(e,s,l),t=!0},p(s,[l]){const o={};l&524346&&(o.$$scope={dirty:l,ctx:s}),e.$set(o)},i(s){t||(A(e.$$.fragment,s),t=!0)},o(s){P(e.$$.fragment,s),t=!1},d(s){n[10](null),q(e,s)}}}function u$(n,e,t){let i,s,l;const o=$t();let r,a;async function u(y){t(1,a=y),await tn(),!i&&!s.length&&!l.length?c():r==null||r.show()}function f(){r==null||r.hide()}function c(){f(),o("confirm")}const d=()=>f(),m=()=>c();function h(y){ie[y?"unshift":"push"](()=>{r=y,t(2,r)})}function g(y){We.call(this,n,y)}function b(y){We.call(this,n,y)}return n.$$.update=()=>{n.$$.dirty&2&&t(5,i=(a==null?void 0:a.originalName)!=(a==null?void 0:a.name)),n.$$.dirty&2&&t(4,s=(a==null?void 0:a.schema.filter(y=>y.id&&!y.toDelete&&y.originalName!=y.name))||[]),n.$$.dirty&2&&t(3,l=(a==null?void 0:a.schema.filter(y=>y.id&&y.toDelete))||[])},[f,a,r,l,s,i,c,u,d,m,h,g,b]}class f$ extends ke{constructor(e){super(),ye(this,e,u$,a$,be,{show:7,hide:0})}get show(){return this.$$.ctx[7]}get hide(){return this.$$.ctx[0]}}function Md(n,e,t){const i=n.slice();return i[46]=e[t][0],i[47]=e[t][1],i}function Dd(n){let e,t,i,s;function l(r){n[32](r)}let o={};return n[2]!==void 0&&(o.collection=n[2]),t=new FC({props:o}),ie.push(()=>ve(t,"collection",l)),{c(){e=v("div"),V(t.$$.fragment),p(e,"class","tab-item active")},m(r,a){S(r,e,a),H(t,e,null),s=!0},p(r,a){const u={};!i&&a[0]&4&&(i=!0,u.collection=r[2],we(()=>i=!1)),t.$set(u)},i(r){s||(A(t.$$.fragment,r),s=!0)},o(r){P(t.$$.fragment,r),s=!1},d(r){r&&w(e),q(t)}}}function Od(n){let e,t,i,s;function l(r){n[33](r)}let o={};return n[2]!==void 0&&(o.collection=n[2]),t=new s$({props:o}),ie.push(()=>ve(t,"collection",l)),{c(){e=v("div"),V(t.$$.fragment),p(e,"class","tab-item"),x(e,"active",n[3]===Os)},m(r,a){S(r,e,a),H(t,e,null),s=!0},p(r,a){const u={};!i&&a[0]&4&&(i=!0,u.collection=r[2],we(()=>i=!1)),t.$set(u),(!s||a[0]&8)&&x(e,"active",r[3]===Os)},i(r){s||(A(t.$$.fragment,r),s=!0)},o(r){P(t.$$.fragment,r),s=!1},d(r){r&&w(e),q(t)}}}function c$(n){let e,t,i,s,l,o,r;function a(d){n[31](d)}let u={};n[2]!==void 0&&(u.collection=n[2]),i=new vC({props:u}),ie.push(()=>ve(i,"collection",a));let f=n[3]===bl&&Dd(n),c=n[2].isAuth&&Od(n);return{c(){e=v("div"),t=v("div"),V(i.$$.fragment),l=D(),f&&f.c(),o=D(),c&&c.c(),p(t,"class","tab-item"),x(t,"active",n[3]===_i),p(e,"class","tabs-content svelte-1yfp6mj")},m(d,m){S(d,e,m),_(e,t),H(i,t,null),_(e,l),f&&f.m(e,null),_(e,o),c&&c.m(e,null),r=!0},p(d,m){const h={};!s&&m[0]&4&&(s=!0,h.collection=d[2],we(()=>s=!1)),i.$set(h),(!r||m[0]&8)&&x(t,"active",d[3]===_i),d[3]===bl?f?(f.p(d,m),m[0]&8&&A(f,1)):(f=Dd(d),f.c(),A(f,1),f.m(e,o)):f&&(pe(),P(f,1,1,()=>{f=null}),me()),d[2].isAuth?c?(c.p(d,m),m[0]&4&&A(c,1)):(c=Od(d),c.c(),A(c,1),c.m(e,null)):c&&(pe(),P(c,1,1,()=>{c=null}),me())},i(d){r||(A(i.$$.fragment,d),A(f),A(c),r=!0)},o(d){P(i.$$.fragment,d),P(f),P(c),r=!1},d(d){d&&w(e),q(i),f&&f.d(),c&&c.d()}}}function Ed(n){let e,t,i,s,l,o,r;return o=new xn({props:{class:"dropdown dropdown-right m-t-5",$$slots:{default:[d$]},$$scope:{ctx:n}}}),{c(){e=v("div"),t=D(),i=v("button"),s=v("i"),l=D(),V(o.$$.fragment),p(e,"class","flex-fill"),p(s,"class","ri-more-line"
Line truncated
|
|
||||||
<span class="txt">Duplicate</span>`,t=D(),i=v("button"),i.innerHTML=`<i class="ri-delete-bin-7-line"></i>
|
|
||||||
<span class="txt">Delete</span>`,p(e,"type","button"),p(e,"class","dropdown-item closable"),p(i,"type","button"),p(i,"class","dropdown-item txt-danger closable")},m(o,r){S(o,e,r),S(o,t,r),S(o,i,r),s||(l=[K(e,"click",n[23]),K(i,"click",yn(pt(n[24])))],s=!0)},p:G,d(o){o&&w(e),o&&w(t),o&&w(i),s=!1,Le(l)}}}function Ad(n){let e,t,i,s;return i=new xn({props:{class:"dropdown dropdown-right dropdown-nowrap m-t-5",$$slots:{default:[p$]},$$scope:{ctx:n}}}),{c(){e=v("i"),t=D(),V(i.$$.fragment),p(e,"class","ri-arrow-down-s-fill")},m(l,o){S(l,e,o),S(l,t,o),H(i,l,o),s=!0},p(l,o){const r={};o[0]&68|o[1]&524288&&(r.$$scope={dirty:o,ctx:l}),i.$set(r)},i(l){s||(A(i.$$.fragment,l),s=!0)},o(l){P(i.$$.fragment,l),s=!1},d(l){l&&w(e),l&&w(t),q(i,l)}}}function Id(n){let e,t,i,s,l,o=n[47]+"",r,a,u,f,c;function d(){return n[26](n[46])}return{c(){e=v("button"),t=v("i"),s=D(),l=v("span"),r=z(o),a=z(" collection"),u=D(),p(t,"class",i=yi(B.getCollectionTypeIcon(n[46]))+" svelte-1yfp6mj"),p(l,"class","txt"),p(e,"type","button"),p(e,"class","dropdown-item closable"),x(e,"selected",n[46]==n[2].type)},m(m,h){S(m,e,h),_(e,t),_(e,s),_(e,l),_(l,r),_(l,a),_(e,u),f||(c=K(e,"click",d),f=!0)},p(m,h){n=m,h[0]&64&&i!==(i=yi(B.getCollectionTypeIcon(n[46]))+" svelte-1yfp6mj")&&p(t,"class",i),h[0]&64&&o!==(o=n[47]+"")&&re(r,o),h[0]&68&&x(e,"selected",n[46]==n[2].type)},d(m){m&&w(e),f=!1,c()}}}function p$(n){let e,t=Object.entries(n[6]),i=[];for(let s=0;s<t.length;s+=1)i[s]=Id(Md(n,t,s));return{c(){for(let s=0;s<i.length;s+=1)i[s].c();e=Ae()},m(s,l){for(let o=0;o<i.length;o+=1)i[o].m(s,l);S(s,e,l)},p(s,l){if(l[0]&131140){t=Object.entries(s[6]);let o;for(o=0;o<t.length;o+=1){const r=Md(s,t,o);i[o]?i[o].p(r,l):(i[o]=Id(r),i[o].c(),i[o].m(e.parentNode,e))}for(;o<i.length;o+=1)i[o].d(1);i.length=t.length}},d(s){bt(i,s),s&&w(e)}}}function Pd(n){let e;return{c(){e=v("div"),e.textContent="System collection",p(e,"class","help-block")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function m$(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,y=(n[6][n[2].type]||"N/A")+"",k,T,C,M,$,O,E,I,L,N=n[2].isNew&&Ad(n),F=n[2].system&&Pd();return{c(){e=v("label"),t=z("Name"),s=D(),l=v("input"),f=D(),c=v("div"),d=v("button"),m=v("span"),h=D(),g=v("span"),b=z("Type: "),k=z(y),T=D(),N&&N.c(),$=D(),F&&F.c(),O=Ae(),p(e,"for",i=n[45]),p(l,"type","text"),p(l,"id",o=n[45]),l.required=!0,l.disabled=n[12],p(l,"spellcheck","false"),l.autofocus=r=n[2].isNew,p(l,"placeholder",a=n[2].isAuth?'eg. "users"':'eg. "posts"'),l.value=u=n[2].name,p(g,"class","txt"),p(d,"type","button"),p(d,"class",C="btn btn-sm p-r-10 p-l-10 "+(n[2].isNew?"btn-secondary":"btn-transparent")),d.disabled=M=!n[2].isNew,p(c,"class","form-field-addon")},m(U,J){S(U,e,J),_(e,t),S(U,s,J),S(U,l,J),S(U,f,J),S(U,c,J),_(c,d),_(d,m),_(d,h),_(d,g),_(g,b),_(g,k),_(d,T),N&&N.m(d,null),S(U,$,J),F&&F.m(U,J),S(U,O,J),E=!0,n[2].isNew&&l.focus(),I||(L=K(l,"input",n[25]),I=!0)},p(U,J){(!E||J[1]&16384&&i!==(i=U[45]))&&p(e,"for",i),(!E||J[1]&16384&&o!==(o=U[45]))&&p(l,"id",o),(!E||J[0]&4096)&&(l.disabled=U[12]),(!E||J[0]&4&&r!==(r=U[2].isNew))&&(l.autofocus=r),(!E||J[0]&4&&a!==(a=U[2].isAuth?'eg. "users"':'eg. "posts"'))&&p(l,"placeholder",a),(!E||J[0]&4&&u!==(u=U[2].name)&&l.value!==u)&&(l.value=u),(!E||J[0]&68)&&y!==(y=(U[6][U[2].type]||"N/A")+"")&&re(k,y),U[2].isNew?N?(N.p(U,J),J[0]&4&&A(N,1)):(N=Ad(U),N.c(),A(N,1),N.m(d,null)):N&&(pe(),P(N,1,1,()=>{N=null}),me()),(!E||J[0]&4&&C!==(C="btn btn-sm p-r-10 p-l-10 "+(U[2].isNew?"btn-secondary":"btn-transparent")))&&p(d,"class",C),(!E||J[0]&4&&M!==(M=!U[2].isNew))&&(d.disabled=M),U[2].system?F||(F=Pd(),F.c(),F.m(O.parentNode,O)):F&&(F.d(1),F=null)},i(U){E||(A(N),E=!0)},o(U){P(N),E=!1},d(U){U&&w(e),U&&w(s),U&&w(l),U&&w(f),U&&w(c),N&&N.d(),U&&w($),F&&F.d(U),U&&w(O),I=!1,L()}}}function Ld(n){let e,t,i,s,l,o;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(r,a){S(r,e,a),s=!0,l||(o=Pe(t=Ye.call(null,e,n[13])),l=!0)},p(r,a){t&&zt(t.update)&&a[0]&8192&&t.update.call(null,r[13])},i(r){s||(r&&nt(()=>{i||(i=ze(e,Pt,{duration:150,start:.7},!0)),i.run(1)}),s=!0)},o(r){r&&(i||(i=ze(e,Pt,{duration:150,start:.7},!1)),i.run(0)),s=!1},d(r){r&&w(e),r&&i&&i.end(),l=!1,o()}}}function Nd(n){let e,t,i,s,l;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){S(o,e,r),i=!0,s||(l=Pe(Ye.call(null,e,"Has errors")),s=!0)},i(o){i||(o&&nt(()=>{t||(t=ze(e,Pt,{duration:150,start:.7},!0)),t.run(1)}),i=!0)},o(o){o&&(t||(t=ze(e,Pt,{duration:150,start:.7},!1)),t.run(0)),i=!1},d(o){o&&w(e),o&&t&&t.end(),s=!1,l()}}}function Fd(n){var a,u,f;let e,t,i,s=!B.isEmpty((a=n[5])==null?void 0:a.options)&&!((f=(u=n[5])==null?void 0:u.options)!=null&&f.manageRule),l,o,r=s&&Rd();return{c(){e=v("button"),t=v("span"),t.textContent="Options",i=D(),r&&r.c(),p(t,"class","txt"),p(e,"type","button"),p(e,"class","tab-item"),x(e,"active",n[3]===Os)},m(c,d){S(c,e,d),_(e,t),_(e,i),r&&r.m(e,null),l||(o=K(e,"click",n[30]),l=!0)},p(c,d){var m,h,g;d[0]&32&&(s=!B.isEmpty((m=c[5])==null?void 0:m.options)&&!((g=Line truncated
|
|
||||||
<span class="txt">New collection</span>`,p(t,"type","button"),p(t,"class","btn btn-block btn-outline"),p(e,"class","sidebar-footer")},m(l,o){S(l,e,o),_(e,t),i||(s=K(t,"click",n[12]),i=!0)},p:G,d(l){l&&w(e),i=!1,s()}}}function y$(n){let e,t,i,s,l,o,r,a,u,f,c,d=[],m=new Map,h,g,b,y,k,T,C=n[3];const M=I=>I[15].id;for(let I=0;I<C.length;I+=1){let L=Hd(n,C,I),N=M(L);m.set(N,d[I]=zd(N,L))}let $=null;C.length||($=qd(n));let O=!n[7]&&Bd(n),E={};return b=new tu({props:E}),n[13](b),b.$on("save",n[14]),{c(){e=v("aside"),t=v("header"),i=v("div"),s=v("div"),l=v("button"),l.innerHTML='<i class="ri-close-line"></i>',o=D(),r=v("input"),a=D(),u=v("hr"),f=D(),c=v("div");for(let I=0;I<d.length;I+=1)d[I].c();$&&$.c(),h=D(),O&&O.c(),g=D(),V(b.$$.fragment),p(l,"type","button"),p(l,"class","btn btn-xs btn-transparent btn-circle btn-clear"),x(l,"hidden",!n[4]),p(s,"class","form-field-addon"),p(r,"type","text"),p(r,"placeholder","Search collections..."),p(i,"class","form-field search"),x(i,"active",n[4]),p(t,"class","sidebar-header"),p(u,"class","m-t-5 m-b-xs"),p(c,"class","sidebar-content"),x(c,"fade",n[6]),x(c,"sidebar-content-compact",n[3].length>20),p(e,"class","page-sidebar collection-sidebar")},m(I,L){S(I,e,L),_(e,t),_(t,i),_(i,s),_(s,l),_(i,o),_(i,r),de(r,n[0]),_(e,a),_(e,u),_(e,f),_(e,c);for(let N=0;N<d.length;N+=1)d[N].m(c,null);$&&$.m(c,null),_(e,h),O&&O.m(e,null),S(I,g,L),H(b,I,L),y=!0,k||(T=[K(l,"click",n[10]),K(r,"input",n[11])],k=!0)},p(I,[L]){(!y||L&16)&&x(l,"hidden",!I[4]),L&1&&r.value!==I[0]&&de(r,I[0]),(!y||L&16)&&x(i,"active",I[4]),L&42&&(C=I[3],d=wt(d,L,M,1,I,C,m,c,Xi,zd,null,Hd),!C.length&&$?$.p(I,L):C.length?$&&($.d(1),$=null):($=qd(I),$.c(),$.m(c,null))),(!y||L&64)&&x(c,"fade",I[6]),(!y||L&8)&&x(c,"sidebar-content-compact",I[3].length>20),I[7]?O&&(O.d(1),O=null):O?O.p(I,L):(O=Bd(I),O.c(),O.m(e,null));const N={};b.$set(N)},i(I){y||(A(b.$$.fragment,I),y=!0)},o(I){P(b.$$.fragment,I),y=!1},d(I){I&&w(e);for(let L=0;L<d.length;L+=1)d[L].d();$&&$.d(),O&&O.d(),I&&w(g),n[13](null),q(b,I),k=!1,Le(T)}}}function k$(){setTimeout(()=>{const n=document.querySelector(".collection-sidebar .sidebar-list-item.active");n&&(n==null||n.scrollIntoView({block:"nearest"}))},0)}function w$(n,e,t){let i,s,l,o,r,a,u;Je(n,Si,k=>t(5,o=k)),Je(n,es,k=>t(9,r=k)),Je(n,Po,k=>t(6,a=k)),Je(n,Cs,k=>t(7,u=k));let f,c="";function d(k){Yt(Si,o=k,o)}const m=()=>t(0,c="");function h(){c=this.value,t(0,c)}const g=()=>f==null?void 0:f.show();function b(k){ie[k?"unshift":"push"](()=>{f=k,t(2,f)})}const y=k=>{var T;(T=k.detail)!=null&&T.isNew&&k.detail.collection&&d(k.detail.collection)};return n.$$.update=()=>{n.$$.dirty&1&&t(1,i=c.replace(/\s+/g,"").toLowerCase()),n.$$.dirty&1&&t(4,s=c!==""),n.$$.dirty&515&&t(3,l=r.filter(k=>k.id==c||k.name.replace(/\s+/g,"").toLowerCase().includes(i))),n.$$.dirty&512&&r&&k$()},[c,i,f,l,s,o,a,u,d,r,m,h,g,b,y]}class S$ extends ke{constructor(e){super(),ye(this,e,w$,y$,be,{})}}function Ud(n,e,t){const i=n.slice();return i[14]=e[t][0],i[15]=e[t][1],i}function Wd(n){n[18]=n[19].default}function Yd(n,e,t){const i=n.slice();return i[14]=e[t][0],i[15]=e[t][1],i[21]=t,i}function Kd(n){let e;return{c(){e=v("hr"),p(e,"class","m-t-sm m-b-sm")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function Jd(n,e){let t,i=e[21]===Object.keys(e[6]).length,s,l,o=e[15].label+"",r,a,u,f,c=i&&Kd();function d(){return e[9](e[14])}return{key:n,first:null,c(){t=Ae(),c&&c.c(),s=D(),l=v("button"),r=z(o),a=D(),p(l,"type","button"),p(l,"class","sidebar-item"),x(l,"active",e[5]===e[14]),this.first=t},m(m,h){S(m,t,h),c&&c.m(m,h),S(m,s,h),S(m,l,h),_(l,r),_(l,a),u||(f=K(l,"click",d),u=!0)},p(m,h){e=m,h&8&&(i=e[21]===Object.keys(e[6]).length),i?c||(c=Kd(),c.c(),c.m(s.parentNode,s)):c&&(c.d(1),c=null),h&8&&o!==(o=e[15].label+"")&&re(r,o),h&40&&x(l,"active",e[5]===e[14])},d(m){m&&w(t),c&&c.d(m),m&&w(s),m&&w(l),u=!1,f()}}}function Zd(n){let e,t,i,s={ctx:n,current:null,token:null,hasCatch:!1,pending:$$,then:C$,catch:T$,value:19,blocks:[,,,]};return su(t=n[15].component,s),{c(){e=Ae(),s.block.c()},m(l,o){S(l,e,o),s.block.m(l,s.anchor=o),s.mount=()=>e.parentNode,s.anchor=e,i=!0},p(l,o){n=l,s.ctx=n,o&8&&t!==(t=n[15].component)&&su(t,s)||Lb(s,n,o)},i(l){i||(A(s.block),i=!0)},o(l){for(let o=0;o<3;o+=1){const r=s.blocks[o];P(r)}i=!1},d(l){l&&w(e),s.block.d(l),s.token=null,s=null}}}function T$(n){return{c:G,m:G,p:G,i:G,o:G,d:G}}function C$(n){Wd(n);let e,t,i;return e=new n[18]({props:{collection:n[2]}}),{c(){V(e.$$.fragment),t=D()},m(s,l){H(e,s,l),S(s,t,l),i=!0},p(s,l){Wd(s);const o={};l&4&&(o.collection=s[2]),e.$set(o)},i(s){i||(A(e.$$.fragment,s),i=!0)},o(s){P(e.$$.fragment,s),i=!1},d(s){q(e,s),s&&w(t)}}}function $$(n){return{c:G,m:G,p:G,i:G,o:G,d:G}}function Gd(n,e){let t,i,s,l=e[5]===e[14]&&Zd(e);return{key:n,first:null,c(){t=Ae(),l&&l.c(),i=Ae(),this.first=t},m(o,r){S(o,t,r),l&&l.m(o,r),S(o,i,r),s=!0},p(o,r){e=o,e[5]===e[14]?l?(l.p(e,r),r&40&&A(l,1)):(l=Zd(e),l.c(),A(l,1),l.m(i.parentNode,i)):l&&(pe(),P(l,1,1,()=>{l=null}),me())},i(o){s||(A(l),s=!0)},o(o){P(lLine truncated
|
|
||||||
<span class="txt">Upload new file</span>`,p(t,"type","file"),p(t,"class","hidden"),t.multiple=n[5],p(s,"type","button"),p(s,"class","btn btn-transparent btn-sm btn-block"),p(e,"class","list-item list-item-btn")},m(r,a){S(r,e,a),_(e,t),n[16](t),_(e,i),_(e,s),l||(o=[K(t,"change",n[17]),K(s,"click",n[18])],l=!0)},p(r,a){a&32&&(t.multiple=r[5])},d(r){r&&w(e),n[16](null),l=!1,Le(o)}}}function z4(n){let e,t,i,s,l,o=n[3].name+"",r,a,u,f,c=[],d=new Map,m,h,g,b=n[4];const y=$=>$[25]+$[2].id;for(let $=0;$<b.length;$+=1){let O=ip(n,b,$),E=y(O);d.set(E,c[$]=sp(E,O))}let k=n[0],T=[];for(let $=0;$<k.length;$+=1)T[$]=lp(np(n,k,$));const C=$=>P(T[$],1,1,()=>{T[$]=null});let M=!n[8]&&op(n);return{c(){e=v("label"),t=v("i"),s=D(),l=v("span"),r=z(o),u=D(),f=v("div");for(let $=0;$<c.length;$+=1)c[$].c();m=D();for(let $=0;$<T.length;$+=1)T[$].c();h=D(),M&&M.c(),p(t,"class",i=B.getFieldTypeIcon(n[3].type)),p(l,"class","txt"),p(e,"for",a=n[21]),p(f,"class","list")},m($,O){S($,e,O),_(e,t),_(e,s),_(e,l),_(l,r),S($,u,O),S($,f,O);for(let E=0;E<c.length;E+=1)c[E].m(f,null);_(f,m);for(let E=0;E<T.length;E+=1)T[E].m(f,null);_(f,h),M&&M.m(f,null),n[19](f),g=!0},p($,O){if((!g||O&8&&i!==(i=B.getFieldTypeIcon($[3].type)))&&p(t,"class",i),(!g||O&8)&&o!==(o=$[3].name+"")&&re(r,o),(!g||O&2097152&&a!==(a=$[21]))&&p(e,"for",a),O&1558&&(b=$[4],pe(),c=wt(c,O,y,1,$,b,d,f,nn,sp,m,ip),me()),O&2049){k=$[0];let E;for(E=0;E<k.length;E+=1){const I=np($,k,E);T[E]?(T[E].p(I,O),A(T[E],1)):(T[E]=lp(I),T[E].c(),A(T[E],1),T[E].m(f,h))}for(pe(),E=k.length;E<T.length;E+=1)C(E);me()}$[8]?M&&(M.d(1),M=null):M?M.p($,O):(M=op($),M.c(),M.m(f,null))},i($){if(!g){for(let O=0;O<b.length;O+=1)A(c[O]);for(let O=0;O<k.length;O+=1)A(T[O]);g=!0}},o($){for(let O=0;O<c.length;O+=1)P(c[O]);T=T.filter(Boolean);for(let O=0;O<T.length;O+=1)P(T[O]);g=!1},d($){$&&w(e),$&&w(u),$&&w(f);for(let O=0;O<c.length;O+=1)c[O].d();bt(T,$),M&&M.d(),n[19](null)}}}function B4(n){let e,t;return e=new _e({props:{class:"form-field form-field-list form-field-file "+(n[3].required?"required":""),name:n[3].name,$$slots:{default:[z4,({uniqueId:i})=>({21:i}),({uniqueId:i})=>i?2097152:0]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,s){H(e,i,s),t=!0},p(i,[s]){const l={};s&8&&(l.class="form-field form-field-list form-field-file "+(i[3].required?"required":"")),s&8&&(l.name=i[3].name),s&270533119&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){P(e.$$.fragment,i),t=!1},d(i){q(e,i)}}}function U4(n,e,t){let i,s,l,{record:o}=e,{value:r=""}=e,{uploadedFiles:a=[]}=e,{deletedFileIndexes:u=[]}=e,{field:f=new dn}=e,c,d;function m(E){B.removeByValue(u,E),t(1,u)}function h(E){B.pushUnique(u,E),t(1,u)}function g(E){B.isEmpty(a[E])||a.splice(E,1),t(0,a)}function b(){d==null||d.dispatchEvent(new CustomEvent("change",{detail:{value:r,uploadedFiles:a,deletedFileIndexes:u},bubbles:!0}))}const y=E=>m(E),k=E=>h(E),T=E=>g(E);function C(E){ie[E?"unshift":"push"](()=>{c=E,t(6,c)})}const M=()=>{for(let E of c.files)a.push(E);t(0,a),t(6,c.value=null,c)},$=()=>c==null?void 0:c.click();function O(E){ie[E?"unshift":"push"](()=>{d=E,t(7,d)})}return n.$$set=E=>{"record"in E&&t(2,o=E.record),"value"in E&&t(12,r=E.value),"uploadedFiles"in E&&t(0,a=E.uploadedFiles),"deletedFileIndexes"in E&&t(1,u=E.deletedFileIndexes),"field"in E&&t(3,f=E.field)},n.$$.update=()=>{var E,I;n.$$.dirty&1&&(Array.isArray(a)||t(0,a=B.toArray(a))),n.$$.dirty&2&&(Array.isArray(u)||t(1,u=B.toArray(u))),n.$$.dirty&8&&t(5,i=((E=f.options)==null?void 0:E.maxSelect)>1),n.$$.dirty&4128&&B.isEmpty(r)&&t(12,r=i?[]:""),n.$$.dirty&4096&&t(4,s=B.toArray(r)),n.$$.dirty&27&&t(8,l=(s.length||a.length)&&((I=f.options)==null?void 0:I.maxSelect)<=s.length+a.length-u.length),n.$$.dirty&3&&(a!==-1||u!==-1)&&b()},[a,u,o,f,s,i,c,d,l,m,h,g,r,y,k,T,C,M,$,O]}class W4 extends ke{constructor(e){super(),ye(this,e,U4,B4,be,{record:2,value:12,uploadedFiles:0,deletedFileIndexes:1,field:3})}}function rp(n){return typeof n=="function"?{threshold:100,callback:n}:n||{}}function Y4(n,e){e=rp(e),e!=null&&e.callback&&e.callback();function t(i){if(!(e!=null&&e.callback))return;i.target.scrollHeight-i.target.clientHeight-i.target.scrollTop<=e.threshold&&e.callback()}return n.addEventListener("scroll",t),n.addEventListener("resize",t),{update(i){e=rp(i)},destroy(){n.removeEventListener("scroll",t),n.removeEventListener("resize",t)}}}const K4=n=>({dragging:n&2,dragover:n&4}),ap=n=>({dragging:n[1],dragover:n[2]});function J4(n){let e,t,i,s;const l=n[8].default,o=Ft(l,n,n[7],ap);return{c(){e=v("div"),o&&o.c(),p(e,"draggable",!0),p(e,"class","draggable svelte-28orm4"),x(e,"dragging",n[1]),x(e,"dragover",n[2])},m(r,a){S(r,e,a),o&&o.m(e,null),t=!0,i||(s=[K(e,"dragover",pt(n[9])),K(e,"dragleave",pt(n[10])),K(e,"dragend",n[11]),K(e,"dragstart",n[12]),K(e,"drop",n[13])],i=!0)},p(r,[a]){o&&o.p&&(!t||a&134)&&jt(o,l,r,r[7],t?Rt(l,r[7],a,K4):Ht(r[7]),ap),(!t||a&2)&&x(e,"dragging",r[1]),(!t||a&4)&&x(e,"dragover",r[2])},i(r){t||(A(o,r),t=!0)},o(r){P(o,r),t=!1},d(r)Line truncated
|
|
||||||
`),O&&O.c(),m=D(),g.c(),b=Ae(),p(s,"type","button"),p(s,"class","btn btn-transparent btn-hint p-l-sm p-r-sm"),p(e,"class","flex m-b-base flex-gap-10"),p(o,"class","list picker-list m-b-base svelte-1u8jhky"),p(c,"class","section-title")},m(N,F){S(N,e,F),H(t,e,null),_(e,i),_(e,s),S(N,l,F),S(N,o,F);for(let U=0;U<r.length;U+=1)r[U].m(o,null);$&&$.m(o,null),S(N,f,F),S(N,c,F),_(c,d),O&&O.m(c,null),S(N,m,F),I[h].m(N,F),S(N,b,F),y=!0,k||(T=[K(s,"click",n[31]),Pe(u=Y4.call(null,o,n[36]))],k=!0)},p(N,F){const U={};F[0]&4&&(U.value=N[2]),F[0]&4096&&(U.autocompleteCollection=N[12]),t.$set(U),F[0]&142252&&(C=N[3],pe(),r=wt(r,F,M,1,N,C,a,o,nn,pp,null,fp),me(),!C.length&&$?$.p(N,F):C.length?$&&($.d(1),$=null):($=cp(N),$.c(),$.m(o,null))),u&&zt(u.update)&&F[0]&1040&&u.update.call(null,N[36]),N[5]>1?O?O.p(N,F):(O=mp(N),O.c(),O.m(c,null)):O&&(O.d(1),O=null);let J=h;h=L(N),h===J?I[h].p(N,F):(pe(),P(I[J],1,1,()=>{I[J]=null}),me(),g=I[h],g?g.p(N,F):(g=I[h]=E[h](N),g.c()),A(g,1),g.m(b.parentNode,b))},i(N){if(!y){A(t.$$.fragment,N);for(let F=0;F<C.length;F+=1)A(r[F]);A(g),y=!0}},o(N){P(t.$$.fragment,N);for(let F=0;F<r.length;F+=1)P(r[F]);P(g),y=!1},d(N){N&&w(e),q(t),N&&w(l),N&&w(o);for(let F=0;F<r.length;F+=1)r[F].d();$&&$.d(),N&&w(f),N&&w(c),O&&O.d(),N&&w(m),I[h].d(N),N&&w(b),k=!1,Le(T)}}}function rM(n){var r;let e,t,i,s=(((r=n[12])==null?void 0:r.name)||"")+"",l,o;return{c(){e=v("h4"),t=z("Select "),i=v("strong"),l=z(s),o=z(" records")},m(a,u){S(a,e,u),_(e,t),_(e,i),_(i,l),_(e,o)},p(a,u){var f;u[0]&4096&&s!==(s=(((f=a[12])==null?void 0:f.name)||"")+"")&&re(l,s)},d(a){a&&w(e)}}}function aM(n){let e,t,i,s,l;return{c(){e=v("button"),e.innerHTML='<span class="txt">Cancel</span>',t=D(),i=v("button"),i.innerHTML='<span class="txt">Save selection</span>',p(e,"type","button"),p(e,"class","btn btn-transparent"),p(i,"type","button"),p(i,"class","btn")},m(o,r){S(o,e,r),S(o,t,r),S(o,i,r),s||(l=[K(e,"click",n[28]),K(i,"click",n[29])],s=!0)},p:G,d(o){o&&w(e),o&&w(t),o&&w(i),s=!1,Le(l)}}}function uM(n){let e,t,i,s;const l=[{popup:!0},{class:"overlay-panel-xl"},n[19]];let o={$$slots:{footer:[aM],header:[rM],default:[oM]},$$scope:{ctx:n}};for(let a=0;a<l.length;a+=1)o=Xe(o,l[a]);e=new Bn({props:o}),n[39](e),e.$on("hide",n[40]),e.$on("show",n[41]);let r={collection:n[12]};return i=new cb({props:r}),n[42](i),i.$on("save",n[43]),i.$on("delete",n[44]),{c(){V(e.$$.fragment),t=D(),V(i.$$.fragment)},m(a,u){H(e,a,u),S(a,t,u),H(i,a,u),s=!0},p(a,u){const f=u[0]&524288?ln(l,[l[0],l[1],Xn(a[19])]):{};u[0]&16380|u[1]&33554432&&(f.$$scope={dirty:u,ctx:a}),e.$set(f);const c={};u[0]&4096&&(c.collection=a[12]),i.$set(c)},i(a){s||(A(e.$$.fragment,a),A(i.$$.fragment,a),s=!0)},o(a){P(e.$$.fragment,a),P(i.$$.fragment,a),s=!1},d(a){n[39](null),q(e,a),a&&w(t),n[42](null),q(i,a)}}}const Or=100;function fM(n,e,t){let i,s,l,o,r,a,u,f;const c=["value","field","show","hide"];let d=At(e,c),m;Je(n,es,Te=>t(26,m=Te));const h=$t(),g="picker_"+B.randomString(5);let{value:b}=e,{field:y}=e,k,T,C="",M=[],$=[],O=1,E=0,I=!1,L=!1;function N(){return t(2,C=""),t(3,M=[]),t(6,$=[]),U(),J(!0),k==null?void 0:k.show()}function F(){return k==null?void 0:k.hide()}async function U(){const Te=B.toArray(b);if(!s||!Te.length)return;t(24,L=!0);let ce=[];const $e=Te.slice(),Ze=[];for(;$e.length>0;){const it=[];for(const Mt of $e.splice(0,Or))it.push(`id="${Mt}"`);Ze.push(he.collection(s).getFullList(Or,{filter:it.join("||"),$autoCancel:!1}))}try{await Promise.all(Ze).then(it=>{ce=ce.concat(...it)}),t(6,$=[]);for(const it of Te){const Mt=B.findByKey(ce,"id",it);Mt&&$.push(Mt)}C.trim()||t(3,M=B.filterDuplicatesByKey($.concat(M)))}catch(it){he.errorResponseHandler(it)}t(24,L=!1)}async function J(Te=!1){if(s){t(4,I=!0),Te&&(C.trim()?t(3,M=[]):t(3,M=B.toArray($).slice()));try{const ce=Te?1:O+1,$e=await he.collection(s).getList(ce,Or,{filter:C,sort:"-created",$cancelKey:g+"loadList"});t(3,M=B.filterDuplicatesByKey(M.concat($e.items))),O=$e.page,t(23,E=$e.totalItems)}catch(ce){he.errorResponseHandler(ce)}t(4,I=!1)}}function ne(Te){i==1?t(6,$=[Te]):u&&(B.pushOrReplaceByKey($,Te),t(6,$))}function Z(Te){B.removeByKey($,"id",Te.id),t(6,$)}function te(Te){f(Te)?Z(Te):ne(Te)}function ee(){var Te;i!=1?t(20,b=$.map(ce=>ce.id)):t(20,b=((Te=$==null?void 0:$[0])==null?void 0:Te.id)||""),h("save",$),F()}function R(Te){We.call(this,n,Te)}const X=()=>F(),Y=()=>ee(),se=Te=>t(2,C=Te.detail),He=()=>T==null?void 0:T.show(),Re=Te=>T==null?void 0:T.show(Te),Fe=Te=>te(Te),qe=(Te,ce)=>{(ce.code==="Enter"||ce.code==="Space")&&(ce.preventDefault(),ce.stopPropagation(),te(Te))},ge=()=>t(2,C=""),Se=()=>{a&&!I&&J()},Ue=Te=>Z(Te);function lt(Te){$=Te,t(6,$)}function ue(Te){ie[Te?"unshift":"push"](()=>{k=Te,t(1,k)})}function fe(Te){We.call(this,n,Te)}function ae(Te){We.call(this,n,Te)}function oe(Te){ie[Te?"unshift":"push"](()=>{T=Te,t(7,T)})}const je=Te=>{B.removeByKey(M,"id",Te.detail.id),M.unshift(Te.detail),t(3,M),ne(Te.detail)},Me=Te=>{B.removeByKey(M,"id",Te.detail.id),t(3,M),Z(Te.detail)};return n.$$set=Te=>{e=Xe(Xe
Line truncated
|
|
||||||
`,p(e,"class","list-item")},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function kp(n){var d;let e,t,i,s,l,o,r,a,u,f;i=new Xo({props:{record:n[13],displayFields:(d=n[2].options)==null?void 0:d.displayFields}});function c(){return n[7](n[13])}return{c(){e=v("div"),t=v("div"),V(i.$$.fragment),s=D(),l=v("div"),o=v("button"),o.innerHTML='<i class="ri-close-line"></i>',r=D(),p(t,"class","content"),p(o,"type","button"),p(o,"class","btn btn-transparent btn-hint btn-sm btn-circle btn-remove"),p(l,"class","actions"),p(e,"class","list-item")},m(m,h){S(m,e,h),_(e,t),H(i,t,null),_(e,s),_(e,l),_(l,o),_(e,r),a=!0,u||(f=[Pe(Ye.call(null,o,"Remove")),K(o,"click",c)],u=!0)},p(m,h){var b;n=m;const g={};h&8&&(g.record=n[13]),h&4&&(g.displayFields=(b=n[2].options)==null?void 0:b.displayFields),i.$set(g)},i(m){a||(A(i.$$.fragment,m),a=!0)},o(m){P(i.$$.fragment,m),a=!1},d(m){m&&w(e),q(i),u=!1,Le(f)}}}function dM(n){let e,t,i,s,l,o=n[2].name+"",r,a,u,f,c,d,m,h,g,b,y,k=n[3],T=[];for(let $=0;$<k.length;$+=1)T[$]=kp(gp(n,k,$));const C=$=>P(T[$],1,1,()=>{T[$]=null});let M=null;return k.length||(M=bp(n)),{c(){e=v("label"),t=v("i"),s=D(),l=v("span"),r=z(o),u=D(),f=v("div"),c=v("div");for(let $=0;$<T.length;$+=1)T[$].c();M&&M.c(),d=D(),m=v("div"),h=v("button"),h.innerHTML=`<i class="ri-magic-line"></i>
|
|
||||||
|
|
||||||
<span class="txt">Open picker</span>`,p(t,"class",i=yi(B.getFieldTypeIcon(n[2].type))+" svelte-1ynw0pc"),p(l,"class","txt"),p(e,"for",a=n[12]),p(c,"class","relations-list svelte-1ynw0pc"),p(h,"type","button"),p(h,"class","btn btn-transparent btn-sm btn-block"),p(m,"class","list-item list-item-btn"),p(f,"class","list")},m($,O){S($,e,O),_(e,t),_(e,s),_(e,l),_(l,r),S($,u,O),S($,f,O),_(f,c);for(let E=0;E<T.length;E+=1)T[E].m(c,null);M&&M.m(c,null),_(f,d),_(f,m),_(m,h),g=!0,b||(y=K(h,"click",n[8]),b=!0)},p($,O){if((!g||O&4&&i!==(i=yi(B.getFieldTypeIcon($[2].type))+" svelte-1ynw0pc"))&&p(t,"class",i),(!g||O&4)&&o!==(o=$[2].name+"")&&re(r,o),(!g||O&4096&&a!==(a=$[12]))&&p(e,"for",a),O&93){k=$[3];let E;for(E=0;E<k.length;E+=1){const I=gp($,k,E);T[E]?(T[E].p(I,O),A(T[E],1)):(T[E]=kp(I),T[E].c(),A(T[E],1),T[E].m(c,null))}for(pe(),E=k.length;E<T.length;E+=1)C(E);me(),!k.length&&M?M.p($,O):k.length?M&&(M.d(1),M=null):(M=bp($),M.c(),M.m(c,null))}},i($){if(!g){for(let O=0;O<k.length;O+=1)A(T[O]);g=!0}},o($){T=T.filter(Boolean);for(let O=0;O<T.length;O+=1)P(T[O]);g=!1},d($){$&&w(e),$&&w(u),$&&w(f),bt(T,$),M&&M.d(),b=!1,y()}}}function pM(n){let e,t,i,s;e=new _e({props:{class:"form-field form-field-list "+(n[2].required?"required":""),name:n[2].name,$$slots:{default:[dM,({uniqueId:o})=>({12:o}),({uniqueId:o})=>o?4096:0]},$$scope:{ctx:n}}});let l={value:n[0],field:n[2]};return i=new cM({props:l}),n[9](i),i.$on("save",n[10]),{c(){V(e.$$.fragment),t=D(),V(i.$$.fragment)},m(o,r){H(e,o,r),S(o,t,r),H(i,o,r),s=!0},p(o,[r]){const a={};r&4&&(a.class="form-field form-field-list "+(o[2].required?"required":"")),r&4&&(a.name=o[2].name),r&528415&&(a.$$scope={dirty:r,ctx:o}),e.$set(a);const u={};r&1&&(u.value=o[0]),r&4&&(u.field=o[2]),i.$set(u)},i(o){s||(A(e.$$.fragment,o),A(i.$$.fragment,o),s=!0)},o(o){P(e.$$.fragment,o),P(i.$$.fragment,o),s=!1},d(o){q(e,o),o&&w(t),n[9](null),q(i,o)}}}const wp=100;function mM(n,e,t){let i,{value:s}=e,{picker:l}=e,{field:o=new dn}=e,r=[],a=!1;u();async function u(){var k,T;const g=B.toArray(s);if(!((k=o==null?void 0:o.options)!=null&&k.collectionId)||!g.length){t(3,r=[]),t(4,a=!1);return}t(4,a=!0);const b=g.slice(),y=[];for(;b.length>0;){const C=[];for(const M of b.splice(0,wp))C.push(`id="${M}"`);y.push(he.collection((T=o==null?void 0:o.options)==null?void 0:T.collectionId).getFullList(wp,{filter:C.join("||"),$autoCancel:!1}))}try{let C=[];await Promise.all(y).then(M=>{C=C.concat(...M)});for(const M of g){const $=B.findByKey(C,"id",M);$&&r.push($)}t(3,r)}catch(C){he.errorResponseHandler(C)}t(4,a=!1)}function f(g){var b;B.removeByKey(r,"id",g.id),t(3,r),i?t(0,s=r.map(y=>y.id)):t(0,s=((b=r[0])==null?void 0:b.id)||"")}const c=g=>f(g),d=()=>l==null?void 0:l.show();function m(g){ie[g?"unshift":"push"](()=>{l=g,t(1,l)})}const h=g=>{var b;t(3,r=g.detail||[]),t(0,s=i?r.map(y=>y.id):((b=r[0])==null?void 0:b.id)||"")};return n.$$set=g=>{"value"in g&&t(0,s=g.value),"picker"in g&&t(1,l=g.picker),"field"in g&&t(2,o=g.field)},n.$$.update=()=>{var g;n.$$.dirty&4&&t(5,i=((g=o.options)==null?void 0:g.maxSelect)!=1)},[s,l,o,r,a,i,f,c,d,m,h]}class hM extends ke{constructor(e){super(),ye(this,e,mM,pM,be,{value:0,picker:1,field:2})}}const gM=["Activate","AddUndo","BeforeAddUndo","BeforeExecCommand","BeforeGetContent","BeforeRenderUI","BeforeSetContent","BeforePaste","Blur","Change","ClearUndos","Click","ContextMenu","Copy","Cut","Dblclick","Deactivate","Dirty","Drag","DragDrop","DragEnd","DragGesture","DragOver","Drop","ExecCommand","Focus","FocusIn","FocusOut","GetContent","Hide","Init","KeyDown","KeyPress","KeyUp","LoadContent","MouseDown","MouseEnter","MouseLeave","MouseMove","MouseOut","MouseOver","MouseUp","NodeChange","ObjectResizeStart","ObjectResized","ObjectSelected","Paste","PostProcess","PostRender","PreProcess","ProgressState","Redo","Remove","Reset","ResizeEditor","SaveContent","SelectionChange","SetAttrib","SetContent","Show","Submit","Undo","VisualAid"],_M=(n,e)=>{gM.forEach(t=>{n.on(t,i=>{e(t.toLowerCase(),{eventName:t,event:i,editor:n})})})};function bM(n){let e;return{c(){e=v("textarea"),p(e,"id",n[0]),Ir(e,"visibility","hidden")},m(t,i){S(t,e,i),n[18](e)},p(t,i){i&1&&p(e,"id",t[0])},d(t){t&&w(e),n[18](null)}}}function vM(n){let e;return{c(){e=v("div"),p(e,"id",n[0])},m(t,i){S(t,e,i),n[17](e)},p(t,i){i&1&&p(e,"id",t[0])},d(t){t&&w(e),n[17](null)}}}function yM(n){let e;function t(l,o){return l[1]?vM:bM}let i=t(n),s=i(n);return{c(){e=v("div"),s.c(),p(e,"class",n[2])},m(l,o){S(l,e,o),s.m(e,null),n[19](e)},p(l,[o]){i===(i=t(l))&&s?s.p(l,o):(s.d(1),s=i(l),s&&(s.c(),s.m(e,null))),o&4&&p(e,"class",l[2])},i:G,o:G,d(l){l&&w(e),s.d(),n[19](null)}}}const fb=n=>n+"_"+Math.floor(Math.random()*1e9)+String(Date.now()),kM=()=>{let n={listeners:[],scriptId:fb("tiny-script"),scriptLoaded:!1,injected:!1};const e=(i,s,l,o)=>{n.injected=!0;const r=s.createElement("script");r.referrerPolicy="origin",r.type="application/javascript",r.src=l,r.onload=()=>{o()},s.head&&s.head.appendChild(r)};return{load:(i,s,l)=>{nLine truncated
|
|
||||||
Updated: ${n[2].updated}`,position:"left"})),b=!0)},p(k,T){T[1]&8388608&&r!==(r=k[54])&&p(e,"for",r),c&&zt(c.update)&&T[0]&4&&c.update.call(null,{text:`Created: ${k[2].created}
|
|
||||||
Updated: ${k[2].updated}`,position:"left"}),T[1]&8388608&&h!==(h=k[54])&&p(m,"id",h),T[0]&4&&g!==(g=k[2].id)&&m.value!==g&&(m.value=g)},d(k){k&&w(e),k&&w(a),k&&w(u),k&&w(d),k&&w(m),b=!1,y()}}}function Dp(n){var u,f;let e,t,i,s,l;function o(c){n[29](c)}let r={collection:n[0]};n[2]!==void 0&&(r.record=n[2]),e=new q$({props:r}),ie.push(()=>ve(e,"record",o));let a=((f=(u=n[0])==null?void 0:u.schema)==null?void 0:f.length)&&Op();return{c(){V(e.$$.fragment),i=D(),a&&a.c(),s=Ae()},m(c,d){H(e,c,d),S(c,i,d),a&&a.m(c,d),S(c,s,d),l=!0},p(c,d){var h,g;const m={};d[0]&1&&(m.collection=c[0]),!t&&d[0]&4&&(t=!0,m.record=c[2],we(()=>t=!1)),e.$set(m),(g=(h=c[0])==null?void 0:h.schema)!=null&&g.length?a||(a=Op(),a.c(),a.m(s.parentNode,s)):a&&(a.d(1),a=null)},i(c){l||(A(e.$$.fragment,c),l=!0)},o(c){P(e.$$.fragment,c),l=!1},d(c){q(e,c),c&&w(i),a&&a.d(c),c&&w(s)}}}function Op(n){let e;return{c(){e=v("hr")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function xM(n){let e,t,i;function s(o){n[42](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new hM({props:l}),ie.push(()=>ve(e,"value",s)),{c(){V(e.$$.fragment)},m(o,r){H(e,o,r),i=!0},p(o,r){n=o;const a={};r[0]&1&&(a.field=n[51]),!t&&r[0]&5&&(t=!0,a.value=n[2][n[51].name],we(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){P(e.$$.fragment,o),i=!1},d(o){q(e,o)}}}function QM(n){let e,t,i,s,l;function o(f){n[39](f,n[51])}function r(f){n[40](f,n[51])}function a(f){n[41](f,n[51])}let u={field:n[51],record:n[2]};return n[2][n[51].name]!==void 0&&(u.value=n[2][n[51].name]),n[3][n[51].name]!==void 0&&(u.uploadedFiles=n[3][n[51].name]),n[4][n[51].name]!==void 0&&(u.deletedFileIndexes=n[4][n[51].name]),e=new W4({props:u}),ie.push(()=>ve(e,"value",o)),ie.push(()=>ve(e,"uploadedFiles",r)),ie.push(()=>ve(e,"deletedFileIndexes",a)),{c(){V(e.$$.fragment)},m(f,c){H(e,f,c),l=!0},p(f,c){n=f;const d={};c[0]&1&&(d.field=n[51]),c[0]&4&&(d.record=n[2]),!t&&c[0]&5&&(t=!0,d.value=n[2][n[51].name],we(()=>t=!1)),!i&&c[0]&9&&(i=!0,d.uploadedFiles=n[3][n[51].name],we(()=>i=!1)),!s&&c[0]&17&&(s=!0,d.deletedFileIndexes=n[4][n[51].name],we(()=>s=!1)),e.$set(d)},i(f){l||(A(e.$$.fragment,f),l=!0)},o(f){P(e.$$.fragment,f),l=!1},d(f){q(e,f)}}}function e5(n){let e,t,i;function s(o){n[38](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new k4({props:l}),ie.push(()=>ve(e,"value",s)),{c(){V(e.$$.fragment)},m(o,r){H(e,o,r),i=!0},p(o,r){n=o;const a={};r[0]&1&&(a.field=n[51]),!t&&r[0]&5&&(t=!0,a.value=n[2][n[51].name],we(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){P(e.$$.fragment,o),i=!1},d(o){q(e,o)}}}function t5(n){let e,t,i;function s(o){n[37](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new _4({props:l}),ie.push(()=>ve(e,"value",s)),{c(){V(e.$$.fragment)},m(o,r){H(e,o,r),i=!0},p(o,r){n=o;const a={};r[0]&1&&(a.field=n[51]),!t&&r[0]&5&&(t=!0,a.value=n[2][n[51].name],we(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){P(e.$$.fragment,o),i=!1},d(o){q(e,o)}}}function n5(n){let e,t,i;function s(o){n[36](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new p4({props:l}),ie.push(()=>ve(e,"value",s)),{c(){V(e.$$.fragment)},m(o,r){H(e,o,r),i=!0},p(o,r){n=o;const a={};r[0]&1&&(a.field=n[51]),!t&&r[0]&5&&(t=!0,a.value=n[2][n[51].name],we(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){P(e.$$.fragment,o),i=!1},d(o){q(e,o)}}}function i5(n){let e,t,i;function s(o){n[35](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new DM({props:l}),ie.push(()=>ve(e,"value",s)),{c(){V(e.$$.fragment)},m(o,r){H(e,o,r),i=!0},p(o,r){n=o;const a={};r[0]&1&&(a.field=n[51]),!t&&r[0]&5&&(t=!0,a.value=n[2][n[51].name],we(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){P(e.$$.fragment,o),i=!1},d(o){q(e,o)}}}function s5(n){let e,t,i;function s(o){n[34](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new u4({props:l}),ie.push(()=>ve(e,"value",s)),{c(){V(e.$$.fragment)},m(o,r){H(e,o,r),i=!0},p(o,r){n=o;const a={};r[0]&1&&(a.field=n[51]),!t&&r[0]&5&&(t=!0,a.value=n[2][n[51].name],we(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){P(e.$$.fragment,o),i=!1},d(o){q(e,o)}}}function l5(n){let e,t,i;function s(o){n[33](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new l4({props:l}),ie.push(()=>ve(e,"value",s)),{c(){V(e.$$.fragment)},m(o,r){H(e,o,r),i=!0},p(o,r){n=o;const a={};r[0]&1&&(a.field=n[51]),!t&&r[0]&5&&(t=!0,a.value=n[2][n[51].name],we(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){P(e.$$.fragment,o),i=!1},d(o){q(e,o)}}}function o5(n){let e,t,i;function s(o){n[32](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new t4({props:l}),ie.push(()=>ve(e,"value",s)),{c(){V(e.$$.fragment)},m(o,r){H(e,o,r),i=!0},p(o,r){n=o;const a={};
Line truncated
|
|
||||||
<span class="txt">Send verification email</span>`,p(e,"type","button"),p(e,"class","dropdown-item closable")},m(s,l){S(s,e,l),t||(i=K(e,"click",n[23]),t=!0)},p:G,d(s){s&&w(e),t=!1,i()}}}function Lp(n){let e,t,i;return{c(){e=v("button"),e.innerHTML=`<i class="ri-mail-lock-line"></i>
|
|
||||||
<span class="txt">Send password reset email</span>`,p(e,"type","button"),p(e,"class","dropdown-item closable")},m(s,l){S(s,e,l),t||(i=K(e,"click",n[24]),t=!0)},p:G,d(s){s&&w(e),t=!1,i()}}}function f5(n){let e,t,i,s,l,o,r,a=n[0].isAuth&&!n[7].verified&&n[7].email&&Pp(n),u=n[0].isAuth&&n[7].email&&Lp(n);return{c(){a&&a.c(),e=D(),u&&u.c(),t=D(),i=v("button"),i.innerHTML=`<i class="ri-file-copy-line"></i>
|
|
||||||
<span class="txt">Duplicate</span>`,s=D(),l=v("button"),l.innerHTML=`<i class="ri-delete-bin-7-line"></i>
|
|
||||||
<span class="txt">Delete</span>`,p(i,"type","button"),p(i,"class","dropdown-item closable"),p(l,"type","button"),p(l,"class","dropdown-item txt-danger closable")},m(f,c){a&&a.m(f,c),S(f,e,c),u&&u.m(f,c),S(f,t,c),S(f,i,c),S(f,s,c),S(f,l,c),o||(r=[K(i,"click",n[25]),K(l,"click",yn(pt(n[26])))],o=!0)},p(f,c){f[0].isAuth&&!f[7].verified&&f[7].email?a?a.p(f,c):(a=Pp(f),a.c(),a.m(e.parentNode,e)):a&&(a.d(1),a=null),f[0].isAuth&&f[7].email?u?u.p(f,c):(u=Lp(f),u.c(),u.m(t.parentNode,t)):u&&(u.d(1),u=null)},d(f){a&&a.d(f),f&&w(e),u&&u.d(f),f&&w(t),f&&w(i),f&&w(s),f&&w(l),o=!1,Le(r)}}}function Np(n){let e,t,i,s,l,o;return{c(){e=v("div"),t=v("button"),t.textContent="Account",i=D(),s=v("button"),s.textContent="Authorized providers",p(t,"type","button"),p(t,"class","tab-item"),x(t,"active",n[10]===Yi),p(s,"type","button"),p(s,"class","tab-item"),x(s,"active",n[10]===yl),p(e,"class","tabs-header stretched")},m(r,a){S(r,e,a),_(e,t),_(e,i),_(e,s),l||(o=[K(t,"click",n[27]),K(s,"click",n[28])],l=!0)},p(r,a){a[0]&1024&&x(t,"active",r[10]===Yi),a[0]&1024&&x(s,"active",r[10]===yl)},d(r){r&&w(e),l=!1,Le(o)}}}function c5(n){var g;let e,t=n[2].isNew?"New":"Edit",i,s,l,o=((g=n[0])==null?void 0:g.name)+"",r,a,u,f,c,d,m=!n[2].isNew&&Ip(n),h=n[0].isAuth&&!n[2].isNew&&Np(n);return{c(){e=v("h4"),i=z(t),s=D(),l=v("strong"),r=z(o),a=z(" record"),u=D(),m&&m.c(),f=D(),h&&h.c(),c=Ae()},m(b,y){S(b,e,y),_(e,i),_(e,s),_(e,l),_(l,r),_(e,a),S(b,u,y),m&&m.m(b,y),S(b,f,y),h&&h.m(b,y),S(b,c,y),d=!0},p(b,y){var k;(!d||y[0]&4)&&t!==(t=b[2].isNew?"New":"Edit")&&re(i,t),(!d||y[0]&1)&&o!==(o=((k=b[0])==null?void 0:k.name)+"")&&re(r,o),b[2].isNew?m&&(pe(),P(m,1,1,()=>{m=null}),me()):m?(m.p(b,y),y[0]&4&&A(m,1)):(m=Ip(b),m.c(),A(m,1),m.m(f.parentNode,f)),b[0].isAuth&&!b[2].isNew?h?h.p(b,y):(h=Np(b),h.c(),h.m(c.parentNode,c)):h&&(h.d(1),h=null)},i(b){d||(A(m),d=!0)},o(b){P(m),d=!1},d(b){b&&w(e),b&&w(u),m&&m.d(b),b&&w(f),h&&h.d(b),b&&w(c)}}}function d5(n){let e,t,i,s,l,o=n[2].isNew?"Create":"Save changes",r,a,u,f;return{c(){e=v("button"),t=v("span"),t.textContent="Cancel",i=D(),s=v("button"),l=v("span"),r=z(o),p(t,"class","txt"),p(e,"type","button"),p(e,"class","btn btn-transparent"),e.disabled=n[8],p(l,"class","txt"),p(s,"type","submit"),p(s,"form",n[13]),p(s,"class","btn btn-expanded"),s.disabled=a=!n[11]||n[8],x(s,"btn-loading",n[8])},m(c,d){S(c,e,d),_(e,t),S(c,i,d),S(c,s,d),_(s,l),_(l,r),u||(f=K(e,"click",n[22]),u=!0)},p(c,d){d[0]&256&&(e.disabled=c[8]),d[0]&4&&o!==(o=c[2].isNew?"Create":"Save changes")&&re(r,o),d[0]&2304&&a!==(a=!c[11]||c[8])&&(s.disabled=a),d[0]&256&&x(s,"btn-loading",c[8])},d(c){c&&w(e),c&&w(i),c&&w(s),u=!1,f()}}}function p5(n){var s;let e,t,i={class:`
|
|
||||||
record-panel
|
|
||||||
`+(n[12]?"overlay-panel-xl":"overlay-panel-lg")+`
|
|
||||||
`+((s=n[0])!=null&&s.isAuth&&!n[2].isNew?"colored-header":"")+`
|
|
||||||
`,beforeHide:n[43],$$slots:{footer:[d5],header:[c5],default:[u5]},$$scope:{ctx:n}};return e=new Bn({props:i}),n[44](e),e.$on("hide",n[45]),e.$on("show",n[46]),{c(){V(e.$$.fragment)},m(l,o){H(e,l,o),t=!0},p(l,o){var a;const r={};o[0]&4101&&(r.class=`
|
|
||||||
record-panel
|
|
||||||
`+(l[12]?"overlay-panel-xl":"overlay-panel-lg")+`
|
|
||||||
`+((a=l[0])!=null&&a.isAuth&&!l[2].isNew?"colored-header":"")+`
|
|
||||||
`),o[0]&544&&(r.beforeHide=l[43]),o[0]&3485|o[1]&16777216&&(r.$$scope={dirty:o,ctx:l}),e.$set(r)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){P(e.$$.fragment,l),t=!1},d(l){n[44](null),q(e,l)}}}const Yi="form",yl="providers";function Fp(n){return JSON.stringify(n)}function m5(n,e,t){let i,s,l,o;const r=$t(),a="record_"+B.randomString(5);let{collection:u}=e,f,c=null,d=new Ki,m=!1,h=!1,g={},b={},y="",k=Yi;function T(ce){return M(ce),t(9,h=!0),t(10,k=Yi),f==null?void 0:f.show()}function C(){return f==null?void 0:f.hide()}async function M(ce){Vn({}),t(7,c=ce||{}),ce!=null&&ce.clone?t(2,d=ce.clone()):t(2,d=new Ki),t(3,g={}),t(4,b={}),await tn(),t(20,y=Fp(d))}function $(){if(m||!o||!(u!=null&&u.id))return;t(8,m=!0);const ce=E();let $e;d.isNew?$e=he.collection(u.id).create(ce):$e=he.collection(u.id).update(d.id,ce),$e.then(Ze=>{Vt(d.isNew?"Successfully created record.":"Successfully updated record."),t(9,h=!1),C(),r("save",Ze)}).catch(Ze=>{he.errorResponseHandler(Ze)}).finally(()=>{t(8,m=!1)})}function O(){c!=null&&c.id&&fn("Do you really want to delete the selected record?",()=>he.collection(c.collectionId).delete(c.id).then(()=>{C(),Vt("Successfully deleted record."),r("delete",c)}).catch(ce=>{he.errorResponseHandler(ce)}))}function E(){const ce=(d==null?void 0:d.export())||{},$e=new FormData,Ze={};for(const it of(u==null?void 0:u.schema)||[])Ze[it.name]=!0;u!=null&&u.isAuth&&(Ze.username=!0,Ze.email=!0,Ze.emailVisibility=!0,Ze.password=!0,Ze.passwordConfirm=!0,Ze.verified=!0);for(const it in ce)Ze[it]&&(typeof ce[it]>"u"&&(ce[it]=null),B.addValueToFormData($e,it,ce[it]));for(const it in g){const Mt=B.toArray(g[it]);for(const ot of Mt)$e.append(it,ot)}for(const it in b){const Mt=B.toArray(b[it]);for(const ot of Mt)$e.append(it+"."+ot,"")}return $e}function I(){!(u!=null&&u.id)||!(c!=null&&c.email)||fn(`Do you really want to sent verification email to ${c.email}?`,()=>he.collection(u.id).requestVerification(c.email).then(()=>{Vt(`Successfully sent verification email to ${c.email}.`)}).catch(ce=>{he.errorResponseHandler(ce)}))}function L(){!(u!=null&&u.id)||!(c!=null&&c.email)||fn(`Do you really want to sent password reset email to ${c.email}?`,()=>he.collection(u.id).requestPasswordReset(c.email).then(()=>{Vt(`Successfully sent password reset email to ${c.email}.`)}).catch(ce=>{he.errorResponseHandler(ce)}))}function N(){l?fn("You have unsaved changes. Do you really want to discard them?",()=>{F()}):F()}async function F(){const ce=c==null?void 0:c.clone();if(ce){ce.id="",ce.created="",ce.updated="";const $e=(u==null?void 0:u.schema)||[];for(const Ze of $e)Ze.type==="file"&&delete ce[Ze.name]}T(ce),await tn(),t(20,y="")}const U=()=>C(),J=()=>I(),ne=()=>L(),Z=()=>N(),te=()=>O(),ee=()=>t(10,k=Yi),R=()=>t(10,k=yl);function X(ce){d=ce,t(2,d)}function Y(ce,$e){n.$$.not_equal(d[$e.name],ce)&&(d[$e.name]=ce,t(2,d))}function se(ce,$e){n.$$.not_equal(d[$e.name],ce)&&(d[$e.name]=ce,t(2,d))}function He(ce,$e){n.$$.not_equal(d[$e.name],ce)&&(d[$e.name]=ce,t(2,d))}function Re(ce,$e){n.$$.not_equal(d[$e.name],ce)&&(d[$e.name]=ce,t(2,d))}function Fe(ce,$e){n.$$.not_equal(d[$e.name],ce)&&(d[$e.name]=ce,t(2,d))}function qe(ce,$e){n.$$.not_equal(d[$e.name],ce)&&(d[$e.name]=ce,t(2,d))}function ge(ce,$e){n.$$.not_equal(d[$e.name],ce)&&(d[$e.name]=ce,t(2,d))}function Se(ce,$e){n.$$.not_equal(d[$e.name],ce)&&(d[$e.name]=ce,t(2,d))}function Ue(ce,$e){n.$$.not_equal(d[$e.name],ce)&&(d[$e.name]=ce,t(2,d))}function lt(ce,$e){n.$$.not_equal(d[$e.name],ce)&&(d[$e.name]=ce,t(2,d))}function ue(ce,$e){n.$$.not_equal(g[$e.name],ce)&&(g[$e.name]=ce,t(3,g))}function fe(ce,$e){n.$$.not_equal(b[$e.name],ce)&&(b[$e.name]=ce,t(4,b))}function ae(ce,$e){n.$$.not_equal(d[$e.name],ce)&&(d[$e.name]=ce,t(2,d))}const oe=()=>l&&h?(fn("You have unsaved changes. Do you really want to close the panel?",()=>{t(9,h=!1),C()}),!1):(Vn({}),!0);function je(ce){ie[ce?"unshift":"push"](()=>{f=ce,t(6,f)})}function Me(ce){We.call(this,n,ce)}function Te(ce){We.call(this,n,ce)}return n.$$set=ce=>{"collection"in ce&&t(0,u=ce.collection)},n.$$.update=()=>{var ce;n.$$.dirty[0]&1&&t(12,i=!!((ce=u==null?void 0:u.schema)!=null&&ce.find($e=>$e.type==="editor"))),n.$$.dirty[0]&24&&t(21,s=B.hasNonEmptyProps(g)||B.hasNonEmptyProps(b)),n.$$.dirty[0]&3145732&&t(5,l=s||y!=Fp(d)),n.$$.dirty[0]&36&&t(11,o=d.isNew||l)},[u,C,d,g,b,l,f,c,m,h,k,o,i,a,$,O,I,L,N,T,y,s,U,J,ne,Z,te,ee,R,X,Y,se,He,Re,Fe,qe,ge,Se,Ue,lt,ue,fe,ae,oe,je,Me,Te]}class cb extends ke{constructor(e){super(),ye(this,e,m5,p5,be,{collection:0,show:19,hide:1},null,[-1,-1])}get show(){return this.$$.ctx[19]}get hide(){return this.$$.ctx[1]}}function h5(n){let e,t,i,s,l;return{c(){e=v("i"),p(e,"class",t=n[2]?n[1]:n[0])},m(o,r){S(o,e,r),s||(l=[Pe(i=Ye.call(null,e,n[2]?"":"Copy")),K(e,"click",yn(n[3]))],s=!0)},p(o,[r]){r&7&&t!==(t=o[2]?o[1]:o[0])&&p(e,"class",t),i&&zt(i.update)&&r&4&&i.update.call(null,o[2]?"":"Copy")},i:G,o:G,d(o){o&&w(e),s=!1,Le(l)}}}function g5(n,e,t){let{value:i=""}=e,{idleClasses:s="ri-file-copy-line txt-sm l
Line truncated
|
|
||||||
`},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function U5(n){let e,t,i;return{c(){e=v("button"),e.innerHTML=`<i class="ri-add-line"></i>
|
|
||||||
<span class="txt">New record</span>`,p(e,"type","button"),p(e,"class","btn btn-secondary btn-expanded m-t-sm")},m(s,l){S(s,e,l),t||(i=K(e,"click",n[38]),t=!0)},p:G,d(s){s&&w(e),t=!1,i()}}}function W5(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Clear filters</span>',p(e,"type","button"),p(e,"class","btn btn-hint btn-expanded m-t-sm")},m(s,l){S(s,e,l),t||(i=K(e,"click",n[37]),t=!0)},p:G,d(s){s&&w(e),t=!1,i()}}}function sm(n){let e,t,i,s,l,o,r=n[53].id+"",a,u,f;s=new db({props:{value:n[53].id}});let c=n[2].isAuth&&lm(n);return{c(){e=v("td"),t=v("div"),i=v("div"),V(s.$$.fragment),l=D(),o=v("div"),a=z(r),u=D(),c&&c.c(),p(o,"class","txt"),p(i,"class","label"),p(t,"class","flex flex-gap-5"),p(e,"class","col-type-text col-field-id")},m(d,m){S(d,e,m),_(e,t),_(t,i),H(s,i,null),_(i,l),_(i,o),_(o,a),_(t,u),c&&c.m(t,null),f=!0},p(d,m){const h={};m[0]&16&&(h.value=d[53].id),s.$set(h),(!f||m[0]&16)&&r!==(r=d[53].id+"")&&re(a,r),d[2].isAuth?c?c.p(d,m):(c=lm(d),c.c(),c.m(t,null)):c&&(c.d(1),c=null)},i(d){f||(A(s.$$.fragment,d),f=!0)},o(d){P(s.$$.fragment,d),f=!1},d(d){d&&w(e),q(s),c&&c.d()}}}function lm(n){let e;function t(l,o){return l[53].verified?K5:Y5}let i=t(n),s=i(n);return{c(){s.c(),e=Ae()},m(l,o){s.m(l,o),S(l,e,o)},p(l,o){i!==(i=t(l))&&(s.d(1),s=i(l),s&&(s.c(),s.m(e.parentNode,e)))},d(l){s.d(l),l&&w(e)}}}function Y5(n){let e,t,i;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-sm txt-hint")},m(s,l){S(s,e,l),t||(i=Pe(Ye.call(null,e,"Unverified")),t=!0)},d(s){s&&w(e),t=!1,i()}}}function K5(n){let e,t,i;return{c(){e=v("i"),p(e,"class","ri-checkbox-circle-fill txt-sm txt-success")},m(s,l){S(s,e,l),t||(i=Pe(Ye.call(null,e,"Verified")),t=!0)},d(s){s&&w(e),t=!1,i()}}}function om(n){let e=!n[7].includes("@username"),t,i=!n[7].includes("@email"),s,l=e&&rm(n),o=i&&am(n);return{c(){l&&l.c(),t=D(),o&&o.c(),s=Ae()},m(r,a){l&&l.m(r,a),S(r,t,a),o&&o.m(r,a),S(r,s,a)},p(r,a){a[0]&128&&(e=!r[7].includes("@username")),e?l?l.p(r,a):(l=rm(r),l.c(),l.m(t.parentNode,t)):l&&(l.d(1),l=null),a[0]&128&&(i=!r[7].includes("@email")),i?o?o.p(r,a):(o=am(r),o.c(),o.m(s.parentNode,s)):o&&(o.d(1),o=null)},d(r){l&&l.d(r),r&&w(t),o&&o.d(r),r&&w(s)}}}function rm(n){let e,t;function i(o,r){return r[0]&16&&(t=null),t==null&&(t=!!B.isEmpty(o[53].username)),t?Z5:J5}let s=i(n,[-1,-1]),l=s(n);return{c(){e=v("td"),l.c(),p(e,"class","col-type-text col-field-username")},m(o,r){S(o,e,r),l.m(e,null)},p(o,r){s===(s=i(o,r))&&l?l.p(o,r):(l.d(1),l=s(o),l&&(l.c(),l.m(e,null)))},d(o){o&&w(e),l.d()}}}function J5(n){let e,t=n[53].username+"",i,s;return{c(){e=v("span"),i=z(t),p(e,"class","txt txt-ellipsis"),p(e,"title",s=n[53].username)},m(l,o){S(l,e,o),_(e,i)},p(l,o){o[0]&16&&t!==(t=l[53].username+"")&&re(i,t),o[0]&16&&s!==(s=l[53].username)&&p(e,"title",s)},d(l){l&&w(e)}}}function Z5(n){let e;return{c(){e=v("span"),e.textContent="N/A",p(e,"class","txt-hint")},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function am(n){let e,t;function i(o,r){return r[0]&16&&(t=null),t==null&&(t=!!B.isEmpty(o[53].email)),t?X5:G5}let s=i(n,[-1,-1]),l=s(n);return{c(){e=v("td"),l.c(),p(e,"class","col-type-text col-field-email")},m(o,r){S(o,e,r),l.m(e,null)},p(o,r){s===(s=i(o,r))&&l?l.p(o,r):(l.d(1),l=s(o),l&&(l.c(),l.m(e,null)))},d(o){o&&w(e),l.d()}}}function G5(n){let e,t=n[53].email+"",i,s;return{c(){e=v("span"),i=z(t),p(e,"class","txt txt-ellipsis"),p(e,"title",s=n[53].email)},m(l,o){S(l,e,o),_(e,i)},p(l,o){o[0]&16&&t!==(t=l[53].email+"")&&re(i,t),o[0]&16&&s!==(s=l[53].email)&&p(e,"title",s)},d(l){l&&w(e)}}}function X5(n){let e;return{c(){e=v("span"),e.textContent="N/A",p(e,"class","txt-hint")},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function um(n,e){let t,i,s;return i=new P5({props:{record:e[53],field:e[56]}}),{key:n,first:null,c(){t=Ae(),V(i.$$.fragment),this.first=t},m(l,o){S(l,t,o),H(i,l,o),s=!0},p(l,o){e=l;const r={};o[0]&16&&(r.record=e[53]),o[0]&65536&&(r.field=e[56]),i.$set(r)},i(l){s||(A(i.$$.fragment,l),s=!0)},o(l){P(i.$$.fragment,l),s=!1},d(l){l&&w(t),q(i,l)}}}function fm(n){let e,t,i;return t=new Zi({props:{date:n[53].created}}),{c(){e=v("td"),V(t.$$.fragment),p(e,"class","col-type-date col-field-created")},m(s,l){S(s,e,l),H(t,e,null),i=!0},p(s,l){const o={};l[0]&16&&(o.date=s[53].created),t.$set(o)},i(s){i||(A(t.$$.fragment,s),i=!0)},o(s){P(t.$$.fragment,s),i=!1},d(s){s&&w(e),q(t)}}}function cm(n){let e,t,i;return t=new Zi({props:{date:n[53].updated}}),{c(){e=v("td"),V(t.$$.fragment),p(e,"class","col-type-date col-field-updated")},m(s,l){S(s,e,l),H(t,e,null),i=!0},p(s,l){const o={};l[0]&16&&(o.date=s[53].updated),t.$set(o)},i(s){i||(A(t.$$.fragment,s),i=!0)},o(s){P(t.$$.fragment,s),i=!1},d(s){s&&w(e),q(t)}}}function dm(n,e){let t,i,s,l,o,r,a,u,f,c,d=!e[7].includes("@id"),m,h,g=[],b=new Map,y,k=!e[7].includes("@created"),T,C=!e[7].includes("@updated"),M,$,O,E,I,L;function N(){return e[34](e[53])}let F=d&&sm(e),U=e[2].isAuth&&om(e),J=e[16];const ne=X=>X[56].name;for(let X=0;X<J.length;X+=1){let Y=Kp(e,J,X),se=ne(Y);b.sLine truncated
|
|
||||||
<span class="txt">API Preview</span>`,g=D(),b=v("button"),b.innerHTML=`<i class="ri-add-line"></i>
|
|
||||||
<span class="txt">New record</span>`,y=D(),V(k.$$.fragment),T=D(),C=v("div"),M=D(),V($.$$.fragment),p(i,"class","breadcrumb-item"),p(l,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(u,"class","inline-flex gap-5"),p(h,"type","button"),p(h,"class","btn btn-outline"),p(b,"type","button"),p(b,"class","btn btn-expanded"),p(m,"class","btns-group"),p(e,"class","page-header"),p(C,"class","clearfix m-b-base")},m(Z,te){S(Z,e,te),_(e,t),_(t,i),_(t,s),_(t,l),_(l,r),_(e,a),_(e,u),F&&F.m(u,null),_(u,f),H(c,u,null),_(e,d),_(e,m),_(m,h),_(m,g),_(m,b),S(Z,y,te),H(k,Z,te),S(Z,T,te),S(Z,C,te),S(Z,M,te),H($,Z,te),I=!0,L||(N=[K(h,"click",n[16]),K(b,"click",n[17])],L=!0)},p(Z,te){(!I||te[0]&4)&&o!==(o=Z[2].name+"")&&re(r,o),Z[9]?F&&(F.d(1),F=null):F?F.p(Z,te):(F=_m(Z),F.c(),F.m(u,f));const ee={};te[0]&1&&(ee.value=Z[0]),te[0]&4&&(ee.autocompleteCollection=Z[2]),k.$set(ee);const R={};te[0]&4&&(R.collection=Z[2]),!O&&te[0]&1&&(O=!0,R.filter=Z[0],we(()=>O=!1)),!E&&te[0]&2&&(E=!0,R.sort=Z[1],we(()=>E=!1)),$.$set(R)},i(Z){I||(A(c.$$.fragment,Z),A(k.$$.fragment,Z),A($.$$.fragment,Z),I=!0)},o(Z){P(c.$$.fragment,Z),P(k.$$.fragment,Z),P($.$$.fragment,Z),I=!1},d(Z){Z&&w(e),F&&F.d(),q(c),Z&&w(y),q(k,Z),Z&&w(T),Z&&w(C),Z&&w(M),n[19](null),q($,Z),L=!1,Le(N)}}}function fD(n){let e,t,i,s,l;return{c(){e=v("h1"),e.textContent="Create your first collection to add records!",t=D(),i=v("button"),i.innerHTML=`<i class="ri-add-line"></i>
|
|
||||||
<span class="txt">Create new collection</span>`,p(e,"class","m-b-10"),p(i,"type","button"),p(i,"class","btn btn-expanded-lg btn-lg")},m(o,r){S(o,e,r),S(o,t,r),S(o,i,r),s||(l=K(i,"click",n[13]),s=!0)},p:G,d(o){o&&w(e),o&&w(t),o&&w(i),s=!1,l()}}}function cD(n){let e;return{c(){e=v("h1"),e.textContent="You don't have any collections yet.",p(e,"class","m-b-10")},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function dD(n){let e,t,i;function s(r,a){return r[9]?cD:fD}let l=s(n),o=l(n);return{c(){e=v("div"),t=v("div"),t.innerHTML='<i class="ri-database-2-line"></i>',i=D(),o.c(),p(t,"class","icon"),p(e,"class","placeholder-section m-b-base")},m(r,a){S(r,e,a),_(e,t),_(e,i),o.m(e,null)},p(r,a){l===(l=s(r))&&o?o.p(r,a):(o.d(1),o=l(r),o&&(o.c(),o.m(e,null)))},d(r){r&&w(e),o.d()}}}function pD(n){let e;return{c(){e=v("div"),e.innerHTML=`<span class="loader loader-lg"></span>
|
|
||||||
<h1>Loading collections...</h1>`,p(e,"class","placeholder-section m-b-base")},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function mD(n){let e,t,i,s,l,o,r,a,u;const f=[aD,rD,oD],c=[];function d(b,y){return b[3]&&!b[8].length?0:b[8].length?2:1}e=d(n),t=c[e]=f[e](n);let m={};s=new tu({props:m}),n[24](s);let h={};o=new A$({props:h}),n[25](o);let g={collection:n[2]};return a=new cb({props:g}),n[26](a),a.$on("save",n[27]),a.$on("delete",n[28]),{c(){t.c(),i=D(),V(s.$$.fragment),l=D(),V(o.$$.fragment),r=D(),V(a.$$.fragment)},m(b,y){c[e].m(b,y),S(b,i,y),H(s,b,y),S(b,l,y),H(o,b,y),S(b,r,y),H(a,b,y),u=!0},p(b,y){let k=e;e=d(b),e===k?c[e].p(b,y):(pe(),P(c[k],1,1,()=>{c[k]=null}),me(),t=c[e],t?t.p(b,y):(t=c[e]=f[e](b),t.c()),A(t,1),t.m(i.parentNode,i));const T={};s.$set(T);const C={};o.$set(C);const M={};y[0]&4&&(M.collection=b[2]),a.$set(M)},i(b){u||(A(t),A(s.$$.fragment,b),A(o.$$.fragment,b),A(a.$$.fragment,b),u=!0)},o(b){P(t),P(s.$$.fragment,b),P(o.$$.fragment,b),P(a.$$.fragment,b),u=!1},d(b){c[e].d(b),b&&w(i),n[24](null),q(s,b),b&&w(l),n[25](null),q(o,b),b&&w(r),n[26](null),q(a,b)}}}function hD(n,e,t){let i,s,l,o,r,a,u;Je(n,Si,R=>t(2,s=R)),Je(n,St,R=>t(29,l=R)),Je(n,Po,R=>t(3,o=R)),Je(n,ma,R=>t(12,r=R)),Je(n,es,R=>t(8,a=R)),Je(n,Cs,R=>t(9,u=R));const f=new URLSearchParams(r);let c,d,m,h,g=f.get("filter")||"",b=f.get("sort")||"-created",y=f.get("collectionId")||(s==null?void 0:s.id);function k(){t(10,y=s.id),t(1,b="-created"),t(0,g="")}sb(y);const T=()=>c==null?void 0:c.show(),C=()=>c==null?void 0:c.show(s),M=()=>h==null?void 0:h.load(),$=()=>d==null?void 0:d.show(s),O=()=>m==null?void 0:m.show(),E=R=>t(0,g=R.detail);function I(R){ie[R?"unshift":"push"](()=>{h=R,t(7,h)})}function L(R){g=R,t(0,g)}function N(R){b=R,t(1,b)}const F=R=>m==null?void 0:m.show(R==null?void 0:R.detail),U=()=>m==null?void 0:m.show();function J(R){ie[R?"unshift":"push"](()=>{c=R,t(4,c)})}function ne(R){ie[R?"unshift":"push"](()=>{d=R,t(5,d)})}function Z(R){ie[R?"unshift":"push"](()=>{m=R,t(6,m)})}const te=()=>h==null?void 0:h.reloadLoadedPages(),ee=()=>h==null?void 0:h.reloadLoadedPages();return n.$$.update=()=>{if(n.$$.dirty[0]&4096&&t(11,i=new URLSearchParams(r)),n.$$.dirty[0]&3080&&!o&&i.get("collectionId")&&i.get("collectionId")!=y&&r3(i.get("collectionId")),n.$$.dirty[0]&1028&&s!=null&&s.id&&y!=s.id&&k(),n.$$.dirty[0]&7&&(b||g||s!=null&&s.id)){const R=new URLSearchParams({collectionId:(s==null?void 0:s.id)||"",filter:g,sort:b}).toString();Ti("/collections?"+R)}n.$$.dirty[0]&4&&Yt(St,l=(s==null?void 0:s.name)||"Collections",l)},[g,b,s,o,c,d,m,h,a,u,y,i,r,T,C,M,$,O,E,I,L,N,F,U,J,ne,Z,te,ee]}class gD extends ke{constructor(e){super(),ye(this,e,hD,mD,be,{},null,[-1,-1])}}function _D(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,y,k,T,C,M,$,O,E,I;return{c(){e=v("aside"),t=v("div"),i=v("div"),i.textContent="System",s=D(),l=v("a"),l.innerHTML=`<i class="ri-home-gear-line"></i>
|
|
||||||
<span class="txt">Application</span>`,o=D(),r=v("a"),r.innerHTML=`<i class="ri-send-plane-2-line"></i>
|
|
||||||
<span class="txt">Mail settings</span>`,a=D(),u=v("a"),u.innerHTML=`<i class="ri-archive-drawer-line"></i>
|
|
||||||
<span class="txt">Files storage</span>`,f=D(),c=v("div"),c.innerHTML='<span class="txt">Sync</span>',d=D(),m=v("a"),m.innerHTML=`<i class="ri-uninstall-line"></i>
|
|
||||||
<span class="txt">Export collections</span>`,h=D(),g=v("a"),g.innerHTML=`<i class="ri-install-line"></i>
|
|
||||||
<span class="txt">Import collections</span>`,b=D(),y=v("div"),y.textContent="Authentication",k=D(),T=v("a"),T.innerHTML=`<i class="ri-lock-password-line"></i>
|
|
||||||
<span class="txt">Auth providers</span>`,C=D(),M=v("a"),M.innerHTML=`<i class="ri-key-line"></i>
|
|
||||||
<span class="txt">Token options</span>`,$=D(),O=v("a"),O.innerHTML=`<i class="ri-shield-user-line"></i>
|
|
||||||
<span class="txt">Admins</span>`,p(i,"class","sidebar-title"),p(l,"href","/settings"),p(l,"class","sidebar-list-item"),p(r,"href","/settings/mail"),p(r,"class","sidebar-list-item"),p(u,"href","/settings/storage"),p(u,"class","sidebar-list-item"),p(c,"class","sidebar-title"),p(m,"href","/settings/export-collections"),p(m,"class","sidebar-list-item"),p(g,"href","/settings/import-collections"),p(g,"class","sidebar-list-item"),p(y,"class","sidebar-title"),p(T,"href","/settings/auth-providers"),p(T,"class","sidebar-list-item"),p(M,"href","/settings/tokens"),p(M,"class","sidebar-list-item"),p(O,"href","/settings/admins"),p(O,"class","sidebar-list-item"),p(t,"class","sidebar-content"),p(e,"class","page-sidebar settings-sidebar")},m(L,N){S(L,e,N),_(e,t),_(t,i),_(t,s),_(t,l),_(t,o),_(t,r),_(t,a),_(t,u),_(t,f),_(t,c),_(t,d),_(t,m),_(t,h),_(t,g),_(t,b),_(t,y),_(t,k),_(t,T),_(t,C),_(t,M),_(t,$),_(t,O),E||(I=[Pe(Fn.call(null,l,{path:"/settings"})),Pe(Xt.call(null,l)),Pe(Fn.call(null,r,{path:"/settings/mail/?.*"})),Pe(Xt.call(null,r)),Pe(Fn.call(null,u,{path:"/settings/storage/?.*"})),Pe(Xt.call(null,u)),Pe(Fn.call(null,m,{path:"/settings/export-collections/?.*"})),Pe(Xt.call(null,m)),Pe(Fn.call(null,g,{path:"/settings/import-collections/?.*"})),Pe(Xt.call(null,g)),Pe(Fn.call(null,T,{path:"/settings/auth-providers/?.*"})),Pe(Xt.call(null,T)),Pe(Fn.call(null,M,{path:"/settings/tokens/?.*"})),Pe(Xt.call(null,M)),Pe(Fn.call(null,O,{path:"/settings/admins/?.*"})),Pe(Xt.call(null,O))],E=!0)},p:G,i:G,o:G,d(L){L&&w(e),E=!1,Le(I)}}}class Di extends ke{constructor(e){super(),ye(this,e,null,_D,be,{})}}function bm(n,e,t){const i=n.slice();return i[30]=e[t],i}function vm(n){let e,t;return e=new _e({props:{class:"form-field disabled",name:"id",$$slots:{default:[bD,({uniqueId:i})=>({29:i}),({uniqueId:i})=>[i?536870912:0]]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,s){H(e,i,s),t=!0},p(i,s){const l={};s[0]&536870914|s[1]&4&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){P(e.$$.fragment,i),t=!1},d(i){q(e,i)}}}function bD(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g;return{c(){e=v("label"),t=v("i"),i=D(),s=v("span"),s.textContent="ID",o=D(),r=v("div"),a=v("i"),f=D(),c=v("input"),p(t,"class",B.getFieldTypeIcon("primary")),p(s,"class","txt"),p(e,"for",l=n[29]),p(a,"class","ri-calendar-event-line txt-disabled"),p(r,"class","form-field-addon"),p(c,"type","text"),p(c,"id",d=n[29]),c.value=m=n[1].id,c.disabled=!0},m(b,y){S(b,e,y),_(e,t),_(e,i),_(e,s),S(b,o,y),S(b,r,y),_(r,a),S(b,f,y),S(b,c,y),h||(g=Pe(u=Ye.call(null,a,{text:`Created: ${n[1].created}
|
|
||||||
Updated: ${n[1].updated}`,position:"left"})),h=!0)},p(b,y){y[0]&536870912&&l!==(l=b[29])&&p(e,"for",l),u&&zt(u.update)&&y[0]&2&&u.update.call(null,{text:`Created: ${b[1].created}
|
|
||||||
Updated: ${b[1].updated}`,position:"left"}),y[0]&536870912&&d!==(d=b[29])&&p(c,"id",d),y[0]&2&&m!==(m=b[1].id)&&c.value!==m&&(c.value=m)},d(b){b&&w(e),b&&w(o),b&&w(r),b&&w(f),b&&w(c),h=!1,g()}}}function ym(n){let e,t,i,s,l,o,r;function a(){return n[17](n[30])}return{c(){e=v("button"),t=v("img"),s=D(),Hn(t.src,i="./images/avatars/avatar"+n[30]+".svg")||p(t,"src",i),p(t,"alt","Avatar "+n[30]),p(e,"type","button"),p(e,"class",l="link-fade thumb thumb-circle "+(n[30]==n[2]?"thumb-active":"thumb-sm"))},m(u,f){S(u,e,f),_(e,t),_(e,s),o||(r=K(e,"click",a),o=!0)},p(u,f){n=u,f[0]&4&&l!==(l="link-fade thumb thumb-circle "+(n[30]==n[2]?"thumb-active":"thumb-sm"))&&p(e,"class",l)},d(u){u&&w(e),o=!1,r()}}}function vD(n){let e,t,i,s,l,o,r,a,u,f;return{c(){e=v("label"),t=v("i"),i=D(),s=v("span"),s.textContent="Email",o=D(),r=v("input"),p(t,"class",B.getFieldTypeIcon("email")),p(s,"class","txt"),p(e,"for",l=n[29]),p(r,"type","email"),p(r,"autocomplete","off"),p(r,"id",a=n[29]),r.required=!0},m(c,d){S(c,e,d),_(e,t),_(e,i),_(e,s),S(c,o,d),S(c,r,d),de(r,n[3]),u||(f=K(r,"input",n[18]),u=!0)},p(c,d){d[0]&536870912&&l!==(l=c[29])&&p(e,"for",l),d[0]&536870912&&a!==(a=c[29])&&p(r,"id",a),d[0]&8&&r.value!==c[3]&&de(r,c[3])},d(c){c&&w(e),c&&w(o),c&&w(r),u=!1,f()}}}function km(n){let e,t;return e=new _e({props:{class:"form-field form-field-toggle",$$slots:{default:[yD,({uniqueId:i})=>({29:i}),({uniqueId:i})=>[i?536870912:0]]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,s){H(e,i,s),t=!0},p(i,s){const l={};s[0]&536870928|s[1]&4&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){P(e.$$.fragment,i),t=!1},d(i){q(e,i)}}}function yD(n){let e,t,i,s,l,o,r,a;return{c(){e=v("input"),i=D(),s=v("label"),l=z("Change password"),p(e,"type","checkbox"),p(e,"id",t=n[29]),p(s,"for",o=n[29])},m(u,f){S(u,e,f),e.checked=n[4],S(u,i,f),S(u,s,f),_(s,l),r||(a=K(e,"change",n[19]),r=!0)},p(u,f){f[0]&536870912&&t!==(t=u[29])&&p(e,"id",t),f[0]&16&&(e.checked=u[4]),f[0]&536870912&&o!==(o=u[29])&&p(s,"for",o)},d(u){u&&w(e),u&&w(i),u&&w(s),r=!1,a()}}}function wm(n){let e,t,i,s,l,o,r,a,u;return s=new _e({props:{class:"form-field required",name:"password",$$slots:{default:[kD,({uniqueId:f})=>({29:f}),({uniqueId:f})=>[f?536870912:0]]},$$scope:{ctx:n}}}),r=new _e({props:{class:"form-field required",name:"passwordConfirm",$$slots:{default:[wD,({uniqueId:f})=>({29:f}),({uniqueId:f})=>[f?536870912:0]]},$$scope:{ctx:n}}}),{c(){e=v("div"),t=v("div"),i=v("div"),V(s.$$.fragment),l=D(),o=v("div"),V(r.$$.fragment),p(i,"class","col-sm-6"),p(o,"class","col-sm-6"),p(t,"class","grid"),p(e,"class","col-12")},m(f,c){S(f,e,c),_(e,t),_(t,i),H(s,i,null),_(t,l),_(t,o),H(r,o,null),u=!0},p(f,c){const d={};c[0]&536871168|c[1]&4&&(d.$$scope={dirty:c,ctx:f}),s.$set(d);const m={};c[0]&536871424|c[1]&4&&(m.$$scope={dirty:c,ctx:f}),r.$set(m)},i(f){u||(A(s.$$.fragment,f),A(r.$$.fragment,f),f&&nt(()=>{a||(a=ze(t,It,{duration:150},!0)),a.run(1)}),u=!0)},o(f){P(s.$$.fragment,f),P(r.$$.fragment,f),f&&(a||(a=ze(t,It,{duration:150},!1)),a.run(0)),u=!1},d(f){f&&w(e),q(s),q(r),f&&a&&a.end()}}}function kD(n){let e,t,i,s,l,o,r,a,u,f;return{c(){e=v("label"),t=v("i"),i=D(),s=v("span"),s.textContent="Password",o=D(),r=v("input"),p(t,"class","ri-lock-line"),p(s,"class","txt"),p(e,"for",l=n[29]),p(r,"type","password"),p(r,"autocomplete","new-password"),p(r,"id",a=n[29]),r.required=!0},m(c,d){S(c,e,d),_(e,t),_(e,i),_(e,s),S(c,o,d),S(c,r,d),de(r,n[8]),u||(f=K(r,"input",n[20]),u=!0)},p(c,d){d[0]&536870912&&l!==(l=c[29])&&p(e,"for",l),d[0]&536870912&&a!==(a=c[29])&&p(r,"id",a),d[0]&256&&r.value!==c[8]&&de(r,c[8])},d(c){c&&w(e),c&&w(o),c&&w(r),u=!1,f()}}}function wD(n){let e,t,i,s,l,o,r,a,u,f;return{c(){e=v("label"),t=v("i"),i=D(),s=v("span"),s.textContent="Password confirm",o=D(),r=v("input"),p(t,"class","ri-lock-line"),p(s,"class","txt"),p(e,"for",l=n[29]),p(r,"type","password"),p(r,"autocomplete","new-password"),p(r,"id",a=n[29]),r.required=!0},m(c,d){S(c,e,d),_(e,t),_(e,i),_(e,s),S(c,o,d),S(c,r,d),de(r,n[9]),u||(f=K(r,"input",n[21]),u=!0)},p(c,d){d[0]&536870912&&l!==(l=c[29])&&p(e,"for",l),d[0]&536870912&&a!==(a=c[29])&&p(r,"id",a),d[0]&512&&r.value!==c[9]&&de(r,c[9])},d(c){c&&w(e),c&&w(o),c&&w(r),u=!1,f()}}}function SD(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h=!n[1].isNew&&vm(n),g=[0,1,2,3,4,5,6,7,8,9],b=[];for(let T=0;T<10;T+=1)b[T]=ym(bm(n,g,T));a=new _e({props:{class:"form-field required",name:"email",$$slots:{default:[vD,({uniqueId:T})=>({29:T}),({uniqueId:T})=>[T?536870912:0]]},$$scope:{ctx:n}}});let y=!n[1].isNew&&km(n),k=(n[1].isNew||n[4])&&wm(n);return{c(){e=v("form"),h&&h.c(),t=D(),i=v("div"),s=v("p"),s.textContent="Avatar",l=D(),o=v("div");for(let T=0;T<10;T+=1)b[T].c();r=D(),V(a.$$.fragment),u=D(),y&&y.c(),f=D(),k&&k.c(),p(s,"class","section-title"),p(o,"class","flex flex-gap-xs flex-wrap"),p(i,"class","content"),p(e,"id",n[11]),p(e,"class","grid"),p(e,"autocomplete","off")},m(T,C){S(T,e,C),h&&h.m(e,null),_(e,t),_(e,i),_(i,s),_(i,l),_(i,o);for(let M=0;M<10;M+=1)b[M].m(o,null);_
Line truncated
|
|
||||||
<span class="txt">Delete</span>`,p(e,"type","button"),p(e,"class","dropdown-item txt-danger")},m(s,l){S(s,e,l),t||(i=K(e,"click",n[15]),t=!0)},p:G,d(s){s&&w(e),t=!1,i()}}}function $D(n){let e,t,i,s,l,o,r=n[1].isNew?"Create":"Save changes",a,u,f,c,d,m=!n[1].isNew&&Sm(n);return{c(){m&&m.c(),e=D(),t=v("button"),i=v("span"),i.textContent="Cancel",s=D(),l=v("button"),o=v("span"),a=z(r),p(i,"class","txt"),p(t,"type","button"),p(t,"class","btn btn-transparent"),t.disabled=n[6],p(o,"class","txt"),p(l,"type","submit"),p(l,"form",n[11]),p(l,"class","btn btn-expanded"),l.disabled=u=!n[10]||n[6],x(l,"btn-loading",n[6])},m(h,g){m&&m.m(h,g),S(h,e,g),S(h,t,g),_(t,i),S(h,s,g),S(h,l,g),_(l,o),_(o,a),f=!0,c||(d=K(t,"click",n[16]),c=!0)},p(h,g){h[1].isNew?m&&(pe(),P(m,1,1,()=>{m=null}),me()):m?(m.p(h,g),g[0]&2&&A(m,1)):(m=Sm(h),m.c(),A(m,1),m.m(e.parentNode,e)),(!f||g[0]&64)&&(t.disabled=h[6]),(!f||g[0]&2)&&r!==(r=h[1].isNew?"Create":"Save changes")&&re(a,r),(!f||g[0]&1088&&u!==(u=!h[10]||h[6]))&&(l.disabled=u),(!f||g[0]&64)&&x(l,"btn-loading",h[6])},i(h){f||(A(m),f=!0)},o(h){P(m),f=!1},d(h){m&&m.d(h),h&&w(e),h&&w(t),h&&w(s),h&&w(l),c=!1,d()}}}function MD(n){let e,t,i={popup:!0,class:"admin-panel",beforeHide:n[22],$$slots:{footer:[$D],header:[TD],default:[SD]},$$scope:{ctx:n}};return e=new Bn({props:i}),n[23](e),e.$on("hide",n[24]),e.$on("show",n[25]),{c(){V(e.$$.fragment)},m(s,l){H(e,s,l),t=!0},p(s,l){const o={};l[0]&1152&&(o.beforeHide=s[22]),l[0]&1886|l[1]&4&&(o.$$scope={dirty:l,ctx:s}),e.$set(o)},i(s){t||(A(e.$$.fragment,s),t=!0)},o(s){P(e.$$.fragment,s),t=!1},d(s){n[23](null),q(e,s)}}}function DD(n,e,t){let i;const s=$t(),l="admin_"+B.randomString(5);let o,r=new Ji,a=!1,u=!1,f=0,c="",d="",m="",h=!1;function g(Z){return y(Z),t(7,u=!0),o==null?void 0:o.show()}function b(){return o==null?void 0:o.hide()}function y(Z){t(1,r=Z!=null&&Z.clone?Z.clone():new Ji),k()}function k(){t(4,h=!1),t(3,c=(r==null?void 0:r.email)||""),t(2,f=(r==null?void 0:r.avatar)||0),t(8,d=""),t(9,m=""),Vn({})}function T(){if(a||!i)return;t(6,a=!0);const Z={email:c,avatar:f};(r.isNew||h)&&(Z.password=d,Z.passwordConfirm=m);let te;r.isNew?te=he.admins.create(Z):te=he.admins.update(r.id,Z),te.then(async ee=>{var R;t(7,u=!1),b(),Vt(r.isNew?"Successfully created admin.":"Successfully updated admin."),s("save",ee),((R=he.authStore.model)==null?void 0:R.id)===ee.id&&he.authStore.save(he.authStore.token,ee)}).catch(ee=>{he.errorResponseHandler(ee)}).finally(()=>{t(6,a=!1)})}function C(){r!=null&&r.id&&fn("Do you really want to delete the selected admin?",()=>he.admins.delete(r.id).then(()=>{t(7,u=!1),b(),Vt("Successfully deleted admin."),s("delete",r)}).catch(Z=>{he.errorResponseHandler(Z)}))}const M=()=>C(),$=()=>b(),O=Z=>t(2,f=Z);function E(){c=this.value,t(3,c)}function I(){h=this.checked,t(4,h)}function L(){d=this.value,t(8,d)}function N(){m=this.value,t(9,m)}const F=()=>i&&u?(fn("You have unsaved changes. Do you really want to close the panel?",()=>{t(7,u=!1),b()}),!1):!0;function U(Z){ie[Z?"unshift":"push"](()=>{o=Z,t(5,o)})}function J(Z){We.call(this,n,Z)}function ne(Z){We.call(this,n,Z)}return n.$$.update=()=>{n.$$.dirty[0]&30&&t(10,i=r.isNew&&c!=""||h||c!==r.email||f!==r.avatar)},[b,r,f,c,h,o,a,u,d,m,i,l,T,C,g,M,$,O,E,I,L,N,F,U,J,ne]}class OD extends ke{constructor(e){super(),ye(this,e,DD,MD,be,{show:14,hide:0},null,[-1,-1])}get show(){return this.$$.ctx[14]}get hide(){return this.$$.ctx[0]}}function Tm(n,e,t){const i=n.slice();return i[24]=e[t],i}function ED(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=D(),s=v("span"),s.textContent="id",p(t,"class",B.getFieldTypeIcon("primary")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:G,d(l){l&&w(e)}}}function AD(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=D(),s=v("span"),s.textContent="email",p(t,"class",B.getFieldTypeIcon("email")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:G,d(l){l&&w(e)}}}function ID(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=D(),s=v("span"),s.textContent="created",p(t,"class",B.getFieldTypeIcon("date")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:G,d(l){l&&w(e)}}}function PD(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=D(),s=v("span"),s.textContent="updated",p(t,"class",B.getFieldTypeIcon("date")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:G,d(l){l&&w(e)}}}function Cm(n){let e;function t(l,o){return l[5]?ND:LD}let i=t(n),s=i(n);return{c(){s.c(),e=Ae()},m(l,o){s.m(l,o),S(l,e,o)},p(l,o){i===(i=t(l))&&s?s.p(l,o):(s.d(1),s=i(l),s&&(s.c(),s.m(e.parentNode,e)))},d(l){s.d(l),l&&w(e)}}}function LD(n){var r;let e,t,i,s,l,o=((r=n[1])==null?void 0:r.length)&&$m(n);return{c(){e=v("tr"),t=v("td"),i=v("h6"),i.textContent="No admins found.",s=D(),o&&o.c(),l=D(),p(t,"colspan","99"),p(t,"class","txt-center txt-hint p-xs")},m(a,u){S(a,e,u),_(e,t),_(t,i),_(t,s),o&&o.m(t,nuLine truncated
|
|
||||||
`},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function $m(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Clear filters</span>',p(e,"type","button"),p(e,"class","btn btn-hint btn-expanded m-t-sm")},m(s,l){S(s,e,l),t||(i=K(e,"click",n[17]),t=!0)},p:G,d(s){s&&w(e),t=!1,i()}}}function Mm(n){let e;return{c(){e=v("span"),e.textContent="You",p(e,"class","label label-warning m-l-5")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function Dm(n,e){let t,i,s,l,o,r,a,u,f,c,d,m=e[24].id+"",h,g,b,y,k,T=e[24].email+"",C,M,$,O,E,I,L,N,F,U,J,ne,Z,te;f=new db({props:{value:e[24].id}});let ee=e[24].id===e[7].id&&Mm();E=new Zi({props:{date:e[24].created}}),N=new Zi({props:{date:e[24].updated}});function R(){return e[15](e[24])}function X(...Y){return e[16](e[24],...Y)}return{key:n,first:null,c(){t=v("tr"),i=v("td"),s=v("figure"),l=v("img"),r=D(),a=v("td"),u=v("div"),V(f.$$.fragment),c=D(),d=v("span"),h=z(m),g=D(),ee&&ee.c(),b=D(),y=v("td"),k=v("span"),C=z(T),$=D(),O=v("td"),V(E.$$.fragment),I=D(),L=v("td"),V(N.$$.fragment),F=D(),U=v("td"),U.innerHTML='<i class="ri-arrow-right-line"></i>',J=D(),Hn(l.src,o="./images/avatars/avatar"+(e[24].avatar||0)+".svg")||p(l,"src",o),p(l,"alt","Admin avatar"),p(s,"class","thumb thumb-sm thumb-circle"),p(i,"class","min-width"),p(d,"class","txt"),p(u,"class","label"),p(a,"class","col-type-text col-field-id"),p(k,"class","txt txt-ellipsis"),p(k,"title",M=e[24].email),p(y,"class","col-type-email col-field-email"),p(O,"class","col-type-date col-field-created"),p(L,"class","col-type-date col-field-updated"),p(U,"class","col-type-action min-width"),p(t,"tabindex","0"),p(t,"class","row-handle"),this.first=t},m(Y,se){S(Y,t,se),_(t,i),_(i,s),_(s,l),_(t,r),_(t,a),_(a,u),H(f,u,null),_(u,c),_(u,d),_(d,h),_(a,g),ee&&ee.m(a,null),_(t,b),_(t,y),_(y,k),_(k,C),_(t,$),_(t,O),H(E,O,null),_(t,I),_(t,L),H(N,L,null),_(t,F),_(t,U),_(t,J),ne=!0,Z||(te=[K(t,"click",R),K(t,"keydown",X)],Z=!0)},p(Y,se){e=Y,(!ne||se&16&&!Hn(l.src,o="./images/avatars/avatar"+(e[24].avatar||0)+".svg"))&&p(l,"src",o);const He={};se&16&&(He.value=e[24].id),f.$set(He),(!ne||se&16)&&m!==(m=e[24].id+"")&&re(h,m),e[24].id===e[7].id?ee||(ee=Mm(),ee.c(),ee.m(a,null)):ee&&(ee.d(1),ee=null),(!ne||se&16)&&T!==(T=e[24].email+"")&&re(C,T),(!ne||se&16&&M!==(M=e[24].email))&&p(k,"title",M);const Re={};se&16&&(Re.date=e[24].created),E.$set(Re);const Fe={};se&16&&(Fe.date=e[24].updated),N.$set(Fe)},i(Y){ne||(A(f.$$.fragment,Y),A(E.$$.fragment,Y),A(N.$$.fragment,Y),ne=!0)},o(Y){P(f.$$.fragment,Y),P(E.$$.fragment,Y),P(N.$$.fragment,Y),ne=!1},d(Y){Y&&w(t),q(f),ee&&ee.d(),q(E),q(N),Z=!1,Le(te)}}}function FD(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,y,k,T,C,M=[],$=new Map,O;function E(R){n[11](R)}let I={class:"col-type-text",name:"id",$$slots:{default:[ED]},$$scope:{ctx:n}};n[2]!==void 0&&(I.sort=n[2]),o=new Ut({props:I}),ie.push(()=>ve(o,"sort",E));function L(R){n[12](R)}let N={class:"col-type-email col-field-email",name:"email",$$slots:{default:[AD]},$$scope:{ctx:n}};n[2]!==void 0&&(N.sort=n[2]),u=new Ut({props:N}),ie.push(()=>ve(u,"sort",L));function F(R){n[13](R)}let U={class:"col-type-date col-field-created",name:"created",$$slots:{default:[ID]},$$scope:{ctx:n}};n[2]!==void 0&&(U.sort=n[2]),d=new Ut({props:U}),ie.push(()=>ve(d,"sort",F));function J(R){n[14](R)}let ne={class:"col-type-date col-field-updated",name:"updated",$$slots:{default:[PD]},$$scope:{ctx:n}};n[2]!==void 0&&(ne.sort=n[2]),g=new Ut({props:ne}),ie.push(()=>ve(g,"sort",J));let Z=n[4];const te=R=>R[24].id;for(let R=0;R<Z.length;R+=1){let X=Tm(n,Z,R),Y=te(X);$.set(Y,M[R]=Dm(Y,X))}let ee=null;return Z.length||(ee=Cm(n)),{c(){e=v("table"),t=v("thead"),i=v("tr"),s=v("th"),l=D(),V(o.$$.fragment),a=D(),V(u.$$.fragment),c=D(),V(d.$$.fragment),h=D(),V(g.$$.fragment),y=D(),k=v("th"),T=D(),C=v("tbody");for(let R=0;R<M.length;R+=1)M[R].c();ee&&ee.c(),p(s,"class","min-width"),p(k,"class","col-type-action min-width"),p(e,"class","table"),x(e,"table-loading",n[5])},m(R,X){S(R,e,X),_(e,t),_(t,i),_(i,s),_(i,l),H(o,i,null),_(i,a),H(u,i,null),_(i,c),H(d,i,null),_(i,h),H(g,i,null),_(i,y),_(i,k),_(e,T),_(e,C);for(let Y=0;Y<M.length;Y+=1)M[Y].m(C,null);ee&&ee.m(C,null),O=!0},p(R,X){const Y={};X&134217728&&(Y.$$scope={dirty:X,ctx:R}),!r&&X&4&&(r=!0,Y.sort=R[2],we(()=>r=!1)),o.$set(Y);const se={};X&134217728&&(se.$$scope={dirty:X,ctx:R}),!f&&X&4&&(f=!0,se.sort=R[2],we(()=>f=!1)),u.$set(se);const He={};X&134217728&&(He.$$scope={dirty:X,ctx:R}),!m&&X&4&&(m=!0,He.sort=R[2],we(()=>m=!1)),d.$set(He);const Re={};X&134217728&&(Re.$$scope={dirty:X,ctx:R}),!b&&X&4&&(b=!0,Re.sort=R[2],we(()=>b=!1)),g.$set(Re),X&186&&(Z=R[4],pe(),M=wt(M,X,te,1,R,Z,$,C,nn,Dm,null,Tm),me(),!Z.length&&ee?ee.p(R,X):Z.length?ee&&(ee.d(1),ee=null):(ee=Cm(R),ee.c(),ee.m(C,null))),(!O||X&32)&&x(e,"table-loading",R[5])},i(R){if(!O){A(o.$$.fragment,R),A(u.$$.fragment,R),A(d.$$.fragment,R),A(g.$$.fragment,R);for(let X=0;X<Z.length;X+=1)A(M[X]);O=!0}},o(R){P(o.$$.fragment,R),P(u.$$.fragment,R),P(d.$$.fragment,R),P(g.$$.fragment,R
Line truncated
|
|
||||||
<span class="txt">New admin</span>`,m=D(),V(h.$$.fragment),g=D(),b=v("div"),y=D(),V(k.$$.fragment),T=D(),E&&E.c(),C=Ae(),p(i,"class","breadcrumb-item"),p(l,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(f,"class","flex-fill"),p(d,"type","button"),p(d,"class","btn btn-expanded"),p(e,"class","page-header"),p(b,"class","clearfix m-b-base")},m(I,L){S(I,e,L),_(e,t),_(t,i),_(t,s),_(t,l),_(l,o),_(e,r),H(a,e,null),_(e,u),_(e,f),_(e,c),_(e,d),S(I,m,L),H(h,I,L),S(I,g,L),S(I,b,L),S(I,y,L),H(k,I,L),S(I,T,L),E&&E.m(I,L),S(I,C,L),M=!0,$||(O=K(d,"click",n[9]),$=!0)},p(I,L){(!M||L&64)&&re(o,I[6]);const N={};L&2&&(N.value=I[1]),h.$set(N);const F={};L&134217918&&(F.$$scope={dirty:L,ctx:I}),k.$set(F),I[4].length?E?E.p(I,L):(E=Om(I),E.c(),E.m(C.parentNode,C)):E&&(E.d(1),E=null)},i(I){M||(A(a.$$.fragment,I),A(h.$$.fragment,I),A(k.$$.fragment,I),M=!0)},o(I){P(a.$$.fragment,I),P(h.$$.fragment,I),P(k.$$.fragment,I),M=!1},d(I){I&&w(e),q(a),I&&w(m),q(h,I),I&&w(g),I&&w(b),I&&w(y),q(k,I),I&&w(T),E&&E.d(I),I&&w(C),$=!1,O()}}}function jD(n){let e,t,i,s,l,o;e=new Di({}),i=new kn({props:{$$slots:{default:[RD]},$$scope:{ctx:n}}});let r={};return l=new OD({props:r}),n[18](l),l.$on("save",n[19]),l.$on("delete",n[20]),{c(){V(e.$$.fragment),t=D(),V(i.$$.fragment),s=D(),V(l.$$.fragment)},m(a,u){H(e,a,u),S(a,t,u),H(i,a,u),S(a,s,u),H(l,a,u),o=!0},p(a,[u]){const f={};u&134217982&&(f.$$scope={dirty:u,ctx:a}),i.$set(f);const c={};l.$set(c)},i(a){o||(A(e.$$.fragment,a),A(i.$$.fragment,a),A(l.$$.fragment,a),o=!0)},o(a){P(e.$$.fragment,a),P(i.$$.fragment,a),P(l.$$.fragment,a),o=!1},d(a){q(e,a),a&&w(t),q(i,a),a&&w(s),n[18](null),q(l,a)}}}function HD(n,e,t){let i,s,l;Je(n,ma,N=>t(21,i=N)),Je(n,St,N=>t(6,s=N)),Je(n,Ma,N=>t(7,l=N)),Yt(St,s="Admins",s);const o=new URLSearchParams(i);let r,a=[],u=!1,f=o.get("filter")||"",c=o.get("sort")||"-created";function d(){return t(5,u=!0),t(4,a=[]),he.admins.getFullList(100,{sort:c||"-created",filter:f}).then(N=>{t(4,a=N),t(5,u=!1)}).catch(N=>{N!=null&&N.isAbort||(t(5,u=!1),console.warn(N),m(),he.errorResponseHandler(N,!1))})}function m(){t(4,a=[])}const h=()=>d(),g=()=>r==null?void 0:r.show(),b=N=>t(1,f=N.detail);function y(N){c=N,t(2,c)}function k(N){c=N,t(2,c)}function T(N){c=N,t(2,c)}function C(N){c=N,t(2,c)}const M=N=>r==null?void 0:r.show(N),$=(N,F)=>{(F.code==="Enter"||F.code==="Space")&&(F.preventDefault(),r==null||r.show(N))},O=()=>t(1,f="");function E(N){ie[N?"unshift":"push"](()=>{r=N,t(3,r)})}const I=()=>d(),L=()=>d();return n.$$.update=()=>{if(n.$$.dirty&6&&c!==-1&&f!==-1){const N=new URLSearchParams({filter:f,sort:c}).toString();Ti("/settings/admins?"+N),d()}},[d,f,c,r,a,u,s,l,h,g,b,y,k,T,C,M,$,O,E,I,L]}class qD extends ke{constructor(e){super(),ye(this,e,HD,jD,be,{loadAdmins:0})}get loadAdmins(){return this.$$.ctx[0]}}function VD(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=z("Email"),s=D(),l=v("input"),p(e,"for",i=n[8]),p(l,"type","email"),p(l,"id",o=n[8]),l.required=!0,l.autofocus=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),de(l,n[0]),l.focus(),r||(a=K(l,"input",n[4]),r=!0)},p(u,f){f&256&&i!==(i=u[8])&&p(e,"for",i),f&256&&o!==(o=u[8])&&p(l,"id",o),f&1&&l.value!==u[0]&&de(l,u[0])},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function zD(n){let e,t,i,s,l,o,r,a,u,f,c;return{c(){e=v("label"),t=z("Password"),s=D(),l=v("input"),r=D(),a=v("div"),u=v("a"),u.textContent="Forgotten password?",p(e,"for",i=n[8]),p(l,"type","password"),p(l,"id",o=n[8]),l.required=!0,p(u,"href","/request-password-reset"),p(u,"class","link-hint"),p(a,"class","help-block")},m(d,m){S(d,e,m),_(e,t),S(d,s,m),S(d,l,m),de(l,n[1]),S(d,r,m),S(d,a,m),_(a,u),f||(c=[K(l,"input",n[5]),Pe(Xt.call(null,u))],f=!0)},p(d,m){m&256&&i!==(i=d[8])&&p(e,"for",i),m&256&&o!==(o=d[8])&&p(l,"id",o),m&2&&l.value!==d[1]&&de(l,d[1])},d(d){d&&w(e),d&&w(s),d&&w(l),d&&w(r),d&&w(a),f=!1,Le(c)}}}function BD(n){let e,t,i,s,l,o,r,a,u,f,c;return s=new _e({props:{class:"form-field required",name:"identity",$$slots:{default:[VD,({uniqueId:d})=>({8:d}),({uniqueId:d})=>d?256:0]},$$scope:{ctx:n}}}),o=new _e({props:{class:"form-field required",name:"password",$$slots:{default:[zD,({uniqueId:d})=>({8:d}),({uniqueId:d})=>d?256:0]},$$scope:{ctx:n}}}),{c(){e=v("form"),t=v("div"),t.innerHTML="<h4>Admin sign in</h4>",i=D(),V(s.$$.fragment),l=D(),V(o.$$.fragment),r=D(),a=v("button"),a.innerHTML=`<span class="txt">Login</span>
|
|
||||||
<i class="ri-arrow-right-line"></i>`,p(t,"class","content txt-center m-b-base"),p(a,"type","submit"),p(a,"class","btn btn-lg btn-block btn-next"),x(a,"btn-disabled",n[2]),x(a,"btn-loading",n[2]),p(e,"class","block")},m(d,m){S(d,e,m),_(e,t),_(e,i),H(s,e,null),_(e,l),H(o,e,null),_(e,r),_(e,a),u=!0,f||(c=K(e,"submit",pt(n[3])),f=!0)},p(d,m){const h={};m&769&&(h.$$scope={dirty:m,ctx:d}),s.$set(h);const g={};m&770&&(g.$$scope={dirty:m,ctx:d}),o.$set(g),(!u||m&4)&&x(a,"btn-disabled",d[2]),(!u||m&4)&&x(a,"btn-loading",d[2])},i(d){u||(A(s.$$.fragment,d),A(o.$$.fragment,d),u=!0)},o(d){P(s.$$.fragment,d),P(o.$$.fragment,d),u=!1},d(d){d&&w(e),q(s),q(o),f=!1,c()}}}function UD(n){let e,t;return e=new i_({props:{$$slots:{default:[BD]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment)},m(i,s){H(e,i,s),t=!0},p(i,[s]){const l={};s&519&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){P(e.$$.fragment,i),t=!1},d(i){q(e,i)}}}function WD(n,e,t){let i;Je(n,ma,c=>t(6,i=c));const s=new URLSearchParams(i);let l=s.get("demoEmail")||"",o=s.get("demoPassword")||"",r=!1;function a(){if(!r)return t(2,r=!0),he.admins.authWithPassword(l,o).then(()=>{Ca(),Ti("/")}).catch(()=>{cl("Invalid login credentials.")}).finally(()=>{t(2,r=!1)})}function u(){l=this.value,t(0,l)}function f(){o=this.value,t(1,o)}return[l,o,r,a,u,f]}class YD extends ke{constructor(e){super(),ye(this,e,WD,UD,be,{})}}function KD(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,y,k,T,C,M;i=new _e({props:{class:"form-field required",name:"meta.appName",$$slots:{default:[ZD,({uniqueId:O})=>({19:O}),({uniqueId:O})=>O?524288:0]},$$scope:{ctx:n}}}),o=new _e({props:{class:"form-field required",name:"meta.appUrl",$$slots:{default:[GD,({uniqueId:O})=>({19:O}),({uniqueId:O})=>O?524288:0]},$$scope:{ctx:n}}}),a=new _e({props:{class:"form-field required",name:"logs.maxDays",$$slots:{default:[XD,({uniqueId:O})=>({19:O}),({uniqueId:O})=>O?524288:0]},$$scope:{ctx:n}}}),f=new _e({props:{class:"form-field form-field-toggle",name:"meta.hideControls",$$slots:{default:[xD,({uniqueId:O})=>({19:O}),({uniqueId:O})=>O?524288:0]},$$scope:{ctx:n}}});let $=n[3]&&Em(n);return{c(){e=v("div"),t=v("div"),V(i.$$.fragment),s=D(),l=v("div"),V(o.$$.fragment),r=D(),V(a.$$.fragment),u=D(),V(f.$$.fragment),c=D(),d=v("div"),m=v("div"),h=D(),$&&$.c(),g=D(),b=v("button"),y=v("span"),y.textContent="Save changes",p(t,"class","col-lg-6"),p(l,"class","col-lg-6"),p(m,"class","flex-fill"),p(y,"class","txt"),p(b,"type","submit"),p(b,"class","btn btn-expanded"),b.disabled=k=!n[3]||n[2],x(b,"btn-loading",n[2]),p(d,"class","col-lg-12 flex"),p(e,"class","grid")},m(O,E){S(O,e,E),_(e,t),H(i,t,null),_(e,s),_(e,l),H(o,l,null),_(e,r),H(a,e,null),_(e,u),H(f,e,null),_(e,c),_(e,d),_(d,m),_(d,h),$&&$.m(d,null),_(d,g),_(d,b),_(b,y),T=!0,C||(M=K(b,"click",n[13]),C=!0)},p(O,E){const I={};E&1572865&&(I.$$scope={dirty:E,ctx:O}),i.$set(I);const L={};E&1572865&&(L.$$scope={dirty:E,ctx:O}),o.$set(L);const N={};E&1572865&&(N.$$scope={dirty:E,ctx:O}),a.$set(N);const F={};E&1572865&&(F.$$scope={dirty:E,ctx:O}),f.$set(F),O[3]?$?$.p(O,E):($=Em(O),$.c(),$.m(d,g)):$&&($.d(1),$=null),(!T||E&12&&k!==(k=!O[3]||O[2]))&&(b.disabled=k),(!T||E&4)&&x(b,"btn-loading",O[2])},i(O){T||(A(i.$$.fragment,O),A(o.$$.fragment,O),A(a.$$.fragment,O),A(f.$$.fragment,O),T=!0)},o(O){P(i.$$.fragment,O),P(o.$$.fragment,O),P(a.$$.fragment,O),P(f.$$.fragment,O),T=!1},d(O){O&&w(e),q(i),q(o),q(a),q(f),$&&$.d(),C=!1,M()}}}function JD(n){let e;return{c(){e=v("div"),p(e,"class","loader")},m(t,i){S(t,e,i)},p:G,i:G,o:G,d(t){t&&w(e)}}}function ZD(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=z("Application name"),s=D(),l=v("input"),p(e,"for",i=n[19]),p(l,"type","text"),p(l,"id",o=n[19]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),de(l,n[0].meta.appName),r||(a=K(l,"input",n[8]),r=!0)},p(u,f){f&524288&&i!==(i=u[19])&&p(e,"for",i),f&524288&&o!==(o=u[19])&&p(l,"id",o),f&1&&l.value!==u[0].meta.appName&&de(l,u[0].meta.appName)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function GD(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=z("Application url"),s=D(),l=v("input"),p(e,"for",i=n[19]),p(l,"type","text"),p(l,"id",o=n[19]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),de(l,n[0].meta.appUrl),r||(a=K(l,"input",n[9]),r=!0)},p(u,f){f&524288&&i!==(i=u[19])&&p(e,"for",i),f&524288&&o!==(o=u[19])&&p(l,"id",o),f&1&&l.value!==u[0].meta.appUrl&&de(l,u[0].meta.appUrl)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function XD(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=z("Logs max days retention"),s=D(),l=v("input"),p(e,"for",i=n[19]),p(l,"type","number"),p(l,"id",o=n[19]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),de(l,n[0].logs.maxDays),r||(a=K(l,"input",n[10]),r=!0)},p(u,f){f&524288&&i!==(i=u[19])&&p(e,"for",i),f&524288&&o!==(o=u[19])&&p(l,"id",o),f&1&&ht(l.value)!==u[0].logs.maxDays&&de(l,u[0].logs.maxDays)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function xD(n){let e,t,i,s,l,o,r,a,u,f;return{c(){e=v("input"),i=D(),s=v("label"),l=v("spanLine truncated
|
|
||||||
<div class="breadcrumb-item">Application</div></nav>`,t=D(),i=v("div"),s=v("form"),o.c(),p(e,"class","page-header"),p(s,"class","panel"),p(s,"autocomplete","off"),p(i,"class","wrapper")},m(m,h){S(m,e,h),S(m,t,h),S(m,i,h),_(i,s),c[l].m(s,null),r=!0,a||(u=K(s,"submit",pt(n[4])),a=!0)},p(m,h){let g=l;l=d(m),l===g?c[l].p(m,h):(pe(),P(c[g],1,1,()=>{c[g]=null}),me(),o=c[l],o?o.p(m,h):(o=c[l]=f[l](m),o.c()),A(o,1),o.m(s,null))},i(m){r||(A(o),r=!0)},o(m){P(o),r=!1},d(m){m&&w(e),m&&w(t),m&&w(i),c[l].d(),a=!1,u()}}}function eO(n){let e,t,i,s;return e=new Di({}),i=new kn({props:{$$slots:{default:[QD]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment),t=D(),V(i.$$.fragment)},m(l,o){H(e,l,o),S(l,t,o),H(i,l,o),s=!0},p(l,[o]){const r={};o&1048591&&(r.$$scope={dirty:o,ctx:l}),i.$set(r)},i(l){s||(A(e.$$.fragment,l),A(i.$$.fragment,l),s=!0)},o(l){P(e.$$.fragment,l),P(i.$$.fragment,l),s=!1},d(l){q(e,l),l&&w(t),q(i,l)}}}function tO(n,e,t){let i,s,l,o;Je(n,Cs,$=>t(14,s=$)),Je(n,vo,$=>t(15,l=$)),Je(n,St,$=>t(16,o=$)),Yt(St,o="Application settings",o);let r={},a={},u=!1,f=!1,c="";d();async function d(){t(1,u=!0);try{const $=await he.settings.getAll()||{};h($)}catch($){he.errorResponseHandler($)}t(1,u=!1)}async function m(){if(!(f||!i)){t(2,f=!0);try{const $=await he.settings.update(B.filterRedactedProps(a));h($),Vt("Successfully saved application settings.")}catch($){he.errorResponseHandler($)}t(2,f=!1)}}function h($={}){var O,E;Yt(vo,l=(O=$==null?void 0:$.meta)==null?void 0:O.appName,l),Yt(Cs,s=!!((E=$==null?void 0:$.meta)!=null&&E.hideControls),s),t(0,a={meta:($==null?void 0:$.meta)||{},logs:($==null?void 0:$.logs)||{}}),t(6,r=JSON.parse(JSON.stringify(a)))}function g(){t(0,a=JSON.parse(JSON.stringify(r||{})))}function b(){a.meta.appName=this.value,t(0,a)}function y(){a.meta.appUrl=this.value,t(0,a)}function k(){a.logs.maxDays=ht(this.value),t(0,a)}function T(){a.meta.hideControls=this.checked,t(0,a)}const C=()=>g(),M=()=>m();return n.$$.update=()=>{n.$$.dirty&64&&t(7,c=JSON.stringify(r)),n.$$.dirty&129&&t(3,i=c!=JSON.stringify(a))},[a,u,f,i,m,g,r,c,b,y,k,T,C,M]}class nO extends ke{constructor(e){super(),ye(this,e,tO,eO,be,{})}}function iO(n){let e,t,i,s=[{type:"password"},{autocomplete:"new-password"},n[5]],l={};for(let o=0;o<s.length;o+=1)l=Xe(l,s[o]);return{c(){e=v("input"),Zn(e,l)},m(o,r){S(o,e,r),e.autofocus&&e.focus(),n[7](e),de(e,n[0]),t||(i=K(e,"input",n[8]),t=!0)},p(o,r){Zn(e,l=ln(s,[{type:"password"},{autocomplete:"new-password"},r&32&&o[5]])),r&1&&e.value!==o[0]&&de(e,o[0])},d(o){o&&w(e),n[7](null),t=!1,i()}}}function sO(n){let e,t,i,s,l,o,r=[{readOnly:!0},{type:"text"},{placeholder:n[1]},n[5]],a={};for(let u=0;u<r.length;u+=1)a=Xe(a,r[u]);return{c(){e=v("div"),t=v("button"),t.innerHTML='<i class="ri-key-line"></i>',i=D(),s=v("input"),p(t,"type","button"),p(t,"class","btn btn-transparent btn-circle"),p(e,"class","form-field-addon"),Zn(s,a)},m(u,f){S(u,e,f),_(e,t),S(u,i,f),S(u,s,f),s.autofocus&&s.focus(),l||(o=[Pe(Ye.call(null,t,{position:"left",text:"Set new value"})),K(t,"click",n[6])],l=!0)},p(u,f){Zn(s,a=ln(r,[{readOnly:!0},{type:"text"},f&2&&{placeholder:u[1]},f&32&&u[5]]))},d(u){u&&w(e),u&&w(i),u&&w(s),l=!1,Le(o)}}}function lO(n){let e;function t(l,o){return l[3]?sO:iO}let i=t(n),s=i(n);return{c(){s.c(),e=Ae()},m(l,o){s.m(l,o),S(l,e,o)},p(l,[o]){i===(i=t(l))&&s?s.p(l,o):(s.d(1),s=i(l),s&&(s.c(),s.m(e.parentNode,e)))},i:G,o:G,d(l){s.d(l),l&&w(e)}}}function oO(n,e,t){const i=["value","mask"];let s=At(e,i),{value:l=""}=e,{mask:o="******"}=e,r,a=!1;async function u(){t(0,l=""),t(3,a=!1),await tn(),r==null||r.focus()}const f=()=>u();function c(m){ie[m?"unshift":"push"](()=>{r=m,t(2,r)})}function d(){l=this.value,t(0,l)}return n.$$set=m=>{e=Xe(Xe({},e),Gn(m)),t(5,s=At(e,i)),"value"in m&&t(0,l=m.value),"mask"in m&&t(1,o=m.mask)},n.$$.update=()=>{n.$$.dirty&3&&l===o&&t(3,a=!0)},[l,o,r,a,u,s,f,c,d]}class nu extends ke{constructor(e){super(),ye(this,e,oO,lO,be,{value:0,mask:1})}}function rO(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g;return{c(){e=v("label"),t=z("Subject"),s=D(),l=v("input"),r=D(),a=v("div"),u=z(`Available placeholder parameters:
|
|
||||||
`),f=v("button"),f.textContent=`{APP_NAME}
|
|
||||||
`,c=z(`,
|
|
||||||
`),d=v("button"),d.textContent=`{APP_URL}
|
|
||||||
`,m=z("."),p(e,"for",i=n[31]),p(l,"type","text"),p(l,"id",o=n[31]),p(l,"spellcheck","false"),l.required=!0,p(f,"type","button"),p(f,"class","label label-sm link-primary txt-mono"),p(d,"type","button"),p(d,"class","label label-sm link-primary txt-mono"),p(a,"class","help-block")},m(b,y){S(b,e,y),_(e,t),S(b,s,y),S(b,l,y),de(l,n[0].subject),S(b,r,y),S(b,a,y),_(a,u),_(a,f),_(a,c),_(a,d),_(a,m),h||(g=[K(l,"input",n[13]),K(f,"click",n[14]),K(d,"click",n[15])],h=!0)},p(b,y){y[1]&1&&i!==(i=b[31])&&p(e,"for",i),y[1]&1&&o!==(o=b[31])&&p(l,"id",o),y[0]&1&&l.value!==b[0].subject&&de(l,b[0].subject)},d(b){b&&w(e),b&&w(s),b&&w(l),b&&w(r),b&&w(a),h=!1,Le(g)}}}function aO(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,y;return{c(){e=v("label"),t=z("Action URL"),s=D(),l=v("input"),r=D(),a=v("div"),u=z(`Available placeholder parameters:
|
|
||||||
`),f=v("button"),f.textContent=`{APP_NAME}
|
|
||||||
`,c=z(`,
|
|
||||||
`),d=v("button"),d.textContent=`{APP_URL}
|
|
||||||
`,m=z(`,
|
|
||||||
`),h=v("button"),h.textContent=`{TOKEN}
|
|
||||||
`,g=z("."),p(e,"for",i=n[31]),p(l,"type","text"),p(l,"id",o=n[31]),p(l,"spellcheck","false"),l.required=!0,p(f,"type","button"),p(f,"class","label label-sm link-primary txt-mono"),p(d,"type","button"),p(d,"class","label label-sm link-primary txt-mono"),p(h,"type","button"),p(h,"class","label label-sm link-primary txt-mono"),p(h,"title","Required parameter"),p(a,"class","help-block")},m(k,T){S(k,e,T),_(e,t),S(k,s,T),S(k,l,T),de(l,n[0].actionUrl),S(k,r,T),S(k,a,T),_(a,u),_(a,f),_(a,c),_(a,d),_(a,m),_(a,h),_(a,g),b||(y=[K(l,"input",n[16]),K(f,"click",n[17]),K(d,"click",n[18]),K(h,"click",n[19])],b=!0)},p(k,T){T[1]&1&&i!==(i=k[31])&&p(e,"for",i),T[1]&1&&o!==(o=k[31])&&p(l,"id",o),T[0]&1&&l.value!==k[0].actionUrl&&de(l,k[0].actionUrl)},d(k){k&&w(e),k&&w(s),k&&w(l),k&&w(r),k&&w(a),b=!1,Le(y)}}}function uO(n){let e,t,i,s;return{c(){e=v("textarea"),p(e,"id",t=n[31]),p(e,"class","txt-mono"),p(e,"spellcheck","false"),p(e,"rows","14"),e.required=!0},m(l,o){S(l,e,o),de(e,n[0].body),i||(s=K(e,"input",n[21]),i=!0)},p(l,o){o[1]&1&&t!==(t=l[31])&&p(e,"id",t),o[0]&1&&de(e,l[0].body)},i:G,o:G,d(l){l&&w(e),i=!1,s()}}}function fO(n){let e,t,i,s;function l(a){n[20](a)}var o=n[4];function r(a){let u={id:a[31],language:"html"};return a[0].body!==void 0&&(u.value=a[0].body),{props:u}}return o&&(e=Kt(o,r(n)),ie.push(()=>ve(e,"value",l))),{c(){e&&V(e.$$.fragment),i=Ae()},m(a,u){e&&H(e,a,u),S(a,i,u),s=!0},p(a,u){const f={};if(u[1]&1&&(f.id=a[31]),!t&&u[0]&1&&(t=!0,f.value=a[0].body,we(()=>t=!1)),o!==(o=a[4])){if(e){pe();const c=e;P(c.$$.fragment,1,0,()=>{q(c,1)}),me()}o?(e=Kt(o,r(a)),ie.push(()=>ve(e,"value",l)),V(e.$$.fragment),A(e.$$.fragment,1),H(e,i.parentNode,i)):e=null}else o&&e.$set(f)},i(a){s||(e&&A(e.$$.fragment,a),s=!0)},o(a){e&&P(e.$$.fragment,a),s=!1},d(a){a&&w(i),e&&q(e,a)}}}function cO(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,y,k,T,C;const M=[fO,uO],$=[];function O(E,I){return E[4]&&!E[5]?0:1}return l=O(n),o=$[l]=M[l](n),{c(){e=v("label"),t=z("Body (HTML)"),s=D(),o.c(),r=D(),a=v("div"),u=z(`Available placeholder parameters:
|
|
||||||
`),f=v("button"),f.textContent=`{APP_NAME}
|
|
||||||
`,c=z(`,
|
|
||||||
`),d=v("button"),d.textContent=`{APP_URL}
|
|
||||||
`,m=z(`,
|
|
||||||
`),h=v("button"),h.textContent=`{TOKEN}
|
|
||||||
`,g=z(`,
|
|
||||||
`),b=v("button"),b.textContent=`{ACTION_URL}
|
|
||||||
`,y=z("."),p(e,"for",i=n[31]),p(f,"type","button"),p(f,"class","label label-sm link-primary txt-mono"),p(d,"type","button"),p(d,"class","label label-sm link-primary txt-mono"),p(h,"type","button"),p(h,"class","label label-sm link-primary txt-mono"),p(b,"type","button"),p(b,"class","label label-sm link-primary txt-mono"),p(b,"title","Required parameter"),p(a,"class","help-block")},m(E,I){S(E,e,I),_(e,t),S(E,s,I),$[l].m(E,I),S(E,r,I),S(E,a,I),_(a,u),_(a,f),_(a,c),_(a,d),_(a,m),_(a,h),_(a,g),_(a,b),_(a,y),k=!0,T||(C=[K(f,"click",n[22]),K(d,"click",n[23]),K(h,"click",n[24]),K(b,"click",n[25])],T=!0)},p(E,I){(!k||I[1]&1&&i!==(i=E[31]))&&p(e,"for",i);let L=l;l=O(E),l===L?$[l].p(E,I):(pe(),P($[L],1,1,()=>{$[L]=null}),me(),o=$[l],o?o.p(E,I):(o=$[l]=M[l](E),o.c()),A(o,1),o.m(r.parentNode,r))},i(E){k||(A(o),k=!0)},o(E){P(o),k=!1},d(E){E&&w(e),E&&w(s),$[l].d(E),E&&w(r),E&&w(a),T=!1,Le(C)}}}function dO(n){let e,t,i,s,l,o;return e=new _e({props:{class:"form-field required",name:n[1]+".subject",$$slots:{default:[rO,({uniqueId:r})=>({31:r}),({uniqueId:r})=>[0,r?1:0]]},$$scope:{ctx:n}}}),i=new _e({props:{class:"form-field required",name:n[1]+".actionUrl",$$slots:{default:[aO,({uniqueId:r})=>({31:r}),({uniqueId:r})=>[0,r?1:0]]},$$scope:{ctx:n}}}),l=new _e({props:{class:"form-field m-0 required",name:n[1]+".body",$$slots:{default:[cO,({uniqueId:r})=>({31:r}),({uniqueId:r})=>[0,r?1:0]]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment),t=D(),V(i.$$.fragment),s=D(),V(l.$$.fragment)},m(r,a){H(e,r,a),S(r,t,a),H(i,r,a),S(r,s,a),H(l,r,a),o=!0},p(r,a){const u={};a[0]&2&&(u.name=r[1]+".subject"),a[0]&1|a[1]&3&&(u.$$scope={dirty:a,ctx:r}),e.$set(u);const f={};a[0]&2&&(f.name=r[1]+".actionUrl"),a[0]&1|a[1]&3&&(f.$$scope={dirty:a,ctx:r}),i.$set(f);const c={};a[0]&2&&(c.name=r[1]+".body"),a[0]&49|a[1]&3&&(c.$$scope={dirty:a,ctx:r}),l.$set(c)},i(r){o||(A(e.$$.fragment,r),A(i.$$.fragment,r),A(l.$$.fragment,r),o=!0)},o(r){P(e.$$.fragment,r),P(i.$$.fragment,r),P(l.$$.fragment,r),o=!1},d(r){q(e,r),r&&w(t),q(i,r),r&&w(s),q(l,r)}}}function Am(n){let e,t,i,s,l;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){S(o,e,r),i=!0,s||(l=Pe(Ye.call(null,e,{text:"Has errors",position:"left"})),s=!0)},i(o){i||(o&&nt(()=>{t||(t=ze(e,Pt,{duration:150,start:.7},!0)),t.run(1)}),i=!0)},o(o){o&&(t||(t=ze(e,Pt,{duration:150,start:.7},!1)),t.run(0)),i=!1},d(o){o&&w(e),o&&t&&t.end(),s=!1,l()}}}function pO(n){let e,t,i,s,l,o,r,a,u,f=n[6]&&Am();return{c(){e=v("div"),t=v("i"),i=D(),s=v("span"),l=z(n[2]),o=D(),r=v("div"),a=D(),f&&f.c(),u=Ae(),p(t,"class","ri-draft-line"),p(s,"class","txt"),p(e,"class","inline-flex"),p(r,"class","flex-fill")},m(c,d){S(c,e,d),_(e,t),_(e,i),_(e,s),_(s,l),S(c,o,d),S(c,r,d),S(c,a,d),f&&f.m(c,d),S(c,u,d)},p(c,d){d[0]&4&&re(l,c[2]),c[6]?f?d[0]&64&&A(f,1):(f=Am(),f.c(),A(f,1),f.m(u.parentNode,u)):f&&(pe(),P(f,1,1,()=>{f=null}),me())},d(c){c&&w(e),c&&w(o),c&&w(r),c&&w(a),f&&f.d(c),c&&w(u)}}}function mO(n){let e,t;const i=[n[8]];let s={$$slots:{header:[pO],default:[dO]},$$scope:{ctx:n}};for(let l=0;l<i.length;l+=1)s=Xe(s,i[l]);return e=new ys({props:s}),n[26](e),e.$on("expand",n[27]),e.$on("collapse",n[28]),e.$on("toggle",n[29]),{c(){V(e.$$.fragment)},m(l,o){H(e,l,o),t=!0},p(l,o){const r=o[0]&256?ln(i,[Xn(l[8])]):{};o[0]&119|o[1]&2&&(r.$$scope={dirty:o,ctx:l}),e.$set(r)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){P(e.$$.fragment,l),t=!1},d(l){n[26](null),q(e,l)}}}let Im;function hO(n,e,t){let i;const s=["key","title","config","expand","collapse","collapseSiblings"];let l=At(e,s),o;Je(n,Ci,R=>t(12,o=R));let{key:r}=e,{title:a}=e,{config:u={}}=e,f,c=Im,d=!1;function m(){f==null||f.expand()}function h(){f==null||f.collapse()}function g(){f==null||f.collapseSiblings()}async function b(){c||d||(t(5,d=!0),t(4,c=(await ft(()=>import("./CodeEditor-a45f274f.js"),["./CodeEditor-a45f274f.js","./index-4934dad7.js"],import.meta.url)).default),Im=c,t(5,d=!1))}function y(R){B.copyToClipboard(R),t_(`Copied ${R} to clipboard`,2e3)}b();function k(){u.subject=this.value,t(0,u)}const T=()=>y("{APP_NAME}"),C=()=>y("{APP_URL}");function M(){u.actionUrl=this.value,t(0,u)}const $=()=>y("{APP_NAME}"),O=()=>y("{APP_URL}"),E=()=>y("{TOKEN}");function I(R){n.$$.not_equal(u.body,R)&&(u.body=R,t(0,u))}function L(){u.body=this.value,t(0,u)}const N=()=>y("{APP_NAME}"),F=()=>y("{APP_URL}"),U=()=>y("{TOKEN}"),J=()=>y("{ACTION_URL}");function ne(R){ie[R?"unshift":"push"](()=>{f=R,t(3,f)})}function Z(R){We.call(this,n,R)}function te(R){We.call(this,n,R)}function ee(R){We.call(this,n,R)}return n.$$set=R=>{e=Xe(Xe({},e),Gn(R)),t(8,l=At(e,s)),"key"in R&&t(1,r=R.key),"title"in R&&t(2,a=R.title),"config"in R&&t(0,u=R.config)},n.$$.update=()=>{n.$$.dirty[0]&4098&&t(6,i=!B.isEmpty(B.getNestedVal(o,r))),n.$$.dirty[0]&3&&(u.enabled||Ts(r))},[u,r,a,f,c,d,i,y,l,m,h,g,o,k,T,C,M,$,O,E,I,L,N,F,U,J,ne,Z,te,ee]}class Er extends ke{constructor(e){super(),ye(this,e,hO,mO,be,{key:1,title:2,config:0,expand:9,collapse:10,collapseSiblings:11},null,[-1,-1])}get expand(){return
Line truncated
|
|
||||||
<span class="txt">Send test email</span>`,p(e,"type","button"),p(e,"class","btn btn-expanded btn-outline")},m(s,l){S(s,e,l),t||(i=K(e,"click",n[26]),t=!0)},p:G,d(s){s&&w(e),t=!1,i()}}}function FO(n){let e,t,i,s,l,o,r,a;return{c(){e=v("button"),t=v("span"),t.textContent="Cancel",i=D(),s=v("button"),l=v("span"),l.textContent="Save changes",p(t,"class","txt"),p(e,"type","button"),p(e,"class","btn btn-transparent btn-hint"),e.disabled=n[3],p(l,"class","txt"),p(s,"type","submit"),p(s,"class","btn btn-expanded"),s.disabled=o=!n[4]||n[3],x(s,"btn-loading",n[3])},m(u,f){S(u,e,f),_(e,t),S(u,i,f),S(u,s,f),_(s,l),r||(a=[K(e,"click",n[24]),K(s,"click",n[25])],r=!0)},p(u,f){f[0]&8&&(e.disabled=u[3]),f[0]&24&&o!==(o=!u[4]||u[3])&&(s.disabled=o),f[0]&8&&x(s,"btn-loading",u[3])},d(u){u&&w(e),u&&w(i),u&&w(s),r=!1,Le(a)}}}function RO(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b;const y=[CO,TO],k=[];function T(C,M){return C[2]?0:1}return d=T(n),m=k[d]=y[d](n),{c(){e=v("header"),t=v("nav"),i=v("div"),i.textContent="Settings",s=D(),l=v("div"),o=z(n[5]),r=D(),a=v("div"),u=v("form"),f=v("div"),f.innerHTML="<p>Configure common settings for sending emails.</p>",c=D(),m.c(),p(i,"class","breadcrumb-item"),p(l,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(e,"class","page-header"),p(f,"class","content txt-xl m-b-base"),p(u,"class","panel"),p(u,"autocomplete","off"),p(a,"class","wrapper")},m(C,M){S(C,e,M),_(e,t),_(t,i),_(t,s),_(t,l),_(l,o),S(C,r,M),S(C,a,M),_(a,u),_(u,f),_(u,c),k[d].m(u,null),h=!0,g||(b=K(u,"submit",pt(n[27])),g=!0)},p(C,M){(!h||M[0]&32)&&re(o,C[5]);let $=d;d=T(C),d===$?k[d].p(C,M):(pe(),P(k[$],1,1,()=>{k[$]=null}),me(),m=k[d],m?m.p(C,M):(m=k[d]=y[d](C),m.c()),A(m,1),m.m(u,null))},i(C){h||(A(m),h=!0)},o(C){P(m),h=!1},d(C){C&&w(e),C&&w(r),C&&w(a),k[d].d(),g=!1,b()}}}function jO(n){let e,t,i,s,l,o;e=new Di({}),i=new kn({props:{$$slots:{default:[RO]},$$scope:{ctx:n}}});let r={};return l=new SO({props:r}),n[28](l),{c(){V(e.$$.fragment),t=D(),V(i.$$.fragment),s=D(),V(l.$$.fragment)},m(a,u){H(e,a,u),S(a,t,u),H(i,a,u),S(a,s,u),H(l,a,u),o=!0},p(a,u){const f={};u[0]&63|u[1]&2&&(f.$$scope={dirty:u,ctx:a}),i.$set(f);const c={};l.$set(c)},i(a){o||(A(e.$$.fragment,a),A(i.$$.fragment,a),A(l.$$.fragment,a),o=!0)},o(a){P(e.$$.fragment,a),P(i.$$.fragment,a),P(l.$$.fragment,a),o=!1},d(a){q(e,a),a&&w(t),q(i,a),a&&w(s),n[28](null),q(l,a)}}}function HO(n,e,t){let i,s,l;Je(n,St,ee=>t(5,l=ee));const o=[{label:"Auto (StartTLS)",value:!1},{label:"Always",value:!0}],r=[{label:"PLAIN (default)",value:"PLAIN"},{label:"LOGIN",value:"LOGIN"}];Yt(St,l="Mail settings",l);let a,u={},f={},c=!1,d=!1;m();async function m(){t(2,c=!0);try{const ee=await he.settings.getAll()||{};g(ee)}catch(ee){he.errorResponseHandler(ee)}t(2,c=!1)}async function h(){if(!(d||!s)){t(3,d=!0);try{const ee=await he.settings.update(B.filterRedactedProps(f));g(ee),Vn({}),Vt("Successfully saved mail settings.")}catch(ee){he.errorResponseHandler(ee)}t(3,d=!1)}}function g(ee={}){t(0,f={meta:(ee==null?void 0:ee.meta)||{},smtp:(ee==null?void 0:ee.smtp)||{}}),f.smtp.authMethod||t(0,f.smtp.authMethod=r[0].value,f),t(10,u=JSON.parse(JSON.stringify(f)))}function b(){t(0,f=JSON.parse(JSON.stringify(u||{})))}function y(){f.meta.senderName=this.value,t(0,f)}function k(){f.meta.senderAddress=this.value,t(0,f)}function T(ee){n.$$.not_equal(f.meta.verificationTemplate,ee)&&(f.meta.verificationTemplate=ee,t(0,f))}function C(ee){n.$$.not_equal(f.meta.resetPasswordTemplate,ee)&&(f.meta.resetPasswordTemplate=ee,t(0,f))}function M(ee){n.$$.not_equal(f.meta.confirmEmailChangeTemplate,ee)&&(f.meta.confirmEmailChangeTemplate=ee,t(0,f))}function $(){f.smtp.enabled=this.checked,t(0,f)}function O(){f.smtp.host=this.value,t(0,f)}function E(){f.smtp.port=ht(this.value),t(0,f)}function I(ee){n.$$.not_equal(f.smtp.tls,ee)&&(f.smtp.tls=ee,t(0,f))}function L(ee){n.$$.not_equal(f.smtp.authMethod,ee)&&(f.smtp.authMethod=ee,t(0,f))}function N(){f.smtp.username=this.value,t(0,f)}function F(ee){n.$$.not_equal(f.smtp.password,ee)&&(f.smtp.password=ee,t(0,f))}const U=()=>b(),J=()=>h(),ne=()=>a==null?void 0:a.show(),Z=()=>h();function te(ee){ie[ee?"unshift":"push"](()=>{a=ee,t(1,a)})}return n.$$.update=()=>{n.$$.dirty[0]&1024&&t(11,i=JSON.stringify(u)),n.$$.dirty[0]&2049&&t(4,s=i!=JSON.stringify(f))},[f,a,c,d,s,l,o,r,h,b,u,i,y,k,T,C,M,$,O,E,I,L,N,F,U,J,ne,Z,te]}class qO extends ke{constructor(e){super(),ye(this,e,HO,jO,be,{},null,[-1,-1])}}function VO(n){var C,M;let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g;e=new _e({props:{class:"form-field form-field-toggle",$$slots:{default:[BO,({uniqueId:$})=>({25:$}),({uniqueId:$})=>$?33554432:0]},$$scope:{ctx:n}}});let b=((C=n[0].s3)==null?void 0:C.enabled)!=n[1].s3.enabled&&Rm(n),y=n[1].s3.enabled&&jm(n),k=((M=n[1].s3)==null?void 0:M.enabled)&&!n[6]&&!n[3]&&Hm(n),T=n[6]&&qm(n);return{c(){V(e.$$.fragment),t=D(),b&&b.c(),i=D(),y&&y.c(),s=D(),l=v("div"),o=v("div"),r=D(),k&&k.c(),a=D(),T&&T.c(),u=D(),f=v("button"),c=v("span"),c.textContent="Save changes",p(o,"claLine truncated
|
|
||||||
the
|
|
||||||
`),r=v("strong"),u=z(a),f=z(`
|
|
||||||
to the
|
|
||||||
`),c=v("strong"),m=z(d),h=z(`.
|
|
||||||
`),g=v("br"),b=z(`
|
|
||||||
There are numerous command line tools that can help you, such as:
|
|
||||||
`),y=v("a"),y.textContent=`rclone
|
|
||||||
`,k=z(`,
|
|
||||||
`),T=v("a"),T.textContent=`s5cmd
|
|
||||||
`,C=z(", etc."),M=D(),$=v("div"),p(i,"class","icon"),p(y,"href","https://github.com/rclone/rclone"),p(y,"target","_blank"),p(y,"rel","noopener noreferrer"),p(y,"class","txt-bold"),p(T,"href","https://github.com/peak/s5cmd"),p(T,"target","_blank"),p(T,"rel","noopener noreferrer"),p(T,"class","txt-bold"),p(l,"class","content"),p(t,"class","alert alert-warning m-0"),p($,"class","clearfix m-t-base")},m(L,N){S(L,e,N),_(e,t),_(t,i),_(t,s),_(t,l),_(l,o),_(l,r),_(r,u),_(l,f),_(l,c),_(c,m),_(l,h),_(l,g),_(l,b),_(l,y),_(l,k),_(l,T),_(l,C),_(e,M),_(e,$),E=!0},p(L,N){var F;(!E||N&1)&&a!==(a=(F=L[0].s3)!=null&&F.enabled?"S3 storage":"local file system")&&re(u,a),(!E||N&2)&&d!==(d=L[1].s3.enabled?"S3 storage":"local file system")&&re(m,d)},i(L){E||(L&&nt(()=>{O||(O=ze(e,It,{duration:150},!0)),O.run(1)}),E=!0)},o(L){L&&(O||(O=ze(e,It,{duration:150},!1)),O.run(0)),E=!1},d(L){L&&w(e),L&&O&&O.end()}}}function jm(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,y,k,T,C,M,$;return i=new _e({props:{class:"form-field required",name:"s3.endpoint",$$slots:{default:[UO,({uniqueId:O})=>({25:O}),({uniqueId:O})=>O?33554432:0]},$$scope:{ctx:n}}}),o=new _e({props:{class:"form-field required",name:"s3.bucket",$$slots:{default:[WO,({uniqueId:O})=>({25:O}),({uniqueId:O})=>O?33554432:0]},$$scope:{ctx:n}}}),u=new _e({props:{class:"form-field required",name:"s3.region",$$slots:{default:[YO,({uniqueId:O})=>({25:O}),({uniqueId:O})=>O?33554432:0]},$$scope:{ctx:n}}}),d=new _e({props:{class:"form-field required",name:"s3.accessKey",$$slots:{default:[KO,({uniqueId:O})=>({25:O}),({uniqueId:O})=>O?33554432:0]},$$scope:{ctx:n}}}),g=new _e({props:{class:"form-field required",name:"s3.secret",$$slots:{default:[JO,({uniqueId:O})=>({25:O}),({uniqueId:O})=>O?33554432:0]},$$scope:{ctx:n}}}),k=new _e({props:{class:"form-field",name:"s3.forcePathStyle",$$slots:{default:[ZO,({uniqueId:O})=>({25:O}),({uniqueId:O})=>O?33554432:0]},$$scope:{ctx:n}}}),{c(){e=v("div"),t=v("div"),V(i.$$.fragment),s=D(),l=v("div"),V(o.$$.fragment),r=D(),a=v("div"),V(u.$$.fragment),f=D(),c=v("div"),V(d.$$.fragment),m=D(),h=v("div"),V(g.$$.fragment),b=D(),y=v("div"),V(k.$$.fragment),T=D(),C=v("div"),p(t,"class","col-lg-6"),p(l,"class","col-lg-3"),p(a,"class","col-lg-3"),p(c,"class","col-lg-6"),p(h,"class","col-lg-6"),p(y,"class","col-lg-12"),p(C,"class","col-lg-12"),p(e,"class","grid")},m(O,E){S(O,e,E),_(e,t),H(i,t,null),_(e,s),_(e,l),H(o,l,null),_(e,r),_(e,a),H(u,a,null),_(e,f),_(e,c),H(d,c,null),_(e,m),_(e,h),H(g,h,null),_(e,b),_(e,y),H(k,y,null),_(e,T),_(e,C),$=!0},p(O,E){const I={};E&100663298&&(I.$$scope={dirty:E,ctx:O}),i.$set(I);const L={};E&100663298&&(L.$$scope={dirty:E,ctx:O}),o.$set(L);const N={};E&100663298&&(N.$$scope={dirty:E,ctx:O}),u.$set(N);const F={};E&100663298&&(F.$$scope={dirty:E,ctx:O}),d.$set(F);const U={};E&100663298&&(U.$$scope={dirty:E,ctx:O}),g.$set(U);const J={};E&100663298&&(J.$$scope={dirty:E,ctx:O}),k.$set(J)},i(O){$||(A(i.$$.fragment,O),A(o.$$.fragment,O),A(u.$$.fragment,O),A(d.$$.fragment,O),A(g.$$.fragment,O),A(k.$$.fragment,O),O&&nt(()=>{M||(M=ze(e,It,{duration:150},!0)),M.run(1)}),$=!0)},o(O){P(i.$$.fragment,O),P(o.$$.fragment,O),P(u.$$.fragment,O),P(d.$$.fragment,O),P(g.$$.fragment,O),P(k.$$.fragment,O),O&&(M||(M=ze(e,It,{duration:150},!1)),M.run(0)),$=!1},d(O){O&&w(e),q(i),q(o),q(u),q(d),q(g),q(k),O&&M&&M.end()}}}function UO(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=z("Endpoint"),s=D(),l=v("input"),p(e,"for",i=n[25]),p(l,"type","text"),p(l,"id",o=n[25]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),de(l,n[1].s3.endpoint),r||(a=K(l,"input",n[12]),r=!0)},p(u,f){f&33554432&&i!==(i=u[25])&&p(e,"for",i),f&33554432&&o!==(o=u[25])&&p(l,"id",o),f&2&&l.value!==u[1].s3.endpoint&&de(l,u[1].s3.endpoint)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function WO(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=z("Bucket"),s=D(),l=v("input"),p(e,"for",i=n[25]),p(l,"type","text"),p(l,"id",o=n[25]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),de(l,n[1].s3.bucket),r||(a=K(l,"input",n[13]),r=!0)},p(u,f){f&33554432&&i!==(i=u[25])&&p(e,"for",i),f&33554432&&o!==(o=u[25])&&p(l,"id",o),f&2&&l.value!==u[1].s3.bucket&&de(l,u[1].s3.bucket)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function YO(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=z("Region"),s=D(),l=v("input"),p(e,"for",i=n[25]),p(l,"type","text"),p(l,"id",o=n[25]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),de(l,n[1].s3.region),r||(a=K(l,"input",n[14]),r=!0)},p(u,f){f&33554432&&i!==(i=u[25])&&p(e,"for",i),f&33554432&&o!==(o=u[25])&&p(l,"id",o),f&2&&l.value!==u[1].s3.region&&de(l,u[1].s3.region)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function KO(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=z("Access key"),s=D(),l=v("input"),p(e,"for",i=n[25]),p(l,"type","text"),p(l,"id",o=n[25]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),de(l,n[1].s3.accessKey),r||(a=K(l,"input",n[15]),r=!0)},p(u,f){f&33554432&&i!==(i=u[25])&&p(e,"for",i),f&33554432&&o!==(
Line truncated
|
|
||||||
<span class="txt">S3 connected successfully</span>`,p(e,"class","label label-sm label-success entrance-right")},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function XO(n){let e,t,i,s;return{c(){e=v("div"),e.innerHTML=`<i class="ri-error-warning-line txt-warning"></i>
|
|
||||||
<span class="txt">Failed to establish S3 connection</span>`,p(e,"class","label label-sm label-warning entrance-right")},m(l,o){var r;S(l,e,o),i||(s=Pe(t=Ye.call(null,e,(r=n[5].data)==null?void 0:r.message)),i=!0)},p(l,o){var r;t&&zt(t.update)&&o&32&&t.update.call(null,(r=l[5].data)==null?void 0:r.message)},d(l){l&&w(e),i=!1,s()}}}function xO(n){let e;return{c(){e=v("span"),p(e,"class","loader loader-sm")},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function qm(n){let e,t,i,s;return{c(){e=v("button"),t=v("span"),t.textContent="Cancel",p(t,"class","txt"),p(e,"type","button"),p(e,"class","btn btn-transparent btn-hint"),e.disabled=n[3]},m(l,o){S(l,e,o),_(e,t),i||(s=K(e,"click",n[18]),i=!0)},p(l,o){o&8&&(e.disabled=l[3])},d(l){l&&w(e),i=!1,s()}}}function QO(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b;const y=[zO,VO],k=[];function T(C,M){return C[2]?0:1}return d=T(n),m=k[d]=y[d](n),{c(){e=v("header"),t=v("nav"),i=v("div"),i.textContent="Settings",s=D(),l=v("div"),o=z(n[7]),r=D(),a=v("div"),u=v("form"),f=v("div"),f.innerHTML=`<p>By default PocketBase uses the local file system to store uploaded files.</p>
|
|
||||||
<p>If you have limited disk space, you could optionally connect to a S3 compatible storage.</p>`,c=D(),m.c(),p(i,"class","breadcrumb-item"),p(l,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(e,"class","page-header"),p(f,"class","content txt-xl m-b-base"),p(u,"class","panel"),p(u,"autocomplete","off"),p(a,"class","wrapper")},m(C,M){S(C,e,M),_(e,t),_(t,i),_(t,s),_(t,l),_(l,o),S(C,r,M),S(C,a,M),_(a,u),_(u,f),_(u,c),k[d].m(u,null),h=!0,g||(b=K(u,"submit",pt(n[20])),g=!0)},p(C,M){(!h||M&128)&&re(o,C[7]);let $=d;d=T(C),d===$?k[d].p(C,M):(pe(),P(k[$],1,1,()=>{k[$]=null}),me(),m=k[d],m?m.p(C,M):(m=k[d]=y[d](C),m.c()),A(m,1),m.m(u,null))},i(C){h||(A(m),h=!0)},o(C){P(m),h=!1},d(C){C&&w(e),C&&w(r),C&&w(a),k[d].d(),g=!1,b()}}}function eE(n){let e,t,i,s;return e=new Di({}),i=new kn({props:{$$slots:{default:[QO]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment),t=D(),V(i.$$.fragment)},m(l,o){H(e,l,o),S(l,t,o),H(i,l,o),s=!0},p(l,[o]){const r={};o&67109119&&(r.$$scope={dirty:o,ctx:l}),i.$set(r)},i(l){s||(A(e.$$.fragment,l),A(i.$$.fragment,l),s=!0)},o(l){P(e.$$.fragment,l),P(i.$$.fragment,l),s=!1},d(l){q(e,l),l&&w(t),q(i,l)}}}const lo="s3_test_request";function tE(n,e,t){let i,s,l;Je(n,St,F=>t(7,l=F)),Yt(St,l="Files storage",l);let o={},r={},a=!1,u=!1,f=!1,c=null,d=null;m();async function m(){t(2,a=!0);try{const F=await he.settings.getAll()||{};g(F)}catch(F){he.errorResponseHandler(F)}t(2,a=!1)}async function h(){if(!(u||!s)){t(3,u=!0);try{he.cancelRequest(lo);const F=await he.settings.update(B.filterRedactedProps(r));Vn({}),await g(F),Ca(),c?ov("Successfully saved but failed to establish S3 connection."):Vt("Successfully saved files storage settings.")}catch(F){he.errorResponseHandler(F)}t(3,u=!1)}}async function g(F={}){t(1,r={s3:(F==null?void 0:F.s3)||{}}),t(0,o=JSON.parse(JSON.stringify(r))),await y()}async function b(){t(1,r=JSON.parse(JSON.stringify(o||{}))),await y()}async function y(){if(t(5,c=null),!!r.s3.enabled){he.cancelRequest(lo),clearTimeout(d),d=setTimeout(()=>{he.cancelRequest(lo),addErrorToast("S3 test connection timeout.")},3e4),t(4,f=!0);try{await he.settings.testS3({$cancelKey:lo})}catch(F){t(5,c=F)}t(4,f=!1),clearTimeout(d)}}sn(()=>()=>{clearTimeout(d)});function k(){r.s3.enabled=this.checked,t(1,r)}function T(){r.s3.endpoint=this.value,t(1,r)}function C(){r.s3.bucket=this.value,t(1,r)}function M(){r.s3.region=this.value,t(1,r)}function $(){r.s3.accessKey=this.value,t(1,r)}function O(F){n.$$.not_equal(r.s3.secret,F)&&(r.s3.secret=F,t(1,r))}function E(){r.s3.forcePathStyle=this.checked,t(1,r)}const I=()=>b(),L=()=>h(),N=()=>h();return n.$$.update=()=>{n.$$.dirty&1&&t(10,i=JSON.stringify(o)),n.$$.dirty&1026&&t(6,s=i!=JSON.stringify(r))},[o,r,a,u,f,c,s,l,h,b,i,k,T,C,M,$,O,E,I,L,N]}class nE extends ke{constructor(e){super(),ye(this,e,tE,eE,be,{})}}function iE(n){let e,t,i,s,l,o,r,a;return{c(){e=v("input"),i=D(),s=v("label"),l=z("Enable"),p(e,"type","checkbox"),p(e,"id",t=n[20]),p(s,"for",o=n[20])},m(u,f){S(u,e,f),e.checked=n[0].enabled,S(u,i,f),S(u,s,f),_(s,l),r||(a=K(e,"change",n[12]),r=!0)},p(u,f){f&1048576&&t!==(t=u[20])&&p(e,"id",t),f&1&&(e.checked=u[0].enabled),f&1048576&&o!==(o=u[20])&&p(s,"for",o)},d(u){u&&w(e),u&&w(i),u&&w(s),r=!1,a()}}}function sE(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=z("Client ID"),s=D(),l=v("input"),p(e,"for",i=n[20]),p(l,"type","text"),p(l,"id",o=n[20]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),de(l,n[0].clientId),r||(a=K(l,"input",n[13]),r=!0)},p(u,f){f&1048576&&i!==(i=u[20])&&p(e,"for",i),f&1048576&&o!==(o=u[20])&&p(l,"id",o),f&1&&l.value!==u[0].clientId&&de(l,u[0].clientId)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function lE(n){let e,t,i,s,l,o,r;function a(f){n[14](f)}let u={id:n[20],required:!0};return n[0].clientSecret!==void 0&&(u.value=n[0].clientSecret),l=new nu({props:u}),ie.push(()=>ve(l,"value",a)),{c(){e=v("label"),t=z("Client Secret"),s=D(),V(l.$$.fragment),p(e,"for",i=n[20])},m(f,c){S(f,e,c),_(e,t),S(f,s,c),H(l,f,c),r=!0},p(f,c){(!r||c&1048576&&i!==(i=f[20]))&&p(e,"for",i);const d={};c&1048576&&(d.id=f[20]),!o&&c&1&&(o=!0,d.value=f[0].clientSecret,we(()=>o=!1)),l.$set(d)},i(f){r||(A(l.$$.fragment,f),r=!0)},o(f){P(l.$$.fragment,f),r=!1},d(f){f&&w(e),f&&w(s),q(l,f)}}}function Vm(n){let e,t,i,s;function l(a){n[15](a)}var o=n[4];function r(a){let u={key:a[1]};return a[0]!==void 0&&(u.config=a[0]),{props:u}}return o&&(t=Kt(o,r(n)),ie.push(()=>ve(t,"config",l))),{c(){e=v("div"),t&&V(t.$$.fragment),p(e,"class","col-lg-12")},m(a,u){S(a,e,u),t&&H(t,e,null),s=!0},p(a,u){const f={};if(u&2&&(f.key=a[1]),!i&&u&1&&(i=!0,f.config=a[0],we(()=>i=!1)),o!==(o=a[4])){if(t){pe();const c=t;P(c.$$.fragment,1,0,()=>{q(c,1)}),me()}o?(t=Kt(o,r(a)),ie.push(()=>ve(t,"config",l)),V(t.$$.fragment),A(t.$$.fragment,1),H(t,e,null)):t=null}else o&&t.$set(f)},i(a){s||(t&&A(t.$$.fragment,a),s=!0)},o(a){t&&P(t.$$.fragment,a),s=!1},d(a){a&&w(e),t&&q(t)}}}function oE(n){let e,t,i,s,l,o,r,a,u,f,c,d;e=new _e({props:{class:"form-field form-field-toggle m-b-0",naLine truncated
|
|
||||||
another PocketBase environment.</p>`,t=D(),i=v("div"),s=v("button"),s.innerHTML='<span class="txt">Copy</span>',l=D(),V(o.$$.fragment),r=D(),a=v("div"),u=v("div"),f=D(),c=v("button"),c.innerHTML=`<i class="ri-download-line"></i>
|
|
||||||
<span class="txt">Download as JSON</span>`,p(e,"class","content txt-xl m-b-base"),p(s,"type","button"),p(s,"class","btn btn-sm btn-transparent fade copy-schema svelte-jm5c4z"),p(i,"tabindex","0"),p(i,"class","export-preview svelte-jm5c4z"),p(u,"class","flex-fill"),p(c,"type","button"),p(c,"class","btn btn-expanded"),p(a,"class","flex m-t-base")},m(g,b){S(g,e,b),S(g,t,b),S(g,i,b),_(i,s),_(i,l),H(o,i,null),n[8](i),S(g,r,b),S(g,a,b),_(a,u),_(a,f),_(a,c),d=!0,m||(h=[K(s,"click",n[7]),K(i,"keydown",n[9]),K(c,"click",n[10])],m=!0)},p(g,b){const y={};b&4&&(y.content=g[2]),o.$set(y)},i(g){d||(A(o.$$.fragment,g),d=!0)},o(g){P(o.$$.fragment,g),d=!1},d(g){g&&w(e),g&&w(t),g&&w(i),q(o),n[8](null),g&&w(r),g&&w(a),m=!1,Le(h)}}}function ME(n){let e;return{c(){e=v("div"),p(e,"class","loader")},m(t,i){S(t,e,i)},p:G,i:G,o:G,d(t){t&&w(e)}}}function DE(n){let e,t,i,s,l,o,r,a,u,f,c,d;const m=[ME,$E],h=[];function g(b,y){return b[1]?0:1}return f=g(n),c=h[f]=m[f](n),{c(){e=v("header"),t=v("nav"),i=v("div"),i.textContent="Settings",s=D(),l=v("div"),o=z(n[3]),r=D(),a=v("div"),u=v("div"),c.c(),p(i,"class","breadcrumb-item"),p(l,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(e,"class","page-header"),p(u,"class","panel"),p(a,"class","wrapper")},m(b,y){S(b,e,y),_(e,t),_(t,i),_(t,s),_(t,l),_(l,o),S(b,r,y),S(b,a,y),_(a,u),h[f].m(u,null),d=!0},p(b,y){(!d||y&8)&&re(o,b[3]);let k=f;f=g(b),f===k?h[f].p(b,y):(pe(),P(h[k],1,1,()=>{h[k]=null}),me(),c=h[f],c?c.p(b,y):(c=h[f]=m[f](b),c.c()),A(c,1),c.m(u,null))},i(b){d||(A(c),d=!0)},o(b){P(c),d=!1},d(b){b&&w(e),b&&w(r),b&&w(a),h[f].d()}}}function OE(n){let e,t,i,s;return e=new Di({}),i=new kn({props:{$$slots:{default:[DE]},$$scope:{ctx:n}}}),{c(){V(e.$$.fragment),t=D(),V(i.$$.fragment)},m(l,o){H(e,l,o),S(l,t,o),H(i,l,o),s=!0},p(l,[o]){const r={};o&8207&&(r.$$scope={dirty:o,ctx:l}),i.$set(r)},i(l){s||(A(e.$$.fragment,l),A(i.$$.fragment,l),s=!0)},o(l){P(e.$$.fragment,l),P(i.$$.fragment,l),s=!1},d(l){q(e,l),l&&w(t),q(i,l)}}}function EE(n,e,t){let i,s;Je(n,St,b=>t(3,s=b)),Yt(St,s="Export collections",s);const l="export_"+B.randomString(5);let o,r=[],a=!1;u();async function u(){t(1,a=!0);try{t(6,r=await he.collections.getFullList(100,{$cancelKey:l}));for(let b of r)delete b.created,delete b.updated}catch(b){he.errorResponseHandler(b)}t(1,a=!1)}function f(){B.downloadJson(r,"pb_schema")}function c(){B.copyToClipboard(i),t_("The configuration was copied to your clipboard!",3e3)}const d=()=>c();function m(b){ie[b?"unshift":"push"](()=>{o=b,t(0,o)})}const h=b=>{if(b.ctrlKey&&b.code==="KeyA"){b.preventDefault();const y=window.getSelection(),k=document.createRange();k.selectNodeContents(o),y.removeAllRanges(),y.addRange(k)}},g=()=>f();return n.$$.update=()=>{n.$$.dirty&64&&t(2,i=JSON.stringify(r,null,4))},[o,a,i,s,f,c,r,d,m,h,g]}class AE extends ke{constructor(e){super(),ye(this,e,EE,OE,be,{})}}function Gm(n,e,t){const i=n.slice();return i[14]=e[t],i}function Xm(n,e,t){const i=n.slice();return i[17]=e[t][0],i[18]=e[t][1],i}function xm(n,e,t){const i=n.slice();return i[14]=e[t],i}function Qm(n,e,t){const i=n.slice();return i[17]=e[t][0],i[23]=e[t][1],i}function eh(n,e,t){const i=n.slice();return i[14]=e[t],i}function th(n,e,t){const i=n.slice();return i[17]=e[t][0],i[18]=e[t][1],i}function nh(n,e,t){const i=n.slice();return i[30]=e[t],i}function IE(n){let e,t,i,s,l=n[1].name+"",o,r=n[9]&&ih(),a=n[0].name!==n[1].name&&sh(n);return{c(){e=v("div"),r&&r.c(),t=D(),a&&a.c(),i=D(),s=v("strong"),o=z(l),p(s,"class","txt"),p(e,"class","inline-flex fleg-gap-5")},m(u,f){S(u,e,f),r&&r.m(e,null),_(e,t),a&&a.m(e,null),_(e,i),_(e,s),_(s,o)},p(u,f){u[9]?r||(r=ih(),r.c(),r.m(e,t)):r&&(r.d(1),r=null),u[0].name!==u[1].name?a?a.p(u,f):(a=sh(u),a.c(),a.m(e,i)):a&&(a.d(1),a=null),f[0]&2&&l!==(l=u[1].name+"")&&re(o,l)},d(u){u&&w(e),r&&r.d(),a&&a.d()}}}function PE(n){var o;let e,t,i,s=((o=n[0])==null?void 0:o.name)+"",l;return{c(){e=v("span"),e.textContent="Deleted",t=D(),i=v("strong"),l=z(s),p(e,"class","label label-danger")},m(r,a){S(r,e,a),S(r,t,a),S(r,i,a),_(i,l)},p(r,a){var u;a[0]&1&&s!==(s=((u=r[0])==null?void 0:u.name)+"")&&re(l,s)},d(r){r&&w(e),r&&w(t),r&&w(i)}}}function LE(n){var o;let e,t,i,s=((o=n[1])==null?void 0:o.name)+"",l;return{c(){e=v("span"),e.textContent="Added",t=D(),i=v("strong"),l=z(s),p(e,"class","label label-success")},m(r,a){S(r,e,a),S(r,t,a),S(r,i,a),_(i,l)},p(r,a){var u;a[0]&2&&s!==(s=((u=r[1])==null?void 0:u.name)+"")&&re(l,s)},d(r){r&&w(e),r&&w(t),r&&w(i)}}}function ih(n){let e;return{c(){e=v("span"),e.textContent="Changed",p(e,"class","label label-warning")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function sh(n){let e,t=n[0].name+"",i,s,l;return{c(){e=v("strong"),i=z(t),s=D(),l=v("i"),p(e,"class","txt-strikethrough txt-hint"),p(l,"class","ri-arrow-right-line txt-sm")},m(o,r){S(o,e,r),_(e,i),S(o,s,r),S(o,l,r)},p(o,r){r[0]&1&&t!==(t=o[0].name+"")&&re(i,t)},d(o){o&&w(e),o&&w(s),o&&w(l)}}}function lh(n){var b,y;let e,t,i,s=n[30]+"",l,o,r,a,u=n[12]((b=n[0])==null?void 0:b[n[30]])+"",Line truncated
|
|
||||||
<th width="10%" class="svelte-lmkr38">Old</th>
|
|
||||||
<th width="10%" class="svelte-lmkr38">New</th></tr>`,l=D(),o=v("tbody");for(let C=0;C<h.length;C+=1)h[C].c();r=D(),g&&g.c(),a=D();for(let C=0;C<y.length;C+=1)y[C].c();u=D();for(let C=0;C<T.length;C+=1)T[C].c();p(e,"class","section-title"),p(i,"class","table collections-diff-table m-b-base svelte-lmkr38")},m(C,M){S(C,e,M),d.m(e,null),S(C,t,M),S(C,i,M),_(i,s),_(i,l),_(i,o);for(let $=0;$<h.length;$+=1)h[$].m(o,null);_(o,r),g&&g.m(o,null),_(o,a);for(let $=0;$<y.length;$+=1)y[$].m(o,null);_(o,u);for(let $=0;$<T.length;$+=1)T[$].m(o,null)},p(C,M){if(c===(c=f(C))&&d?d.p(C,M):(d.d(1),d=c(C),d&&(d.c(),d.m(e,null))),M[0]&7203){m=C[11];let $;for($=0;$<m.length;$+=1){const O=nh(C,m,$);h[$]?h[$].p(O,M):(h[$]=lh(O),h[$].c(),h[$].m(o,r))}for(;$<h.length;$+=1)h[$].d(1);h.length=m.length}if(C[2]||C[5]?g?g.p(C,M):(g=oh(C),g.c(),g.m(o,a)):g&&(g.d(1),g=null),M[0]&4248){b=C[7];let $;for($=0;$<b.length;$+=1){const O=xm(C,b,$);y[$]?y[$].p(O,M):(y[$]=ch(O),y[$].c(),y[$].m(o,u))}for(;$<y.length;$+=1)y[$].d(1);y.length=b.length}if(M[0]&4352){k=C[8];let $;for($=0;$<k.length;$+=1){const O=Gm(C,k,$);T[$]?T[$].p(O,M):(T[$]=ph(O),T[$].c(),T[$].m(o,null))}for(;$<T.length;$+=1)T[$].d(1);T.length=k.length}},i:G,o:G,d(C){C&&w(e),d.d(),C&&w(t),C&&w(i),bt(h,C),g&&g.d(),bt(y,C),bt(T,C)}}}function $n(n,e){n=n||[];for(let t of n)if(t.id==e)return t;return null}function an(n,e){return n===e?!1:JSON.stringify(n)!==JSON.stringify(e)}function FE(n,e,t){let i,s,l,{collectionA:o=new bn}=e,{collectionB:r=new bn}=e,{deleteMissing:a=!1}=e,u=[],f=[],c=[],d=[],m=[];const h=Object.keys(new bn().export()).filter(y=>!["schema","created","updated"].includes(y));function g(){t(4,f=Array.isArray(r==null?void 0:r.schema)?r==null?void 0:r.schema.concat():[]),a||t(4,f=f.concat(u.filter(y=>!f.find(k=>y.id==k.id))))}function b(y){return typeof y>"u"?"":B.isObject(y)?JSON.stringify(y,null,4):y}return n.$$set=y=>{"collectionA"in y&&t(0,o=y.collectionA),"collectionB"in y&&t(1,r=y.collectionB),"deleteMissing"in y&&t(2,a=y.deleteMissing)},n.$$.update=()=>{n.$$.dirty[0]&2&&t(5,i=!(r!=null&&r.id)&&!(r!=null&&r.name)),n.$$.dirty[0]&33&&t(10,s=!i&&!(o!=null&&o.id)),n.$$.dirty[0]&1&&t(3,u=Array.isArray(o==null?void 0:o.schema)?o==null?void 0:o.schema.concat():[]),n.$$.dirty[0]&7&&(typeof(o==null?void 0:o.schema)<"u"||typeof(r==null?void 0:r.schema)<"u"||typeof a<"u")&&g(),n.$$.dirty[0]&24&&t(6,c=u.filter(y=>!f.find(k=>y.id==k.id))),n.$$.dirty[0]&24&&t(7,d=f.filter(y=>u.find(k=>k.id==y.id))),n.$$.dirty[0]&24&&t(8,m=f.filter(y=>!u.find(k=>k.id==y.id))),n.$$.dirty[0]&7&&t(9,l=B.hasCollectionChanges(o,r,a))},[o,r,a,u,f,i,c,d,m,l,s,h,b]}class RE extends ke{constructor(e){super(),ye(this,e,FE,NE,be,{collectionA:0,collectionB:1,deleteMissing:2},null,[-1,-1])}}function mh(n,e,t){const i=n.slice();return i[17]=e[t],i}function hh(n){let e,t;return e=new RE({props:{collectionA:n[17].old,collectionB:n[17].new,deleteMissing:n[3]}}),{c(){V(e.$$.fragment)},m(i,s){H(e,i,s),t=!0},p(i,s){const l={};s&4&&(l.collectionA=i[17].old),s&4&&(l.collectionB=i[17].new),s&8&&(l.deleteMissing=i[3]),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){P(e.$$.fragment,i),t=!1},d(i){q(e,i)}}}function jE(n){let e,t,i=n[2],s=[];for(let o=0;o<i.length;o+=1)s[o]=hh(mh(n,i,o));const l=o=>P(s[o],1,1,()=>{s[o]=null});return{c(){for(let o=0;o<s.length;o+=1)s[o].c();e=Ae()},m(o,r){for(let a=0;a<s.length;a+=1)s[a].m(o,r);S(o,e,r),t=!0},p(o,r){if(r&12){i=o[2];let a;for(a=0;a<i.length;a+=1){const u=mh(o,i,a);s[a]?(s[a].p(u,r),A(s[a],1)):(s[a]=hh(u),s[a].c(),A(s[a],1),s[a].m(e.parentNode,e))}for(pe(),a=i.length;a<s.length;a+=1)l(a);me()}},i(o){if(!t){for(let r=0;r<i.length;r+=1)A(s[r]);t=!0}},o(o){s=s.filter(Boolean);for(let r=0;r<s.length;r+=1)P(s[r]);t=!1},d(o){bt(s,o),o&&w(e)}}}function HE(n){let e;return{c(){e=v("h4"),e.textContent="Side-by-side diff",p(e,"class","center txt-break")},m(t,i){S(t,e,i)},p:G,d(t){t&&w(e)}}}function qE(n){let e,t,i,s,l,o,r;return{c(){e=v("button"),t=z("Close"),i=D(),s=v("button"),l=v("span"),l.textContent="Confirm and import",p(e,"type","button"),p(e,"class","btn btn-transparent"),e.disabled=n[4],p(l,"class","txt"),p(s,"type","button"),p(s,"class","btn btn-expanded"),s.disabled=n[4],x(s,"btn-loading",n[4])},m(a,u){S(a,e,u),_(e,t),S(a,i,u),S(a,s,u),_(s,l),o||(r=[K(e,"click",n[0]),K(s,"click",n[9])],o=!0)},p(a,u){u&16&&(e.disabled=a[4]),u&16&&(s.disabled=a[4]),u&16&&x(s,"btn-loading",a[4])},d(a){a&&w(e),a&&w(i),a&&w(s),o=!1,Le(r)}}}function VE(n){let e,t,i={class:"full-width-popup import-popup",overlayClose:!1,escClose:!n[4],beforeHide:n[10],popup:!0,$$slots:{footer:[qE],header:[HE],default:[jE]},$$scope:{ctx:n}};return e=new Bn({props:i}),n[11](e),e.$on("show",n[12]),e.$on("hide",n[13]),{c(){V(e.$$.fragment)},m(s,l){H(e,s,l),t=!0},p(s,[l]){const o={};l&16&&(o.escClose=!s[4]),l&16&&(o.beforeHide=s[10]),l&1048604&&(o.$$scope={dirty:l,ctx:s}),e.$set(o)},i(s){t||(A(e.$$.fragment,s),t=!0)},o(s){P(e.$$.fragment,s),t=!1},d(s){n[11](null),q(e,s)}}}function zE(n,e,t){const i=$t();let s,l=[Line truncated
|
|
||||||
- ${C.join(`
|
|
||||||
- `)}`,()=>{h()}):h()}async function h(){if(!u){t(4,u=!0);try{await he.collections.import(o,a),Vt("Successfully imported collections configuration."),i("submit")}catch(C){he.errorResponseHandler(C)}t(4,u=!1),c()}}const g=()=>m(),b=()=>!u;function y(C){ie[C?"unshift":"push"](()=>{s=C,t(1,s)})}function k(C){We.call(this,n,C)}function T(C){We.call(this,n,C)}return n.$$.update=()=>{n.$$.dirty&384&&Array.isArray(l)&&Array.isArray(o)&&d()},[c,s,r,a,u,m,f,l,o,g,b,y,k,T]}class BE extends ke{constructor(e){super(),ye(this,e,zE,VE,be,{show:6,hide:0})}get show(){return this.$$.ctx[6]}get hide(){return this.$$.ctx[0]}}function gh(n,e,t){const i=n.slice();return i[32]=e[t],i}function _h(n,e,t){const i=n.slice();return i[35]=e[t],i}function bh(n,e,t){const i=n.slice();return i[32]=e[t],i}function UE(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,y,k,T,C,M,$,O;a=new _e({props:{class:"form-field "+(n[6]?"":"field-error"),name:"collections",$$slots:{default:[YE,({uniqueId:U})=>({40:U}),({uniqueId:U})=>[0,U?512:0]]},$$scope:{ctx:n}}});let E=!1,I=n[6]&&n[1].length&&!n[7]&&yh(),L=n[6]&&n[1].length&&n[7]&&kh(n),N=n[13].length&&Ih(n),F=!!n[0]&&Ph(n);return{c(){e=v("input"),t=D(),i=v("div"),s=v("p"),l=z(`Paste below the collections configuration you want to import or
|
|
||||||
`),o=v("button"),o.innerHTML='<span class="txt">Load from JSON file</span>',r=D(),V(a.$$.fragment),u=D(),f=D(),I&&I.c(),c=D(),L&&L.c(),d=D(),N&&N.c(),m=D(),h=v("div"),F&&F.c(),g=D(),b=v("div"),y=D(),k=v("button"),T=v("span"),T.textContent="Review",p(e,"type","file"),p(e,"class","hidden"),p(e,"accept",".json"),p(o,"class","btn btn-outline btn-sm m-l-5"),x(o,"btn-loading",n[12]),p(i,"class","content txt-xl m-b-base"),p(b,"class","flex-fill"),p(T,"class","txt"),p(k,"type","button"),p(k,"class","btn btn-expanded btn-warning m-l-auto"),k.disabled=C=!n[14],p(h,"class","flex m-t-base")},m(U,J){S(U,e,J),n[19](e),S(U,t,J),S(U,i,J),_(i,s),_(s,l),_(s,o),S(U,r,J),H(a,U,J),S(U,u,J),S(U,f,J),I&&I.m(U,J),S(U,c,J),L&&L.m(U,J),S(U,d,J),N&&N.m(U,J),S(U,m,J),S(U,h,J),F&&F.m(h,null),_(h,g),_(h,b),_(h,y),_(h,k),_(k,T),M=!0,$||(O=[K(e,"change",n[20]),K(o,"click",n[21]),K(k,"click",n[26])],$=!0)},p(U,J){(!M||J[0]&4096)&&x(o,"btn-loading",U[12]);const ne={};J[0]&64&&(ne.class="form-field "+(U[6]?"":"field-error")),J[0]&65|J[1]&1536&&(ne.$$scope={dirty:J,ctx:U}),a.$set(ne),U[6]&&U[1].length&&!U[7]?I||(I=yh(),I.c(),I.m(c.parentNode,c)):I&&(I.d(1),I=null),U[6]&&U[1].length&&U[7]?L?L.p(U,J):(L=kh(U),L.c(),L.m(d.parentNode,d)):L&&(L.d(1),L=null),U[13].length?N?N.p(U,J):(N=Ih(U),N.c(),N.m(m.parentNode,m)):N&&(N.d(1),N=null),U[0]?F?F.p(U,J):(F=Ph(U),F.c(),F.m(h,g)):F&&(F.d(1),F=null),(!M||J[0]&16384&&C!==(C=!U[14]))&&(k.disabled=C)},i(U){M||(A(a.$$.fragment,U),A(E),M=!0)},o(U){P(a.$$.fragment,U),P(E),M=!1},d(U){U&&w(e),n[19](null),U&&w(t),U&&w(i),U&&w(r),q(a,U),U&&w(u),U&&w(f),I&&I.d(U),U&&w(c),L&&L.d(U),U&&w(d),N&&N.d(U),U&&w(m),U&&w(h),F&&F.d(),$=!1,Le(O)}}}function WE(n){let e;return{c(){e=v("div"),p(e,"class","loader")},m(t,i){S(t,e,i)},p:G,i:G,o:G,d(t){t&&w(e)}}}function vh(n){let e;return{c(){e=v("div"),e.textContent="Invalid collections configuration.",p(e,"class","help-block help-block-error")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function YE(n){let e,t,i,s,l,o,r,a,u,f,c=!!n[0]&&!n[6]&&vh();return{c(){e=v("label"),t=z("Collections"),s=D(),l=v("textarea"),r=D(),c&&c.c(),a=Ae(),p(e,"for",i=n[40]),p(e,"class","p-b-10"),p(l,"id",o=n[40]),p(l,"class","code"),p(l,"spellcheck","false"),p(l,"rows","15"),l.required=!0},m(d,m){S(d,e,m),_(e,t),S(d,s,m),S(d,l,m),de(l,n[0]),S(d,r,m),c&&c.m(d,m),S(d,a,m),u||(f=K(l,"input",n[22]),u=!0)},p(d,m){m[1]&512&&i!==(i=d[40])&&p(e,"for",i),m[1]&512&&o!==(o=d[40])&&p(l,"id",o),m[0]&1&&de(l,d[0]),d[0]&&!d[6]?c||(c=vh(),c.c(),c.m(a.parentNode,a)):c&&(c.d(1),c=null)},d(d){d&&w(e),d&&w(s),d&&w(l),d&&w(r),c&&c.d(d),d&&w(a),u=!1,f()}}}function yh(n){let e;return{c(){e=v("div"),e.innerHTML=`<div class="icon"><i class="ri-information-line"></i></div>
|
|
||||||
<div class="content"><string>Your collections configuration is already up-to-date!</string></div>`,p(e,"class","alert alert-info")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function kh(n){let e,t,i,s,l,o=n[9].length&&wh(n),r=n[4].length&&Ch(n),a=n[8].length&&Oh(n);return{c(){e=v("h5"),e.textContent="Detected changes",t=D(),i=v("div"),o&&o.c(),s=D(),r&&r.c(),l=D(),a&&a.c(),p(e,"class","section-title"),p(i,"class","list")},m(u,f){S(u,e,f),S(u,t,f),S(u,i,f),o&&o.m(i,null),_(i,s),r&&r.m(i,null),_(i,l),a&&a.m(i,null)},p(u,f){u[9].length?o?o.p(u,f):(o=wh(u),o.c(),o.m(i,s)):o&&(o.d(1),o=null),u[4].length?r?r.p(u,f):(r=Ch(u),r.c(),r.m(i,l)):r&&(r.d(1),r=null),u[8].length?a?a.p(u,f):(a=Oh(u),a.c(),a.m(i,null)):a&&(a.d(1),a=null)},d(u){u&&w(e),u&&w(t),u&&w(i),o&&o.d(),r&&r.d(),a&&a.d()}}}function wh(n){let e=[],t=new Map,i,s=n[9];const l=o=>o[32].id;for(let o=0;o<s.length;o+=1){let r=bh(n,s,o),a=l(r);t.set(a,e[o]=Th(a,r))}return{c(){for(let o=0;o<e.length;o+=1)e[o].c();i=Ae()},m(o,r){for(let a=0;a<e.length;a+=1)e[a].m(o,r);S(o,i,r)},p(o,r){r[0]&512&&(s=o[9],e=wt(e,r,l,1,o,s,t,i.parentNode,Xi,Th,i,bh))},d(o){for(let r=0;r<e.length;r+=1)e[r].d(o);o&&w(i)}}}function Sh(n){let e,t,i=n[32].id+"",s,l;return{c(){e=v("small"),t=z("("),s=z(i),l=z(")"),p(e,"class","txt-hint")},m(o,r){S(o,e,r),_(e,t),_(e,s),_(e,l)},p(o,r){r[0]&512&&i!==(i=o[32].id+"")&&re(s,i)},d(o){o&&w(e)}}}function Th(n,e){let t,i,s,l,o=e[32].name+"",r,a,u,f=e[32].id&&Sh(e);return{key:n,first:null,c(){t=v("div"),i=v("span"),i.textContent="Deleted",s=D(),l=v("strong"),r=z(o),a=D(),f&&f.c(),u=D(),p(i,"class","label label-danger list-label svelte-1jx20fl"),p(t,"class","list-item"),this.first=t},m(c,d){S(c,t,d),_(t,i),_(t,s),_(t,l),_(l,r),_(t,a),f&&f.m(t,null),_(t,u)},p(c,d){e=c,d[0]&512&&o!==(o=e[32].name+"")&&re(r,o),e[32].id?f?f.p(e,d):(f=Sh(e),f.c(),f.m(t,u)):f&&(f.d(1),f=null)},d(c){c&&w(t),f&&f.d()}}}function Ch(n){let e=[],t=new Map,i,s=n[4];const l=o=>o[35].old.id+o[35].new.id;for(let o=0;o<s.length;o+=1){let r=_h(n,s,o),a=l(r);t.set(a,e[o]=Dh(a,r))}return{c(){for(let o=0;o<e.length;o+=1)e[o].c();i=Ae()},m(o,r){for(let a=0;a<e.length;a+=1)e[a].m(o,r);S(o,i,r)},p(o,r){r[0]&16&&(s=o[4],e=wt(e,r,l,1,o,s,t,i.parentNode,Xi,Dh,i,_h))},d(o){for(let r=0;r<e.length;r+=1)e[r].d(o);o&&w(i)}}}function $h(n){let e,t=n[35].old.name+"",i,s,l;return{c(){e=v("strong"),i=z(t),s=D(),l=v("i"),p(e,"class","txt-strikethrough txt-hint"),p(l,"class","ri-arrow-right-line txt-sm")},m(o,r){S(o,e,r),_(e,i),S(o,s,r),S(o,l,r)},p(o,r){r[0]&16&&t!==(t=o[35].old.name+"")&&re(i,t)},d(o){o&&w(e),o&&w(s),o&&w(l)}}}function Mh(n){let e,t,i=n[35].new.id+"",s,l;return{c(){e=v("small"),t=z("("),s=z(i),l=z(")"),p(e,"class","txt-hint")},m(o,r){S(o,e,r),_(e,t),_(e,s),_(e,l)},p(o,r){r[0]&16&&i!==(i=o[35].new.id+"")&&re(s,i)},d(o){o&&w(e)}}}function Dh(n,e){let t,i,s,l,o,r,a=e[35].new.name+"",u,f,c,d=e[35].old.name!==e[35].new.name&&$h(e),m=e[35].new.id&&Mh(e);return{key:n,first:null,c(){t=v("div"),i=v("span"),i.textContent="Changed",s=D(),l=v("div"),d&&d.c(),o=D(),r=v("strong"),u=z(a),f=D(),m&&m.c(),c=D(),p(i,"class","label label-warning list-label svelte-1jx20fl"),p(l,"class","inline-flex flex-gap-5"),p(t,"class","list-item"),this.first=t},m(h,g){S(h,t,g),_(t,i),_(t,s),_(t,l),d&&d.m(l,null),_(l,o),_(l,r),_(r,u),_(l,f),m&&m.m(l,null),_(t,c)},p(h,g){e=h,e[35].old.name!==e[35].new.name?d?d.p(e,g):(d=$h(e),d.c(),d.m(l,o)):d&&(d.d(1),d=null),g[0]&16&&a!==(a=e[35].new.name+"")&&re(u,a),e[35].new.id?m?m.p(e,g):(m=Mh(e),m.c(),m.m(l,null)):m&&(m.d(1),m=null)},d(h){h&&w(t),d&&d.d(),m&&m.d()}}}function Oh(n){let e=[],t=new Map,i,s=n[8];const l=o=>o[32].id;for(let o=0;o<s.length;o+=1){let r=gh(n,s,o),a=l(r);t.set(a,e[o]=Ah(a,r))}return{c(){for(let o=0;o<e.length;o+=1)e[o].c();i=Ae()},m(o,r){for(let a=0;a<e.length;a+=1)e[a].m(o,r);S(o,i,r)},p(o,r){r[0]&256&&(s=o[8],e=wt(e,r,l,1,o,s,t,i.parentNode,Xi,Ah,i,gh))},d(o){for(let r=0;r<e.length;r+=1)e[r].d(o);o&&w(i)}}}function Eh(n){let e,t,i=n[32].id+"",s,l;return{c(){e=v("small"),t=z("("),s=z(i),l=z(")"),p(e,"class","txt-hint")},m(o,r){S(o,e,r),_(e,t),_(e,s),_(e,l)},p(o,r){r[0]&256&&i!==(i=o[32].id+"")&&re(s,i)},d(o){o&&w(e)}}}function Ah(n,e){let t,i,s,l,o=e[32].name+"",r,a,u,f=e[32].id&&Eh(e);return{key:n,first:null,c(){t=v("div"),i=v("span"),i.textContent="Added",s=D(),l=v("strong"),r=z(o),a=D(),f&&f.c(),u=D(),p(i,"class","label label-success list-label svelte-1jx20fl"),p(t,"class","list-item"),this.first=t},m(c,d){S(c,t,d),_(t,i),_(t,s),_(t,l),_(l,r),_(t,a),f&&f.m(t,null),_(t,u)},p(c,d){e=c,d[0]&256&&o!==(o=e[32].name+"")&&re(r,o),e[32].id?f?f.p(e,d):(f=Eh(e),f.c(),f.m(t,u)):f&&(f.d(1),f=null)},d(c){c&&w(t),f&&f.d()}}}function Ih(n){let e,t,i,s,l,o,r,a;return{c(){e=v("div"),t=v("div"),t.innerHTML='<i class="ri-error-warning-line"></i>',i=D(),s=v("div"),s.innerHTML=`<string>Some of the imported collections shares the same name and/or fields but are
|
|
||||||
imported with different IDs. You can replace them in the import if you want
|
|
||||||
to.</string>`,l=D(),o=v("button"),o.innerHTML='<span class="txt">Replace with original ids</span>',p(t,"class","icon"),p(s,"class","content"),p(o,"type","button"),p(o,"class","btn btn-warning btn-sm btn-outline"),p(e,"class","alert alert-warning m-t-base")},m(u,f){S(u,e,f),_(e,t),_(e,i),_(e,s),_(e,l),_(e,o),r||(a=K(o,"click",n[24]),r=!0)},p:G,d(u){u&&w(e),r=!1,a()}}}function Ph(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Clear</span>',p(e,"type","button"),p(e,"class","btn btn-transparent link-hint")},m(s,l){S(s,e,l),t||(i=K(e,"click",n[25]),t=!0)},p:G,d(s){s&&w(e),t=!1,i()}}}function KE(n){let e,t,i,s,l,o,r,a,u,f,c,d;const m=[WE,UE],h=[];function g(b,y){return b[5]?0:1}return f=g(n),c=h[f]=m[f](n),{c(){e=v("header"),t=v("nav"),i=v("div"),i.textContent="Settings",s=D(),l=v("div"),o=z(n[15]),r=D(),a=v("div"),u=v("div"),c.c(),p(i,"class","breadcrumb-item"),p(l,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(e,"class","page-header"),p(u,"class","panel"),p(a,"class","wrapper")},m(b,y){S(b,e,y),_(e,t),_(t,i),_(t,s),_(t,l),_(l,o),S(b,r,y),S(b,a,y),_(a,u),h[f].m(u,null),d=!0},p(b,y){(!d||y[0]&32768)&&re(o,b[15]);let k=f;f=g(b),f===k?h[f].p(b,y):(pe(),P(h[k],1,1,()=>{h[k]=null}),me(),c=h[f],c?c.p(b,y):(c=h[f]=m[f](b),c.c()),A(c,1),c.m(u,null))},i(b){d||(A(c),d=!0)},o(b){P(c),d=!1},d(b){b&&w(e),b&&w(r),b&&w(a),h[f].d()}}}function JE(n){let e,t,i,s,l,o;e=new Di({}),i=new kn({props:{$$slots:{default:[KE]},$$scope:{ctx:n}}});let r={};return l=new BE({props:r}),n[27](l),l.$on("submit",n[28]),{c(){V(e.$$.fragment),t=D(),V(i.$$.fragment),s=D(),V(l.$$.fragment)},m(a,u){H(e,a,u),S(a,t,u),H(i,a,u),S(a,s,u),H(l,a,u),o=!0},p(a,u){const f={};u[0]&65535|u[1]&1024&&(f.$$scope={dirty:u,ctx:a}),i.$set(f);const c={};l.$set(c)},i(a){o||(A(e.$$.fragment,a),A(i.$$.fragment,a),A(l.$$.fragment,a),o=!0)},o(a){P(e.$$.fragment,a),P(i.$$.fragment,a),P(l.$$.fragment,a),o=!1},d(a){q(e,a),a&&w(t),q(i,a),a&&w(s),n[27](null),q(l,a)}}}function ZE(n,e,t){let i,s,l,o,r,a,u;Je(n,St,R=>t(15,u=R)),Yt(St,u="Import collections",u);let f,c,d="",m=!1,h=[],g=[],b=!0,y=[],k=!1;T();async function T(){t(5,k=!0);try{t(2,g=await he.collections.getFullList(200));for(let R of g)delete R.created,delete R.updated}catch(R){he.errorResponseHandler(R)}t(5,k=!1)}function C(){if(t(4,y=[]),!!i)for(let R of h){const X=B.findByKey(g,"id",R.id);!(X!=null&&X.id)||!B.hasCollectionChanges(X,R,b)||y.push({new:R,old:X})}}function M(){t(1,h=[]);try{t(1,h=JSON.parse(d))}catch{}Array.isArray(h)?t(1,h=B.filterDuplicatesByKey(h)):t(1,h=[]);for(let R of h)delete R.created,delete R.updated,R.schema=B.filterDuplicatesByKey(R.schema)}function $(){var R,X;for(let Y of h){const se=B.findByKey(g,"name",Y.name)||B.findByKey(g,"id",Y.id);if(!se)continue;const He=Y.id,Re=se.id;Y.id=Re;const Fe=Array.isArray(se.schema)?se.schema:[],qe=Array.isArray(Y.schema)?Y.schema:[];for(const ge of qe){const Se=B.findByKey(Fe,"name",ge.name);Se&&Se.id&&(ge.id=Se.id)}for(let ge of h)if(Array.isArray(ge.schema))for(let Se of ge.schema)(R=Se.options)!=null&&R.collectionId&&((X=Se.options)==null?void 0:X.collectionId)===He&&(Se.options.collectionId=Re)}t(0,d=JSON.stringify(h,null,4))}function O(R){t(12,m=!0);const X=new FileReader;X.onload=async Y=>{t(12,m=!1),t(10,f.value="",f),t(0,d=Y.target.result),await tn(),h.length||(cl("Invalid collections configuration."),E())},X.onerror=Y=>{console.warn(Y),cl("Failed to load the imported JSON."),t(12,m=!1),t(10,f.value="",f)},X.readAsText(R)}function E(){t(0,d=""),t(10,f.value="",f),Vn({})}function I(R){ie[R?"unshift":"push"](()=>{f=R,t(10,f)})}const L=()=>{f.files.length&&O(f.files[0])},N=()=>{f.click()};function F(){d=this.value,t(0,d)}function U(){b=this.checked,t(3,b)}const J=()=>$(),ne=()=>E(),Z=()=>c==null?void 0:c.show(g,h,b);function te(R){ie[R?"unshift":"push"](()=>{c=R,t(11,c)})}const ee=()=>E();return n.$$.update=()=>{n.$$.dirty[0]&1&&typeof d<"u"&&M(),n.$$.dirty[0]&3&&t(6,i=!!d&&h.length&&h.length===h.filter(R=>!!R.id&&!!R.name).length),n.$$.dirty[0]&78&&t(9,s=g.filter(R=>i&&b&&!B.findByKey(h,"id",R.id))),n.$$.dirty[0]&70&&t(8,l=h.filter(R=>i&&!B.findByKey(g,"id",R.id))),n.$$.dirty[0]&10&&(typeof h<"u"||typeof b<"u")&&C(),n.$$.dirty[0]&785&&t(7,o=!!d&&(s.length||l.length||y.length)),n.$$.dirty[0]&224&&t(14,r=!k&&i&&o),n.$$.dirty[0]&6&&t(13,a=h.filter(R=>{let X=B.findByKey(g,"name",R.name)||B.findByKey(g,"id",R.id);if(!X)return!1;if(X.id!=R.id)return!0;const Y=Array.isArray(X.schema)?X.schema:[],se=Array.isArray(R.schema)?R.schema:[];for(const He of se){if(B.findByKey(Y,"id",He.id))continue;const Fe=B.findByKey(Y,"name",He.name);if(Fe&&He.id!=Fe.id)return!0}return!1}))},[d,h,g,b,y,k,i,o,l,s,f,c,m,a,r,u,$,O,E,I,L,N,F,U,J,ne,Z,te,ee]}class GE extends ke{constructor(e){super(),ye(this,e,ZE,JE,be,{},null,[-1,-1])}}const Lt=[async n=>{const e=new URLSearchParams(window.location.search);return n.location!=="/"&&e.has("installer")?Ti("/"):!0}],XE={"/login":Dt({component:YD,conditions:Lt.concat([n=>!he.Line truncated
|
|
||||||
<span class="txt">Manage admins</span>`,t=D(),i=v("hr"),s=D(),l=v("button"),l.innerHTML=`<i class="ri-logout-circle-line"></i>
|
|
||||||
<span class="txt">Logout</span>`,p(e,"href","/settings/admins"),p(e,"class","dropdown-item closable"),p(l,"type","button"),p(l,"class","dropdown-item closable")},m(a,u){S(a,e,u),S(a,t,u),S(a,i,u),S(a,s,u),S(a,l,u),o||(r=[Pe(Xt.call(null,e)),K(l,"click",n[6])],o=!0)},p:G,d(a){a&&w(e),a&&w(t),a&&w(i),a&&w(s),a&&w(l),o=!1,Le(r)}}}function dA(n){var m;let e,t,i,s,l,o,r,a,u,f,c;document.title=e=B.joinNonEmpty([n[3],n[2],"PocketBase"]," - ");let d=((m=n[0])==null?void 0:m.id)&&n[1]&&Fh(n);return o=new Bb({props:{routes:XE}}),o.$on("routeLoading",n[4]),o.$on("conditionsFailed",n[5]),a=new lA({}),f=new fA({}),{c(){t=D(),i=v("div"),d&&d.c(),s=D(),l=v("div"),V(o.$$.fragment),r=D(),V(a.$$.fragment),u=D(),V(f.$$.fragment),p(l,"class","app-body"),p(i,"class","app-layout")},m(h,g){S(h,t,g),S(h,i,g),d&&d.m(i,null),_(i,s),_(i,l),H(o,l,null),_(l,r),H(a,l,null),S(h,u,g),H(f,h,g),c=!0},p(h,[g]){var b;(!c||g&12)&&e!==(e=B.joinNonEmpty([h[3],h[2],"PocketBase"]," - "))&&(document.title=e),(b=h[0])!=null&&b.id&&h[1]?d?(d.p(h,g),g&3&&A(d,1)):(d=Fh(h),d.c(),A(d,1),d.m(i,s)):d&&(pe(),P(d,1,1,()=>{d=null}),me())},i(h){c||(A(d),A(o.$$.fragment,h),A(a.$$.fragment,h),A(f.$$.fragment,h),c=!0)},o(h){P(d),P(o.$$.fragment,h),P(a.$$.fragment,h),P(f.$$.fragment,h),c=!1},d(h){h&&w(t),h&&w(i),d&&d.d(),q(o),q(a),h&&w(u),q(f,h)}}}function pA(n,e,t){let i,s,l,o;Je(n,Cs,m=>t(8,i=m)),Je(n,vo,m=>t(2,s=m)),Je(n,Ma,m=>t(0,l=m)),Je(n,St,m=>t(3,o=m));let r,a=!1;function u(m){var h,g,b,y;((h=m==null?void 0:m.detail)==null?void 0:h.location)!==r&&(t(1,a=!!((b=(g=m==null?void 0:m.detail)==null?void 0:g.userData)!=null&&b.showAppSidebar)),r=(y=m==null?void 0:m.detail)==null?void 0:y.location,Yt(St,o="",o),Vn({}),lb())}function f(){Ti("/")}async function c(){var m,h;if(l!=null&&l.id)try{const g=await he.settings.getAll({$cancelKey:"initialAppSettings"});Yt(vo,s=((m=g==null?void 0:g.meta)==null?void 0:m.appName)||"",s),Yt(Cs,i=!!((h=g==null?void 0:g.meta)!=null&&h.hideControls),i)}catch(g){g!=null&&g.isAbort||console.warn("Failed to load app settings.",g)}}function d(){he.logout()}return n.$$.update=()=>{n.$$.dirty&1&&l!=null&&l.id&&c()},[l,a,s,o,u,f,d]}class mA extends ke{constructor(e){super(),ye(this,e,pA,dA,be,{})}}new mA({target:document.getElementById("app")});export{Le as A,Vt as B,B as C,Ti as D,Ae as E,i_ as F,ga as G,du as H,Je as I,es as J,$t as K,sn as L,ie as M,nb as N,wt as O,Xi as P,nn as Q,bn as R,ke as S,Ir as T,P as a,D as b,V as c,q as d,v as e,p as f,S as g,_ as h,ye as i,Pe as j,pe as k,Xt as l,H as m,me as n,w as o,he as p,_e as q,x as r,be as s,A as t,K as u,pt as v,z as w,re as x,G as y,de as z};
|
|
||||||
Vendored
-13
@@ -1,13 +0,0 @@
|
|||||||
class I{constructor(){}lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){let s=[];return this.decompose(0,e,s,2),i.length&&i.decompose(0,i.length,s,3),this.decompose(t,this.length,s,1),He.from(s,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){let i=[];return this.decompose(e,t,i,0),He.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),s=new ii(this),r=new ii(e);for(let o=t,l=t;;){if(s.next(o),r.next(o),o=0,s.lineBreak!=r.lineBreak||s.done!=r.done||s.value!=r.value)return!1;if(l+=s.value.length,s.done||l>=i)return!0}}iter(e=1){return new ii(this,e)}iterRange(e,t=this.length){return new nl(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let s=this.line(e).from;i=this.iterRange(s,Math.max(s,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new sl(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?I.empty:e.length<=32?new G(e):He.from(G.split(e,[]))}}class G extends I{constructor(e,t=zh(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,s){for(let r=0;;r++){let o=this.text[r],l=s+o.length;if((t?i:l)>=e)return new qh(s,l,i,o);s=l+1,i++}}decompose(e,t,i,s){let r=e<=0&&t>=this.length?this:new G(Sr(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(s&1){let o=i.pop(),l=$i(r.text,o.text.slice(),0,r.length);if(l.length<=32)i.push(new G(l,o.length+r.length));else{let a=l.length>>1;i.push(new G(l.slice(0,a)),new G(l.slice(a)))}}else i.push(r)}replace(e,t,i){if(!(i instanceof G))return super.replace(e,t,i);let s=$i(this.text,$i(i.text,Sr(this.text,0,e)),t),r=this.length+i.length-(t-e);return s.length<=32?new G(s,r):He.from(G.split(s,[]),r)}sliceString(e,t=this.length,i=`
|
|
||||||
`){let s="";for(let r=0,o=0;r<=t&&o<this.text.length;o++){let l=this.text[o],a=r+l.length;r>e&&o&&(s+=i),e<a&&t>r&&(s+=l.slice(Math.max(0,e-r),t-r)),r=a+1}return s}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],s=-1;for(let r of e)i.push(r),s+=r.length+1,i.length==32&&(t.push(new G(i,s)),i=[],s=-1);return s>-1&&t.push(new G(i,s)),t}}class He extends I{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,s){for(let r=0;;r++){let o=this.children[r],l=s+o.length,a=i+o.lines-1;if((t?a:l)>=e)return o.lineInner(e,t,i,s);s=l+1,i=a+1}}decompose(e,t,i,s){for(let r=0,o=0;o<=t&&r<this.children.length;r++){let l=this.children[r],a=o+l.length;if(e<=a&&t>=o){let h=s&((o<=e?1:0)|(a>=t?2:0));o>=e&&a<=t&&!h?i.push(l):l.decompose(e-o,t-o,i,h)}o=a+1}}replace(e,t,i){if(i.lines<this.lines)for(let s=0,r=0;s<this.children.length;s++){let o=this.children[s],l=r+o.length;if(e>=r&&t<=l){let a=o.replace(e-r,t-r,i),h=this.lines-o.lines+a.lines;if(a.lines<h>>5-1&&a.lines>h>>5+1){let c=this.children.slice();return c[s]=a,new He(c,this.length-(t-e)+i.length)}return super.replace(r,l,a)}r=l+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=`
|
|
||||||
`){let s="";for(let r=0,o=0;r<this.children.length&&o<=t;r++){let l=this.children[r],a=o+l.length;o>e&&r&&(s+=i),e<a&&t>o&&(s+=l.sliceString(e-o,t-o,i)),o=a+1}return s}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof He))return 0;let i=0,[s,r,o,l]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=t,r+=t){if(s==o||r==l)return i;let a=this.children[s],h=e.children[r];if(a!=h)return i+a.scanIdentical(h,t);i+=a.length+1}}static from(e,t=e.reduce((i,s)=>i+s.length+1,-1)){let i=0;for(let d of e)i+=d.lines;if(i<32){let d=[];for(let p of e)p.flatten(d);return new G(d,t)}let s=Math.max(32,i>>5),r=s<<1,o=s>>1,l=[],a=0,h=-1,c=[];function f(d){let p;if(d.lines>r&&d instanceof He)for(let g of d.children)f(g);else d.lines>o&&(a>o||!a)?(u(),l.push(d)):d instanceof G&&a&&(p=c[c.length-1])instanceof G&&d.lines+p.lines<=32?(a+=d.lines,h+=d.length+1,c[c.length-1]=new G(p.text.concat(d.text),p.length+1+d.length)):(a+d.lines>s&&u(),a+=d.lines,h+=d.length+1,c.push(d))}function u(){a!=0&&(l.push(c.length==1?c[0]:He.from(c,h)),h=-1,a=c.length=0)}for(let d of e)f(d);return u(),l.length==1?l[0]:new He(l,t)}}I.empty=new G([""],0);function zh(n){let e=-1;for(let t of n)e+=t.length+1;return e}function $i(n,e,t=0,i=1e9){for(let s=0,r=0,o=!0;r<n.length&&s<=i;r++){let l=n[r],a=s+l.length;a>=t&&(a>i&&(l=l.slice(0,i-s)),s<t&&(l=l.slice(t-s)),o?(e[e.length-1]+=l,o=!1):e.push(l)),s=a+1}return e}function Sr(n,e,t){return $i(n,[""],e,t)}class ii{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof G?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,s=this.nodes[i],r=this.offsets[i],o=r>>1,l=s instanceof G?s.text.length:s.children.length;if(o==(t>0?l:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((r&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=`
|
|
||||||
`,this;e--}else if(s instanceof G){let a=s.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=s.children[o+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof G?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class nl{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new ii(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*t,this.value=s.length<=i?s:t<0?s.slice(s.length-i):s.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class sl{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:s}=this.inner.next(e);return t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(I.prototype[Symbol.iterator]=function(){return this.iter()},ii.prototype[Symbol.iterator]=nl.prototype[Symbol.iterator]=sl.prototype[Symbol.iterator]=function(){return this});class qh{constructor(e,t,i,s){this.from=e,this.to=t,this.number=i,this.text=s}get length(){return this.to-this.from}}let Pt="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(n=>n?parseInt(n,36):1);for(let n=1;n<Pt.length;n++)Pt[n]+=Pt[n-1];function $h(n){for(let e=1;e<Pt.length;e+=2)if(Pt[e]>n)return Pt[e-1]<=n;return!1}function Cr(n){return n>=127462&&n<=127487}const Ar=8205;function de(n,e,t=!0,i=!0){return(t?rl:Kh)(n,e,i)}function rl(n,e,t){if(e==n.length)return e;e&&ol(n.charCodeAt(e))&&ll(n.charCodeAt(e-1))&&e--;let i=se(n,e);for(e+=Ce(i);e<n.length;){let s=se(n,e);if(i==Ar||s==Ar||t&&$h(s))e+=Ce(s),i=s;else if(Cr(s)){let r=0,o=e-2;for(;o>=0&&Cr(se(n,o));)r++,o-=2;if(r%2==0)break;e+=2}else break}return e}function Kh(n,e,t){for(;e>0;){let i=rl(n,e-2,t);if(i<e)return i;e--}return 0}function ol(n){return n>=56320&&n<57344}function ll(n){return n>=55296&&n<56320}function se(n,e){let t=n.charCodeAt(e);if(!ll(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return ol(i)?(t-55296<<10)+(i-56320)+65536:t}function Ks(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function Ce(n){return n<65536?1:2}const Zn=/\r\n?|\n/;var ae=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(ae||(ae={}));class Ke{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,s=0;t<this.sections.length;){let r=this.sections[t++],o=this.sections[t++];o<0?(e(i,s,r),s+=r):s+=o,i+=r}}iterChangedRanges(e,t=!1){es(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];s<0?e.push(i,s):e.push(s
Line truncated
|
|
||||||
`}get readOnly(){return this.facet(yl)}phrase(e,...t){for(let i of this.facet(N.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,s)=>{if(s=="$")return"$";let r=+(s||1);return!r||r>t.length?i:t[r-1]})),e}languageDataAt(e,t,i=-1){let s=[];for(let r of this.facet(fl))for(let o of r(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&s.push(o[e]);return s}charCategorizer(e){return tc(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:i,length:s}=this.doc.lineAt(e),r=this.charCategorizer(e),o=e-i,l=e-i;for(;o>0;){let a=de(t,o,!1);if(r(t.slice(a,o))!=q.Word)break;o=a}for(;l<s;){let a=de(t,l);if(r(t.slice(l,a))!=q.Word)break;l=a}return o==l?null:b.range(o+i,l+i)}}N.allowMultipleSelections=ul;N.tabSize=D.define({combine:n=>n.length?n[0]:4});N.lineSeparator=dl;N.readOnly=yl;N.phrases=D.define({compare(n,e){let t=Object.keys(n),i=Object.keys(e);return t.length==i.length&&t.every(s=>n[s]==e[s])}});N.languageData=fl;N.changeFilter=pl;N.transactionFilter=gl;N.transactionExtender=ml;kn.reconfigure=E.define();function Ct(n,e,t={}){let i={};for(let s of n)for(let r of Object.keys(s)){let o=s[r],l=i[r];if(l===void 0)i[r]=o;else if(!(l===o||o===void 0))if(Object.hasOwnProperty.call(t,r))i[r]=t[r](l,o);else throw new Error("Config merge conflict for field "+r)}for(let s in e)i[s]===void 0&&(i[s]=e[s]);return i}class bt{eq(e){return this==e}range(e,t=e){return os.create(e,t,this)}}bt.prototype.startSide=bt.prototype.endSide=0;bt.prototype.point=!1;bt.prototype.mapMode=ae.TrackDel;let os=class xl{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new xl(e,t,i)}};function ls(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class Gs{constructor(e,t,i,s){this.from=e,this.to=t,this.value=i,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,s=0){let r=i?this.to:this.from;for(let o=s,l=r.length;;){if(o==l)return o;let a=o+l>>1,h=r[a]-e||(i?this.value[a].endSide:this.value[a].startSide)-t;if(a==o)return h>=0?o:l;h>=0?l=a:o=a+1}}between(e,t,i,s){for(let r=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,r);r<o;r++)if(s(this.from[r]+e,this.to[r]+e,this.value[r])===!1)return!1}map(e,t){let i=[],s=[],r=[],o=-1,l=-1;for(let a=0;a<this.value.length;a++){let h=this.value[a],c=this.from[a]+e,f=this.to[a]+e,u,d;if(c==f){let p=t.mapPos(c,h.startSide,h.mapMode);if(p==null||(u=d=p,h.startSide!=h.endSide&&(d=t.mapPos(c,h.endSide),d<u)))continue}else if(u=t.mapPos(c,h.startSide),d=t.mapPos(f,h.endSide),u>d||u==d&&h.startSide>0&&h.endSide<=0)continue;(d-u||h.endSide-h.startSide)<0||(o<0&&(o=u),h.point&&(l=Math.max(l,d-u)),i.push(h),s.push(u-o),r.push(d-o))}return{mapped:i.length?new Gs(s,r,i,l):null,pos:o}}}class j{constructor(e,t,i,s){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=s}static create(e,t,i,s){return new j(e,t,i,s)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:s=0,filterTo:r=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(i&&(t=t.slice().sort(ls)),this.isEmpty)return t.length?j.of(t):this;let l=new kl(this,null,-1).goto(0),a=0,h=[],c=new wt;for(;l.value||a<t.length;)if(a<t.length&&(l.from-t[a].from||l.startSide-t[a].value.startSide)>=0){let f=t[a++];c.addInner(f.from,f.to,f.value)||h.push(f)}else l.rangeIndex==1&&l.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(l.chunkIndex)<t[a].from)&&(!o||s>this.chunkEnd(l.chunkIndex)||r<this.chunkPos[l.chunkIndex])&&c.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!o||s>l.to||r<l.from||o(l.from,l.to,l.value))&&(c.addInner(l.from,l.to,l.value)||h.push(os.create(l.from,l.to,l.value))),l.next());return c.finishInner(this.nextLayer.isEmpty&&!h.length?j.empty:this.nextLayer.update({add:h,filter:o,filterFrom:s,filterTo:r}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],s=-1;for(let o=0;o<this.chunk.length;o++){let l=this.chunkPos[o],a=this.chunk[o],h=e.touchesRange(l,l+a.length);if(h===!1)s=Math.max(s,a.maxPoint),t.push(a),i.push(e.mapPos(l));else if(h===!0){let{mapped:c,pos:f}=a.map(l,e);c&&(s=Math.max(s,c.maxPoint),t.push(c),i.push(f))}}let r=this.nextLayer.map(e);return t.length==0?r:new j(i,t,r||j.empty,s)}between(e,t,i){if(!this.isEmpty){for(let s=0;s<this.chunk.length;s++){let r=this.chunkPos[s],o=this.chunk[s];if(t>=r&&e<=r+o.length&&o.between(r,e-r,t-r,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return oi.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return oi.from(e).goto(t)}static compare(e,t,i,s,r=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=r),l=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=r),a=Or(o,l,i),h=new Jt(o,a,r),c=ne
Line truncated
|
|
||||||
`)}static newName(){let e=Rr[Pr]||1;return Rr[Pr]=e+1,cs+e.toString(36)}static mount(e,t){(e[fs]||new nc(e)).mount(Array.isArray(t)?t:[t])}}let Ai=null;class nc{constructor(e){if(!e.head&&e.adoptedStyleSheets&&typeof CSSStyleSheet<"u"){if(Ai)return e.adoptedStyleSheets=[Ai.sheet].concat(e.adoptedStyleSheets),e[fs]=Ai;this.sheet=new CSSStyleSheet,e.adoptedStyleSheets=[this.sheet].concat(e.adoptedStyleSheets),Ai=this}else{this.styleTag=(e.ownerDocument||e).createElement("style");let t=e.head||e;t.insertBefore(this.styleTag,t.firstChild)}this.modules=[],e[fs]=this}mount(e){let t=this.sheet,i=0,s=0;for(let r=0;r<e.length;r++){let o=e[r],l=this.modules.indexOf(o);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,o),t)for(let a=0;a<o.rules.length;a++)t.insertRule(o.rules[a],i++)}else{for(;s<l;)i+=this.modules[s++].rules.length;i+=o.rules.length,s++}}if(!t){let r="";for(let o=0;o<this.modules.length;o++)r+=this.modules[o].getRules()+`
|
|
||||||
`;this.styleTag.textContent=r}}}var lt={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},li={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Lr=typeof navigator<"u"&&/Chrome\/(\d+)/.exec(navigator.userAgent),sc=typeof navigator<"u"&&/Mac/.test(navigator.platform),rc=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),oc=sc||Lr&&+Lr[1]<57;for(var re=0;re<10;re++)lt[48+re]=lt[96+re]=String(re);for(var re=1;re<=24;re++)lt[re+111]="F"+re;for(var re=65;re<=90;re++)lt[re]=String.fromCharCode(re+32),li[re]=String.fromCharCode(re);for(var In in lt)li.hasOwnProperty(In)||(li[In]=lt[In]);function lc(n){var e=oc&&(n.ctrlKey||n.altKey||n.metaKey)||rc&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?li:lt)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function Qi(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function Nt(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function ac(n){let e=n.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function ji(n,e){if(!e.anchorNode)return!1;try{return Nt(n,e.anchorNode)}catch{return!1}}function ai(n){return n.nodeType==3?Vt(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function Zi(n,e,t,i){return t?Er(n,e,t,i,-1)||Er(n,e,t,i,1):!1}function en(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function Er(n,e,t,i,s){for(;;){if(n==t&&e==i)return!0;if(e==(s<0?0:hi(n))){if(n.nodeName=="DIV")return!1;let r=n.parentNode;if(!r||r.nodeType!=1)return!1;e=en(n)+(s<0?0:1),n=r}else if(n.nodeType==1){if(n=n.childNodes[e+(s<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=s<0?hi(n):0}else return!1}}function hi(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}const vl={left:0,right:0,top:0,bottom:0};function Js(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function hc(n){return{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function cc(n,e,t,i,s,r,o,l){let a=n.ownerDocument,h=a.defaultView||window;for(let c=n;c;)if(c.nodeType==1){let f,u=c==a.body;if(u)f=hc(h);else{if(c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let g=c.getBoundingClientRect();f={left:g.left,right:g.left+c.clientWidth,top:g.top,bottom:g.top+c.clientHeight}}let d=0,p=0;if(s=="nearest")e.top<f.top?(p=-(f.top-e.top+o),t>0&&e.bottom>f.bottom+p&&(p=e.bottom-f.bottom+p+o)):e.bottom>f.bottom&&(p=e.bottom-f.bottom+o,t<0&&e.top-p<f.top&&(p=-(f.top+p-e.top+o)));else{let g=e.bottom-e.top,m=f.bottom-f.top;p=(s=="center"&&g<=m?e.top+g/2-m/2:s=="start"||s=="center"&&t<0?e.top-o:e.bottom-m+o)-f.top}if(i=="nearest"?e.left<f.left?(d=-(f.left-e.left+r),t>0&&e.right>f.right+d&&(d=e.right-f.right+d+r)):e.right>f.right&&(d=e.right-f.right+r,t<0&&e.left<f.left+d&&(d=-(f.left+d-e.left+r))):d=(i=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:i=="start"==l?e.left-r:e.right-(f.right-f.left)+r)-f.left,d||p)if(u)h.scrollBy(d,p);else{let g=0,m=0;if(p){let y=c.scrollTop;c.scrollTop+=p,m=c.scrollTop-y}if(d){let y=c.scrollLeft;c.scrollLeft+=d,g=c.scrollLeft-y}e={left:e.left-g,top:e.top-m,right:e.right-g,bottom:e.bottom-m},g&&Math.abs(g-d)<1&&(i="nearest"),m&&Math.abs(m-p)<1&&(s="nearest")}if(u)break;c=c.assignedSlot||c.parentNode}else if(c.nodeType==11)c=c.host;else break}function fc(n){let e=n.ownerDocument;for(let t=n.parentNode;t&&t!=e.body;)if(t.nodeType==1){if(t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth)return t;t=t.assignedSlot||t.parentNode}else if(t.nodeType==11)t=t.host;else break;return null}class uc{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){this.set(e.anchorNode,e.anchorOffset,e.focusNode,e.focusOffset)}set(e,t,i,s){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=s}}let Dt=null;function Sl(n){if(n.setActive)return n.setActive();if(Dt)return n.focus(Dt);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerLine truncated
|
|
||||||
`,s=n.state.doc.line(s.number+(t?1:-1)),r=n.bidiSpans(s),h=b.cursor(t?s.from:s.to)}if(a){if(!a(c))return l}else{if(!i)return h;a=i(c)}l=h}}function Hc(n,e,t){let i=n.state.charCategorizer(e),s=i(t);return r=>{let o=i(r);return s==q.Space&&(s=o),s==o}}function zc(n,e,t,i){let s=e.head,r=t?1:-1;if(s==(t?n.state.doc.length:0))return b.cursor(s,e.assoc);let o=e.goalColumn,l,a=n.contentDOM.getBoundingClientRect(),h=n.coordsAtPos(s),c=n.documentTop;if(h)o==null&&(o=h.left-a.left),l=r<0?h.top:h.bottom;else{let d=n.viewState.lineBlockAt(s);o==null&&(o=Math.min(a.right-a.left,n.defaultCharacterWidth*(s-d.from))),l=(r<0?d.top:d.bottom)+c}let f=a.left+o,u=i??n.defaultLineHeight>>1;for(let d=0;;d+=10){let p=l+(u+d)*r,g=Ql(n,{x:f,y:p},!1,r);if(p<a.top||p>a.bottom||(r<0?g<s:g>s))return b.cursor(g,e.assoc,void 0,o)}}function Wn(n,e,t){let i=n.state.facet(Kl).map(s=>s(n));for(;;){let s=!1;for(let r of i)r.between(t.from-1,t.from+1,(o,l,a)=>{t.from>o&&t.from<l&&(t=e.head>t.from?b.cursor(o,1):b.cursor(l,-1),s=!0)});if(!s)return t}}class qc{constructor(e){this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.chromeScrollHack=-1,this.pendingIOSKey=void 0,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.registeredEvents=[],this.customHandlers=[],this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.mouseSelection=null;let t=(i,s)=>{this.ignoreDuringComposition(s)||s.type=="keydown"&&this.keydown(e,s)||(this.mustFlushObserver(s)&&e.observer.forceFlush(),this.runCustomHandlers(s.type,e,s)?s.preventDefault():i(e,s))};for(let i in ee){let s=ee[i];e.contentDOM.addEventListener(i,r=>{Yr(e,r)&&t(s,r)},Cs[i]),this.registeredEvents.push(i)}e.scrollDOM.addEventListener("mousedown",i=>{i.target==e.scrollDOM&&t(ee.mousedown,i)}),A.chrome&&A.chrome_version==102&&e.scrollDOM.addEventListener("wheel",()=>{this.chromeScrollHack<0?e.contentDOM.style.pointerEvents="none":window.clearTimeout(this.chromeScrollHack),this.chromeScrollHack=setTimeout(()=>{this.chromeScrollHack=-1,e.contentDOM.style.pointerEvents=""},100)},{passive:!0}),this.notifiedFocused=e.hasFocus,A.safari&&e.contentDOM.addEventListener("input",()=>null)}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e,t){var i;let s;this.customHandlers=[];for(let r of t)if(s=(i=r.update(e).spec)===null||i===void 0?void 0:i.domEventHandlers){this.customHandlers.push({plugin:r.value,handlers:s});for(let o in s)this.registeredEvents.indexOf(o)<0&&o!="scroll"&&(this.registeredEvents.push(o),e.contentDOM.addEventListener(o,l=>{Yr(e,l)&&this.runCustomHandlers(o,e,l)&&l.preventDefault()}))}}runCustomHandlers(e,t,i){for(let s of this.customHandlers){let r=s.handlers[e];if(r)try{if(r.call(s.plugin,i,t)||i.defaultPrevented)return!0}catch(o){Le(t.state,o)}}return!1}runScrollHandlers(e,t){this.lastScrollTop=e.scrollDOM.scrollTop,this.lastScrollLeft=e.scrollDOM.scrollLeft;for(let i of this.customHandlers){let s=i.handlers.scroll;if(s)try{s.call(i.plugin,t,e)}catch(r){Le(e.state,r)}}}keydown(e,t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),t.keyCode==9&&Date.now()<this.lastEscPress+2e3)return!0;if(A.android&&A.chrome&&!t.synthetic&&(t.keyCode==13||t.keyCode==8))return e.observer.delayAndroidKey(t.key,t.keyCode),!0;let i;return A.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&((i=Zl.find(s=>s.keyCode==t.keyCode))&&!t.ctrlKey||$c.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey)?(this.pendingIOSKey=i||t,setTimeout(()=>this.flushIOSKey(e),250),!0):!1}flushIOSKey(e){let t=this.pendingIOSKey;return t?(this.pendingIOSKey=void 0,Lt(e.contentDOM,t.key,t.keyCode)):!1}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:A.safari&&!A.ios&&Date.now()-this.compositionEndedAt<100?(this.compositionEndedAt=0,!0):!1:!1}mustFlushObserver(e){return e.type=="keydown"&&e.keyCode!=229}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}const Zl=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],$c="dthko",ea=[16,17,18,20,91,92,224,225];function Di(n){return n*.7+8}class Kc{constructor(e,t,i,s){this.view=e,this.style=i,this.mustSelect=s,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=fc(e.contentDOM);let r=e.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(N.allowMultipleSelections)&&jc(e,t),this.dragMove=Uc(e,t),this.dragging=Gc(e,t)&&sa(t)==1?null:!1,this
Line truncated
|
|
||||||
`&&n.lineWrapping&&(i&&(i=b.single(i.main.anchor-1,i.main.head-1)),t={from:s.from,to:s.to,insert:I.of([" "])}),t){let r=n.state;if(A.ios&&n.inputState.flushIOSKey(n)||A.android&&(t.from==s.from&&t.to==s.to&&t.insert.length==1&&t.insert.lines==2&&Lt(n.contentDOM,"Enter",13)||t.from==s.from-1&&t.to==s.to&&t.insert.length==0&&Lt(n.contentDOM,"Backspace",8)||t.from==s.from&&t.to==s.to+1&&t.insert.length==0&&Lt(n.contentDOM,"Delete",46)))return!0;let o=t.insert.toString();if(n.state.facet(Hl).some(h=>h(n,t.from,t.to,o)))return!0;n.inputState.composing>=0&&n.inputState.composing++;let l;if(t.from>=s.from&&t.to<=s.to&&t.to-t.from>=(s.to-s.from)/3&&(!i||i.main.empty&&i.main.from==t.from+t.insert.length)&&n.inputState.composing<0){let h=s.from<t.from?r.sliceDoc(s.from,t.from):"",c=s.to>t.to?r.sliceDoc(t.to,s.to):"";l=r.replaceSelection(n.state.toText(h+t.insert.sliceString(0,void 0,n.state.lineBreak)+c))}else{let h=r.changes(t),c=i&&!r.selection.main.eq(i.main)&&i.main.to<=h.newLength?i.main:void 0;if(r.selection.ranges.length>1&&n.inputState.composing>=0&&t.to<=s.to&&t.to>=s.to-10){let f=n.state.sliceDoc(t.from,t.to),u=Xl(n)||n.state.doc.lineAt(s.head),d=s.to-t.to,p=s.to-s.from;l=r.changeByRange(g=>{if(g.from==s.from&&g.to==s.to)return{changes:h,range:c||g.map(h)};let m=g.to-d,y=m-f.length;if(g.to-g.from!=p||n.state.sliceDoc(y,m)!=f||u&&g.to>=u.from&&g.from<=u.to)return{range:g};let S=r.changes({from:y,to:m,insert:t.insert}),M=g.to-s.to;return{changes:S,range:c?b.range(Math.max(0,c.anchor+M),Math.max(0,c.head+M)):g.map(S)}})}else l={changes:h,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return n.composing&&(a+=".compose",n.inputState.compositionFirstChange&&(a+=".start",n.inputState.compositionFirstChange=!1)),n.dispatch(l,{scrollIntoView:!0,userEvent:a}),!0}else if(i&&!i.main.eq(s)){let r=!1,o="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(r=!0),o=n.inputState.lastSelectionOrigin),n.dispatch({selection:i,scrollIntoView:r,userEvent:o}),!0}else return!1}function mf(n,e,t,i){let s=Math.min(n.length,e.length),r=0;for(;r<s&&n.charCodeAt(r)==e.charCodeAt(r);)r++;if(r==s&&n.length==e.length)return null;let o=n.length,l=e.length;for(;o>0&&l>0&&n.charCodeAt(o-1)==e.charCodeAt(l-1);)o--,l--;if(i=="end"){let a=Math.max(0,r-Math.min(o,l));t-=o+a-r}if(o<r&&n.length<e.length){let a=t<=r&&t>=o?r-t:0;r-=a,l=r+(l-o),o=r}else if(l<r){let a=t<=r&&t>=l?r-t:0;r-=a,o=r+(o-l),l=r}return{from:r,toA:o,toB:l}}function yf(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:s,focusOffset:r}=n.observer.selectionRange;return t&&(e.push(new $r(t,i)),(s!=t||r!=i)&&e.push(new $r(s,r))),e}function bf(n,e){if(n.length==0)return null;let t=n[0].pos,i=n.length==2?n[1].pos:t;return t>-1&&i>-1?b.single(t+e,i+e):null}const wf={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},zn=A.ie&&A.ie_version<=11;class xf{constructor(e){this.view=e,this.active=!1,this.selectionRange=new uc,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.resizeContent=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let i of t)this.queue.push(i);(A.ie&&A.ie_version<=11||A.ios&&e.composing)&&t.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),zn&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM),this.resizeContent=new ResizeObserver(()=>this.view.requestMeasure()),this.resizeContent.observe(e.contentDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.r
Line truncated
|
|
||||||
--\u2028\u2029\uFEFF-]`,Ts),Wf={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let qn=null;function Hf(){var n;if(qn==null&&typeof document<"u"&&document.body){let e=document.body.style;qn=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return qn||!1}const Ji=D.define({combine(n){let e=Ct(n,{render:null,specialChars:Ff,addSpecialChars:null});return(e.replaceTabs=!Hf())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Ts)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Ts)),e}});function Cg(n={}){return[Ji.of(n),zf()]}let bo=null;function zf(){return bo||(bo=me.fromClass(class{constructor(n){this.view=n,this.decorations=T.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(Ji)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new Vf({regexp:n.specialChars,decoration:(e,t,i)=>{let{doc:s}=t.state,r=se(e[0],0);if(r==9){let o=s.lineAt(i),l=t.state.tabSize,a=yi(o.text,l,i-o.from);return T.replace({widget:new jf((l-a%l)*this.view.defaultCharacterWidth)})}return this.decorationCache[r]||(this.decorationCache[r]=T.replace({widget:new Kf(n,r)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(Ji);n.startState.facet(Ji)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const qf="•";function $f(n){return n>=32?qf:n==10?"":String.fromCharCode(9216+n)}class Kf extends ct{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=$f(this.code),i=e.state.phrase("Control character")+" "+(Wf[this.code]||"0x"+this.code.toString(16)),s=this.options.render&&this.options.render(this.code,i,t);if(s)return s;let r=document.createElement("span");return r.textContent=t,r.title=i,r.setAttribute("aria-label",i),r.className="cm-specialChar",r}ignoreEvent(){return!1}}class jf extends ct{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}class Uf extends ct{constructor(e){super(),this.content=e}toDOM(){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild(typeof this.content=="string"?document.createTextNode(this.content):this.content),typeof this.content=="string"?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}ignoreEvent(){return!1}}function Ag(n){return me.fromClass(class{constructor(e){this.view=e,this.placeholder=T.set([T.widget({widget:new Uf(n),side:1}).range(0)])}get decorations(){return this.view.state.doc.length?T.none:this.placeholder}},{decorations:e=>e.decorations})}const Bs=2e3;function Gf(n,e,t){let i=Math.min(e.line,t.line),s=Math.max(e.line,t.line),r=[];if(e.off>Bs||t.off>Bs||e.col<0||t.col<0){let o=Math.min(e.off,t.off),l=Math.max(e.off,t.off);for(let a=i;a<=s;a++){let h=n.doc.line(a);h.length<=l&&r.push(b.range(h.from+o,h.to+l))}}else{let o=Math.min(e.col,t.col),l=Math.max(e.col,t.col);for(let a=i;a<=s;a++){let h=n.doc.line(a),c=hs(h.text,o,n.tabSize,!0);if(c<0)r.push(b.cursor(h.to));else{let f=hs(h.text,l,n.tabSize);r.push(b.range(h.from+c,h.from+f))}}}return r}function Jf(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function wo(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),i=n.state.doc.lineAt(t),s=t-i.from,r=s>Bs?-1:s==i.length?Jf(n,e.clientX):yi(i.text,n.state.tabSize,t-i.from);return{line:i.number,col:r,off:s}}function _f(n,e){let t=wo(n,e),i=n.state.selection;return t?{update(s){if(s.docChanged){let r=s.changes.mapPos(s.startState.doc.line(t.line).from),o=s.state.doc.lineAt(r);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},i=i.map(s.changes)}},get(s,r,o){let l=wo(n,s);if(!l)return i;let a=Gf(n.state,t,l);return a.length?o?b.create(a.concat(i.ranges)):b.create(a):i}}:null}function Mg(n){let e=(n==null?void 0:n.eventFilter)||(t=>t.altKey&&t.button==0);return O.mouseSelectionStyle.of((t,i)=>e(i)?_f(t,i):null)}const Li="-10000px";class Xf{constructor(e,t,i){this.facet=t,this.createTooltipView=i,this.input=e.state.facet(t),this.tooltips=this.input.filter(s=>s),this.tooltipViews=this.tooltips.map(i)}update(e){var t;let i=e.state.facet(this.facet),s=i.filter(o=>o);if(i==
Line truncated
|
|
||||||
`&&(t="");else{let i=t.indexOf(`
|
|
||||||
`);i>-1&&(t=t.slice(0,i))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),i=e+t.length;for(let s=this.rangeIndex;;){let r=this.ranges[s].to;if(r>=i||(t=t.slice(0,r-(i-t.length)),s++,s==this.ranges.length))break;let o=this.ranges[s].from,l=this.lineAfter(o);t+=l,i=o+l.length}return{line:t,end:i}}skipGapsTo(e,t,i){for(;;){let s=this.ranges[this.rangeIndex].to,r=e+t;if(i>0?s>r:s>=r)break;let o=this.ranges[++this.rangeIndex].from;t+=o-s}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,t,i,s,r){if(this.ranges.length>1){r=this.skipGapsTo(t,r,1),t+=r;let o=this.chunk.length;r=this.skipGapsTo(i,r,-1),i+=r,s+=this.chunk.length-o}return this.chunk.push(e,t,i,s),r}parseLine(e){let{line:t,end:i}=this.nextLine(),s=0,{streamParser:r}=this.lang,o=new Va(t,e?e.state.tabSize:4,e?vt(e.state):2);if(o.eol())r.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let l=Ha(r.token,o,this.state);if(l&&(s=this.emitToken(this.lang.tokenTable.resolve(l),this.parsedPos+o.start,this.parsedPos+o.pos,4,s)),o.start>1e4)break}this.parsedPos=i,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=W.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:Xu,topID:0,maxBufferLength:2048,reused:this.chunkReused});e=new W(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new W(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}}function Ha(n,e,t){e.start=e.pos;for(let i=0;i<10;i++){let s=n(e,t);if(e.pos>e.start)return s}throw new Error("Stream parser failed to advance stream.")}const lr=Object.create(null),di=[ye.none],Xu=new tr(di),Eo=[],za=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])za[n]=$a(lr,e);class qa{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),za)}resolve(e){return e?this.table[e]||(this.table[e]=$a(this.extra,e)):0}}const Yu=new qa(lr);function Jn(n,e){Eo.indexOf(n)>-1||(Eo.push(n),console.warn(e))}function $a(n,e){let t=null;for(let r of e.split(".")){let o=n[r]||x[r];o?typeof o=="function"?t?t=o(t):Jn(r,`Modifier ${r} used at start of tag`):t?Jn(r,`Tag ${r} used as modifier`):t=o:Jn(r,`Unknown highlighting tag ${r}`)}if(!t)return 0;let i=e.replace(/ /g,"_"),s=ye.define({id:di.length,name:i,props:[ku({[i]:t})]});return di.push(s),s.id}function Qu(n){let e=ye.define({id:di.length,name:"Document",props:[Ht.add(()=>n)]});return di.push(e),e}const Zu=n=>{let e=hr(n.state);return e.line?ed(n):e.block?id(n):!1};function ar(n,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let s=n(e,t);return s?(i(t.update(s)),!0):!1}}const ed=ar(rd,0),td=ar(Ka,0),id=ar((n,e)=>Ka(n,e,sd(e)),0);function hr(n,e=n.selection.main.head){let t=n.languageDataAt("commentTokens",e);return t.length?t[0]:{}}const Yt=50;function nd(n,{open:e,close:t},i,s){let r=n.sliceDoc(i-Yt,i),o=n.sliceDoc(s,s+Yt),l=/\s*$/.exec(r)[0].length,a=/^\s*/.exec(o)[0].length,h=r.length-l;if(r.slice(h-e.length,h)==e&&o.slice(a,a+t.length)==t)return{open:{pos:i-l,margin:l&&1},close:{pos:s+a,margin:a&&1}};let c,f;s-i<=2*Yt?c=f=n.sliceDoc(i,s):(c=n.sliceDoc(i,i+Yt),f=n.sliceDoc(s-Yt,s));let u=/^\s*/.exec(c)[0].length,d=/\s*$/.exec(f)[0].length,p=f.length-d-t.length;return c.slice(u,u+e.length)==e&&f.slice(p,p+t.length)==t?{open:{pos:i+u+e.length,margin:/\s/.test(c.charAt(u+e.length))?1:0},close:{pos:s-d-t.length,margin:/\s/.test(f.charAt(p-1))?1:0}}:null}function sd(n){let e=[];for(let t of n.selection.ranges){let i=n.doc.lineAt(t.from),s=t.to<=i.to?i:n.doc.lineAt(t.to),r=e.length-1;r>=0&&e[r].to>i.from?e[r].to=s.to:e.push({from:i.from,to:s.to})}return e}function Ka(n,e,t=e.selection.ranges){let i=t.map(r=>hr(e,r.from).block);if(!i.every(r=>r))return null;let s=t.map((r,o)=>nd(e,i[o],r.from,r.to));if(n!=2&&!s.every(r=>r))return{changes:e.changes(t.map((r,o)=>s[o]?[]:[{from:r.from,insert:i[o].open+" "},{from:r.to,insert:" "+i[o].close}]))};if(n!=1&&s.some(r=>r)){let r=[];for(let o=0,l;o<s.length;o++)if(l=s[o]){let a=i[o],{open:h,close:c}=l;r.push({from:h.pos-a.open.length,to:h.pos+h.margin},{from:c.pos-c.margin,to:c.pos+a.close.length})}return{changes:r}}return null}function rd(n,e,t=e.selection.ranges){let i=[],s=-1;for(let{from:r,to:o}of t){let l=i.length,a=1e9;for(let h=r;h<=o;){let c=e.doc.lineAt(h);if(c.from>s&&(r==o||o>c.from)){s=c.from;let f=hr(e,h).line;if(!f)continue;let u=/^\s*/.exec(c.text)[0].lengt
Line truncated
|
|
||||||
`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new vp(this):new xp(this)}getCursor(e,t=0,i){let s=e.doc?e:N.create({doc:e});return i==null&&(i=s.doc.length),this.regexp?Tt(this,s,t,i):Ot(this,s,t,i)}}class Dh{constructor(e){this.spec=e}}function Ot(n,e,t,i){return new Kt(e.doc,n.unquoted,t,i,n.caseSensitive?void 0:s=>s.toLowerCase(),n.wholeWord?wp(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function wp(n,e){return(t,i,s,r)=>((r>t||r+s.length<i)&&(r=Math.max(0,t-2),s=n.sliceString(r,Math.min(n.length,i+2))),(e(gn(s,t-r))!=q.Word||e(mn(s,t-r))!=q.Word)&&(e(mn(s,i-r))!=q.Word||e(gn(s,i-r))!=q.Word))}class xp extends Dh{constructor(e){super(e)}nextMatch(e,t,i){let s=Ot(this.spec,e,i,e.doc.length).nextOverlapping();return s.done&&(s=Ot(this.spec,e,0,t).nextOverlapping()),s.done?null:s.value}prevMatchInRange(e,t,i){for(let s=i;;){let r=Math.max(t,s-1e4-this.spec.unquoted.length),o=Ot(this.spec,e,r,s),l=null;for(;!o.nextOverlapping().done;)l=o.value;if(l)return l;if(r==t)return null;s-=1e4}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=Ot(this.spec,e,0,e.doc.length),s=[];for(;!i.next().done;){if(s.length>=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let r=Ot(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}function Tt(n,e,t,i){return new Sh(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:n.wholeWord?kp(e.charCategorizer(e.selection.main.head)):void 0},t,i)}function gn(n,e){return n.slice(de(n,e,!1),e)}function mn(n,e){return n.slice(e,de(n,e))}function kp(n){return(e,t,i)=>!i[0].length||(n(gn(i.input,i.index))!=q.Word||n(mn(i.input,i.index))!=q.Word)&&(n(mn(i.input,i.index+i[0].length))!=q.Word||n(gn(i.input,i.index+i[0].length))!=q.Word)}class vp extends Dh{nextMatch(e,t,i){let s=Tt(this.spec,e,i,e.doc.length).next();return s.done&&(s=Tt(this.spec,e,0,t).next()),s.done?null:s.value}prevMatchInRange(e,t,i){for(let s=1;;s++){let r=Math.max(t,i-s*1e4),o=Tt(this.spec,e,r,i),l=null;for(;!o.next().done;)l=o.value;if(l&&(r==t||l.from>r+10))return l;if(r==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace.replace(/\$([$&\d+])/g,(t,i)=>i=="$"?"$":i=="&"?e.match[0]:i!="0"&&+i<e.match.length?e.match[i]:t))}matchAll(e,t){let i=Tt(this.spec,e,0,e.doc.length),s=[];for(;!i.next().done;){if(s.length>=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let r=Tt(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}const pi=E.define(),dr=E.define(),st=we.define({create(n){return new Yn(qs(n).create(),null)},update(n,e){for(let t of e.effects)t.is(pi)?n=new Yn(t.value.create(),n.panel):t.is(dr)&&(n=new Yn(n.query,t.value?pr:null));return n},provide:n=>on.from(n,e=>e.panel)});class Yn{constructor(e,t){this.query=e,this.panel=t}}const Sp=T.mark({class:"cm-searchMatch"}),Cp=T.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Ap=me.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(st))}update(n){let e=n.state.field(st);(e!=n.startState.field(st)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return T.none;let{view:t}=this,i=new wt;for(let s=0,r=t.visibleRanges,o=r.length;s<o;s++){let{from:l,to:a}=r[s];for(;s<o-1&&a>r[s+1].from-2*250;)a=r[++s].to;n.highlight(t.state,l,a,(h,c)=>{let f=t.state.selection.ranges.some(u=>u.from==h&&u.to==c);i.add(h,c,f?Cp:Sp)})}return i.finish()}},{decorations:n=>n.decorations});function xi(n){return e=>{let t=e.state.field(st,!1);return t&&t.query.spec.valid?n(e,t):Oh(e)}}const yn=xi((n,{query:e})=>{let{to:t}=n.state.selection.main,i=e.nextMatch(n.state,t,t);return i?(n.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:gr(n,i),userEvent:"select.search"}),!0):!1}),bn=xi((n,{query:e})=>{let{state:t}=n,{from:i}=t.selection.main,s=e.prevMatch(t,i,i);return s?(n.dispatch({selection:{anchor:s.from,head:s.to},scrollIntoView:!0,effects:gr(n,s),userEvent:"select.search"}),!0):!1}),Mp=xi((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:b.create(t.map(i=>b.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),Dp=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:s}=t.main,r=[],o=0;for(let l=new Kt(n.doc,n.sliceDoc(i,s));!l.next().done;){if(r.length>1e3)return!1;l.value.from==i&&(o=r.length),r.push(b.range(l.value.from,l.value.to))}return e(n.update({selection:b.create(r,o),
Line truncated
|
|
||||||
Vendored
-1
@@ -1 +0,0 @@
|
|||||||
@font-face{font-family:remixicon;src:url(../fonts/remixicon/remixicon.woff2?v=1) format("woff2"),url(../fonts/remixicon/remixicon.woff?v=1) format("woff"),url(../fonts/remixicon/remixicon.ttf?v=1) format("truetype"),url(../fonts/remixicon/remixicon.svg?v=1#remixicon) format("svg");font-display:swap}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:400;src:local(""),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-regular.woff2) format("woff2"),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-regular.woff) format("woff")}@font-face{font-family:Source Sans Pro;font-style:italic;font-weight:400;src:local(""),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-italic.woff2) format("woff2"),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-italic.woff) format("woff")}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:600;src:local(""),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600.woff2) format("woff2"),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600.woff) format("woff")}@font-face{font-family:Source Sans Pro;font-style:italic;font-weight:600;src:local(""),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600italic.woff2) format("woff2"),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600italic.woff) format("woff")}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:700;src:local(""),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700.woff2) format("woff2"),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700.woff) format("woff")}@font-face{font-family:Source Sans Pro;font-style:italic;font-weight:700;src:local(""),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700italic.woff2) format("woff2"),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700italic.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;src:local(""),url(../fonts/jetbrains-mono/jetbrains-mono-v12-latin-regular.woff2) format("woff2"),url(../fonts/jetbrains-mono/jetbrains-mono-v12-latin-regular.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;src:local(""),url(../fonts/jetbrains-mono/jetbrains-mono-v12-latin-600.woff2) format("woff2"),url(../fonts/jetbrains-mono/jetbrains-mono-v12-latin-600.woff) format("woff")}:root{--baseFontFamily: "Source Sans Pro", sans-serif, emoji;--monospaceFontFamily: "Ubuntu Mono", monospace, emoji;--iconFontFamily: "remixicon";--txtPrimaryColor: #16161a;--txtHintColor: #666f75;--txtDisabledColor: #a0a6ac;--primaryColor: #16161a;--bodyColor: #f8f9fa;--baseColor: #ffffff;--baseAlt1Color: #e4e9ec;--baseAlt2Color: #d7dde4;--baseAlt3Color: #c6cdd7;--baseAlt4Color: #a5b0c0;--infoColor: #3da9fc;--infoAltColor: #d8eefe;--successColor: #2cb67d;--successAltColor: #d6f5e8;--dangerColor: #e13756;--dangerAltColor: #fcdee4;--warningColor: #ff8e3c;--warningAltColor: #ffe7d6;--overlayColor: rgba(53, 71, 104, .25);--tooltipColor: rgba(0, 0, 0, .85);--shadowColor: rgba(0, 0, 0, .06);--baseFontSize: 14.5px;--xsFontSize: 12px;--smFontSize: 13px;--lgFontSize: 15px;--xlFontSize: 16px;--baseLineHeight: 22px;--smLineHeight: 16px;--lgLineHeight: 24px;--inputHeight: 34px;--btnHeight: 40px;--xsBtnHeight: 22px;--smBtnHeight: 30px;--lgBtnHeight: 54px;--baseSpacing: 30px;--xsSpacing: 15px;--smSpacing: 20px;--lgSpacing: 50px;--xlSpacing: 60px;--wrapperWidth: 850px;--smWrapperWidth: 420px;--lgWrapperWidth: 1200px;--appSidebarWidth: 75px;--pageSidebarWidth: 220px;--baseAnimationSpeed: .15s;--activeAnimationSpeed: 70ms;--entranceAnimationSpeed: .25s;--baseRadius: 3px;--lgRadius: 12px;--btnRadius: 3px;accent-color:var(--primaryColor)}html,body,div,span,applet,object,iframe,h1,h2,.breadcrumbs .breadcrumb-item,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}i{font-family:remixicon!important;font-style:normal;font-weight:400;font-size:1.1238rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i:before{vertical-align:top;margin-top:1px;display:inline-block}.ri-24-hours-fill:before{content:"\ea01"}.ri-24-hours-line:before{content:"\ea02"}.ri-4k-fill:before{content:"\ea03"}.ri-4k-line:befLine truncated
|
|
||||||
Vendored
+13
@@ -0,0 +1,13 @@
|
|||||||
|
class I{constructor(){}lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){let s=[];return this.decompose(0,e,s,2),i.length&&i.decompose(0,i.length,s,3),this.decompose(t,this.length,s,1),He.from(s,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){let i=[];return this.decompose(e,t,i,0),He.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),s=new ii(this),r=new ii(e);for(let o=t,l=t;;){if(s.next(o),r.next(o),o=0,s.lineBreak!=r.lineBreak||s.done!=r.done||s.value!=r.value)return!1;if(l+=s.value.length,s.done||l>=i)return!0}}iter(e=1){return new ii(this,e)}iterRange(e,t=this.length){return new rl(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let s=this.line(e).from;i=this.iterRange(s,Math.max(s,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new ol(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?I.empty:e.length<=32?new G(e):He.from(G.split(e,[]))}}class G extends I{constructor(e,t=Ka(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,s){for(let r=0;;r++){let o=this.text[r],l=s+o.length;if((t?i:l)>=e)return new ja(s,l,i,o);s=l+1,i++}}decompose(e,t,i,s){let r=e<=0&&t>=this.length?this:new G(vr(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(s&1){let o=i.pop(),l=$i(r.text,o.text.slice(),0,r.length);if(l.length<=32)i.push(new G(l,o.length+r.length));else{let h=l.length>>1;i.push(new G(l.slice(0,h)),new G(l.slice(h)))}}else i.push(r)}replace(e,t,i){if(!(i instanceof G))return super.replace(e,t,i);let s=$i(this.text,$i(i.text,vr(this.text,0,e)),t),r=this.length+i.length-(t-e);return s.length<=32?new G(s,r):He.from(G.split(s,[]),r)}sliceString(e,t=this.length,i=`
|
||||||
|
`){let s="";for(let r=0,o=0;r<=t&&o<this.text.length;o++){let l=this.text[o],h=r+l.length;r>e&&o&&(s+=i),e<h&&t>r&&(s+=l.slice(Math.max(0,e-r),t-r)),r=h+1}return s}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],s=-1;for(let r of e)i.push(r),s+=r.length+1,i.length==32&&(t.push(new G(i,s)),i=[],s=-1);return s>-1&&t.push(new G(i,s)),t}}class He extends I{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,s){for(let r=0;;r++){let o=this.children[r],l=s+o.length,h=i+o.lines-1;if((t?h:l)>=e)return o.lineInner(e,t,i,s);s=l+1,i=h+1}}decompose(e,t,i,s){for(let r=0,o=0;o<=t&&r<this.children.length;r++){let l=this.children[r],h=o+l.length;if(e<=h&&t>=o){let a=s&((o<=e?1:0)|(h>=t?2:0));o>=e&&h<=t&&!a?i.push(l):l.decompose(e-o,t-o,i,a)}o=h+1}}replace(e,t,i){if(i.lines<this.lines)for(let s=0,r=0;s<this.children.length;s++){let o=this.children[s],l=r+o.length;if(e>=r&&t<=l){let h=o.replace(e-r,t-r,i),a=this.lines-o.lines+h.lines;if(h.lines<a>>5-1&&h.lines>a>>5+1){let c=this.children.slice();return c[s]=h,new He(c,this.length-(t-e)+i.length)}return super.replace(r,l,h)}r=l+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=`
|
||||||
|
`){let s="";for(let r=0,o=0;r<this.children.length&&o<=t;r++){let l=this.children[r],h=o+l.length;o>e&&r&&(s+=i),e<h&&t>o&&(s+=l.sliceString(e-o,t-o,i)),o=h+1}return s}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof He))return 0;let i=0,[s,r,o,l]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=t,r+=t){if(s==o||r==l)return i;let h=this.children[s],a=e.children[r];if(h!=a)return i+h.scanIdentical(a,t);i+=h.length+1}}static from(e,t=e.reduce((i,s)=>i+s.length+1,-1)){let i=0;for(let d of e)i+=d.lines;if(i<32){let d=[];for(let p of e)p.flatten(d);return new G(d,t)}let s=Math.max(32,i>>5),r=s<<1,o=s>>1,l=[],h=0,a=-1,c=[];function f(d){let p;if(d.lines>r&&d instanceof He)for(let g of d.children)f(g);else d.lines>o&&(h>o||!h)?(u(),l.push(d)):d instanceof G&&h&&(p=c[c.length-1])instanceof G&&d.lines+p.lines<=32?(h+=d.lines,a+=d.length+1,c[c.length-1]=new G(p.text.concat(d.text),p.length+1+d.length)):(h+d.lines>s&&u(),h+=d.lines,a+=d.length+1,c.push(d))}function u(){h!=0&&(l.push(c.length==1?c[0]:He.from(c,a)),a=-1,h=c.length=0)}for(let d of e)f(d);return u(),l.length==1?l[0]:new He(l,t)}}I.empty=new G([""],0);function Ka(n){let e=-1;for(let t of n)e+=t.length+1;return e}function $i(n,e,t=0,i=1e9){for(let s=0,r=0,o=!0;r<n.length&&s<=i;r++){let l=n[r],h=s+l.length;h>=t&&(h>i&&(l=l.slice(0,i-s)),s<t&&(l=l.slice(t-s)),o?(e[e.length-1]+=l,o=!1):e.push(l)),s=h+1}return e}function vr(n,e,t){return $i(n,[""],e,t)}class ii{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof G?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,s=this.nodes[i],r=this.offsets[i],o=r>>1,l=s instanceof G?s.text.length:s.children.length;if(o==(t>0?l:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((r&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=`
|
||||||
|
`,this;e--}else if(s instanceof G){let h=s.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,h.length>Math.max(0,e))return this.value=e==0?h:t>0?h.slice(e):h.slice(0,h.length-e),this;e-=h.length}else{let h=s.children[o+(t<0?-1:0)];e>h.length?(e-=h.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(h),this.offsets.push(t>0?1:(h instanceof G?h.text.length:h.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class rl{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new ii(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*t,this.value=s.length<=i?s:t<0?s.slice(s.length-i):s.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class ol{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:s}=this.inner.next(e);return t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(I.prototype[Symbol.iterator]=function(){return this.iter()},ii.prototype[Symbol.iterator]=rl.prototype[Symbol.iterator]=ol.prototype[Symbol.iterator]=function(){return this});class ja{constructor(e,t,i,s){this.from=e,this.to=t,this.number=i,this.text=s}get length(){return this.to-this.from}}let Rt="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(n=>n?parseInt(n,36):1);for(let n=1;n<Rt.length;n++)Rt[n]+=Rt[n-1];function Ua(n){for(let e=1;e<Rt.length;e+=2)if(Rt[e]>n)return Rt[e-1]<=n;return!1}function Cr(n){return n>=127462&&n<=127487}const Ar=8205;function de(n,e,t=!0,i=!0){return(t?ll:Ga)(n,e,i)}function ll(n,e,t){if(e==n.length)return e;e&&hl(n.charCodeAt(e))&&al(n.charCodeAt(e-1))&&e--;let i=se(n,e);for(e+=Me(i);e<n.length;){let s=se(n,e);if(i==Ar||s==Ar||t&&Ua(s))e+=Me(s),i=s;else if(Cr(s)){let r=0,o=e-2;for(;o>=0&&Cr(se(n,o));)r++,o-=2;if(r%2==0)break;e+=2}else break}return e}function Ga(n,e,t){for(;e>0;){let i=ll(n,e-2,t);if(i<e)return i;e--}return 0}function hl(n){return n>=56320&&n<57344}function al(n){return n>=55296&&n<56320}function se(n,e){let t=n.charCodeAt(e);if(!al(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return hl(i)?(t-55296<<10)+(i-56320)+65536:t}function Ks(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function Me(n){return n<65536?1:2}const Zn=/\r\n?|\n/;var he=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(he||(he={}));class Ke{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,s=0;t<this.sections.length;){let r=this.sections[t++],o=this.sections[t++];o<0?(e(i,s,r),s+=r):s+=o,i+=r}}iterChangedRanges(e,t=!1){es(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];s<0?e.push(i,s):e.push(s
Line truncated
|
||||||
|
`}get readOnly(){return this.facet(wl)}phrase(e,...t){for(let i of this.facet(N.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,s)=>{if(s=="$")return"$";let r=+(s||1);return!r||r>t.length?i:t[r-1]})),e}languageDataAt(e,t,i=-1){let s=[];for(let r of this.facet(dl))for(let o of r(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&s.push(o[e]);return s}charCategorizer(e){return sc(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:i,length:s}=this.doc.lineAt(e),r=this.charCategorizer(e),o=e-i,l=e-i;for(;o>0;){let h=de(t,o,!1);if(r(t.slice(h,o))!=$.Word)break;o=h}for(;l<s;){let h=de(t,l);if(r(t.slice(l,h))!=$.Word)break;l=h}return o==l?null:b.range(o+i,l+i)}}N.allowMultipleSelections=pl;N.tabSize=M.define({combine:n=>n.length?n[0]:4});N.lineSeparator=gl;N.readOnly=wl;N.phrases=M.define({compare(n,e){let t=Object.keys(n),i=Object.keys(e);return t.length==i.length&&t.every(s=>n[s]==e[s])}});N.languageData=dl;N.changeFilter=ml;N.transactionFilter=yl;N.transactionExtender=bl;kn.reconfigure=E.define();function At(n,e,t={}){let i={};for(let s of n)for(let r of Object.keys(s)){let o=s[r],l=i[r];if(l===void 0)i[r]=o;else if(!(l===o||o===void 0))if(Object.hasOwnProperty.call(t,r))i[r]=t[r](l,o);else throw new Error("Config merge conflict for field "+r)}for(let s in e)i[s]===void 0&&(i[s]=e[s]);return i}class wt{eq(e){return this==e}range(e,t=e){return os.create(e,t,this)}}wt.prototype.startSide=wt.prototype.endSide=0;wt.prototype.point=!1;wt.prototype.mapMode=he.TrackDel;let os=class Sl{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new Sl(e,t,i)}};function ls(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class Gs{constructor(e,t,i,s){this.from=e,this.to=t,this.value=i,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,s=0){let r=i?this.to:this.from;for(let o=s,l=r.length;;){if(o==l)return o;let h=o+l>>1,a=r[h]-e||(i?this.value[h].endSide:this.value[h].startSide)-t;if(h==o)return a>=0?o:l;a>=0?l=h:o=h+1}}between(e,t,i,s){for(let r=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,r);r<o;r++)if(s(this.from[r]+e,this.to[r]+e,this.value[r])===!1)return!1}map(e,t){let i=[],s=[],r=[],o=-1,l=-1;for(let h=0;h<this.value.length;h++){let a=this.value[h],c=this.from[h]+e,f=this.to[h]+e,u,d;if(c==f){let p=t.mapPos(c,a.startSide,a.mapMode);if(p==null||(u=d=p,a.startSide!=a.endSide&&(d=t.mapPos(c,a.endSide),d<u)))continue}else if(u=t.mapPos(c,a.startSide),d=t.mapPos(f,a.endSide),u>d||u==d&&a.startSide>0&&a.endSide<=0)continue;(d-u||a.endSide-a.startSide)<0||(o<0&&(o=u),a.point&&(l=Math.max(l,d-u)),i.push(a),s.push(u-o),r.push(d-o))}return{mapped:i.length?new Gs(s,r,i,l):null,pos:o}}}class j{constructor(e,t,i,s){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=s}static create(e,t,i,s){return new j(e,t,i,s)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:s=0,filterTo:r=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(i&&(t=t.slice().sort(ls)),this.isEmpty)return t.length?j.of(t):this;let l=new vl(this,null,-1).goto(0),h=0,a=[],c=new xt;for(;l.value||h<t.length;)if(h<t.length&&(l.from-t[h].from||l.startSide-t[h].value.startSide)>=0){let f=t[h++];c.addInner(f.from,f.to,f.value)||a.push(f)}else l.rangeIndex==1&&l.chunkIndex<this.chunk.length&&(h==t.length||this.chunkEnd(l.chunkIndex)<t[h].from)&&(!o||s>this.chunkEnd(l.chunkIndex)||r<this.chunkPos[l.chunkIndex])&&c.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!o||s>l.to||r<l.from||o(l.from,l.to,l.value))&&(c.addInner(l.from,l.to,l.value)||a.push(os.create(l.from,l.to,l.value))),l.next());return c.finishInner(this.nextLayer.isEmpty&&!a.length?j.empty:this.nextLayer.update({add:a,filter:o,filterFrom:s,filterTo:r}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],s=-1;for(let o=0;o<this.chunk.length;o++){let l=this.chunkPos[o],h=this.chunk[o],a=e.touchesRange(l,l+h.length);if(a===!1)s=Math.max(s,h.maxPoint),t.push(h),i.push(e.mapPos(l));else if(a===!0){let{mapped:c,pos:f}=h.map(l,e);c&&(s=Math.max(s,c.maxPoint),t.push(c),i.push(f))}}let r=this.nextLayer.map(e);return t.length==0?r:new j(i,t,r||j.empty,s)}between(e,t,i){if(!this.isEmpty){for(let s=0;s<this.chunk.length;s++){let r=this.chunkPos[s],o=this.chunk[s];if(t>=r&&e<=r+o.length&&o.between(r,e-r,t-r,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return oi.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return oi.from(e).goto(t)}static compare(e,t,i,s,r=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=r),l=t.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=r),h=Or(o,l,i),a=new Jt(o,h,r),c=ne
Line truncated
|
||||||
|
`)}static newName(){let e=Rr[Pr]||1;return Rr[Pr]=e+1,cs+e.toString(36)}static mount(e,t){(e[fs]||new oc(e)).mount(Array.isArray(t)?t:[t])}}let Ai=null;class oc{constructor(e){if(!e.head&&e.adoptedStyleSheets&&typeof CSSStyleSheet<"u"){if(Ai)return e.adoptedStyleSheets=[Ai.sheet].concat(e.adoptedStyleSheets),e[fs]=Ai;this.sheet=new CSSStyleSheet,e.adoptedStyleSheets=[this.sheet].concat(e.adoptedStyleSheets),Ai=this}else{this.styleTag=(e.ownerDocument||e).createElement("style");let t=e.head||e;t.insertBefore(this.styleTag,t.firstChild)}this.modules=[],e[fs]=this}mount(e){let t=this.sheet,i=0,s=0;for(let r=0;r<e.length;r++){let o=e[r],l=this.modules.indexOf(o);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,o),t)for(let h=0;h<o.rules.length;h++)t.insertRule(o.rules[h],i++)}else{for(;s<l;)i+=this.modules[s++].rules.length;i+=o.rules.length,s++}}if(!t){let r="";for(let o=0;o<this.modules.length;o++)r+=this.modules[o].getRules()+`
|
||||||
|
`;this.styleTag.textContent=r}}}var lt={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},li={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Lr=typeof navigator<"u"&&/Chrome\/(\d+)/.exec(navigator.userAgent),lc=typeof navigator<"u"&&/Mac/.test(navigator.platform),hc=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),ac=lc||Lr&&+Lr[1]<57;for(var re=0;re<10;re++)lt[48+re]=lt[96+re]=String(re);for(var re=1;re<=24;re++)lt[re+111]="F"+re;for(var re=65;re<=90;re++)lt[re]=String.fromCharCode(re+32),li[re]=String.fromCharCode(re);for(var In in lt)li.hasOwnProperty(In)||(li[In]=lt[In]);function cc(n){var e=ac&&(n.ctrlKey||n.altKey||n.metaKey)||hc&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?li:lt)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function Qi(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function Ft(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function fc(n){let e=n.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function ji(n,e){if(!e.anchorNode)return!1;try{return Ft(n,e.anchorNode)}catch{return!1}}function hi(n){return n.nodeType==3?Vt(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function Zi(n,e,t,i){return t?Er(n,e,t,i,-1)||Er(n,e,t,i,1):!1}function en(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function Er(n,e,t,i,s){for(;;){if(n==t&&e==i)return!0;if(e==(s<0?0:ai(n))){if(n.nodeName=="DIV")return!1;let r=n.parentNode;if(!r||r.nodeType!=1)return!1;e=en(n)+(s<0?0:1),n=r}else if(n.nodeType==1){if(n=n.childNodes[e+(s<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=s<0?ai(n):0}else return!1}}function ai(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}const Cl={left:0,right:0,top:0,bottom:0};function Js(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function uc(n){return{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function dc(n,e,t,i,s,r,o,l){let h=n.ownerDocument,a=h.defaultView||window;for(let c=n;c;)if(c.nodeType==1){let f,u=c==h.body;if(u)f=uc(a);else{if(c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let g=c.getBoundingClientRect();f={left:g.left,right:g.left+c.clientWidth,top:g.top,bottom:g.top+c.clientHeight}}let d=0,p=0;if(s=="nearest")e.top<f.top?(p=-(f.top-e.top+o),t>0&&e.bottom>f.bottom+p&&(p=e.bottom-f.bottom+p+o)):e.bottom>f.bottom&&(p=e.bottom-f.bottom+o,t<0&&e.top-p<f.top&&(p=-(f.top+p-e.top+o)));else{let g=e.bottom-e.top,m=f.bottom-f.top;p=(s=="center"&&g<=m?e.top+g/2-m/2:s=="start"||s=="center"&&t<0?e.top-o:e.bottom-m+o)-f.top}if(i=="nearest"?e.left<f.left?(d=-(f.left-e.left+r),t>0&&e.right>f.right+d&&(d=e.right-f.right+d+r)):e.right>f.right&&(d=e.right-f.right+r,t<0&&e.left<f.left+d&&(d=-(f.left+d-e.left+r))):d=(i=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:i=="start"==l?e.left-r:e.right-(f.right-f.left)+r)-f.left,d||p)if(u)a.scrollBy(d,p);else{let g=0,m=0;if(p){let y=c.scrollTop;c.scrollTop+=p,m=c.scrollTop-y}if(d){let y=c.scrollLeft;c.scrollLeft+=d,g=c.scrollLeft-y}e={left:e.left-g,top:e.top-m,right:e.right-g,bottom:e.bottom-m},g&&Math.abs(g-d)<1&&(i="nearest"),m&&Math.abs(m-p)<1&&(s="nearest")}if(u)break;c=c.assignedSlot||c.parentNode}else if(c.nodeType==11)c=c.host;else break}function pc(n){let e=n.ownerDocument;for(let t=n.parentNode;t&&t!=e.body;)if(t.nodeType==1){if(t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth)return t;t=t.assignedSlot||t.parentNode}else if(t.nodeType==11)t=t.host;else break;return null}class gc{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){this.set(e.anchorNode,e.anchorOffset,e.focusNode,e.focusOffset)}set(e,t,i,s){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=s}}let Ot=null;function Al(n){if(n.setActive)return n.setActive();if(Ot)return n.focus(Ot);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerLine truncated
|
||||||
|
`,s=n.state.doc.line(s.number+(t?1:-1)),r=n.bidiSpans(s),a=b.cursor(t?s.from:s.to)}if(h){if(!h(c))return l}else{if(!i)return a;h=i(c)}l=a}}function $c(n,e,t){let i=n.state.charCategorizer(e),s=i(t);return r=>{let o=i(r);return s==$.Space&&(s=o),s==o}}function Kc(n,e,t,i){let s=e.head,r=t?1:-1;if(s==(t?n.state.doc.length:0))return b.cursor(s,e.assoc);let o=e.goalColumn,l,h=n.contentDOM.getBoundingClientRect(),a=n.coordsAtPos(s),c=n.documentTop;if(a)o==null&&(o=a.left-h.left),l=r<0?a.top:a.bottom;else{let d=n.viewState.lineBlockAt(s);o==null&&(o=Math.min(h.right-h.left,n.defaultCharacterWidth*(s-d.from))),l=(r<0?d.top:d.bottom)+c}let f=h.left+o,u=i??n.defaultLineHeight>>1;for(let d=0;;d+=10){let p=l+(u+d)*r,g=th(n,{x:f,y:p},!1,r);if(p<h.top||p>h.bottom||(r<0?g<s:g>s))return b.cursor(g,e.assoc,void 0,o)}}function Wn(n,e,t){let i=n.state.facet(Gl).map(s=>s(n));for(;;){let s=!1;for(let r of i)r.between(t.from-1,t.from+1,(o,l,h)=>{t.from>o&&t.from<l&&(t=e.head>t.from?b.cursor(o,1):b.cursor(l,-1),s=!0)});if(!s)return t}}class jc{constructor(e){this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.chromeScrollHack=-1,this.pendingIOSKey=void 0,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.registeredEvents=[],this.customHandlers=[],this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.mouseSelection=null;let t=(i,s)=>{this.ignoreDuringComposition(s)||s.type=="keydown"&&this.keydown(e,s)||(this.mustFlushObserver(s)&&e.observer.forceFlush(),this.runCustomHandlers(s.type,e,s)?s.preventDefault():i(e,s))};for(let i in ee){let s=ee[i];e.contentDOM.addEventListener(i,r=>{Yr(e,r)&&t(s,r)},Cs[i]),this.registeredEvents.push(i)}e.scrollDOM.addEventListener("mousedown",i=>{i.target==e.scrollDOM&&i.clientY>e.contentDOM.getBoundingClientRect().bottom&&t(ee.mousedown,i)}),A.chrome&&A.chrome_version==102&&e.scrollDOM.addEventListener("wheel",()=>{this.chromeScrollHack<0?e.contentDOM.style.pointerEvents="none":window.clearTimeout(this.chromeScrollHack),this.chromeScrollHack=setTimeout(()=>{this.chromeScrollHack=-1,e.contentDOM.style.pointerEvents=""},100)},{passive:!0}),this.notifiedFocused=e.hasFocus,A.safari&&e.contentDOM.addEventListener("input",()=>null)}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e,t){var i;let s;this.customHandlers=[];for(let r of t)if(s=(i=r.update(e).spec)===null||i===void 0?void 0:i.domEventHandlers){this.customHandlers.push({plugin:r.value,handlers:s});for(let o in s)this.registeredEvents.indexOf(o)<0&&o!="scroll"&&(this.registeredEvents.push(o),e.contentDOM.addEventListener(o,l=>{Yr(e,l)&&this.runCustomHandlers(o,e,l)&&l.preventDefault()}))}}runCustomHandlers(e,t,i){for(let s of this.customHandlers){let r=s.handlers[e];if(r)try{if(r.call(s.plugin,i,t)||i.defaultPrevented)return!0}catch(o){Le(t.state,o)}}return!1}runScrollHandlers(e,t){this.lastScrollTop=e.scrollDOM.scrollTop,this.lastScrollLeft=e.scrollDOM.scrollLeft;for(let i of this.customHandlers){let s=i.handlers.scroll;if(s)try{s.call(i.plugin,t,e)}catch(r){Le(e.state,r)}}}keydown(e,t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),t.keyCode==9&&Date.now()<this.lastEscPress+2e3)return!0;if(A.android&&A.chrome&&!t.synthetic&&(t.keyCode==13||t.keyCode==8))return e.observer.delayAndroidKey(t.key,t.keyCode),!0;let i;return A.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&((i=ih.find(s=>s.keyCode==t.keyCode))&&!t.ctrlKey||Uc.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey)?(this.pendingIOSKey=i||t,setTimeout(()=>this.flushIOSKey(e),250),!0):!1}flushIOSKey(e){let t=this.pendingIOSKey;return t?(this.pendingIOSKey=void 0,Et(e.contentDOM,t.key,t.keyCode)):!1}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:A.safari&&!A.ios&&Date.now()-this.compositionEndedAt<100?(this.compositionEndedAt=0,!0):!1:!1}mustFlushObserver(e){return e.type=="keydown"&&e.keyCode!=229}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}const ih=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Uc="dthko",nh=[16,17,18,20,91,92,224,225];function Di(n){return n*.7+8}class Gc{constructor(e,t,i,s){this.view=e,this.style=i,this.mustSelect=s,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=pc(e.contentDOM);let r=e.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(N.allowMultipleSelections)&&Jc(e,t),this.dragMo
Line truncated
|
||||||
|
`&&n.lineWrapping&&(i&&(i=b.single(i.main.anchor-1,i.main.head-1)),t={from:s.from,to:s.to,insert:I.of([" "])}),t){let r=n.state;if(A.ios&&n.inputState.flushIOSKey(n)||A.android&&(t.from==s.from&&t.to==s.to&&t.insert.length==1&&t.insert.lines==2&&Et(n.contentDOM,"Enter",13)||t.from==s.from-1&&t.to==s.to&&t.insert.length==0&&Et(n.contentDOM,"Backspace",8)||t.from==s.from&&t.to==s.to+1&&t.insert.length==0&&Et(n.contentDOM,"Delete",46)))return!0;let o=t.insert.toString();if(n.state.facet(ql).some(a=>a(n,t.from,t.to,o)))return!0;n.inputState.composing>=0&&n.inputState.composing++;let l;if(t.from>=s.from&&t.to<=s.to&&t.to-t.from>=(s.to-s.from)/3&&(!i||i.main.empty&&i.main.from==t.from+t.insert.length)&&n.inputState.composing<0){let a=s.from<t.from?r.sliceDoc(s.from,t.from):"",c=s.to>t.to?r.sliceDoc(t.to,s.to):"";l=r.replaceSelection(n.state.toText(a+t.insert.sliceString(0,void 0,n.state.lineBreak)+c))}else{let a=r.changes(t),c=i&&!r.selection.main.eq(i.main)&&i.main.to<=a.newLength?i.main:void 0;if(r.selection.ranges.length>1&&n.inputState.composing>=0&&t.to<=s.to&&t.to>=s.to-10){let f=n.state.sliceDoc(t.from,t.to),u=Zl(n)||n.state.doc.lineAt(s.head),d=s.to-t.to,p=s.to-s.from;l=r.changeByRange(g=>{if(g.from==s.from&&g.to==s.to)return{changes:a,range:c||g.map(a)};let m=g.to-d,y=m-f.length;if(g.to-g.from!=p||n.state.sliceDoc(y,m)!=f||u&&g.to>=u.from&&g.from<=u.to)return{range:g};let v=r.changes({from:y,to:m,insert:t.insert}),D=g.to-s.to;return{changes:v,range:c?b.range(Math.max(0,c.anchor+D),Math.max(0,c.head+D)):g.map(v)}})}else l={changes:a,selection:c&&r.selection.replaceRange(c)}}let h="input.type";return n.composing&&(h+=".compose",n.inputState.compositionFirstChange&&(h+=".start",n.inputState.compositionFirstChange=!1)),n.dispatch(l,{scrollIntoView:!0,userEvent:h}),!0}else if(i&&!i.main.eq(s)){let r=!1,o="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(r=!0),o=n.inputState.lastSelectionOrigin),n.dispatch({selection:i,scrollIntoView:r,userEvent:o}),!0}else return!1}function wf(n,e,t,i){let s=Math.min(n.length,e.length),r=0;for(;r<s&&n.charCodeAt(r)==e.charCodeAt(r);)r++;if(r==s&&n.length==e.length)return null;let o=n.length,l=e.length;for(;o>0&&l>0&&n.charCodeAt(o-1)==e.charCodeAt(l-1);)o--,l--;if(i=="end"){let h=Math.max(0,r-Math.min(o,l));t-=o+h-r}if(o<r&&n.length<e.length){let h=t<=r&&t>=o?r-t:0;r-=h,l=r+(l-o),o=r}else if(l<r){let h=t<=r&&t>=l?r-t:0;r-=h,o=r+(o-l),l=r}return{from:r,toA:o,toB:l}}function xf(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:s,focusOffset:r}=n.observer.selectionRange;return t&&(e.push(new $r(t,i)),(s!=t||r!=i)&&e.push(new $r(s,r))),e}function kf(n,e){if(n.length==0)return null;let t=n[0].pos,i=n.length==2?n[1].pos:t;return t>-1&&i>-1?b.single(t+e,i+e):null}const Sf={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},zn=A.ie&&A.ie_version<=11;class vf{constructor(e){this.view=e,this.active=!1,this.selectionRange=new gc,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.resizeContent=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let i of t)this.queue.push(i);(A.ie&&A.ie_version<=11||A.ios&&e.composing)&&t.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),zn&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM),this.resizeContent=new ResizeObserver(()=>this.view.requestMeasure()),this.resizeContent.observe(e.contentDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.r
Line truncated
|
||||||
|
--\u2028\u2029\uFEFF-]`,Ts),qf={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let qn=null;function $f(){var n;if(qn==null&&typeof document<"u"&&document.body){let e=document.body.style;qn=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return qn||!1}const Ji=M.define({combine(n){let e=At(n,{render:null,specialChars:zf,addSpecialChars:null});return(e.replaceTabs=!$f())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Ts)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Ts)),e}});function Og(n={}){return[Ji.of(n),Kf()]}let bo=null;function Kf(){return bo||(bo=me.fromClass(class{constructor(n){this.view=n,this.decorations=T.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(Ji)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new Hf({regexp:n.specialChars,decoration:(e,t,i)=>{let{doc:s}=t.state,r=se(e[0],0);if(r==9){let o=s.lineAt(i),l=t.state.tabSize,h=yi(o.text,l,i-o.from);return T.replace({widget:new Jf((l-h%l)*this.view.defaultCharacterWidth)})}return this.decorationCache[r]||(this.decorationCache[r]=T.replace({widget:new Gf(n,r)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(Ji);n.startState.facet(Ji)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const jf="•";function Uf(n){return n>=32?jf:n==10?"":String.fromCharCode(9216+n)}class Gf extends ct{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=Uf(this.code),i=e.state.phrase("Control character")+" "+(qf[this.code]||"0x"+this.code.toString(16)),s=this.options.render&&this.options.render(this.code,i,t);if(s)return s;let r=document.createElement("span");return r.textContent=t,r.title=i,r.setAttribute("aria-label",i),r.className="cm-specialChar",r}ignoreEvent(){return!1}}class Jf extends ct{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}class _f extends ct{constructor(e){super(),this.content=e}toDOM(){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild(typeof this.content=="string"?document.createTextNode(this.content):this.content),typeof this.content=="string"?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}ignoreEvent(){return!1}}function Tg(n){return me.fromClass(class{constructor(e){this.view=e,this.placeholder=T.set([T.widget({widget:new _f(n),side:1}).range(0)])}get decorations(){return this.view.state.doc.length?T.none:this.placeholder}},{decorations:e=>e.decorations})}const Bs=2e3;function Xf(n,e,t){let i=Math.min(e.line,t.line),s=Math.max(e.line,t.line),r=[];if(e.off>Bs||t.off>Bs||e.col<0||t.col<0){let o=Math.min(e.off,t.off),l=Math.max(e.off,t.off);for(let h=i;h<=s;h++){let a=n.doc.line(h);a.length<=l&&r.push(b.range(a.from+o,a.to+l))}}else{let o=Math.min(e.col,t.col),l=Math.max(e.col,t.col);for(let h=i;h<=s;h++){let a=n.doc.line(h),c=as(a.text,o,n.tabSize,!0);if(c<0)r.push(b.cursor(a.to));else{let f=as(a.text,l,n.tabSize);r.push(b.range(a.from+c,a.from+f))}}}return r}function Yf(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function wo(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),i=n.state.doc.lineAt(t),s=t-i.from,r=s>Bs?-1:s==i.length?Yf(n,e.clientX):yi(i.text,n.state.tabSize,t-i.from);return{line:i.number,col:r,off:s}}function Qf(n,e){let t=wo(n,e),i=n.state.selection;return t?{update(s){if(s.docChanged){let r=s.changes.mapPos(s.startState.doc.line(t.line).from),o=s.state.doc.lineAt(r);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},i=i.map(s.changes)}},get(s,r,o){let l=wo(n,s);if(!l)return i;let h=Xf(n.state,t,l);return h.length?o?b.create(h.concat(i.ranges)):b.create(h):i}}:null}function Bg(n){let e=(n==null?void 0:n.eventFilter)||(t=>t.altKey&&t.button==0);return O.mouseSelectionStyle.of((t,i)=>e(i)?Qf(t,i):null)}const Li="-10000px";class Zf{constructor(e,t,i){this.facet=t,this.createTooltipView=i,this.input=e.state.facet(t),this.tooltips=this.input.filter(s=>s),this.tooltipViews=this.tooltips.map(i)}update(e){var t;let i=e.state.facet(this.facet),s=i.filter(o=>o);if(i==
Line truncated
|
||||||
|
`&&(t="");else{let i=t.indexOf(`
|
||||||
|
`);i>-1&&(t=t.slice(0,i))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),i=e+t.length;for(let s=this.rangeIndex;;){let r=this.ranges[s].to;if(r>=i||(t=t.slice(0,r-(i-t.length)),s++,s==this.ranges.length))break;let o=this.ranges[s].from,l=this.lineAfter(o);t+=l,i=o+l.length}return{line:t,end:i}}skipGapsTo(e,t,i){for(;;){let s=this.ranges[this.rangeIndex].to,r=e+t;if(i>0?s>r:s>=r)break;let o=this.ranges[++this.rangeIndex].from;t+=o-s}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,t,i,s,r){if(this.ranges.length>1){r=this.skipGapsTo(t,r,1),t+=r;let o=this.chunk.length;r=this.skipGapsTo(i,r,-1),i+=r,s+=this.chunk.length-o}return this.chunk.push(e,t,i,s),r}parseLine(e){let{line:t,end:i}=this.nextLine(),s=0,{streamParser:r}=this.lang,o=new Hh(t,e?e.state.tabSize:4,e?vt(e.state):2);if(o.eol())r.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let l=$h(r.token,o,this.state);if(l&&(s=this.emitToken(this.lang.tokenTable.resolve(l),this.parsedPos+o.start,this.parsedPos+o.pos,4,s)),o.start>1e4)break}this.parsedPos=i,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=W.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:ed,topID:0,maxBufferLength:2048,reused:this.chunkReused});e=new W(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new W(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}}function $h(n,e,t){e.start=e.pos;for(let i=0;i<10;i++){let s=n(e,t);if(e.pos>e.start)return s}throw new Error("Stream parser failed to advance stream.")}const lr=Object.create(null),di=[ye.none],ed=new tr(di),No=[],Kh=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Kh[n]=Uh(lr,e);class jh{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),Kh)}resolve(e){return e?this.table[e]||(this.table[e]=Uh(this.extra,e)):0}}const td=new jh(lr);function Jn(n,e){No.indexOf(n)>-1||(No.push(n),console.warn(e))}function Uh(n,e){let t=null;for(let r of e.split(".")){let o=n[r]||k[r];o?typeof o=="function"?t?t=o(t):Jn(r,`Modifier ${r} used at start of tag`):t?Jn(r,`Tag ${r} used as modifier`):t=o:Jn(r,`Unknown highlighting tag ${r}`)}if(!t)return 0;let i=e.replace(/ /g,"_"),s=ye.define({id:di.length,name:i,props:[Cu({[i]:t})]});return di.push(s),s.id}function id(n){let e=ye.define({id:di.length,name:"Document",props:[mt.add(()=>n)]});return di.push(e),e}const nd=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.head),i=ar(n.state,t.from);return i.line?sd(n):i.block?od(n):!1};function hr(n,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let s=n(e,t);return s?(i(t.update(s)),!0):!1}}const sd=hr(ad,0),rd=hr(Gh,0),od=hr((n,e)=>Gh(n,e,hd(e)),0);function ar(n,e){let t=n.languageDataAt("commentTokens",e);return t.length?t[0]:{}}const Yt=50;function ld(n,{open:e,close:t},i,s){let r=n.sliceDoc(i-Yt,i),o=n.sliceDoc(s,s+Yt),l=/\s*$/.exec(r)[0].length,h=/^\s*/.exec(o)[0].length,a=r.length-l;if(r.slice(a-e.length,a)==e&&o.slice(h,h+t.length)==t)return{open:{pos:i-l,margin:l&&1},close:{pos:s+h,margin:h&&1}};let c,f;s-i<=2*Yt?c=f=n.sliceDoc(i,s):(c=n.sliceDoc(i,i+Yt),f=n.sliceDoc(s-Yt,s));let u=/^\s*/.exec(c)[0].length,d=/\s*$/.exec(f)[0].length,p=f.length-d-t.length;return c.slice(u,u+e.length)==e&&f.slice(p,p+t.length)==t?{open:{pos:i+u+e.length,margin:/\s/.test(c.charAt(u+e.length))?1:0},close:{pos:s-d-t.length,margin:/\s/.test(f.charAt(p-1))?1:0}}:null}function hd(n){let e=[];for(let t of n.selection.ranges){let i=n.doc.lineAt(t.from),s=t.to<=i.to?i:n.doc.lineAt(t.to),r=e.length-1;r>=0&&e[r].to>i.from?e[r].to=s.to:e.push({from:i.from,to:s.to})}return e}function Gh(n,e,t=e.selection.ranges){let i=t.map(r=>ar(e,r.from).block);if(!i.every(r=>r))return null;let s=t.map((r,o)=>ld(e,i[o],r.from,r.to));if(n!=2&&!s.every(r=>r))return{changes:e.changes(t.map((r,o)=>s[o]?[]:[{from:r.from,insert:i[o].open+" "},{from:r.to,insert:" "+i[o].close}]))};if(n!=1&&s.some(r=>r)){let r=[];for(let o=0,l;o<s.length;o++)if(l=s[o]){let h=i[o],{open:a,close:c}=l;r.push({from:a.pos-h.open.length,to:a.pos+a.margin},{from:c.pos-c.margin,to:c.pos+h.close.length})}return{changes:r}}return null}function ad(n,e,t=e.selection.ranges){let i=[],s=-1;for(let{from:r,to:o}of t){let l=i.length,h=1e9;for(let a=r;a<=o;){let c=e.doc.lineAt(a);if(c.from>s&&(r==o||o>c.from)){s=c.from;let f=ar(e,c.from).line;if(!f)cont
Line truncated
|
||||||
|
`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new Mp(this):new Cp(this)}getCursor(e,t=0,i){let s=e.doc?e:N.create({doc:e});return i==null&&(i=s.doc.length),this.regexp?Bt(this,s,t,i):Tt(this,s,t,i)}}class Ba{constructor(e){this.spec=e}}function Tt(n,e,t,i){return new Kt(e.doc,n.unquoted,t,i,n.caseSensitive?void 0:s=>s.toLowerCase(),n.wholeWord?vp(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function vp(n,e){return(t,i,s,r)=>((r>t||r+s.length<i)&&(r=Math.max(0,t-2),s=n.sliceString(r,Math.min(n.length,i+2))),(e(gn(s,t-r))!=$.Word||e(mn(s,t-r))!=$.Word)&&(e(mn(s,i-r))!=$.Word||e(gn(s,i-r))!=$.Word))}class Cp extends Ba{constructor(e){super(e)}nextMatch(e,t,i){let s=Tt(this.spec,e,i,e.doc.length).nextOverlapping();return s.done&&(s=Tt(this.spec,e,0,t).nextOverlapping()),s.done?null:s.value}prevMatchInRange(e,t,i){for(let s=i;;){let r=Math.max(t,s-1e4-this.spec.unquoted.length),o=Tt(this.spec,e,r,s),l=null;for(;!o.nextOverlapping().done;)l=o.value;if(l)return l;if(r==t)return null;s-=1e4}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=Tt(this.spec,e,0,e.doc.length),s=[];for(;!i.next().done;){if(s.length>=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let r=Tt(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}function Bt(n,e,t,i){return new Ma(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:n.wholeWord?Ap(e.charCategorizer(e.selection.main.head)):void 0},t,i)}function gn(n,e){return n.slice(de(n,e,!1),e)}function mn(n,e){return n.slice(e,de(n,e))}function Ap(n){return(e,t,i)=>!i[0].length||(n(gn(i.input,i.index))!=$.Word||n(mn(i.input,i.index))!=$.Word)&&(n(mn(i.input,i.index+i[0].length))!=$.Word||n(gn(i.input,i.index+i[0].length))!=$.Word)}class Mp extends Ba{nextMatch(e,t,i){let s=Bt(this.spec,e,i,e.doc.length).next();return s.done&&(s=Bt(this.spec,e,0,t).next()),s.done?null:s.value}prevMatchInRange(e,t,i){for(let s=1;;s++){let r=Math.max(t,i-s*1e4),o=Bt(this.spec,e,r,i),l=null;for(;!o.next().done;)l=o.value;if(l&&(r==t||l.from>r+10))return l;if(r==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace.replace(/\$([$&\d+])/g,(t,i)=>i=="$"?"$":i=="&"?e.match[0]:i!="0"&&+i<e.match.length?e.match[i]:t))}matchAll(e,t){let i=Bt(this.spec,e,0,e.doc.length),s=[];for(;!i.next().done;){if(s.length>=t)return null;s.push(i.value)}return s}highlight(e,t,i,s){let r=Bt(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!r.next().done;)s(r.value.from,r.value.to)}}const pi=E.define(),dr=E.define(),st=we.define({create(n){return new Yn(qs(n).create(),null)},update(n,e){for(let t of e.effects)t.is(pi)?n=new Yn(t.value.create(),n.panel):t.is(dr)&&(n=new Yn(n.query,t.value?pr:null));return n},provide:n=>on.from(n,e=>e.panel)});class Yn{constructor(e,t){this.query=e,this.panel=t}}const Dp=T.mark({class:"cm-searchMatch"}),Op=T.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Tp=me.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(st))}update(n){let e=n.state.field(st);(e!=n.startState.field(st)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return T.none;let{view:t}=this,i=new xt;for(let s=0,r=t.visibleRanges,o=r.length;s<o;s++){let{from:l,to:h}=r[s];for(;s<o-1&&h>r[s+1].from-2*250;)h=r[++s].to;n.highlight(t.state,l,h,(a,c)=>{let f=t.state.selection.ranges.some(u=>u.from==a&&u.to==c);i.add(a,c,f?Op:Dp)})}return i.finish()}},{decorations:n=>n.decorations});function xi(n){return e=>{let t=e.state.field(st,!1);return t&&t.query.spec.valid?n(e,t):Pa(e)}}const yn=xi((n,{query:e})=>{let{to:t}=n.state.selection.main,i=e.nextMatch(n.state,t,t);return i?(n.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:gr(n,i),userEvent:"select.search"}),!0):!1}),bn=xi((n,{query:e})=>{let{state:t}=n,{from:i}=t.selection.main,s=e.prevMatch(t,i,i);return s?(n.dispatch({selection:{anchor:s.from,head:s.to},scrollIntoView:!0,effects:gr(n,s),userEvent:"select.search"}),!0):!1}),Bp=xi((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:b.create(t.map(i=>b.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),Pp=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:s}=t.main,r=[],o=0;for(let l=new Kt(n.doc,n.sliceDoc(i,s));!l.next().done;){if(r.length>1e3)return!1;l.value.from==i&&(o=r.length),r.push(b.range(l.value.from,l.value.to))}return e(n.update({selection:b.create(r,o),
Line truncated
|
||||||
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
@charset "UTF-8";@font-face{font-family:remixicon;src:url(../fonts/remixicon/remixicon.woff2?v=1) format("woff2"),url(../fonts/remixicon/remixicon.woff?v=1) format("woff"),url(../fonts/remixicon/remixicon.ttf?v=1) format("truetype"),url(../fonts/remixicon/remixicon.svg?v=1#remixicon) format("svg");font-display:swap}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:400;src:local(""),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-regular.woff2) format("woff2"),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-regular.woff) format("woff")}@font-face{font-family:Source Sans Pro;font-style:italic;font-weight:400;src:local(""),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-italic.woff2) format("woff2"),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-italic.woff) format("woff")}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:600;src:local(""),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600.woff2) format("woff2"),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600.woff) format("woff")}@font-face{font-family:Source Sans Pro;font-style:italic;font-weight:600;src:local(""),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600italic.woff2) format("woff2"),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600italic.woff) format("woff")}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:700;src:local(""),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700.woff2) format("woff2"),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700.woff) format("woff")}@font-face{font-family:Source Sans Pro;font-style:italic;font-weight:700;src:local(""),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700italic.woff2) format("woff2"),url(../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700italic.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;src:local(""),url(../fonts/jetbrains-mono/jetbrains-mono-v12-latin-regular.woff2) format("woff2"),url(../fonts/jetbrains-mono/jetbrains-mono-v12-latin-regular.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;src:local(""),url(../fonts/jetbrains-mono/jetbrains-mono-v12-latin-600.woff2) format("woff2"),url(../fonts/jetbrains-mono/jetbrains-mono-v12-latin-600.woff) format("woff")}:root{--baseFontFamily: "Source Sans Pro", sans-serif, emoji;--monospaceFontFamily: "Ubuntu Mono", monospace, emoji;--iconFontFamily: "remixicon";--txtPrimaryColor: #16161a;--txtHintColor: #666f75;--txtDisabledColor: #a0a6ac;--primaryColor: #16161a;--bodyColor: #f8f9fa;--baseColor: #ffffff;--baseAlt1Color: #e4e9ec;--baseAlt2Color: #d7dde4;--baseAlt3Color: #c6cdd7;--baseAlt4Color: #a5b0c0;--infoColor: #3da9fc;--infoAltColor: #d2ecfe;--successColor: #2aac76;--successAltColor: #d2f4e6;--dangerColor: #e13756;--dangerAltColor: #fcdee4;--warningColor: #ff8e3c;--warningAltColor: #ffeadb;--overlayColor: rgba(53, 71, 104, .25);--tooltipColor: rgba(0, 0, 0, .85);--shadowColor: rgba(0, 0, 0, .06);--baseFontSize: 14.5px;--xsFontSize: 12px;--smFontSize: 13px;--lgFontSize: 15px;--xlFontSize: 16px;--baseLineHeight: 22px;--smLineHeight: 16px;--lgLineHeight: 24px;--inputHeight: 34px;--btnHeight: 40px;--xsBtnHeight: 22px;--smBtnHeight: 30px;--lgBtnHeight: 54px;--baseSpacing: 30px;--xsSpacing: 15px;--smSpacing: 20px;--lgSpacing: 50px;--xlSpacing: 60px;--wrapperWidth: 850px;--smWrapperWidth: 420px;--lgWrapperWidth: 1200px;--appSidebarWidth: 75px;--pageSidebarWidth: 220px;--baseAnimationSpeed: .15s;--activeAnimationSpeed: 70ms;--entranceAnimationSpeed: .25s;--baseRadius: 3px;--lgRadius: 12px;--btnRadius: 3px;accent-color:var(--primaryColor)}html,body,div,span,applet,object,iframe,h1,h2,.breadcrumbs .breadcrumb-item,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}i{font-family:remixicon!important;font-style:normal;font-weight:400;font-size:1.1238rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i:before{vertical-align:top;margin-top:1px;display:inline-block}.ri-24-hours-fill:before{content:"\ea01"}.ri-24-hours-line:before{content:"\ea02"}.ri-4k-fill:before{content:"\ea03Line truncated
|
||||||
Vendored
+204
@@ -0,0 +1,204 @@
|
|||||||
|
(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const l of s)if(l.type==="childList")for(const o of l.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function t(s){const l={};return s.integrity&&(l.integrity=s.integrity),s.referrerpolicy&&(l.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?l.credentials="include":s.crossorigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function i(s){if(s.ep)return;s.ep=!0;const l=t(s);fetch(s.href,l)}})();function Z(){}const kl=n=>n;function Je(n,e){for(const t in e)n[t]=e[t];return n}function zb(n){return!!n&&(typeof n=="object"||typeof n=="function")&&typeof n.then=="function"}function ig(n){return n()}function lu(){return Object.create(null)}function Pe(n){n.forEach(ig)}function Bt(n){return typeof n=="function"}function he(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}let Rl;function Vn(n,e){return Rl||(Rl=document.createElement("a")),Rl.href=e,n===Rl.href}function Bb(n){return Object.keys(n).length===0}function sg(n,...e){if(n==null)return Z;const t=n.subscribe(...e);return t.unsubscribe?()=>t.unsubscribe():t}function Ye(n,e,t){n.$$.on_destroy.push(sg(e,t))}function Nt(n,e,t,i){if(n){const s=lg(n,e,t,i);return n[0](s)}}function lg(n,e,t,i){return n[1]&&i?Je(t.ctx.slice(),n[1](i(e))):t.ctx}function Ft(n,e,t,i){if(n[2]&&i){const s=n[2](i(t));if(e.dirty===void 0)return s;if(typeof s=="object"){const l=[],o=Math.max(e.dirty.length,s.length);for(let r=0;r<o;r+=1)l[r]=e.dirty[r]|s[r];return l}return e.dirty|s}return e.dirty}function Rt(n,e,t,i,s,l){if(s){const o=lg(e,t,i,l);n.p(o,s)}}function qt(n){if(n.ctx.length>32){const e=[],t=n.ctx.length/32;for(let i=0;i<t;i++)e[i]=-1;return e}return-1}function Qn(n){const e={};for(const t in n)t[0]!=="$"&&(e[t]=n[t]);return e}function Et(n,e){const t={};e=new Set(e);for(const i in n)!e.has(i)&&i[0]!=="$"&&(t[i]=n[i]);return t}function Si(n){return n??""}function Kt(n,e,t){return n.set(t),e}function Ie(n){return n&&Bt(n.destroy)?n.destroy:Z}const og=typeof window<"u";let No=og?()=>window.performance.now():()=>Date.now(),fa=og?n=>requestAnimationFrame(n):Z;const _s=new Set;function rg(n){_s.forEach(e=>{e.c(n)||(_s.delete(e),e.f())}),_s.size!==0&&fa(rg)}function Fo(n){let e;return _s.size===0&&fa(rg),{promise:new Promise(t=>{_s.add(e={c:n,f:t})}),abort(){_s.delete(e)}}}function _(n,e){n.appendChild(e)}function ag(n){if(!n)return document;const e=n.getRootNode?n.getRootNode():n.ownerDocument;return e&&e.host?e:n.ownerDocument}function Ub(n){const e=v("style");return Wb(ag(n),e),e.sheet}function Wb(n,e){return _(n.head||n,e),e.sheet}function S(n,e,t){n.insertBefore(e,t||null)}function w(n){n.parentNode&&n.parentNode.removeChild(n)}function mt(n,e){for(let t=0;t<n.length;t+=1)n[t]&&n[t].d(e)}function v(n){return document.createElement(n)}function B(n){return document.createTextNode(n)}function O(){return B(" ")}function Me(){return B("")}function Y(n,e,t,i){return n.addEventListener(e,t,i),()=>n.removeEventListener(e,t,i)}function dt(n){return function(e){return e.preventDefault(),n.call(this,e)}}function kn(n){return function(e){return e.stopPropagation(),n.call(this,e)}}function p(n,e,t){t==null?n.removeAttribute(e):n.getAttribute(e)!==t&&n.setAttribute(e,t)}function Xn(n,e){const t=Object.getOwnPropertyDescriptors(n.__proto__);for(const i in e)e[i]==null?n.removeAttribute(i):i==="style"?n.style.cssText=e[i]:i==="__value"?n.value=n[i]=e[i]:t[i]&&t[i].set?n[i]=e[i]:p(n,i,e[i])}function ht(n){return n===""?null:+n}function Yb(n){return Array.from(n.childNodes)}function le(n,e){e=""+e,n.wholeText!==e&&(n.data=e)}function ce(n,e){n.value=e??""}function Ir(n,e,t,i){t===null?n.style.removeProperty(e):n.style.setProperty(e,t,i?"important":"")}function Q(n,e,t){n.classList[t?"add":"remove"](e)}function ug(n,e,{bubbles:t=!1,cancelable:i=!1}={}){const s=document.createEvent("CustomEvent");return s.initCustomEvent(n,t,i,e),s}function jt(n,e){return new n(e)}const po=new Map;let mo=0;function Kb(n){let e=5381,t=n.length;for(;t--;)e=(e<<5)-e^n.charCodeAt(t);return e>>>0}function Jb(n,e){const t={stylesheet:Ub(e),rules:{}};return po.set(n,t),t}function rl(n,e,t,i,s,l,o,r=0){const a=16.666/i;let u=`{
|
||||||
|
`;for(let b=0;b<=1;b+=a){const k=e+(t-e)*l(b);u+=b*100+`%{${o(k,1-k)}}
|
||||||
|
`}const f=u+`100% {${o(t,1-t)}}
|
||||||
|
}`,c=`__svelte_${Kb(f)}_${r}`,d=ag(n),{stylesheet:m,rules:h}=po.get(d)||Jb(d,n);h[c]||(h[c]=!0,m.insertRule(`@keyframes ${c} ${f}`,m.cssRules.length));const g=n.style.animation||"";return n.style.animation=`${g?`${g}, `:""}${c} ${i}ms linear ${s}ms 1 both`,mo+=1,c}function al(n,e){const t=(n.style.animation||"").split(", "),i=t.filter(e?l=>l.indexOf(e)<0:l=>l.indexOf("__svelte")===-1),s=t.length-i.length;s&&(n.style.animation=i.join(", "),mo-=s,mo||Zb())}function Zb(){fa(()=>{mo||(po.forEach(n=>{const{ownerNode:e}=n.stylesheet;e&&w(e)}),po.clear())})}function Gb(n,e,t,i){if(!e)return Z;const s=n.getBoundingClientRect();if(e.left===s.left&&e.right===s.right&&e.top===s.top&&e.bottom===s.bottom)return Z;const{delay:l=0,duration:o=300,easing:r=kl,start:a=No()+l,end:u=a+o,tick:f=Z,css:c}=t(n,{from:e,to:s},i);let d=!0,m=!1,h;function g(){c&&(h=rl(n,0,1,o,l,r,c)),l||(m=!0)}function b(){c&&al(n,h),d=!1}return Fo(k=>{if(!m&&k>=a&&(m=!0),m&&k>=u&&(f(1,0),b()),!d)return!1;if(m){const y=k-a,T=0+1*r(y/o);f(T,1-T)}return!0}),g(),f(0,1),b}function Xb(n){const e=getComputedStyle(n);if(e.position!=="absolute"&&e.position!=="fixed"){const{width:t,height:i}=e,s=n.getBoundingClientRect();n.style.position="absolute",n.style.width=t,n.style.height=i,fg(n,s)}}function fg(n,e){const t=n.getBoundingClientRect();if(e.left!==t.left||e.top!==t.top){const i=getComputedStyle(n),s=i.transform==="none"?"":i.transform;n.style.transform=`${s} translate(${e.left-t.left}px, ${e.top-t.top}px)`}}let ul;function oi(n){ul=n}function wl(){if(!ul)throw new Error("Function called outside component initialization");return ul}function Zt(n){wl().$$.on_mount.push(n)}function Qb(n){wl().$$.after_update.push(n)}function cg(n){wl().$$.on_destroy.push(n)}function Ct(){const n=wl();return(e,t,{cancelable:i=!1}={})=>{const s=n.$$.callbacks[e];if(s){const l=ug(e,t,{cancelable:i});return s.slice().forEach(o=>{o.call(n,l)}),!l.defaultPrevented}return!0}}function ze(n,e){const t=n.$$.callbacks[e.type];t&&t.slice().forEach(i=>i.call(this,e))}const hs=[],ie=[],oo=[],Pr=[],dg=Promise.resolve();let Lr=!1;function pg(){Lr||(Lr=!0,dg.then(ca))}function sn(){return pg(),dg}function xe(n){oo.push(n)}function ke(n){Pr.push(n)}const xo=new Set;let us=0;function ca(){if(us!==0)return;const n=ul;do{try{for(;us<hs.length;){const e=hs[us];us++,oi(e),xb(e.$$)}}catch(e){throw hs.length=0,us=0,e}for(oi(null),hs.length=0,us=0;ie.length;)ie.pop()();for(let e=0;e<oo.length;e+=1){const t=oo[e];xo.has(t)||(xo.add(t),t())}oo.length=0}while(hs.length);for(;Pr.length;)Pr.pop()();Lr=!1,xo.clear(),oi(n)}function xb(n){if(n.fragment!==null){n.update(),Pe(n.before_update);const e=n.dirty;n.dirty=[-1],n.fragment&&n.fragment.p(n.ctx,e),n.after_update.forEach(xe)}}let Rs;function da(){return Rs||(Rs=Promise.resolve(),Rs.then(()=>{Rs=null})),Rs}function Ki(n,e,t){n.dispatchEvent(ug(`${e?"intro":"outro"}${t}`))}const ro=new Set;let Jn;function ae(){Jn={r:0,c:[],p:Jn}}function ue(){Jn.r||Pe(Jn.c),Jn=Jn.p}function A(n,e){n&&n.i&&(ro.delete(n),n.i(e))}function I(n,e,t,i){if(n&&n.o){if(ro.has(n))return;ro.add(n),Jn.c.push(()=>{ro.delete(n),i&&(t&&n.d(1),i())}),n.o(e)}else i&&i()}const pa={duration:0};function mg(n,e,t){const i={direction:"in"};let s=e(n,t,i),l=!1,o,r,a=0;function u(){o&&al(n,o)}function f(){const{delay:d=0,duration:m=300,easing:h=kl,tick:g=Z,css:b}=s||pa;b&&(o=rl(n,0,1,m,d,h,b,a++)),g(0,1);const k=No()+d,y=k+m;r&&r.abort(),l=!0,xe(()=>Ki(n,!0,"start")),r=Fo(T=>{if(l){if(T>=y)return g(1,0),Ki(n,!0,"end"),u(),l=!1;if(T>=k){const $=h((T-k)/m);g($,1-$)}}return l})}let c=!1;return{start(){c||(c=!0,al(n),Bt(s)?(s=s(i),da().then(f)):f())},invalidate(){c=!1},end(){l&&(u(),l=!1)}}}function hg(n,e,t){const i={direction:"out"};let s=e(n,t,i),l=!0,o;const r=Jn;r.r+=1;function a(){const{delay:u=0,duration:f=300,easing:c=kl,tick:d=Z,css:m}=s||pa;m&&(o=rl(n,1,0,f,u,c,m));const h=No()+u,g=h+f;xe(()=>Ki(n,!1,"start")),Fo(b=>{if(l){if(b>=g)return d(0,1),Ki(n,!1,"end"),--r.r||Pe(r.c),!1;if(b>=h){const k=c((b-h)/f);d(1-k,k)}}return l})}return Bt(s)?da().then(()=>{s=s(i),a()}):a(),{end(u){u&&s.tick&&s.tick(1,0),l&&(o&&al(n,o),l=!1)}}}function je(n,e,t,i){const s={direction:"both"};let l=e(n,t,s),o=i?0:1,r=null,a=null,u=null;function f(){u&&al(n,u)}function c(m,h){const g=m.b-o;return h*=Math.abs(g),{a:o,b:m.b,d:g,duration:h,start:m.start,end:m.start+h,group:m.group}}function d(m){const{delay:h=0,duration:g=300,easing:b=kl,tick:k=Z,css:y}=l||pa,T={start:No()+h,b:m};m||(T.group=Jn,Jn.r+=1),r||a?a=T:(y&&(f(),u=rl(n,o,m,g,h,b,y)),m&&k(0,1),r=c(T,g),xe(()=>Ki(n,m,"start")),Fo($=>{if(a&&$>a.start&&(r=c(a,g),a=null,Ki(n,r.b,"start"),y&&(f(),u=rl(n,o,r.b,r.duration,0,b,l.css))),r){if($>=r.end)k(o=r.b,1-o),Ki(n,r.b,"end"),a||(r.b?f():--r.group.r||Pe(r.group.c)),r=null;else if($>=r.start){const M=$-r.start;o=r.a+r.d*b(M/r.duration),k(o,1-o)}}return!!(r||a)}))}return{run(m){Bt(l)?da().then(()=>{l=l(s),d(m)}):d(m)},end(){f(),r=a=null}}}function ou(n,e){const t=e.token={};function i(s,l,o,r){if(e.token!==t)return;e
Line truncated
|
||||||
|
<span class="txt">Pocket<strong>Base</strong></span></figure>`,t=O(),i=v("div"),p(e,"class","block txt-center m-b-lg"),p(i,"class","clearfix")},m(s,l){S(s,e,l),S(s,t,l),S(s,i,l)},d(s){s&&w(e),s&&w(t),s&&w(i)}}}function Ev(n){let e,t,i,s=!n[0]&&ju();const l=n[1].default,o=Nt(l,n,n[2],null);return{c(){e=v("div"),s&&s.c(),t=O(),o&&o.c(),p(e,"class","wrapper wrapper-sm m-b-xl panel-wrapper svelte-lxxzfu")},m(r,a){S(r,e,a),s&&s.m(e,null),_(e,t),o&&o.m(e,null),i=!0},p(r,a){r[0]?s&&(s.d(1),s=null):s||(s=ju(),s.c(),s.m(e,t)),o&&o.p&&(!i||a&4)&&Rt(o,l,r,r[2],i?Ft(l,r[2],a,null):qt(r[2]),null)},i(r){i||(A(o,r),i=!0)},o(r){I(o,r),i=!1},d(r){r&&w(e),s&&s.d(),o&&o.d(r)}}}function Av(n){let e,t;return e=new wn({props:{class:"full-page",center:!0,$$slots:{default:[Ev]},$$scope:{ctx:n}}}),{c(){H(e.$$.fragment)},m(i,s){q(e,i,s),t=!0},p(i,[s]){const l={};s&5&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){j(e,i)}}}function Iv(n,e,t){let{$$slots:i={},$$scope:s}=e,{nobranding:l=!1}=e;return n.$$set=o=>{"nobranding"in o&&t(0,l=o.nobranding),"$$scope"in o&&t(2,s=o.$$scope)},[l,i,s]}class S_ extends ye{constructor(e){super(),ve(this,e,Iv,Av,he,{nobranding:0})}}function Hu(n,e,t){const i=n.slice();return i[11]=e[t],i}const Pv=n=>({}),Vu=n=>({uniqueId:n[3]});function Lv(n){let e=(n[11]||bo)+"",t;return{c(){t=B(e)},m(i,s){S(i,t,s)},p(i,s){s&4&&e!==(e=(i[11]||bo)+"")&&le(t,e)},d(i){i&&w(t)}}}function Nv(n){var s,l;let e,t=(((s=n[11])==null?void 0:s.message)||((l=n[11])==null?void 0:l.code)||bo)+"",i;return{c(){e=v("pre"),i=B(t)},m(o,r){S(o,e,r),_(e,i)},p(o,r){var a,u;r&4&&t!==(t=(((a=o[11])==null?void 0:a.message)||((u=o[11])==null?void 0:u.code)||bo)+"")&&le(i,t)},d(o){o&&w(e)}}}function zu(n){let e,t;function i(o,r){return typeof o[11]=="object"?Nv:Lv}let s=i(n),l=s(n);return{c(){e=v("div"),l.c(),t=O(),p(e,"class","help-block help-block-error")},m(o,r){S(o,e,r),l.m(e,null),_(e,t)},p(o,r){s===(s=i(o))&&l?l.p(o,r):(l.d(1),l=s(o),l&&(l.c(),l.m(e,t)))},d(o){o&&w(e),l.d()}}}function Fv(n){let e,t,i,s,l;const o=n[7].default,r=Nt(o,n,n[6],Vu);let a=n[2],u=[];for(let f=0;f<a.length;f+=1)u[f]=zu(Hu(n,a,f));return{c(){e=v("div"),r&&r.c(),t=O();for(let f=0;f<u.length;f+=1)u[f].c();p(e,"class",n[0]),Q(e,"error",n[2].length)},m(f,c){S(f,e,c),r&&r.m(e,null),_(e,t);for(let d=0;d<u.length;d+=1)u[d].m(e,null);n[9](e),i=!0,s||(l=Y(e,"click",n[8]),s=!0)},p(f,[c]){if(r&&r.p&&(!i||c&64)&&Rt(r,o,f,f[6],i?Ft(o,f[6],c,Pv):qt(f[6]),Vu),c&4){a=f[2];let d;for(d=0;d<a.length;d+=1){const m=Hu(f,a,d);u[d]?u[d].p(m,c):(u[d]=zu(m),u[d].c(),u[d].m(e,null))}for(;d<u.length;d+=1)u[d].d(1);u.length=a.length}(!i||c&1)&&p(e,"class",f[0]),(!i||c&5)&&Q(e,"error",f[2].length)},i(f){i||(A(r,f),i=!0)},o(f){I(r,f),i=!1},d(f){f&&w(e),r&&r.d(f),mt(u,f),n[9](null),s=!1,l()}}}const bo="Invalid value";function Rv(n,e,t){let i;Ye(n,fi,h=>t(5,i=h));let{$$slots:s={},$$scope:l}=e;const o="field_"+z.randomString(7);let{name:r=""}=e,{class:a=void 0}=e,u,f=[];function c(){Qi(r)}Zt(()=>(u.addEventListener("input",c),u.addEventListener("change",c),()=>{u.removeEventListener("input",c),u.removeEventListener("change",c)}));function d(h){ze.call(this,n,h)}function m(h){ie[h?"unshift":"push"](()=>{u=h,t(1,u)})}return n.$$set=h=>{"name"in h&&t(4,r=h.name),"class"in h&&t(0,a=h.class),"$$scope"in h&&t(6,l=h.$$scope)},n.$$.update=()=>{n.$$.dirty&48&&t(2,f=z.toArray(z.getNestedVal(i,r)))},[a,u,f,o,r,i,l,s,d,m]}class me extends ye{constructor(e){super(),ve(this,e,Rv,Fv,he,{name:4,class:0})}}function qv(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=B("Email"),s=O(),l=v("input"),p(e,"for",i=n[9]),p(l,"type","email"),p(l,"autocomplete","off"),p(l,"id",o=n[9]),l.required=!0,l.autofocus=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),ce(l,n[0]),l.focus(),r||(a=Y(l,"input",n[5]),r=!0)},p(u,f){f&512&&i!==(i=u[9])&&p(e,"for",i),f&512&&o!==(o=u[9])&&p(l,"id",o),f&1&&l.value!==u[0]&&ce(l,u[0])},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function jv(n){let e,t,i,s,l,o,r,a,u,f;return{c(){e=v("label"),t=B("Password"),s=O(),l=v("input"),r=O(),a=v("div"),a.textContent="Minimum 10 characters.",p(e,"for",i=n[9]),p(l,"type","password"),p(l,"autocomplete","new-password"),p(l,"minlength","10"),p(l,"id",o=n[9]),l.required=!0,p(a,"class","help-block")},m(c,d){S(c,e,d),_(e,t),S(c,s,d),S(c,l,d),ce(l,n[1]),S(c,r,d),S(c,a,d),u||(f=Y(l,"input",n[6]),u=!0)},p(c,d){d&512&&i!==(i=c[9])&&p(e,"for",i),d&512&&o!==(o=c[9])&&p(l,"id",o),d&2&&l.value!==c[1]&&ce(l,c[1])},d(c){c&&w(e),c&&w(s),c&&w(l),c&&w(r),c&&w(a),u=!1,f()}}}function Hv(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=B("Password confirm"),s=O(),l=v("input"),p(e,"for",i=n[9]),p(l,"type","password"),p(l,"minlength","10"),p(l,"id",o=n[9]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),ce(l,n[2]),r||(a=Y(l,"input",n[7]),r=!0)},p(u,f){f&512&&i!==(i=u[9])&&p(e,"for",i),f&512&&o!==(o=u[9])&&p(l,"id",o),f&4&&l.value!==u[2]&&ce(l,u[2])},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function VvLine truncated
|
||||||
|
<i class="ri-arrow-right-line"></i>`,p(t,"class","content txt-center m-b-base"),p(f,"type","submit"),p(f,"class","btn btn-lg btn-block btn-next"),Q(f,"btn-disabled",n[3]),Q(f,"btn-loading",n[3]),p(e,"class","block"),p(e,"autocomplete","off")},m(h,g){S(h,e,g),_(e,t),_(e,i),q(s,e,null),_(e,l),q(o,e,null),_(e,r),q(a,e,null),_(e,u),_(e,f),c=!0,d||(m=Y(e,"submit",dt(n[4])),d=!0)},p(h,[g]){const b={};g&1537&&(b.$$scope={dirty:g,ctx:h}),s.$set(b);const k={};g&1538&&(k.$$scope={dirty:g,ctx:h}),o.$set(k);const y={};g&1540&&(y.$$scope={dirty:g,ctx:h}),a.$set(y),(!c||g&8)&&Q(f,"btn-disabled",h[3]),(!c||g&8)&&Q(f,"btn-loading",h[3])},i(h){c||(A(s.$$.fragment,h),A(o.$$.fragment,h),A(a.$$.fragment,h),c=!0)},o(h){I(s.$$.fragment,h),I(o.$$.fragment,h),I(a.$$.fragment,h),c=!1},d(h){h&&w(e),j(s),j(o),j(a),d=!1,m()}}}function zv(n,e,t){const i=Ct();let s="",l="",o="",r=!1;async function a(){if(!r){t(3,r=!0);try{await pe.admins.create({email:s,password:l,passwordConfirm:o}),await pe.admins.authWithPassword(s,l),i("submit")}catch(d){pe.errorResponseHandler(d)}t(3,r=!1)}}function u(){s=this.value,t(0,s)}function f(){l=this.value,t(1,l)}function c(){o=this.value,t(2,o)}return[s,l,o,r,a,u,f,c]}class Bv extends ye{constructor(e){super(),ve(this,e,zv,Vv,he,{})}}function Bu(n){let e,t;return e=new S_({props:{$$slots:{default:[Uv]},$$scope:{ctx:n}}}),{c(){H(e.$$.fragment)},m(i,s){q(e,i,s),t=!0},p(i,s){const l={};s&9&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){j(e,i)}}}function Uv(n){let e,t;return e=new Bv({}),e.$on("submit",n[1]),{c(){H(e.$$.fragment)},m(i,s){q(e,i,s),t=!0},p:Z,i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){j(e,i)}}}function Wv(n){let e,t,i=n[0]&&Bu(n);return{c(){i&&i.c(),e=Me()},m(s,l){i&&i.m(s,l),S(s,e,l),t=!0},p(s,[l]){s[0]?i?(i.p(s,l),l&1&&A(i,1)):(i=Bu(s),i.c(),A(i,1),i.m(e.parentNode,e)):i&&(ae(),I(i,1,1,()=>{i=null}),ue())},i(s){t||(A(i),t=!0)},o(s){I(i),t=!1},d(s){i&&i.d(s),s&&w(e)}}}function Yv(n,e,t){let i=!1;s();function s(){if(t(0,i=!1),new URLSearchParams(window.location.search).has("installer")){pe.logout(!1),t(0,i=!0);return}pe.authStore.isValid?Di("/collections"):pe.logout()}return[i,async()=>{t(0,i=!1),await sn(),window.location.search=""}]}class Kv extends ye{constructor(e){super(),ve(this,e,Yv,Wv,he,{})}}const St=Ln(""),vo=Ln(""),$s=Ln(!1);function Bo(n){const e=n-1;return e*e*e+1}function yo(n,{delay:e=0,duration:t=400,easing:i=kl}={}){const s=+getComputedStyle(n).opacity;return{delay:e,duration:t,easing:i,css:l=>`opacity: ${l*s}`}}function An(n,{delay:e=0,duration:t=400,easing:i=Bo,x:s=0,y:l=0,opacity:o=0}={}){const r=getComputedStyle(n),a=+r.opacity,u=r.transform==="none"?"":r.transform,f=a*(1-o);return{delay:e,duration:t,easing:i,css:(c,d)=>`
|
||||||
|
transform: ${u} translate(${(1-c)*s}px, ${(1-c)*l}px);
|
||||||
|
opacity: ${a-f*d}`}}function At(n,{delay:e=0,duration:t=400,easing:i=Bo}={}){const s=getComputedStyle(n),l=+s.opacity,o=parseFloat(s.height),r=parseFloat(s.paddingTop),a=parseFloat(s.paddingBottom),u=parseFloat(s.marginTop),f=parseFloat(s.marginBottom),c=parseFloat(s.borderTopWidth),d=parseFloat(s.borderBottomWidth);return{delay:e,duration:t,easing:i,css:m=>`overflow: hidden;opacity: ${Math.min(m*20,1)*l};height: ${m*o}px;padding-top: ${m*r}px;padding-bottom: ${m*a}px;margin-top: ${m*u}px;margin-bottom: ${m*f}px;border-top-width: ${m*c}px;border-bottom-width: ${m*d}px;`}}function It(n,{delay:e=0,duration:t=400,easing:i=Bo,start:s=0,opacity:l=0}={}){const o=getComputedStyle(n),r=+o.opacity,a=o.transform==="none"?"":o.transform,u=1-s,f=r*(1-l);return{delay:e,duration:t,easing:i,css:(c,d)=>`
|
||||||
|
transform: ${a} scale(${1-u*d});
|
||||||
|
opacity: ${r-f*d}
|
||||||
|
`}}function Jv(n){let e,t,i,s;return{c(){e=v("input"),p(e,"type","text"),p(e,"id",n[8]),p(e,"placeholder",t=n[0]||n[1])},m(l,o){S(l,e,o),n[13](e),ce(e,n[7]),i||(s=Y(e,"input",n[14]),i=!0)},p(l,o){o&3&&t!==(t=l[0]||l[1])&&p(e,"placeholder",t),o&128&&e.value!==l[7]&&ce(e,l[7])},i:Z,o:Z,d(l){l&&w(e),n[13](null),i=!1,s()}}}function Zv(n){let e,t,i,s;function l(a){n[12](a)}var o=n[4];function r(a){let u={id:a[8],singleLine:!0,disableRequestKeys:!0,disableIndirectCollectionsKeys:!0,extraAutocompleteKeys:a[3],baseCollection:a[2],placeholder:a[0]||a[1]};return a[7]!==void 0&&(u.value=a[7]),{props:u}}return o&&(e=jt(o,r(n)),ie.push(()=>ge(e,"value",l)),e.$on("submit",n[10])),{c(){e&&H(e.$$.fragment),i=Me()},m(a,u){e&&q(e,a,u),S(a,i,u),s=!0},p(a,u){const f={};if(u&8&&(f.extraAutocompleteKeys=a[3]),u&4&&(f.baseCollection=a[2]),u&3&&(f.placeholder=a[0]||a[1]),!t&&u&128&&(t=!0,f.value=a[7],ke(()=>t=!1)),o!==(o=a[4])){if(e){ae();const c=e;I(c.$$.fragment,1,0,()=>{j(c,1)}),ue()}o?(e=jt(o,r(a)),ie.push(()=>ge(e,"value",l)),e.$on("submit",a[10]),H(e.$$.fragment),A(e.$$.fragment,1),q(e,i.parentNode,i)):e=null}else o&&e.$set(f)},i(a){s||(e&&A(e.$$.fragment,a),s=!0)},o(a){e&&I(e.$$.fragment,a),s=!1},d(a){a&&w(i),e&&j(e,a)}}}function Uu(n){let e,t,i,s,l,o,r=n[7]!==n[0]&&Wu();return{c(){r&&r.c(),e=O(),t=v("button"),t.innerHTML='<span class="txt">Clear</span>',p(t,"type","button"),p(t,"class","btn btn-transparent btn-sm btn-hint p-l-xs p-r-xs m-l-10")},m(a,u){r&&r.m(a,u),S(a,e,u),S(a,t,u),s=!0,l||(o=Y(t,"click",n[15]),l=!0)},p(a,u){a[7]!==a[0]?r?u&129&&A(r,1):(r=Wu(),r.c(),A(r,1),r.m(e.parentNode,e)):r&&(ae(),I(r,1,1,()=>{r=null}),ue())},i(a){s||(A(r),a&&xe(()=>{i||(i=je(t,An,{duration:150,x:5},!0)),i.run(1)}),s=!0)},o(a){I(r),a&&(i||(i=je(t,An,{duration:150,x:5},!1)),i.run(0)),s=!1},d(a){r&&r.d(a),a&&w(e),a&&w(t),a&&i&&i.end(),l=!1,o()}}}function Wu(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Search</span>',p(e,"type","submit"),p(e,"class","btn btn-expanded btn-sm btn-warning")},m(s,l){S(s,e,l),i=!0},i(s){i||(s&&xe(()=>{t||(t=je(e,An,{duration:150,x:5},!0)),t.run(1)}),i=!0)},o(s){s&&(t||(t=je(e,An,{duration:150,x:5},!1)),t.run(0)),i=!1},d(s){s&&w(e),s&&t&&t.end()}}}function Gv(n){let e,t,i,s,l,o,r,a,u,f;const c=[Zv,Jv],d=[];function m(g,b){return g[4]&&!g[5]?0:1}l=m(n),o=d[l]=c[l](n);let h=(n[0].length||n[7].length)&&Uu(n);return{c(){e=v("form"),t=v("label"),i=v("i"),s=O(),o.c(),r=O(),h&&h.c(),p(i,"class","ri-search-line"),p(t,"for",n[8]),p(t,"class","m-l-10 txt-xl"),p(e,"class","searchbar")},m(g,b){S(g,e,b),_(e,t),_(t,i),_(e,s),d[l].m(e,null),_(e,r),h&&h.m(e,null),a=!0,u||(f=[Y(e,"click",kn(n[11])),Y(e,"submit",dt(n[10]))],u=!0)},p(g,[b]){let k=l;l=m(g),l===k?d[l].p(g,b):(ae(),I(d[k],1,1,()=>{d[k]=null}),ue(),o=d[l],o?o.p(g,b):(o=d[l]=c[l](g),o.c()),A(o,1),o.m(e,r)),g[0].length||g[7].length?h?(h.p(g,b),b&129&&A(h,1)):(h=Uu(g),h.c(),A(h,1),h.m(e,null)):h&&(ae(),I(h,1,1,()=>{h=null}),ue())},i(g){a||(A(o),A(h),a=!0)},o(g){I(o),I(h),a=!1},d(g){g&&w(e),d[l].d(),h&&h.d(),u=!1,Pe(f)}}}function Xv(n,e,t){const i=Ct(),s="search_"+z.randomString(7);let{value:l=""}=e,{placeholder:o='Search filter, ex. created > "2022-01-01"...'}=e,{autocompleteCollection:r=new pn}=e,{extraAutocompleteKeys:a=[]}=e,u,f=!1,c,d="";function m(M=!0){t(7,d=""),M&&(c==null||c.focus()),i("clear")}function h(){t(0,l=d),i("submit",l)}async function g(){u||f||(t(5,f=!0),t(4,u=(await rt(()=>import("./FilterAutocompleteInput-80716b22.js"),["./FilterAutocompleteInput-80716b22.js","./index-a6ccb683.js"],import.meta.url)).default),t(5,f=!1))}Zt(()=>{g()});function b(M){ze.call(this,n,M)}function k(M){d=M,t(7,d),t(0,l)}function y(M){ie[M?"unshift":"push"](()=>{c=M,t(6,c)})}function T(){d=this.value,t(7,d),t(0,l)}const $=()=>{m(!1),h()};return n.$$set=M=>{"value"in M&&t(0,l=M.value),"placeholder"in M&&t(1,o=M.placeholder),"autocompleteCollection"in M&&t(2,r=M.autocompleteCollection),"extraAutocompleteKeys"in M&&t(3,a=M.extraAutocompleteKeys)},n.$$.update=()=>{n.$$.dirty&1&&typeof l=="string"&&t(7,d=l)},[l,o,r,a,u,f,c,d,s,m,h,b,k,y,T,$]}class Uo extends ye{constructor(e){super(),ve(this,e,Xv,Gv,he,{value:0,placeholder:1,autocompleteCollection:2,extraAutocompleteKeys:3})}}let Yr,qi;const Kr="app-tooltip";function Yu(n){return typeof n=="string"?{text:n,position:"bottom",hideOnClick:null}:n||{}}function ki(){return qi=qi||document.querySelector("."+Kr),qi||(qi=document.createElement("div"),qi.classList.add(Kr),document.body.appendChild(qi)),qi}function T_(n,e){let t=ki();if(!t.classList.contains("active")||!(e!=null&&e.text)){Jr();return}t.textContent=e.text,t.className=Kr+" active",e.class&&t.classList.add(e.class),e.position&&t.classList.add(e.position),t.style.top="0px",t.style.left="0px";let i=t.offsetHeight,s=t.offsetWidth,l=n.getBoundingClientRect(),o=0,r=0,a=5;e.position=="left"?(o=l.top+l.height/2-i/2,r=l.left-s-a):e.position=="right"?(o=l.top+l.height/2-i/2,r=l.right+a):e.position=="top"?(o=l.top-i-a,r=l.left+l.width/2-s/2):e.position=="top
Line truncated
|
||||||
|
<span class="txt">method</span>`,p(e,"class","col-header-content")},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function dy(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=O(),s=v("span"),s.textContent="url",p(t,"class",z.getFieldTypeIcon("url")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:Z,d(l){l&&w(e)}}}function py(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=O(),s=v("span"),s.textContent="referer",p(t,"class",z.getFieldTypeIcon("url")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:Z,d(l){l&&w(e)}}}function my(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=O(),s=v("span"),s.textContent="User IP",p(t,"class",z.getFieldTypeIcon("number")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:Z,d(l){l&&w(e)}}}function hy(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=O(),s=v("span"),s.textContent="status",p(t,"class",z.getFieldTypeIcon("number")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:Z,d(l){l&&w(e)}}}function gy(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=O(),s=v("span"),s.textContent="created",p(t,"class",z.getFieldTypeIcon("date")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:Z,d(l){l&&w(e)}}}function Gu(n){let e;function t(l,o){return l[6]?by:_y}let i=t(n),s=i(n);return{c(){s.c(),e=Me()},m(l,o){s.m(l,o),S(l,e,o)},p(l,o){i===(i=t(l))&&s?s.p(l,o):(s.d(1),s=i(l),s&&(s.c(),s.m(e.parentNode,e)))},d(l){s.d(l),l&&w(e)}}}function _y(n){var r;let e,t,i,s,l,o=((r=n[0])==null?void 0:r.length)&&Xu(n);return{c(){e=v("tr"),t=v("td"),i=v("h6"),i.textContent="No logs found.",s=O(),o&&o.c(),l=O(),p(t,"colspan","99"),p(t,"class","txt-center txt-hint p-xs")},m(a,u){S(a,e,u),_(e,t),_(t,i),_(t,s),o&&o.m(t,null),_(e,l)},p(a,u){var f;(f=a[0])!=null&&f.length?o?o.p(a,u):(o=Xu(a),o.c(),o.m(t,null)):o&&(o.d(1),o=null)},d(a){a&&w(e),o&&o.d()}}}function by(n){let e;return{c(){e=v("tr"),e.innerHTML=`<td colspan="99" class="p-xs"><span class="skeleton-loader"></span></td>
|
||||||
|
`},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function Xu(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Clear filters</span>',p(e,"type","button"),p(e,"class","btn btn-hint btn-expanded m-t-sm")},m(s,l){S(s,e,l),t||(i=Y(e,"click",n[19]),t=!0)},p:Z,d(s){s&&w(e),t=!1,i()}}}function Qu(n){let e;return{c(){e=v("i"),p(e,"class","ri-error-warning-line txt-danger m-l-5 m-r-5"),p(e,"title","Error")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function xu(n,e){var Se,We,lt;let t,i,s,l=((Se=e[23].method)==null?void 0:Se.toUpperCase())+"",o,r,a,u,f,c=e[23].url+"",d,m,h,g,b,k,y=(e[23].referer||"N/A")+"",T,$,M,C,D,E=(e[23].userIp||"N/A")+"",P,L,N,F,R,X=e[23].status+"",se,W,G,te,K,re,J,de,_e,$e,Ne=(((We=e[23].meta)==null?void 0:We.errorMessage)||((lt=e[23].meta)==null?void 0:lt.errorData))&&Qu();te=new ui({props:{date:e[23].created}});function Re(){return e[17](e[23])}function be(...fe){return e[18](e[23],...fe)}return{key:n,first:null,c(){t=v("tr"),i=v("td"),s=v("span"),o=B(l),a=O(),u=v("td"),f=v("span"),d=B(c),h=O(),Ne&&Ne.c(),g=O(),b=v("td"),k=v("span"),T=B(y),M=O(),C=v("td"),D=v("span"),P=B(E),N=O(),F=v("td"),R=v("span"),se=B(X),W=O(),G=v("td"),H(te.$$.fragment),K=O(),re=v("td"),re.innerHTML='<i class="ri-arrow-right-line"></i>',J=O(),p(s,"class",r="label txt-uppercase "+e[9][e[23].method.toLowerCase()]),p(i,"class","col-type-text col-field-method min-width"),p(f,"class","txt txt-ellipsis"),p(f,"title",m=e[23].url),p(u,"class","col-type-text col-field-url"),p(k,"class","txt txt-ellipsis"),p(k,"title",$=e[23].referer),Q(k,"txt-hint",!e[23].referer),p(b,"class","col-type-text col-field-referer"),p(D,"class","txt txt-ellipsis"),p(D,"title",L=e[23].userIp),Q(D,"txt-hint",!e[23].userIp),p(C,"class","col-type-number col-field-userIp"),p(R,"class","label"),Q(R,"label-danger",e[23].status>=400),p(F,"class","col-type-number col-field-status"),p(G,"class","col-type-date col-field-created"),p(re,"class","col-type-action min-width"),p(t,"tabindex","0"),p(t,"class","row-handle"),this.first=t},m(fe,Ve){S(fe,t,Ve),_(t,i),_(i,s),_(s,o),_(t,a),_(t,u),_(u,f),_(f,d),_(u,h),Ne&&Ne.m(u,null),_(t,g),_(t,b),_(b,k),_(k,T),_(t,M),_(t,C),_(C,D),_(D,P),_(t,N),_(t,F),_(F,R),_(R,se),_(t,W),_(t,G),q(te,G,null),_(t,K),_(t,re),_(t,J),de=!0,_e||($e=[Y(t,"click",Re),Y(t,"keydown",be)],_e=!0)},p(fe,Ve){var Fe,ot,Ht;e=fe,(!de||Ve&8)&&l!==(l=((Fe=e[23].method)==null?void 0:Fe.toUpperCase())+"")&&le(o,l),(!de||Ve&8&&r!==(r="label txt-uppercase "+e[9][e[23].method.toLowerCase()]))&&p(s,"class",r),(!de||Ve&8)&&c!==(c=e[23].url+"")&&le(d,c),(!de||Ve&8&&m!==(m=e[23].url))&&p(f,"title",m),(ot=e[23].meta)!=null&&ot.errorMessage||(Ht=e[23].meta)!=null&&Ht.errorData?Ne||(Ne=Qu(),Ne.c(),Ne.m(u,null)):Ne&&(Ne.d(1),Ne=null),(!de||Ve&8)&&y!==(y=(e[23].referer||"N/A")+"")&&le(T,y),(!de||Ve&8&&$!==($=e[23].referer))&&p(k,"title",$),(!de||Ve&8)&&Q(k,"txt-hint",!e[23].referer),(!de||Ve&8)&&E!==(E=(e[23].userIp||"N/A")+"")&&le(P,E),(!de||Ve&8&&L!==(L=e[23].userIp))&&p(D,"title",L),(!de||Ve&8)&&Q(D,"txt-hint",!e[23].userIp),(!de||Ve&8)&&X!==(X=e[23].status+"")&&le(se,X),(!de||Ve&8)&&Q(R,"label-danger",e[23].status>=400);const ee={};Ve&8&&(ee.date=e[23].created),te.$set(ee)},i(fe){de||(A(te.$$.fragment,fe),de=!0)},o(fe){I(te.$$.fragment,fe),de=!1},d(fe){fe&&w(t),Ne&&Ne.d(),j(te),_e=!1,Pe($e)}}}function vy(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,k,y,T,$,M,C,D,E,P=[],L=new Map,N;function F(be){n[11](be)}let R={disable:!0,class:"col-field-method",name:"method",$$slots:{default:[cy]},$$scope:{ctx:n}};n[1]!==void 0&&(R.sort=n[1]),s=new Wt({props:R}),ie.push(()=>ge(s,"sort",F));function X(be){n[12](be)}let se={disable:!0,class:"col-type-text col-field-url",name:"url",$$slots:{default:[dy]},$$scope:{ctx:n}};n[1]!==void 0&&(se.sort=n[1]),r=new Wt({props:se}),ie.push(()=>ge(r,"sort",X));function W(be){n[13](be)}let G={disable:!0,class:"col-type-text col-field-referer",name:"referer",$$slots:{default:[py]},$$scope:{ctx:n}};n[1]!==void 0&&(G.sort=n[1]),f=new Wt({props:G}),ie.push(()=>ge(f,"sort",W));function te(be){n[14](be)}let K={disable:!0,class:"col-type-number col-field-userIp",name:"userIp",$$slots:{default:[my]},$$scope:{ctx:n}};n[1]!==void 0&&(K.sort=n[1]),m=new Wt({props:K}),ie.push(()=>ge(m,"sort",te));function re(be){n[15](be)}let J={disable:!0,class:"col-type-number col-field-status",name:"status",$$slots:{default:[hy]},$$scope:{ctx:n}};n[1]!==void 0&&(J.sort=n[1]),b=new Wt({props:J}),ie.push(()=>ge(b,"sort",re));function de(be){n[16](be)}let _e={disable:!0,class:"col-type-date col-field-created",name:"created",$$slots:{default:[gy]},$$scope:{ctx:n}};n[1]!==void 0&&(_e.sort=n[1]),T=new Wt({props:_e}),ie.push(()=>ge(T,"sort",de));let $e=n[3];const Ne=be=>be[23].id;for(let be=0;be<$e.length;be+=1){let Se=Zu(n,$e,be),We=Ne(Se);L.set(We,P[be]=xu(We,Se))}let Re=null;return $e.length||(Re=Gu(n)),{c(){e=v("table"),t=v("thead"),i=v("tr"),H(s.$$.fragment),o=O(),H(r.$$.fragment),u=O(),H(f.$$.fragment),d=O(),H(m.$$.fragment),g=O(),H(b.$$.fragment),y=O(),H(T.$Line truncated
|
||||||
|
* Chart.js v3.9.1
|
||||||
|
* https://www.chartjs.org
|
||||||
|
* (c) 2022 Chart.js Contributors
|
||||||
|
* Released under the MIT License
|
||||||
|
*/function ni(){}const Sy=function(){let n=0;return function(){return n++}}();function at(n){return n===null||typeof n>"u"}function gt(n){if(Array.isArray&&Array.isArray(n))return!0;const e=Object.prototype.toString.call(n);return e.slice(0,7)==="[object"&&e.slice(-6)==="Array]"}function Ke(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}const $t=n=>(typeof n=="number"||n instanceof Number)&&isFinite(+n);function $n(n,e){return $t(n)?n:e}function Xe(n,e){return typeof n>"u"?e:n}const Ty=(n,e)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100:n/e,$_=(n,e)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100*e:+n;function yt(n,e,t){if(n&&typeof n.call=="function")return n.apply(t,e)}function ut(n,e,t,i){let s,l,o;if(gt(n))if(l=n.length,i)for(s=l-1;s>=0;s--)e.call(t,n[s],s);else for(s=0;s<l;s++)e.call(t,n[s],s);else if(Ke(n))for(o=Object.keys(n),l=o.length,s=0;s<l;s++)e.call(t,n[o[s]],o[s])}function ko(n,e){let t,i,s,l;if(!n||!e||n.length!==e.length)return!1;for(t=0,i=n.length;t<i;++t)if(s=n[t],l=e[t],s.datasetIndex!==l.datasetIndex||s.index!==l.index)return!1;return!0}function wo(n){if(gt(n))return n.map(wo);if(Ke(n)){const e=Object.create(null),t=Object.keys(n),i=t.length;let s=0;for(;s<i;++s)e[t[s]]=wo(n[t[s]]);return e}return n}function C_(n){return["__proto__","prototype","constructor"].indexOf(n)===-1}function $y(n,e,t,i){if(!C_(n))return;const s=e[n],l=t[n];Ke(s)&&Ke(l)?dl(s,l,i):e[n]=wo(l)}function dl(n,e,t){const i=gt(e)?e:[e],s=i.length;if(!Ke(n))return n;t=t||{};const l=t.merger||$y;for(let o=0;o<s;++o){if(e=i[o],!Ke(e))continue;const r=Object.keys(e);for(let a=0,u=r.length;a<u;++a)l(r[a],n,e,t)}return n}function tl(n,e){return dl(n,e,{merger:Cy})}function Cy(n,e,t){if(!C_(n))return;const i=e[n],s=t[n];Ke(i)&&Ke(s)?tl(i,s):Object.prototype.hasOwnProperty.call(e,n)||(e[n]=wo(s))}const nf={"":n=>n,x:n=>n.x,y:n=>n.y};function $i(n,e){return(nf[e]||(nf[e]=My(e)))(n)}function My(n){const e=Dy(n);return t=>{for(const i of e){if(i==="")break;t=t&&t[i]}return t}}function Dy(n){const e=n.split("."),t=[];let i="";for(const s of e)i+=s,i.endsWith("\\")?i=i.slice(0,-1)+".":(t.push(i),i="");return t}function Ea(n){return n.charAt(0).toUpperCase()+n.slice(1)}const In=n=>typeof n<"u",Ci=n=>typeof n=="function",sf=(n,e)=>{if(n.size!==e.size)return!1;for(const t of n)if(!e.has(t))return!1;return!0};function Oy(n){return n.type==="mouseup"||n.type==="click"||n.type==="contextmenu"}const Tt=Math.PI,ct=2*Tt,Ey=ct+Tt,So=Number.POSITIVE_INFINITY,Ay=Tt/180,kt=Tt/2,zs=Tt/4,lf=Tt*2/3,On=Math.log10,Gn=Math.sign;function of(n){const e=Math.round(n);n=nl(n,e,n/1e3)?e:n;const t=Math.pow(10,Math.floor(On(n))),i=n/t;return(i<=1?1:i<=2?2:i<=5?5:10)*t}function Iy(n){const e=[],t=Math.sqrt(n);let i;for(i=1;i<t;i++)n%i===0&&(e.push(i),e.push(n/i));return t===(t|0)&&e.push(t),e.sort((s,l)=>s-l).pop(),e}function Cs(n){return!isNaN(parseFloat(n))&&isFinite(n)}function nl(n,e,t){return Math.abs(n-e)<t}function Py(n,e){const t=Math.round(n);return t-e<=n&&t+e>=n}function M_(n,e,t){let i,s,l;for(i=0,s=n.length;i<s;i++)l=n[i][t],isNaN(l)||(e.min=Math.min(e.min,l),e.max=Math.max(e.max,l))}function Hn(n){return n*(Tt/180)}function Aa(n){return n*(180/Tt)}function rf(n){if(!$t(n))return;let e=1,t=0;for(;Math.round(n*e)/e!==n;)e*=10,t++;return t}function D_(n,e){const t=e.x-n.x,i=e.y-n.y,s=Math.sqrt(t*t+i*i);let l=Math.atan2(i,t);return l<-.5*Tt&&(l+=ct),{angle:l,distance:s}}function Zr(n,e){return Math.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2))}function Ly(n,e){return(n-e+Ey)%ct-Tt}function bn(n){return(n%ct+ct)%ct}function pl(n,e,t,i){const s=bn(n),l=bn(e),o=bn(t),r=bn(l-s),a=bn(o-s),u=bn(s-l),f=bn(s-o);return s===l||s===o||i&&l===o||r>a&&u<f}function Yt(n,e,t){return Math.max(e,Math.min(t,n))}function Ny(n){return Yt(n,-32768,32767)}function ml(n,e,t,i=1e-6){return n>=Math.min(e,t)-i&&n<=Math.max(e,t)+i}function Ia(n,e,t){t=t||(o=>n[o]<e);let i=n.length-1,s=0,l;for(;i-s>1;)l=s+i>>1,t(l)?s=l:i=l;return{lo:s,hi:i}}const Yi=(n,e,t,i)=>Ia(n,t,i?s=>n[s][e]<=t:s=>n[s][e]<t),Fy=(n,e,t)=>Ia(n,t,i=>n[i][e]>=t);function Ry(n,e,t){let i=0,s=n.length;for(;i<s&&n[i]<e;)i++;for(;s>i&&n[s-1]>t;)s--;return i>0||s<n.length?n.slice(i,s):n}const O_=["push","pop","shift","splice","unshift"];function qy(n,e){if(n._chartjs){n._chartjs.listeners.push(e);return}Object.defineProperty(n,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),O_.forEach(t=>{const i="_onData"+Ea(t),s=n[t];Object.defineProperty(n,t,{configurable:!0,enumerable:!1,value(...l){const o=s.apply(this,l);return n._chartjs.listeners.forEach(r=>{typeof r[i]=="function"&&r[i](...l)}),o}})})}function af(n,e){const t=n._chartjs;if(!t)return;const i=t.listeners,s=i.indexOf(e);s!==-1&&i.splice(s,1),!(i.length>0)&&(O_.forEach(l=>{delete n[l]}),delete n._chartjs)}function E_(n){const e=new Set;let t,i;for(t=0,i=n.length;t<i;++t)e.add(n[t]);return e.size===i?n:Array.from(e)}const A_=function(){return typeof window>"u"?function(n){return n()}:window.requestLine truncated
|
||||||
|
* @kurkle/color v0.2.1
|
||||||
|
* https://github.com/kurkle/color#readme
|
||||||
|
* (c) 2022 Jukka Kurkela
|
||||||
|
* Released under the MIT License
|
||||||
|
*/function Ol(n){return n+.5|0}const bi=(n,e,t)=>Math.max(Math.min(n,t),e);function Xs(n){return bi(Ol(n*2.55),0,255)}function wi(n){return bi(Ol(n*255),0,255)}function li(n){return bi(Ol(n/2.55)/100,0,1)}function df(n){return bi(Ol(n*100),0,100)}const Tn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Gr=[..."0123456789ABCDEF"],Vy=n=>Gr[n&15],zy=n=>Gr[(n&240)>>4]+Gr[n&15],Wl=n=>(n&240)>>4===(n&15),By=n=>Wl(n.r)&&Wl(n.g)&&Wl(n.b)&&Wl(n.a);function Uy(n){var e=n.length,t;return n[0]==="#"&&(e===4||e===5?t={r:255&Tn[n[1]]*17,g:255&Tn[n[2]]*17,b:255&Tn[n[3]]*17,a:e===5?Tn[n[4]]*17:255}:(e===7||e===9)&&(t={r:Tn[n[1]]<<4|Tn[n[2]],g:Tn[n[3]]<<4|Tn[n[4]],b:Tn[n[5]]<<4|Tn[n[6]],a:e===9?Tn[n[7]]<<4|Tn[n[8]]:255})),t}const Wy=(n,e)=>n<255?e(n):"";function Yy(n){var e=By(n)?Vy:zy;return n?"#"+e(n.r)+e(n.g)+e(n.b)+Wy(n.a,e):void 0}const Ky=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function N_(n,e,t){const i=e*Math.min(t,1-t),s=(l,o=(l+n/30)%12)=>t-i*Math.max(Math.min(o-3,9-o,1),-1);return[s(0),s(8),s(4)]}function Jy(n,e,t){const i=(s,l=(s+n/60)%6)=>t-t*e*Math.max(Math.min(l,4-l,1),0);return[i(5),i(3),i(1)]}function Zy(n,e,t){const i=N_(n,1,.5);let s;for(e+t>1&&(s=1/(e+t),e*=s,t*=s),s=0;s<3;s++)i[s]*=1-e-t,i[s]+=e;return i}function Gy(n,e,t,i,s){return n===s?(e-t)/i+(e<t?6:0):e===s?(t-n)/i+2:(n-e)/i+4}function Pa(n){const t=n.r/255,i=n.g/255,s=n.b/255,l=Math.max(t,i,s),o=Math.min(t,i,s),r=(l+o)/2;let a,u,f;return l!==o&&(f=l-o,u=r>.5?f/(2-l-o):f/(l+o),a=Gy(t,i,s,f,l),a=a*60+.5),[a|0,u||0,r]}function La(n,e,t,i){return(Array.isArray(e)?n(e[0],e[1],e[2]):n(e,t,i)).map(wi)}function Na(n,e,t){return La(N_,n,e,t)}function Xy(n,e,t){return La(Zy,n,e,t)}function Qy(n,e,t){return La(Jy,n,e,t)}function F_(n){return(n%360+360)%360}function xy(n){const e=Ky.exec(n);let t=255,i;if(!e)return;e[5]!==i&&(t=e[6]?Xs(+e[5]):wi(+e[5]));const s=F_(+e[2]),l=+e[3]/100,o=+e[4]/100;return e[1]==="hwb"?i=Xy(s,l,o):e[1]==="hsv"?i=Qy(s,l,o):i=Na(s,l,o),{r:i[0],g:i[1],b:i[2],a:t}}function e2(n,e){var t=Pa(n);t[0]=F_(t[0]+e),t=Na(t),n.r=t[0],n.g=t[1],n.b=t[2]}function t2(n){if(!n)return;const e=Pa(n),t=e[0],i=df(e[1]),s=df(e[2]);return n.a<255?`hsla(${t}, ${i}%, ${s}%, ${li(n.a)})`:`hsl(${t}, ${i}%, ${s}%)`}const pf={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},mf={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function n2(){const n={},e=Object.keys(mf),t=Object.keys(pf);let i,s,l,o,r;for(i=0;i<e.length;i++){for(o=r=e[i],s=0;s<t.length;s++)l=t[s]Line truncated
|
||||||
|
* Chart.js v3.9.1
|
||||||
|
* https://www.chartjs.org
|
||||||
|
* (c) 2022 Chart.js Contributors
|
||||||
|
* Released under the MIT License
|
||||||
|
*/class sk{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(e,t,i,s){const l=t.listeners[s],o=t.duration;l.forEach(r=>r({chart:e,initial:t.initial,numSteps:o,currentStep:Math.min(i-t.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=A_.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(e=Date.now()){let t=0;this._charts.forEach((i,s)=>{if(!i.running||!i.items.length)return;const l=i.items;let o=l.length-1,r=!1,a;for(;o>=0;--o)a=l[o],a._active?(a._total>i.duration&&(i.duration=a._total),a.tick(e),r=!0):(l[o]=l[l.length-1],l.pop());r&&(s.draw(),this._notify(s,i,e,"progress")),l.length||(i.running=!1,this._notify(s,i,e,"complete"),i.initial=!1),t+=l.length}),this._lastDate=e,t===0&&(this._running=!1)}_getAnims(e){const t=this._charts;let i=t.get(e);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(e,i)),i}listen(e,t,i){this._getAnims(e).listeners[t].push(i)}add(e,t){!t||!t.length||this._getAnims(e).items.push(...t)}has(e){return this._getAnims(e).items.length>0}start(e){const t=this._charts.get(e);t&&(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce((i,s)=>Math.max(i,s._duration),0),this._refresh())}running(e){if(!this._running)return!1;const t=this._charts.get(e);return!(!t||!t.running||!t.items.length)}stop(e){const t=this._charts.get(e);if(!t||!t.items.length)return;const i=t.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();t.items=[],this._notify(e,t,Date.now(),"complete")}remove(e){return this._charts.delete(e)}}var ii=new sk;const Cf="transparent",lk={boolean(n,e,t){return t>.5?e:n},color(n,e,t){const i=gf(n||Cf),s=i.valid&&gf(e||Cf);return s&&s.valid?s.mix(i,t).hexString():e},number(n,e,t){return n+(e-n)*t}};class ok{constructor(e,t,i,s){const l=t[i];s=Jl([e.to,s,l,e.from]);const o=Jl([e.from,l,s]);this._active=!0,this._fn=e.fn||lk[e.type||typeof o],this._easing=il[e.easing]||il.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=t,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(e,t,i){if(this._active){this._notify(!1);const s=this._target[this._prop],l=i-this._start,o=this._duration-l;this._start=i,this._duration=Math.floor(Math.max(o,e.duration)),this._total+=l,this._loop=!!e.loop,this._to=Jl([e.to,t,s,e.from]),this._from=Jl([e.from,s,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){const t=e-this._start,i=this._duration,s=this._prop,l=this._from,o=this._loop,r=this._to;let a;if(this._active=l!==r&&(o||t<i),!this._active){this._target[s]=r,this._notify(!0);return}if(t<0){this._target[s]=l;return}a=t/i%2,a=o&&a>1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[s]=this._fn(l,r,a)}wait(){const e=this._promises||(this._promises=[]);return new Promise((t,i)=>{e.push({res:t,rej:i})})}_notify(e){const t=e?"res":"rej",i=this._promises||[];for(let s=0;s<i.length;s++)i[s][t]()}}const rk=["x","y","borderWidth","radius","tension"],ak=["color","borderColor","backgroundColor"];Qe.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0});const uk=Object.keys(Qe.animation);Qe.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:n=>n!=="onProgress"&&n!=="onComplete"&&n!=="fn"});Qe.set("animations",{colors:{type:"color",properties:ak},numbers:{type:"number",properties:rk}});Qe.describe("animations",{_fallback:"animation"});Qe.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:n=>n|0}}}});class X_{constructor(e,t){this._chart=e,this._properties=new Map,this.configure(t)}configure(e){if(!Ke(e))return;const t=this._properties;Object.getOwnPropertyNames(e).forEach(i=>{const s=e[i];if(!Ke(s))return;const l={};for(const o of uk)l[o]=s[o];(gt(s.properties)&&s.properties||[i]).forEach(o=>{(o===i||!t.has(o))&&t.set(o,l)})})}_animateOptions(e,t){const i=t.options,s=ck(e,i);if(!s)return[];const l=this._createAnimations(s,i);return i.$shared&&fk(e.options.$animations,i).then(()=>{e.options=i},()=>{}),l}_createAnimations(e,t){const i=this._properties,s=[],l=e.$animations||(e.$animations={}),o=Object.keys(t),r=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if(u.charAt(0)==="$")continue;if(u==="options"){s.push(...this._animateOptions(e,t));continue}const f=t[u];let c=l[u];const d=i.get(u);if(c)if(d&&c.active()){c.update(d,f,r);continue}else c.cancel();if(!d||!d.duration){e[u]=f;continue}l[u]=c=new ok(d,e,u,f),s.push(c)}return s}update(e,t){if(this._properties.size===0){Object.assign(e,t);return}const i=this._createAnimations(e,t);if(i.length)return ii.add(this._chart,i),!0}}function fk(n,e){const t=[],Line truncated
|
||||||
|
`)>-1?n.split(`
|
||||||
|
`):n}function $S(n,e){const{element:t,datasetIndex:i,index:s}=e,l=n.getDatasetMeta(i).controller,{label:o,value:r}=l.getLabelAndValue(s);return{chart:n,label:o,parsed:l.getParsed(s),raw:n.data.datasets[i].data[s],formattedValue:r,dataset:l.getDataset(),dataIndex:s,datasetIndex:i,element:t}}function ic(n,e){const t=n.chart.ctx,{body:i,footer:s,title:l}=n,{boxWidth:o,boxHeight:r}=e,a=vn(e.bodyFont),u=vn(e.titleFont),f=vn(e.footerFont),c=l.length,d=s.length,m=i.length,h=Pn(e.padding);let g=h.height,b=0,k=i.reduce(($,M)=>$+M.before.length+M.lines.length+M.after.length,0);if(k+=n.beforeBody.length+n.afterBody.length,c&&(g+=c*u.lineHeight+(c-1)*e.titleSpacing+e.titleMarginBottom),k){const $=e.displayColors?Math.max(r,a.lineHeight):a.lineHeight;g+=m*$+(k-m)*a.lineHeight+(k-1)*e.bodySpacing}d&&(g+=e.footerMarginTop+d*f.lineHeight+(d-1)*e.footerSpacing);let y=0;const T=function($){b=Math.max(b,t.measureText($).width+y)};return t.save(),t.font=u.string,ut(n.title,T),t.font=a.string,ut(n.beforeBody.concat(n.afterBody),T),y=e.displayColors?o+2+e.boxPadding:0,ut(i,$=>{ut($.before,T),ut($.lines,T),ut($.after,T)}),y=0,t.font=f.string,ut(n.footer,T),t.restore(),b+=h.width,{width:b,height:g}}function CS(n,e){const{y:t,height:i}=e;return t<i/2?"top":t>n.height-i/2?"bottom":"center"}function MS(n,e,t,i){const{x:s,width:l}=i,o=t.caretSize+t.caretPadding;if(n==="left"&&s+l+o>e.width||n==="right"&&s-l-o<0)return!0}function DS(n,e,t,i){const{x:s,width:l}=t,{width:o,chartArea:{left:r,right:a}}=n;let u="center";return i==="center"?u=s<=(r+a)/2?"left":"right":s<=l/2?u="left":s>=o-l/2&&(u="right"),MS(u,n,e,t)&&(u="center"),u}function sc(n,e,t){const i=t.yAlign||e.yAlign||CS(n,t);return{xAlign:t.xAlign||e.xAlign||DS(n,e,t,i),yAlign:i}}function OS(n,e){let{x:t,width:i}=n;return e==="right"?t-=i:e==="center"&&(t-=i/2),t}function ES(n,e,t){let{y:i,height:s}=n;return e==="top"?i+=t:e==="bottom"?i-=s+t:i-=s/2,i}function lc(n,e,t,i){const{caretSize:s,caretPadding:l,cornerRadius:o}=n,{xAlign:r,yAlign:a}=t,u=s+l,{topLeft:f,topRight:c,bottomLeft:d,bottomRight:m}=vs(o);let h=OS(e,r);const g=ES(e,a,u);return a==="center"?r==="left"?h+=u:r==="right"&&(h-=u):r==="left"?h-=Math.max(f,d)+s:r==="right"&&(h+=Math.max(c,m)+s),{x:Yt(h,0,i.width-e.width),y:Yt(g,0,i.height-e.height)}}function to(n,e,t){const i=Pn(t.padding);return e==="center"?n.x+n.width/2:e==="right"?n.x+n.width-i.right:n.x+i.left}function oc(n){return Kn([],si(n))}function AS(n,e,t){return Oi(n,{tooltip:e,tooltipItems:t,type:"tooltip"})}function rc(n,e){const t=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return t?n.override(t):n}class la extends ci{constructor(e){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=e.chart||e._chart,this._chart=this.chart,this.options=e.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(e){this.options=e,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const e=this._cachedAnimations;if(e)return e;const t=this.chart,i=this.options.setContext(this.getContext()),s=i.enabled&&t.options.animation&&i.animations,l=new X_(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(l)),l}getContext(){return this.$context||(this.$context=AS(this.chart.getContext(),this,this._tooltipItems))}getTitle(e,t){const{callbacks:i}=t,s=i.beforeTitle.apply(this,[e]),l=i.title.apply(this,[e]),o=i.afterTitle.apply(this,[e]);let r=[];return r=Kn(r,si(s)),r=Kn(r,si(l)),r=Kn(r,si(o)),r}getBeforeBody(e,t){return oc(t.callbacks.beforeBody.apply(this,[e]))}getBody(e,t){const{callbacks:i}=t,s=[];return ut(e,l=>{const o={before:[],lines:[],after:[]},r=rc(i,l);Kn(o.before,si(r.beforeLabel.call(this,l))),Kn(o.lines,r.label.call(this,l)),Kn(o.after,si(r.afterLabel.call(this,l))),s.push(o)}),s}getAfterBody(e,t){return oc(t.callbacks.afterBody.apply(this,[e]))}getFooter(e,t){const{callbacks:i}=t,s=i.beforeFooter.apply(this,[e]),l=i.footer.apply(this,[e]),o=i.afterFooter.apply(this,[e]);let r=[];return r=Kn(r,si(s)),r=Kn(r,si(l)),r=Kn(r,si(o)),r}_createItems(e){const t=this._active,i=this.chart.data,s=[],l=[],o=[];let r=[],a,u;for(a=0,u=t.length;a<u;++a)r.push($S(this.chart,t[a]));return e.filter&&(r=r.filter((f,c,d)=>e.filter(f,c,d,i))),e.itemSort&&(r=r.sort((f,c)=>e.itemSort(f,c,i))),ut(r,f=>{const c=rc(e.callbacks,f);s.push(c.labelColor.call(this,f)),l.push(c.labelPointStyle.call(this,f)),o.push(c.labelTextColor.call(this,f))}),this.labelColors=s,this.labelPointStyles=l,this.labelTextColors=o,this.dataPoints=r,r}update(e,t){const i=this.options.setContext(this.getContext()),s=this._active;l
Line truncated
|
||||||
|
* chartjs-adapter-luxon v1.3.1
|
||||||
|
* https://www.chartjs.org
|
||||||
|
* (c) 2023 chartjs-adapter-luxon Contributors
|
||||||
|
* Released under the MIT license
|
||||||
|
*/const QS={datetime:qe.DATETIME_MED_WITH_SECONDS,millisecond:"h:mm:ss.SSS a",second:qe.TIME_WITH_SECONDS,minute:qe.TIME_SIMPLE,hour:{hour:"numeric"},day:{day:"numeric",month:"short"},week:"DD",month:{month:"short",year:"numeric"},quarter:"'Q'q - yyyy",year:{year:"numeric"}};nb._date.override({_id:"luxon",_create:function(n){return qe.fromMillis(n,this.options)},init(n){this.options.locale||(this.options.locale=n.locale)},formats:function(){return QS},parse:function(n,e){const t=this.options,i=typeof n;return n===null||i==="undefined"?null:(i==="number"?n=this._create(n):i==="string"?typeof e=="string"?n=qe.fromFormat(n,e,t):n=qe.fromISO(n,t):n instanceof Date?n=qe.fromJSDate(n,t):i==="object"&&!(n instanceof qe)&&(n=qe.fromObject(n,t)),n.isValid?n.valueOf():null)},format:function(n,e){const t=this._create(n);return typeof e=="string"?t.toFormat(e):t.toLocaleString(e)},add:function(n,e,t){const i={};return i[t]=e,this._create(n).plus(i).valueOf()},diff:function(n,e,t){return this._create(n).diff(this._create(e)).as(t).valueOf()},startOf:function(n,e,t){if(e==="isoWeek"){t=Math.trunc(Math.min(Math.max(0,t),6));const i=this._create(n);return i.minus({days:(i.weekday-t+7)%7}).startOf("day").valueOf()}return e?this._create(n).startOf(e).valueOf():n},endOf:function(n,e){return this._create(n).endOf(e).valueOf()}});function hc(n){let e,t,i;return{c(){e=v("div"),p(e,"class","chart-loader loader svelte-vh4sl8")},m(s,l){S(s,e,l),i=!0},i(s){i||(s&&xe(()=>{t||(t=je(e,It,{duration:150},!0)),t.run(1)}),i=!0)},o(s){s&&(t||(t=je(e,It,{duration:150},!1)),t.run(0)),i=!1},d(s){s&&w(e),s&&t&&t.end()}}}function xS(n){let e,t,i=n[1]===1?"log":"logs",s;return{c(){e=B(n[1]),t=O(),s=B(i)},m(l,o){S(l,e,o),S(l,t,o),S(l,s,o)},p(l,o){o&2&&le(e,l[1]),o&2&&i!==(i=l[1]===1?"log":"logs")&&le(s,i)},d(l){l&&w(e),l&&w(t),l&&w(s)}}}function e3(n){let e;return{c(){e=B("Loading...")},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function t3(n){let e,t,i,s,l,o=n[2]&&hc();function r(f,c){return f[2]?e3:xS}let a=r(n),u=a(n);return{c(){e=v("div"),o&&o.c(),t=O(),i=v("canvas"),s=O(),l=v("div"),u.c(),p(i,"class","chart-canvas svelte-vh4sl8"),Ir(i,"height","250px"),Ir(i,"width","100%"),p(e,"class","chart-wrapper svelte-vh4sl8"),Q(e,"loading",n[2]),p(l,"class","txt-hint m-t-xs txt-right")},m(f,c){S(f,e,c),o&&o.m(e,null),_(e,t),_(e,i),n[8](i),S(f,s,c),S(f,l,c),u.m(l,null)},p(f,[c]){f[2]?o?c&4&&A(o,1):(o=hc(),o.c(),A(o,1),o.m(e,t)):o&&(ae(),I(o,1,1,()=>{o=null}),ue()),c&4&&Q(e,"loading",f[2]),a===(a=r(f))&&u?u.p(f,c):(u.d(1),u=a(f),u&&(u.c(),u.m(l,null)))},i(f){A(o)},o(f){I(o)},d(f){f&&w(e),o&&o.d(),n[8](null),f&&w(s),f&&w(l),u.d()}}}function n3(n,e,t){let{filter:i=""}=e,{presets:s=""}=e,l,o,r=[],a=0,u=!1;async function f(){return t(2,u=!0),pe.logs.getRequestsStats({filter:[s,i].filter(Boolean).join("&&")}).then(m=>{c();for(let h of m)r.push({x:new Date(h.date),y:h.total}),t(1,a+=h.total);r.push({x:new Date,y:void 0})}).catch(m=>{m!=null&&m.isAbort||(c(),console.warn(m),pe.errorResponseHandler(m,!1))}).finally(()=>{t(2,u=!1)})}function c(){t(1,a=0),t(7,r=[])}Zt(()=>(Ao.register(Ei,Jo,Yo,Xa,Pl,TS,IS),t(6,o=new Ao(l,{type:"line",data:{datasets:[{label:"Total requests",data:r,borderColor:"#ef4565",pointBackgroundColor:"#ef4565",backgroundColor:"rgb(239,69,101,0.05)",borderWidth:2,pointRadius:1,pointBorderWidth:0,fill:!0}]},options:{animation:!1,interaction:{intersect:!1,mode:"index"},scales:{y:{beginAtZero:!0,grid:{color:"#edf0f3",borderColor:"#dee3e8"},ticks:{precision:0,maxTicksLimit:6,autoSkip:!0,color:"#666f75"}},x:{type:"time",time:{unit:"hour",tooltipFormat:"DD h a"},grid:{borderColor:"#dee3e8",color:m=>m.tick.major?"#edf0f3":""},ticks:{maxTicksLimit:15,autoSkip:!0,maxRotation:0,major:{enabled:!0},color:m=>m.tick.major?"#16161a":"#666f75"}}},plugins:{legend:{display:!1}}}})),()=>o==null?void 0:o.destroy()));function d(m){ie[m?"unshift":"push"](()=>{l=m,t(0,l)})}return n.$$set=m=>{"filter"in m&&t(3,i=m.filter),"presets"in m&&t(4,s=m.presets)},n.$$.update=()=>{n.$$.dirty&24&&(typeof i<"u"||typeof s<"u")&&f(),n.$$.dirty&192&&typeof r<"u"&&o&&(t(6,o.data.datasets[0].data=r,o),o.update())},[l,a,u,i,s,f,o,r,d]}class i3 extends ye{constructor(e){super(),ve(this,e,n3,t3,he,{filter:3,presets:4,load:5})}get load(){return this.$$.ctx[5]}}var gc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},aa={},s3={get exports(){return aa},set exports(n){aa=n}};(function(n){var e=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};/**
|
||||||
|
* Prism: Lightweight, robust, elegant syntax highlighting
|
||||||
|
*
|
||||||
|
* @license MIT <https://opensource.org/licenses/MIT>
|
||||||
|
* @author Lea Verou <https://lea.verou.me>
|
||||||
|
* @namespace
|
||||||
|
* @public
|
||||||
|
*/var t=function(i){var s=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,l=0,o={},r={manual:i.Prism&&i.Prism.manual,disableWorkerMessageHandler:i.Prism&&i.Prism.disableWorkerMessageHandler,util:{encode:function y(T){return T instanceof a?new a(T.type,y(T.content),T.alias):Array.isArray(T)?T.map(y):T.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(y){return Object.prototype.toString.call(y).slice(8,-1)},objId:function(y){return y.__id||Object.defineProperty(y,"__id",{value:++l}),y.__id},clone:function y(T,$){$=$||{};var M,C;switch(r.util.type(T)){case"Object":if(C=r.util.objId(T),$[C])return $[C];M={},$[C]=M;for(var D in T)T.hasOwnProperty(D)&&(M[D]=y(T[D],$));return M;case"Array":return C=r.util.objId(T),$[C]?$[C]:(M=[],$[C]=M,T.forEach(function(E,P){M[P]=y(E,$)}),M);default:return T}},getLanguage:function(y){for(;y;){var T=s.exec(y.className);if(T)return T[1].toLowerCase();y=y.parentElement}return"none"},setLanguage:function(y,T){y.className=y.className.replace(RegExp(s,"gi"),""),y.classList.add("language-"+T)},currentScript:function(){if(typeof document>"u")return null;if("currentScript"in document&&1<2)return document.currentScript;try{throw new Error}catch(M){var y=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(M.stack)||[])[1];if(y){var T=document.getElementsByTagName("script");for(var $ in T)if(T[$].src==y)return T[$]}return null}},isActive:function(y,T,$){for(var M="no-"+T;y;){var C=y.classList;if(C.contains(T))return!0;if(C.contains(M))return!1;y=y.parentElement}return!!$}},languages:{plain:o,plaintext:o,text:o,txt:o,extend:function(y,T){var $=r.util.clone(r.languages[y]);for(var M in T)$[M]=T[M];return $},insertBefore:function(y,T,$,M){M=M||r.languages;var C=M[y],D={};for(var E in C)if(C.hasOwnProperty(E)){if(E==T)for(var P in $)$.hasOwnProperty(P)&&(D[P]=$[P]);$.hasOwnProperty(E)||(D[E]=C[E])}var L=M[y];return M[y]=D,r.languages.DFS(r.languages,function(N,F){F===L&&N!=y&&(this[N]=D)}),D},DFS:function y(T,$,M,C){C=C||{};var D=r.util.objId;for(var E in T)if(T.hasOwnProperty(E)){$.call(T,E,T[E],M||E);var P=T[E],L=r.util.type(P);L==="Object"&&!C[D(P)]?(C[D(P)]=!0,y(P,$,null,C)):L==="Array"&&!C[D(P)]&&(C[D(P)]=!0,y(P,$,E,C))}}},plugins:{},highlightAll:function(y,T){r.highlightAllUnder(document,y,T)},highlightAllUnder:function(y,T,$){var M={callback:$,container:y,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};r.hooks.run("before-highlightall",M),M.elements=Array.prototype.slice.apply(M.container.querySelectorAll(M.selector)),r.hooks.run("before-all-elements-highlight",M);for(var C=0,D;D=M.elements[C++];)r.highlightElement(D,T===!0,M.callback)},highlightElement:function(y,T,$){var M=r.util.getLanguage(y),C=r.languages[M];r.util.setLanguage(y,M);var D=y.parentElement;D&&D.nodeName.toLowerCase()==="pre"&&r.util.setLanguage(D,M);var E=y.textContent,P={element:y,language:M,grammar:C,code:E};function L(F){P.highlightedCode=F,r.hooks.run("before-insert",P),P.element.innerHTML=P.highlightedCode,r.hooks.run("after-highlight",P),r.hooks.run("complete",P),$&&$.call(P.element)}if(r.hooks.run("before-sanity-check",P),D=P.element.parentElement,D&&D.nodeName.toLowerCase()==="pre"&&!D.hasAttribute("tabindex")&&D.setAttribute("tabindex","0"),!P.code){r.hooks.run("complete",P),$&&$.call(P.element);return}if(r.hooks.run("before-highlight",P),!P.grammar){L(r.util.encode(P.code));return}if(T&&i.Worker){var N=new Worker(r.filename);N.onmessage=function(F){L(F.data)},N.postMessage(JSON.stringify({language:P.language,code:P.code,immediateClose:!0}))}else L(r.highlight(P.code,P.grammar,P.language))},highlight:function(y,T,$){var M={code:y,grammar:T,language:$};if(r.hooks.run("before-tokenize",M),!M.grammar)throw new Error('The language "'+M.language+'" has no grammar.');return M.tokens=r.tokenize(M.code,M.grammar),r.hooks.run("after-tokenize",M),a.stringify(r.util.encode(M.tokens),M.language)},tokenize:function(y,T){var $=T.rest;if($){for(var M in $)T[M]=$[M];delete T.rest}var C=new c;return d(C,C.head,y),f(y,C,T,C.head,0),h(C)},hooks:{all:{},add:function(y,T){var $=r.hooks.all;$[y]=$[y]||[],$[y].push(T)},run:function(y,T){var $=r.hooks.all[y];if(!(!$||!$.length))for(var M=0,C;C=$[M++];)C(T)}},Token:a};i.Prism=r;function a(y,T,$,M){this.type=y,this.content=T,this.alias=$,this.length=(M||"").length|0}a.stringify=function y(T,$){if(typeof T=="string")return T;if(Array.isArray(T)){var M="";return T.forEach(function(L){M+=y(L,$)}),M}var C={type:T.type,content:y(T.content,$),tag:"span",classes:["token",T.type],attributes:{},language:$},D=T.alias;D&&(Array.isArray(D)?Array.prototype.push.apply(C.classes,D):C.classes.push(D)),r.hooks.run("wrap",C);var E="";for(var P in C.attributes)E+=" "+P+'="'+(C.attributes[P]||"").replace(/"/g,""")+'"';return"<"+C.tag+' class="'+C.classes.join(" ")+'"'+E+">"+C.content+"</"+C.tag+">"};function u(y,T,$,M){y.lastIndex=T;var C=y.exec($);if(C&&M&&C[1]){var D=C[1].length;C.index+=D,C[0]=C[0].slice(D)}return C}funLine truncated
|
||||||
|
`),b.hasAttribute("data-start")||b.setAttribute("data-start",String(P+1))}k.textContent=C,t.highlightElement(k)},function(C){b.setAttribute(r,f),k.textContent=C})}}),t.plugins.fileHighlight={highlight:function(b){for(var k=(b||document).querySelectorAll(c),y=0,T;T=k[y++];)t.highlightElement(T)}};var h=!1;t.fileHighlight=function(){h||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),h=!0),t.plugins.fileHighlight.highlight.apply(this,arguments)}}()})(s3);const Js=aa;var _c={},l3={get exports(){return _c},set exports(n){_c=n}};(function(n){(function(){if(typeof Prism>"u")return;var e=Object.assign||function(o,r){for(var a in r)r.hasOwnProperty(a)&&(o[a]=r[a]);return o};function t(o){this.defaults=e({},o)}function i(o){return o.replace(/-(\w)/g,function(r,a){return a.toUpperCase()})}function s(o){for(var r=0,a=0;a<o.length;++a)o.charCodeAt(a)==" ".charCodeAt(0)&&(r+=3);return o.length+r}var l={"remove-trailing":"boolean","remove-indent":"boolean","left-trim":"boolean","right-trim":"boolean","break-lines":"number",indent:"number","remove-initial-line-feed":"boolean","tabs-to-spaces":"number","spaces-to-tabs":"number"};t.prototype={setDefaults:function(o){this.defaults=e(this.defaults,o)},normalize:function(o,r){r=e(this.defaults,r);for(var a in r){var u=i(a);a!=="normalize"&&u!=="setDefaults"&&r[a]&&this[u]&&(o=this[u].call(this,o,r[a]))}return o},leftTrim:function(o){return o.replace(/^\s+/,"")},rightTrim:function(o){return o.replace(/\s+$/,"")},tabsToSpaces:function(o,r){return r=r|0||4,o.replace(/\t/g,new Array(++r).join(" "))},spacesToTabs:function(o,r){return r=r|0||4,o.replace(RegExp(" {"+r+"}","g")," ")},removeTrailing:function(o){return o.replace(/\s*?$/gm,"")},removeInitialLineFeed:function(o){return o.replace(/^(?:\r?\n|\r)/,"")},removeIndent:function(o){var r=o.match(/^[^\S\n\r]*(?=\S)/gm);return!r||!r[0].length||(r.sort(function(a,u){return a.length-u.length}),!r[0].length)?o:o.replace(RegExp("^"+r[0],"gm"),"")},indent:function(o,r){return o.replace(/^[^\S\n\r]*(?=\S)/gm,new Array(++r).join(" ")+"$&")},breakLines:function(o,r){r=r===!0?80:r|0||80;for(var a=o.split(`
|
||||||
|
`),u=0;u<a.length;++u)if(!(s(a[u])<=r)){for(var f=a[u].split(/(\s+)/g),c=0,d=0;d<f.length;++d){var m=s(f[d]);c+=m,c>r&&(f[d]=`
|
||||||
|
`+f[d],c=m)}a[u]=f.join("")}return a.join(`
|
||||||
|
`)}},n.exports&&(n.exports=t),Prism.plugins.NormalizeWhitespace=new t({"remove-trailing":!0,"remove-indent":!0,"left-trim":!0,"right-trim":!0}),Prism.hooks.add("before-sanity-check",function(o){var r=Prism.plugins.NormalizeWhitespace;if(!(o.settings&&o.settings["whitespace-normalization"]===!1)&&Prism.util.isActive(o.element,"whitespace-normalization",!0)){if((!o.element||!o.element.parentNode)&&o.code){o.code=r.normalize(o.code,o.settings);return}var a=o.element.parentNode;if(!(!o.code||!a||a.nodeName.toLowerCase()!=="pre")){o.settings==null&&(o.settings={});for(var u in l)if(Object.hasOwnProperty.call(l,u)){var f=l[u];if(a.hasAttribute("data-"+u))try{var c=JSON.parse(a.getAttribute("data-"+u)||"true");typeof c===f&&(o.settings[u]=c)}catch{}}for(var d=a.childNodes,m="",h="",g=!1,b=0;b<d.length;++b){var k=d[b];k==o.element?g=!0:k.nodeName==="#text"&&(g?h+=k.nodeValue:m+=k.nodeValue,a.removeChild(k),--b)}if(!o.element.children.length||!Prism.plugins.KeepMarkup)o.code=m+o.code+h,o.code=r.normalize(o.code,o.settings);else{var y=m+o.element.innerHTML+h;o.element.innerHTML=r.normalize(y,o.settings),o.code=o.element.textContent}}}})})()})(l3);(function(n){var e=[/\b(?:async|sync|yield)\*/,/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/],t=/(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,i={pattern:RegExp(t+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}}}};n.languages.dart=n.languages.extend("clike",{"class-name":[i,{pattern:RegExp(t+/[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source),lookbehind:!0,inside:i.inside}],keyword:e,operator:/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/}),n.languages.insertBefore("dart","string",{"string-literal":{pattern:/r?(?:("""|''')[\s\S]*?\1|(["'])(?:\\.|(?!\2)[^\\\r\n])*\2(?!\2))/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,lookbehind:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:n.languages.dart}}},string:/[\s\S]+/}},string:void 0}),n.languages.insertBefore("dart","class-name",{metadata:{pattern:/@\w+/,alias:"function"}}),n.languages.insertBefore("dart","class-name",{generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":i,keyword:e,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})})(Prism);function o3(n){let e,t,i;return{c(){e=v("div"),t=v("code"),p(t,"class","svelte-10s5tkd"),p(e,"class",i="code-wrapper prism-light "+n[0]+" svelte-10s5tkd")},m(s,l){S(s,e,l),_(e,t),t.innerHTML=n[1]},p(s,[l]){l&2&&(t.innerHTML=s[1]),l&1&&i!==(i="code-wrapper prism-light "+s[0]+" svelte-10s5tkd")&&p(e,"class",i)},i:Z,o:Z,d(s){s&&w(e)}}}function r3(n,e,t){let{class:i=""}=e,{content:s=""}=e,{language:l="javascript"}=e,o="";function r(a){return a=typeof a=="string"?a:"",a=Js.plugins.NormalizeWhitespace.normalize(a,{"remove-trailing":!0,"remove-indent":!0,"left-trim":!0,"right-trim":!0}),Js.highlight(a,Js.languages[l]||Js.languages.javascript,l)}return n.$$set=a=>{"class"in a&&t(0,i=a.class),"content"in a&&t(2,s=a.content),"language"in a&&t(3,l=a.language)},n.$$.update=()=>{n.$$.dirty&4&&typeof Js<"u"&&s&&t(1,o=r(s))},[i,o,s,l]}class wb extends ye{constructor(e){super(),ve(this,e,r3,o3,he,{class:0,content:2,language:3})}}const a3=n=>({}),bc=n=>({}),u3=n=>({}),vc=n=>({});function yc(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,k,y,T=n[4]&&!n[2]&&kc(n);const $=n[19].header,M=Nt($,n,n[18],vc);let C=n[4]&&n[2]&&wc(n);const D=n[19].default,E=Nt(D,n,n[18],null),P=n[19].footer,L=Nt(P,n,n[18],bc);return{c(){e=v("div"),t=v("div"),s=O(),l=v("div"),o=v("div"),T&&T.c(),r=O(),M&&M.c(),a=O(),C&&C.c(),u=O(),f=v("div"),E&&E.c(),c=O(),d=v("div"),L&&L.c(),p(t,"class","overlay"),p(o,"class","overlay-panel-section panel-header"),p(f,"class","overlay-panel-section panel-content"),p(d,"class","overlay-panel-section panel-footer"),p(l,"class",m="overlay-panel "+n[1]+" "+n[8]),Q(l,"popup",n[2]),p(e,"class","overlay-panel-container"),Q(e,"padded",n[2]),Q(e,"active",n[0])},m(N,F){S(N,e,F),_(e,t),_(e,s),_(e,l),_(l,o),T&&T.m(o,null),_(o,r),M&&M.m(o,null),_(o,a),C&&C.m(o,null),_(l,u),_(l,f),E&&E.m(f,null),n[21](f),_(l,c),_(l,d),L&&L.m(d,null),b=!0,k||(y=[Y(t,"click",dt(n[20])),Y(f,"scroll",n[22])],k=!0)},p(N,F){n=N,n[4]&&!n[2]?T?T.p(n,F):(T=kc(n),T.c(),T.m(o,r)):T&&(T.d(1),T=null),M&&M.p&&(!b||F[0]&262144)&&Rt(M,$,n,n[18],b?Ft($,n[18],F,u3):qt(n[18]),vc),n[4]&&n[2]?C?C.p(n,F):(C=wc(n),C.c(),C.m(o,null)):C&&(C.d(1),C=null),E&&E.p&&(!b||F[0]&262144)&&Rt(E,D,n,n[18],b?Ft(D,n[18],F,null):qt(n[18]),null),L&&L.p&&(!b||F[0]&262144)&&Rt(L,P,n,n[18],b?Ft(P,n[18],F,a
Line truncated
|
||||||
|
This field is disabled if "Only domains" is set.`,position:"top"})),d=!0)},p(b,k){(!c||k&16&&l!==(l=b[4]))&&p(e,"for",l);const y={};k&16&&(y.id=b[4]),k&1&&(y.disabled=!z.isEmpty(b[0].onlyDomains)),!a&&k&1&&(a=!0,y.value=b[0].exceptDomains,ke(()=>a=!1)),r.$set(y)},i(b){c||(A(r.$$.fragment,b),c=!0)},o(b){I(r.$$.fragment,b),c=!1},d(b){b&&w(e),b&&w(o),j(r,b),b&&w(u),b&&w(f),d=!1,m()}}}function hT(n){let e,t,i,s,l,o,r,a,u,f,c,d,m;function h(b){n[3](b)}let g={id:n[4]+".options.onlyDomains",disabled:!z.isEmpty(n[0].exceptDomains)};return n[0].onlyDomains!==void 0&&(g.value=n[0].onlyDomains),r=new Ns({props:g}),ie.push(()=>ge(r,"value",h)),{c(){e=v("label"),t=v("span"),t.textContent="Only domains",i=O(),s=v("i"),o=O(),H(r.$$.fragment),u=O(),f=v("div"),f.textContent="Use comma as separator.",p(t,"class","txt"),p(s,"class","ri-information-line link-hint"),p(e,"for",l=n[4]+".options.onlyDomains"),p(f,"class","help-block")},m(b,k){S(b,e,k),_(e,t),_(e,i),_(e,s),S(b,o,k),q(r,b,k),S(b,u,k),S(b,f,k),c=!0,d||(m=Ie(Be.call(null,s,{text:`List of domains that are ONLY allowed.
|
||||||
|
This field is disabled if "Except domains" is set.`,position:"top"})),d=!0)},p(b,k){(!c||k&16&&l!==(l=b[4]+".options.onlyDomains"))&&p(e,"for",l);const y={};k&16&&(y.id=b[4]+".options.onlyDomains"),k&1&&(y.disabled=!z.isEmpty(b[0].exceptDomains)),!a&&k&1&&(a=!0,y.value=b[0].onlyDomains,ke(()=>a=!1)),r.$set(y)},i(b){c||(A(r.$$.fragment,b),c=!0)},o(b){I(r.$$.fragment,b),c=!1},d(b){b&&w(e),b&&w(o),j(r,b),b&&w(u),b&&w(f),d=!1,m()}}}function gT(n){let e,t,i,s,l,o,r;return i=new me({props:{class:"form-field",name:"schema."+n[1]+".options.exceptDomains",$$slots:{default:[mT,({uniqueId:a})=>({4:a}),({uniqueId:a})=>a?16:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field",name:"schema."+n[1]+".options.onlyDomains",$$slots:{default:[hT,({uniqueId:a})=>({4:a}),({uniqueId:a})=>a?16:0]},$$scope:{ctx:n}}}),{c(){e=v("div"),t=v("div"),H(i.$$.fragment),s=O(),l=v("div"),H(o.$$.fragment),p(t,"class","col-sm-6"),p(l,"class","col-sm-6"),p(e,"class","grid")},m(a,u){S(a,e,u),_(e,t),q(i,t,null),_(e,s),_(e,l),q(o,l,null),r=!0},p(a,[u]){const f={};u&2&&(f.name="schema."+a[1]+".options.exceptDomains"),u&49&&(f.$$scope={dirty:u,ctx:a}),i.$set(f);const c={};u&2&&(c.name="schema."+a[1]+".options.onlyDomains"),u&49&&(c.$$scope={dirty:u,ctx:a}),o.$set(c)},i(a){r||(A(i.$$.fragment,a),A(o.$$.fragment,a),r=!0)},o(a){I(i.$$.fragment,a),I(o.$$.fragment,a),r=!1},d(a){a&&w(e),j(i),j(o)}}}function _T(n,e,t){let{key:i=""}=e,{options:s={}}=e;function l(r){n.$$.not_equal(s.exceptDomains,r)&&(s.exceptDomains=r,t(0,s))}function o(r){n.$$.not_equal(s.onlyDomains,r)&&(s.onlyDomains=r,t(0,s))}return n.$$set=r=>{"key"in r&&t(1,i=r.key),"options"in r&&t(0,s=r.options)},[s,i,l,o]}class Cb extends ye{constructor(e){super(),ve(this,e,_T,gT,he,{key:1,options:0})}}function bT(n){let e,t,i,s;function l(a){n[2](a)}function o(a){n[3](a)}let r={};return n[0]!==void 0&&(r.key=n[0]),n[1]!==void 0&&(r.options=n[1]),e=new Cb({props:r}),ie.push(()=>ge(e,"key",l)),ie.push(()=>ge(e,"options",o)),{c(){H(e.$$.fragment)},m(a,u){q(e,a,u),s=!0},p(a,[u]){const f={};!t&&u&1&&(t=!0,f.key=a[0],ke(()=>t=!1)),!i&&u&2&&(i=!0,f.options=a[1],ke(()=>i=!1)),e.$set(f)},i(a){s||(A(e.$$.fragment,a),s=!0)},o(a){I(e.$$.fragment,a),s=!1},d(a){j(e,a)}}}function vT(n,e,t){let{key:i=""}=e,{options:s={}}=e;function l(r){i=r,t(0,i)}function o(r){s=r,t(1,s)}return n.$$set=r=>{"key"in r&&t(0,i=r.key),"options"in r&&t(1,s=r.options)},[i,s,l,o]}class yT extends ye{constructor(e){super(),ve(this,e,vT,bT,he,{key:0,options:1})}}function kT(n,e,t){let{key:i=""}=e,{options:s={}}=e;return n.$$set=l=>{"key"in l&&t(0,i=l.key),"options"in l&&t(1,s=l.options)},[i,s]}class wT extends ye{constructor(e){super(),ve(this,e,kT,null,he,{key:0,options:1})}}var Sr=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],ks={_disable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:"F j, Y",altInput:!1,altInputClass:"form-control input",animate:typeof window=="object"&&window.navigator.userAgent.indexOf("MSIE")===-1,ariaDateFormat:"F j, Y",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:", ",dateFormat:"Y-m-d",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enableSeconds:!1,enableTime:!1,errorHandler:function(n){return typeof console<"u"&&console.warn(n)},getWeek:function(n){var e=new Date(n.getTime());e.setHours(0,0,0,0),e.setDate(e.getDate()+3-(e.getDay()+6)%7);var t=new Date(e.getFullYear(),0,4);return 1+Math.round(((e.getTime()-t.getTime())/864e5-3+(t.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:"default",minuteIncrement:5,mode:"single",monthSelectorType:"dropdown",nextArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},_l={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(n){var e=n%10
Line truncated
|
||||||
|
<span class='flatpickr-weekday'>
|
||||||
|
`+U.join("</span><span class='flatpickr-weekday'>")+`
|
||||||
|
</span>
|
||||||
|
`}}function re(){t.calendarContainer.classList.add("hasWeeks");var V=st("div","flatpickr-weekwrapper");V.appendChild(st("span","flatpickr-weekday",t.l10n.weekAbbreviation));var U=st("div","flatpickr-weeks");return V.appendChild(U),{weekWrapper:V,weekNumbers:U}}function J(V,U){U===void 0&&(U=!0);var x=U?V:V-t.currentMonth;x<0&&t._hidePrevMonthArrow===!0||x>0&&t._hideNextMonthArrow===!0||(t.currentMonth+=x,(t.currentMonth<0||t.currentMonth>11)&&(t.currentYear+=t.currentMonth>11?1:-1,t.currentMonth=(t.currentMonth+12)%12,Ze("onYearChange"),R()),F(),Ze("onMonthChange"),Li())}function de(V,U){if(V===void 0&&(V=!0),U===void 0&&(U=!0),t.input.value="",t.altInput!==void 0&&(t.altInput.value=""),t.mobileInput!==void 0&&(t.mobileInput.value=""),t.selectedDates=[],t.latestSelectedDateObj=void 0,U===!0&&(t.currentYear=t._initialDate.getFullYear(),t.currentMonth=t._initialDate.getMonth()),t.config.enableTime===!0){var x=Mr(t.config),oe=x.hours,Te=x.minutes,Oe=x.seconds;m(oe,Te,Oe)}t.redraw(),V&&Ze("onChange")}function _e(){t.isOpen=!1,t.isMobile||(t.calendarContainer!==void 0&&t.calendarContainer.classList.remove("open"),t._input!==void 0&&t._input.classList.remove("active")),Ze("onClose")}function $e(){t.config!==void 0&&Ze("onDestroy");for(var V=t._handlers.length;V--;)t._handlers[V].remove();if(t._handlers=[],t.mobileInput)t.mobileInput.parentNode&&t.mobileInput.parentNode.removeChild(t.mobileInput),t.mobileInput=void 0;else if(t.calendarContainer&&t.calendarContainer.parentNode)if(t.config.static&&t.calendarContainer.parentNode){var U=t.calendarContainer.parentNode;if(U.lastChild&&U.removeChild(U.lastChild),U.parentNode){for(;U.firstChild;)U.parentNode.insertBefore(U.firstChild,U);U.parentNode.removeChild(U)}}else t.calendarContainer.parentNode.removeChild(t.calendarContainer);t.altInput&&(t.input.type="text",t.altInput.parentNode&&t.altInput.parentNode.removeChild(t.altInput),delete t.altInput),t.input&&(t.input.type=t.input._type,t.input.classList.remove("flatpickr-input"),t.input.removeAttribute("readonly")),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(function(x){try{delete t[x]}catch{}})}function Ne(V){return t.calendarContainer.contains(V)}function Re(V){if(t.isOpen&&!t.config.inline){var U=gn(V),x=Ne(U),oe=U===t.input||U===t.altInput||t.element.contains(U)||V.path&&V.path.indexOf&&(~V.path.indexOf(t.input)||~V.path.indexOf(t.altInput)),Te=!oe&&!x&&!Ne(V.relatedTarget),Oe=!t.config.ignoredFocusElements.some(function(Ee){return Ee.contains(U)});Te&&Oe&&(t.config.allowInput&&t.setDate(t._input.value,!1,t.config.altInput?t.config.altFormat:t.config.dateFormat),t.timeContainer!==void 0&&t.minuteElement!==void 0&&t.hourElement!==void 0&&t.input.value!==""&&t.input.value!==void 0&&a(),t.close(),t.config&&t.config.mode==="range"&&t.selectedDates.length===1&&t.clear(!1))}}function be(V){if(!(!V||t.config.minDate&&V<t.config.minDate.getFullYear()||t.config.maxDate&&V>t.config.maxDate.getFullYear())){var U=V,x=t.currentYear!==U;t.currentYear=U||t.currentYear,t.config.maxDate&&t.currentYear===t.config.maxDate.getFullYear()?t.currentMonth=Math.min(t.config.maxDate.getMonth(),t.currentMonth):t.config.minDate&&t.currentYear===t.config.minDate.getFullYear()&&(t.currentMonth=Math.max(t.config.minDate.getMonth(),t.currentMonth)),x&&(t.redraw(),Ze("onYearChange"),R())}}function Se(V,U){var x;U===void 0&&(U=!0);var oe=t.parseDate(V,void 0,U);if(t.config.minDate&&oe&&_n(oe,t.config.minDate,U!==void 0?U:!t.minDateHasTime)<0||t.config.maxDate&&oe&&_n(oe,t.config.maxDate,U!==void 0?U:!t.maxDateHasTime)>0)return!1;if(!t.config.enable&&t.config.disable.length===0)return!0;if(oe===void 0)return!1;for(var Te=!!t.config.enable,Oe=(x=t.config.enable)!==null&&x!==void 0?x:t.config.disable,Ee=0,Ce=void 0;Ee<Oe.length;Ee++){if(Ce=Oe[Ee],typeof Ce=="function"&&Ce(oe))return Te;if(Ce instanceof Date&&oe!==void 0&&Ce.getTime()===oe.getTime())return Te;if(typeof Ce=="string"){var Ue=t.parseDate(Ce,void 0,!0);return Ue&&Ue.getTime()===oe.getTime()?Te:!Te}else if(typeof Ce=="object"&&oe!==void 0&&Ce.from&&Ce.to&&oe.getTime()>=Ce.from.getTime()&&oe.getTime()<=Ce.to.getTime())return Te}return!Te}function We(V){return t.daysContainer!==void 0?V.className.indexOf("hidden")===-1&&V.className.indexOf("flatpickr-disabled")===-1&&t.daysContainer.contains(V):!1}function lt(V){var U=V.target===t._input,x=t._input.value.trimEnd()!==Ni();U&&x&&!(V.relatedTarget&&Ne(V.relatedTarget))&&t.setDate(t._input.value,!0,V.target===t.altInput?t.config.altFormat:t.config.dateFormat)}function fe(V){var U=
Line truncated
|
||||||
|
`),r=v("code"),r.textContent="multipart/form-data",a=B(`
|
||||||
|
requests, the following normalization rules are applied if the `),u=v("code"),u.textContent="json",f=B(` field is a
|
||||||
|
`),c=v("strong"),c.textContent="plain string",d=B(`:
|
||||||
|
`),m=v("ul"),h=v("li"),h.innerHTML=""true" is converted to the json <code>true</code>",g=O(),b=v("li"),b.innerHTML=""false" is converted to the json <code>false</code>",k=O(),y=v("li"),y.innerHTML=""null" is converted to the json <code>null</code>",T=O(),$=v("li"),$.innerHTML=""[1,2,3]" is converted to the json <code>[1,2,3]</code>",M=O(),C=v("li"),E=B(D),P=B(" is converted to the json "),L=v("code"),L.textContent='{"a":1,"b":2}',N=O(),F=v("li"),F.textContent="numeric strings are converted to json number",R=O(),X=v("li"),X.textContent="double quoted strings are left as they are (aka. without normalizations)",se=O(),W=v("li"),W.textContent="any other string (empty string too) is double quoted",G=B(`
|
||||||
|
Alternatively, if you want to avoid the string value normalizations, you can wrap your data inside
|
||||||
|
an object, eg.`),te=v("code"),te.textContent='{"data": anything}',p(i,"class","content"),p(t,"class","alert alert-warning m-b-0 m-t-10"),p(e,"class","block")},m(J,de){S(J,e,de),_(e,t),_(t,i),_(i,s),_(i,l),_(i,o),_(i,r),_(i,a),_(i,u),_(i,f),_(i,c),_(i,d),_(i,m),_(m,h),_(m,g),_(m,b),_(m,k),_(m,y),_(m,T),_(m,$),_(m,M),_(m,C),_(C,E),_(C,P),_(C,L),_(m,N),_(m,F),_(m,R),_(m,X),_(m,se),_(m,W),_(i,G),_(i,te),re=!0},i(J){re||(J&&xe(()=>{K||(K=je(e,At,{duration:150},!0)),K.run(1)}),re=!0)},o(J){J&&(K||(K=je(e,At,{duration:150},!1)),K.run(0)),re=!1},d(J){J&&w(e),J&&K&&K.end()}}}function WT(n){let e,t,i,s,l,o,r;function a(d,m){return d[0]?UT:BT}let u=a(n),f=u(n),c=n[0]&&Gc();return{c(){e=v("button"),t=v("strong"),t.textContent="String value normalizations",i=O(),f.c(),s=O(),c&&c.c(),l=Me(),p(t,"class","txt"),p(e,"type","button"),p(e,"class","inline-flex txt-sm flex-gap-5 link-hint")},m(d,m){S(d,e,m),_(e,t),_(e,i),f.m(e,null),S(d,s,m),c&&c.m(d,m),S(d,l,m),o||(r=Y(e,"click",n[3]),o=!0)},p(d,[m]){u!==(u=a(d))&&(f.d(1),f=u(d),f&&(f.c(),f.m(e,null))),d[0]?c?m&1&&A(c,1):(c=Gc(),c.c(),A(c,1),c.m(l.parentNode,l)):c&&(ae(),I(c,1,1,()=>{c=null}),ue())},i(d){A(c)},o(d){I(c)},d(d){d&&w(e),f.d(),d&&w(s),c&&c.d(d),d&&w(l),o=!1,r()}}}function YT(n,e,t){const i="",s={};let l=!1;return[l,i,s,()=>{t(0,l=!l)}]}class KT extends ye{constructor(e){super(),ve(this,e,YT,WT,he,{key:1,options:2})}get key(){return this.$$.ctx[1]}get options(){return this.$$.ctx[2]}}function JT(n){let e,t=(n[0].ext||"N/A")+"",i,s,l,o=n[0].mimeType+"",r;return{c(){e=v("span"),i=B(t),s=O(),l=v("small"),r=B(o),p(e,"class","txt"),p(l,"class","txt-hint")},m(a,u){S(a,e,u),_(e,i),S(a,s,u),S(a,l,u),_(l,r)},p(a,[u]){u&1&&t!==(t=(a[0].ext||"N/A")+"")&&le(i,t),u&1&&o!==(o=a[0].mimeType+"")&&le(r,o)},i:Z,o:Z,d(a){a&&w(e),a&&w(s),a&&w(l)}}}function ZT(n,e,t){let{item:i={}}=e;return n.$$set=s=>{"item"in s&&t(0,i=s.item)},[i]}class Xc extends ye{constructor(e){super(),ve(this,e,ZT,JT,he,{item:0})}}const GT=[{ext:".xpm",mimeType:"image/x-xpixmap"},{ext:".7z",mimeType:"application/x-7z-compressed"},{ext:".zip",mimeType:"application/zip"},{ext:".xlsx",mimeType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},{ext:".docx",mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},{ext:".pptx",mimeType:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},{ext:".epub",mimeType:"application/epub+zip"},{ext:".jar",mimeType:"application/jar"},{ext:".odt",mimeType:"application/vnd.oasis.opendocument.text"},{ext:".ott",mimeType:"application/vnd.oasis.opendocument.text-template"},{ext:".ods",mimeType:"application/vnd.oasis.opendocument.spreadsheet"},{ext:".ots",mimeType:"application/vnd.oasis.opendocument.spreadsheet-template"},{ext:".odp",mimeType:"application/vnd.oasis.opendocument.presentation"},{ext:".otp",mimeType:"application/vnd.oasis.opendocument.presentation-template"},{ext:".odg",mimeType:"application/vnd.oasis.opendocument.graphics"},{ext:".otg",mimeType:"application/vnd.oasis.opendocument.graphics-template"},{ext:".odf",mimeType:"application/vnd.oasis.opendocument.formula"},{ext:".odc",mimeType:"application/vnd.oasis.opendocument.chart"},{ext:".sxc",mimeType:"application/vnd.sun.xml.calc"},{ext:".pdf",mimeType:"application/pdf"},{ext:".fdf",mimeType:"application/vnd.fdf"},{ext:"",mimeType:"application/x-ole-storage"},{ext:".msi",mimeType:"application/x-ms-installer"},{ext:".aaf",mimeType:"application/octet-stream"},{ext:".msg",mimeType:"application/vnd.ms-outlook"},{ext:".xls",mimeType:"application/vnd.ms-excel"},{ext:".pub",mimeType:"application/vnd.ms-publisher"},{ext:".ppt",mimeType:"application/vnd.ms-powerpoint"},{ext:".doc",mimeType:"application/msword"},{ext:".ps",mimeType:"application/postscript"},{ext:".psd",mimeType:"image/vnd.adobe.photoshop"},{ext:".p7s",mimeType:"application/pkcs7-signature"},{ext:".ogg",mimeType:"application/ogg"},{ext:".oga",mimeType:"audio/ogg"},{ext:".ogv",mimeType:"video/ogg"},{ext:".png",mimeType:"image/png"},{ext:".png",mimeType:"image/vnd.mozilla.apng"},{ext:".jpg",mimeType:"image/jpeg"},{ext:".jxl",mimeType:"image/jxl"},{ext:".jp2",mimeType:"image/jp2"},{ext:".jpf",mimeType:"image/jpx"},{ext:".jpm",mimeType:"image/jpm"},{ext:".jxs",mimeType:"image/jxs"},{ext:".gif",mimeType:"image/gif"},{ext:".webp",mimeType:"image/webp"},{ext:".exe",mimeType:"application/vnd.microsoft.portable-executable"},{ext:"",mimeType:"application/x-elf"},{ext:"",mimeType:"application/x-object"},{ext:"",mimeType:"application/x-executable"},{ext:".so",mimeType:"application/x-sharedlib"},{ext:"",mimeType:"application/x-coredump"},{ext:".a",mimeType:"application/x-archive"},{ext:".deb",mimeType:"application/vnd.debian.binary-package"},{ext:".tar",mimeType:"application/x-tar"},{ext:".xar",mimeType:"application/x-xar"},{ext:".bz2",mimeType:"application/x-bzip2"},{ext:".fits",mimeType:"application/fits"},{ext:".tiff",mimeType:"image/tiff"},{ext:".bmp",mimeType:"image/bmp"},{ext:".ico",mime
Line truncated
|
||||||
|
Leave empty for no restriction.`,position:"top"})),y=!0)},p(C,D){(!k||D&4096&&l!==(l=C[12]))&&p(e,"for",l);const E={};D&4096&&(E.id=C[12]),D&4&&(E.items=C[2]),!a&&D&1&&(a=!0,E.keyOfSelected=C[0].mimeTypes,ke(()=>a=!1)),r.$set(E);const P={};D&8193&&(P.$$scope={dirty:D,ctx:C}),b.$set(P)},i(C){k||(A(r.$$.fragment,C),A(b.$$.fragment,C),k=!0)},o(C){I(r.$$.fragment,C),I(b.$$.fragment,C),k=!1},d(C){C&&w(e),C&&w(o),j(r,C),C&&w(u),C&&w(f),j(b),y=!1,T()}}}function t$(n){let e;return{c(){e=v("ul"),e.innerHTML=`<li><strong>WxH</strong>
|
||||||
|
(eg. 100x50) - crop to WxH viewbox (from center)</li>
|
||||||
|
<li><strong>WxHt</strong>
|
||||||
|
(eg. 100x50t) - crop to WxH viewbox (from top)</li>
|
||||||
|
<li><strong>WxHb</strong>
|
||||||
|
(eg. 100x50b) - crop to WxH viewbox (from bottom)</li>
|
||||||
|
<li><strong>WxHf</strong>
|
||||||
|
(eg. 100x50f) - fit inside a WxH viewbox (without cropping)</li>
|
||||||
|
<li><strong>0xH</strong>
|
||||||
|
(eg. 0x50) - resize to H height preserving the aspect ratio</li>
|
||||||
|
<li><strong>Wx0</strong>
|
||||||
|
(eg. 100x0) - resize to W width preserving the aspect ratio</li>`,p(e,"class","m-0")},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function n$(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,k,y,T,$,M;function C(E){n[10](E)}let D={id:n[12],placeholder:"eg. 50x50, 480x720"};return n[0].thumbs!==void 0&&(D.value=n[0].thumbs),r=new Ns({props:D}),ie.push(()=>ge(r,"value",C)),y=new ei({props:{class:"dropdown dropdown-sm dropdown-center dropdown-nowrap p-r-10",$$slots:{default:[t$]},$$scope:{ctx:n}}}),{c(){e=v("label"),t=v("span"),t.textContent="Thumb sizes",i=O(),s=v("i"),o=O(),H(r.$$.fragment),u=O(),f=v("div"),c=v("span"),c.textContent="Use comma as separator.",d=O(),m=v("button"),h=v("span"),h.textContent="Supported formats",g=O(),b=v("i"),k=O(),H(y.$$.fragment),p(t,"class","txt"),p(s,"class","ri-information-line link-hint"),p(e,"for",l=n[12]),p(c,"class","txt"),p(h,"class","txt link-primary"),p(b,"class","ri-arrow-drop-down-fill"),p(m,"type","button"),p(m,"class","inline-flex flex-gap-0"),p(f,"class","help-block")},m(E,P){S(E,e,P),_(e,t),_(e,i),_(e,s),S(E,o,P),q(r,E,P),S(E,u,P),S(E,f,P),_(f,c),_(f,d),_(f,m),_(m,h),_(m,g),_(m,b),_(m,k),q(y,m,null),T=!0,$||(M=Ie(Be.call(null,s,{text:"List of additional thumb sizes for image files, along with the default thumb size of 100x100. The thumbs are generated lazily on first access.",position:"top"})),$=!0)},p(E,P){(!T||P&4096&&l!==(l=E[12]))&&p(e,"for",l);const L={};P&4096&&(L.id=E[12]),!a&&P&1&&(a=!0,L.value=E[0].thumbs,ke(()=>a=!1)),r.$set(L);const N={};P&8192&&(N.$$scope={dirty:P,ctx:E}),y.$set(N)},i(E){T||(A(r.$$.fragment,E),A(y.$$.fragment,E),T=!0)},o(E){I(r.$$.fragment,E),I(y.$$.fragment,E),T=!1},d(E){E&&w(e),E&&w(o),j(r,E),E&&w(u),E&&w(f),j(y),$=!1,M()}}}function i$(n){let e,t,i,s,l,o,r,a,u,f,c,d,m;return i=new me({props:{class:"form-field required",name:"schema."+n[1]+".options.maxSize",$$slots:{default:[XT,({uniqueId:h})=>({12:h}),({uniqueId:h})=>h?4096:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field required",name:"schema."+n[1]+".options.maxSelect",$$slots:{default:[QT,({uniqueId:h})=>({12:h}),({uniqueId:h})=>h?4096:0]},$$scope:{ctx:n}}}),u=new me({props:{class:"form-field",name:"schema."+n[1]+".options.mimeTypes",$$slots:{default:[e$,({uniqueId:h})=>({12:h}),({uniqueId:h})=>h?4096:0]},$$scope:{ctx:n}}}),d=new me({props:{class:"form-field",name:"schema."+n[1]+".options.thumbs",$$slots:{default:[n$,({uniqueId:h})=>({12:h}),({uniqueId:h})=>h?4096:0]},$$scope:{ctx:n}}}),{c(){e=v("div"),t=v("div"),H(i.$$.fragment),s=O(),l=v("div"),H(o.$$.fragment),r=O(),a=v("div"),H(u.$$.fragment),f=O(),c=v("div"),H(d.$$.fragment),p(t,"class","col-sm-6"),p(l,"class","col-sm-6"),p(a,"class","col-sm-12"),p(c,"class","col-sm-12"),p(e,"class","grid")},m(h,g){S(h,e,g),_(e,t),q(i,t,null),_(e,s),_(e,l),q(o,l,null),_(e,r),_(e,a),q(u,a,null),_(e,f),_(e,c),q(d,c,null),m=!0},p(h,[g]){const b={};g&2&&(b.name="schema."+h[1]+".options.maxSize"),g&12289&&(b.$$scope={dirty:g,ctx:h}),i.$set(b);const k={};g&2&&(k.name="schema."+h[1]+".options.maxSelect"),g&12289&&(k.$$scope={dirty:g,ctx:h}),o.$set(k);const y={};g&2&&(y.name="schema."+h[1]+".options.mimeTypes"),g&12293&&(y.$$scope={dirty:g,ctx:h}),u.$set(y);const T={};g&2&&(T.name="schema."+h[1]+".options.thumbs"),g&12289&&(T.$$scope={dirty:g,ctx:h}),d.$set(T)},i(h){m||(A(i.$$.fragment,h),A(o.$$.fragment,h),A(u.$$.fragment,h),A(d.$$.fragment,h),m=!0)},o(h){I(i.$$.fragment,h),I(o.$$.fragment,h),I(u.$$.fragment,h),I(d.$$.fragment,h),m=!1},d(h){h&&w(e),j(i),j(o),j(u),j(d)}}}function s$(n,e,t){let{key:i=""}=e,{options:s={}}=e,l=GT.slice();function o(){if(z.isEmpty(s.mimeTypes))return;const g=[];for(const b of s.mimeTypes)l.find(k=>k.mimeType===b)||g.push({mimeType:b});g.length&&t(2,l=l.concat(g))}function r(){s.maxSize=ht(this.value),t(0,s)}function a(){s.maxSelect=ht(this.value),t(0,s)}function u(g){n.$$.not_equal(s.mimeTypes,g)&&(s.mimeTypes=g,t(0,s))}const f=()=>{t(0,s.mimeTypes=["image/jpeg","image/png","image/svg+xml","image/gif","image/webp"],s)},c=()=>{t(0,s.mimeTypes=["application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],s)},d=()=>{t(0,s.mimeTypes=["video/mp4","video/x-ms-wmv","video/quicktime","video/3gpp"],s)},m=()=>{t(0,s.mimeTypes=["application/zip","application/x-7z-compressed","application/x-rar-compressed"],s)};function h(g){n.$$.not_equal(s.thumbs,g)&&(s.thumbs=g,t(0,s))}return n.$$set=g=>{"key"in g&&t(1,i=g.key),"options"in g&&t(0,s=g.options)},n.$$.update=()=>{n.$$.dirty&1&&(z.isEmpty(s)?t(0,s={maxSelect:1,maxSize:5242880,thumbs:[],mimeTypes:[]}):o())},[s,i,l,r,a,u,f,c,d,m,h]}class l$ extends ye{constructor(e){super(),ve(this,e,s$,i$,he,{key:1,options:0})}}function o$(n){let e,t,i,s,l;return{c(){e=v("hr"),t=O(),i=v("button"),i.innerHTML=`<i class="ri-add-line"></i>
|
||||||
|
<span class="txt">New collection</span>`,p(i,"type","button"),p(i,"class","btn btn-transparent btn-block btn-sm")},m(o,r){S(o,e,r),S(o,t,r),S(o,i,r),s||(l=Y(i,"click",n[7]),s=!0)},p:Z,d(o){o&&w(e),o&&w(t),o&&w(i),s=!1,l()}}}function r$(n){let e,t,i,s,l,o,r;function a(f){n[8](f)}let u={searchable:n[2].length>5,selectPlaceholder:"Select collection",noOptionsText:"No collections found",selectionKey:"id",items:n[2],$$slots:{afterOptions:[o$]},$$scope:{ctx:n}};return n[0].collectionId!==void 0&&(u.keyOfSelected=n[0].collectionId),l=new Ls({props:u}),ie.push(()=>ge(l,"keyOfSelected",a)),{c(){e=v("label"),t=B("Collection"),s=O(),H(l.$$.fragment),p(e,"for",i=n[18])},m(f,c){S(f,e,c),_(e,t),S(f,s,c),q(l,f,c),r=!0},p(f,c){(!r||c&262144&&i!==(i=f[18]))&&p(e,"for",i);const d={};c&4&&(d.searchable=f[2].length>5),c&4&&(d.items=f[2]),c&524296&&(d.$$scope={dirty:c,ctx:f}),!o&&c&1&&(o=!0,d.keyOfSelected=f[0].collectionId,ke(()=>o=!1)),l.$set(d)},i(f){r||(A(l.$$.fragment,f),r=!0)},o(f){I(l.$$.fragment,f),r=!1},d(f){f&&w(e),f&&w(s),j(l,f)}}}function a$(n){let e,t,i,s,l,o,r,a,u,f;return{c(){e=v("label"),t=v("span"),t.textContent="Max select",i=O(),s=v("i"),o=O(),r=v("input"),p(t,"class","txt"),p(s,"class","ri-information-line link-hint"),p(e,"for",l=n[18]),p(r,"type","number"),p(r,"id",a=n[18]),p(r,"step","1"),p(r,"min","1")},m(c,d){S(c,e,d),_(e,t),_(e,i),_(e,s),S(c,o,d),S(c,r,d),ce(r,n[0].maxSelect),u||(f=[Ie(Be.call(null,s,{text:"Leave empty for no limit.",position:"top"})),Y(r,"input",n[9])],u=!0)},p(c,d){d&262144&&l!==(l=c[18])&&p(e,"for",l),d&262144&&a!==(a=c[18])&&p(r,"id",a),d&1&&ht(r.value)!==c[0].maxSelect&&ce(r,c[0].maxSelect)},d(c){c&&w(e),c&&w(o),c&&w(r),u=!1,Pe(f)}}}function u$(n){let e,t,i,s,l,o,r,a,u,f,c;function d(h){n[10](h)}let m={multiple:!0,searchable:!0,id:n[18],selectPlaceholder:"Auto",items:n[4]};return n[0].displayFields!==void 0&&(m.selected=n[0].displayFields),r=new xa({props:m}),ie.push(()=>ge(r,"selected",d)),{c(){e=v("label"),t=v("span"),t.textContent="Display fields",i=O(),s=v("i"),o=O(),H(r.$$.fragment),p(t,"class","txt"),p(s,"class","ri-information-line link-hint"),p(e,"for",l=n[18])},m(h,g){S(h,e,g),_(e,t),_(e,i),_(e,s),S(h,o,g),q(r,h,g),u=!0,f||(c=Ie(Be.call(null,s,{text:"Optionally select the field(s) that will be used in the listings UI. Leave empty for auto.",position:"top"})),f=!0)},p(h,g){(!u||g&262144&&l!==(l=h[18]))&&p(e,"for",l);const b={};g&262144&&(b.id=h[18]),g&16&&(b.items=h[4]),!a&&g&1&&(a=!0,b.selected=h[0].displayFields,ke(()=>a=!1)),r.$set(b)},i(h){u||(A(r.$$.fragment,h),u=!0)},o(h){I(r.$$.fragment,h),u=!1},d(h){h&&w(e),h&&w(o),j(r,h),f=!1,c()}}}function f$(n){let e,t,i,s,l,o,r;function a(f){n[11](f)}let u={id:n[18],items:n[5]};return n[0].cascadeDelete!==void 0&&(u.keyOfSelected=n[0].cascadeDelete),l=new Ls({props:u}),ie.push(()=>ge(l,"keyOfSelected",a)),{c(){e=v("label"),t=B("Cascade delete"),s=O(),H(l.$$.fragment),p(e,"for",i=n[18])},m(f,c){S(f,e,c),_(e,t),S(f,s,c),q(l,f,c),r=!0},p(f,c){(!r||c&262144&&i!==(i=f[18]))&&p(e,"for",i);const d={};c&262144&&(d.id=f[18]),!o&&c&1&&(o=!0,d.keyOfSelected=f[0].cascadeDelete,ke(()=>o=!1)),l.$set(d)},i(f){r||(A(l.$$.fragment,f),r=!0)},o(f){I(l.$$.fragment,f),r=!1},d(f){f&&w(e),f&&w(s),j(l,f)}}}function c$(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g;i=new me({props:{class:"form-field required",name:"schema."+n[1]+".options.collectionId",$$slots:{default:[r$,({uniqueId:k})=>({18:k}),({uniqueId:k})=>k?262144:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field",name:"schema."+n[1]+".options.maxSelect",$$slots:{default:[a$,({uniqueId:k})=>({18:k}),({uniqueId:k})=>k?262144:0]},$$scope:{ctx:n}}}),u=new me({props:{class:"form-field",name:"schema."+n[1]+".options.displayFields",$$slots:{default:[u$,({uniqueId:k})=>({18:k}),({uniqueId:k})=>k?262144:0]},$$scope:{ctx:n}}}),d=new me({props:{class:"form-field",name:"schema."+n[1]+".options.cascadeDelete",$$slots:{default:[f$,({uniqueId:k})=>({18:k}),({uniqueId:k})=>k?262144:0]},$$scope:{ctx:n}}});let b={};return h=new tu({props:b}),n[12](h),h.$on("save",n[13]),{c(){e=v("div"),t=v("div"),H(i.$$.fragment),s=O(),l=v("div"),H(o.$$.fragment),r=O(),a=v("div"),H(u.$$.fragment),f=O(),c=v("div"),H(d.$$.fragment),m=O(),H(h.$$.fragment),p(t,"class","col-sm-9"),p(l,"class","col-sm-3"),p(a,"class","col-sm-9"),p(c,"class","col-sm-3"),p(e,"class","grid")},m(k,y){S(k,e,y),_(e,t),q(i,t,null),_(e,s),_(e,l),q(o,l,null),_(e,r),_(e,a),q(u,a,null),_(e,f),_(e,c),q(d,c,null),S(k,m,y),q(h,k,y),g=!0},p(k,[y]){const T={};y&2&&(T.name="schema."+k[1]+".options.collectionId"),y&786445&&(T.$$scope={dirty:y,ctx:k}),i.$set(T);const $={};y&2&&($.name="schema."+k[1]+".options.maxSelect"),y&786433&&($.$$scope={dirty:y,ctx:k}),o.$set($);const M={};y&2&&(M.name="schema."+k[1]+".options.displayFields"),y&786449&&(M.$$scope={dirty:y,ctx:k}),u.$set(M);const C={};y&2&&(C.name="schema."+k[1]+".options.cascadeDelete"),y&786433&&(C.$$scope={dirty:y,ctx:k}),d.$set(C);const D={};h.$set(D)},i(k){g||(A(i.$$.fragment,k),A(o.$$.fLine truncated
|
||||||
|
(aka. not ${z.zeroDefaultStr(n[0])}).`,position:"right"}))],d=!0)},p(h,g){g[1]&4096&&t!==(t=h[43])&&p(e,"id",t),g[0]&1&&(e.checked=h[0].required),g[0]&1&&o!==(o=gs(h[0])+"")&&le(r,o),f&&Bt(f.update)&&g[0]&1&&f.update.call(null,{text:`Requires the field value to be ${gs(h[0])}
|
||||||
|
(aka. not ${z.zeroDefaultStr(h[0])}).`,position:"right"}),g[1]&4096&&c!==(c=h[43])&&p(s,"for",c)},d(h){h&&w(e),h&&w(i),h&&w(s),d=!1,Pe(m)}}}function xc(n){let e,t;return e=new me({props:{class:"form-field form-field-toggle m-0",name:"unique",$$slots:{default:[D$,({uniqueId:i})=>({43:i}),({uniqueId:i})=>[0,i?4096:0]]},$$scope:{ctx:n}}}),{c(){H(e.$$.fragment)},m(i,s){q(e,i,s),t=!0},p(i,s){const l={};s[0]&1|s[1]&12288&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){j(e,i)}}}function D$(n){let e,t,i,s,l,o,r,a;return{c(){e=v("input"),i=O(),s=v("label"),l=B("Unique"),p(e,"type","checkbox"),p(e,"id",t=n[43]),p(s,"for",o=n[43])},m(u,f){S(u,e,f),e.checked=n[0].unique,S(u,i,f),S(u,s,f),_(s,l),r||(a=Y(e,"change",n[31]),r=!0)},p(u,f){f[1]&4096&&t!==(t=u[43])&&p(e,"id",t),f[0]&1&&(e.checked=u[0].unique),f[1]&4096&&o!==(o=u[43])&&p(s,"for",o)},d(u){u&&w(e),u&&w(i),u&&w(s),r=!1,a()}}}function ed(n){let e,t,i,s,l,o,r,a,u,f;a=new ei({props:{class:"dropdown dropdown-sm dropdown-upside dropdown-right dropdown-nowrap no-min-width",$$slots:{default:[O$]},$$scope:{ctx:n}}});let c=n[8]&&td(n);return{c(){e=v("div"),t=v("div"),i=O(),s=v("div"),l=v("button"),o=v("i"),r=O(),H(a.$$.fragment),u=O(),c&&c.c(),p(t,"class","flex-fill"),p(o,"class","ri-more-line"),p(l,"type","button"),p(l,"aria-label","More"),p(l,"class","btn btn-circle btn-sm btn-transparent"),p(s,"class","inline-flex flex-gap-sm flex-nowrap"),p(e,"class","col-sm-4 txt-right")},m(d,m){S(d,e,m),_(e,t),_(e,i),_(e,s),_(s,l),_(l,o),_(l,r),q(a,l,null),_(s,u),c&&c.m(s,null),f=!0},p(d,m){const h={};m[1]&8192&&(h.$$scope={dirty:m,ctx:d}),a.$set(h),d[8]?c?c.p(d,m):(c=td(d),c.c(),c.m(s,null)):c&&(c.d(1),c=null)},i(d){f||(A(a.$$.fragment,d),f=!0)},o(d){I(a.$$.fragment,d),f=!1},d(d){d&&w(e),j(a),c&&c.d()}}}function O$(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Remove</span>',p(e,"type","button"),p(e,"class","dropdown-item txt-right")},m(s,l){S(s,e,l),t||(i=Y(e,"click",n[9]),t=!0)},p:Z,d(s){s&&w(e),t=!1,i()}}}function td(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Done</span>',p(e,"type","button"),p(e,"class","btn btn-sm btn-outline btn-expanded-sm")},m(s,l){S(s,e,l),t||(i=Y(e,"click",kn(n[3])),t=!0)},p:Z,d(s){s&&w(e),t=!1,i()}}}function E$(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,k,y,T,$,M,C;s=new me({props:{class:"form-field required "+(n[0].id?"readonly":""),name:"schema."+n[1]+".type",$$slots:{default:[m$,({uniqueId:F})=>({43:F}),({uniqueId:F})=>[0,F?4096:0]]},$$scope:{ctx:n}}}),r=new me({props:{class:`
|
||||||
|
form-field
|
||||||
|
required
|
||||||
|
`+(n[5]?"":"invalid")+`
|
||||||
|
`+(n[0].id&&n[0].system?"disabled":"")+`
|
||||||
|
`,name:"schema."+n[1]+".name",$$slots:{default:[h$,({uniqueId:F})=>({43:F}),({uniqueId:F})=>[0,F?4096:0]]},$$scope:{ctx:n}}});const D=[C$,$$,T$,S$,w$,k$,y$,v$,b$,_$,g$],E=[];function P(F,R){return F[0].type==="text"?0:F[0].type==="number"?1:F[0].type==="bool"?2:F[0].type==="email"?3:F[0].type==="url"?4:F[0].type==="editor"?5:F[0].type==="date"?6:F[0].type==="select"?7:F[0].type==="json"?8:F[0].type==="file"?9:F[0].type==="relation"?10:-1}~(f=P(n))&&(c=E[f]=D[f](n)),h=new me({props:{class:"form-field form-field-toggle m-0",name:"requried",$$slots:{default:[M$,({uniqueId:F})=>({43:F}),({uniqueId:F})=>[0,F?4096:0]]},$$scope:{ctx:n}}});let L=n[0].type!=="file"&&xc(n),N=!n[0].toDelete&&ed(n);return{c(){e=v("form"),t=v("div"),i=v("div"),H(s.$$.fragment),l=O(),o=v("div"),H(r.$$.fragment),a=O(),u=v("div"),c&&c.c(),d=O(),m=v("div"),H(h.$$.fragment),g=O(),b=v("div"),L&&L.c(),k=O(),N&&N.c(),y=O(),T=v("input"),p(i,"class","col-sm-6"),p(o,"class","col-sm-6"),p(u,"class","col-sm-12 hidden-empty"),p(m,"class","col-sm-4 flex"),p(b,"class","col-sm-4 flex"),p(t,"class","grid"),p(T,"type","submit"),p(T,"class","hidden"),p(T,"tabindex","-1"),p(e,"class","field-form")},m(F,R){S(F,e,R),_(e,t),_(t,i),q(s,i,null),_(t,l),_(t,o),q(r,o,null),_(t,a),_(t,u),~f&&E[f].m(u,null),_(t,d),_(t,m),q(h,m,null),_(t,g),_(t,b),L&&L.m(b,null),_(t,k),N&&N.m(t,null),_(e,y),_(e,T),$=!0,M||(C=[Y(e,"dragstart",P$),Y(e,"submit",dt(n[32]))],M=!0)},p(F,R){const X={};R[0]&1&&(X.class="form-field required "+(F[0].id?"readonly":"")),R[0]&2&&(X.name="schema."+F[1]+".type"),R[0]&1|R[1]&12288&&(X.$$scope={dirty:R,ctx:F}),s.$set(X);const se={};R[0]&33&&(se.class=`
|
||||||
|
form-field
|
||||||
|
required
|
||||||
|
`+(F[5]?"":"invalid")+`
|
||||||
|
`+(F[0].id&&F[0].system?"disabled":"")+`
|
||||||
|
`),R[0]&2&&(se.name="schema."+F[1]+".name"),R[0]&33|R[1]&12288&&(se.$$scope={dirty:R,ctx:F}),r.$set(se);let W=f;f=P(F),f===W?~f&&E[f].p(F,R):(c&&(ae(),I(E[W],1,1,()=>{E[W]=null}),ue()),~f?(c=E[f],c?c.p(F,R):(c=E[f]=D[f](F),c.c()),A(c,1),c.m(u,null)):c=null);const G={};R[0]&1|R[1]&12288&&(G.$$scope={dirty:R,ctx:F}),h.$set(G),F[0].type!=="file"?L?(L.p(F,R),R[0]&1&&A(L,1)):(L=xc(F),L.c(),A(L,1),L.m(b,null)):L&&(ae(),I(L,1,1,()=>{L=null}),ue()),F[0].toDelete?N&&(ae(),I(N,1,1,()=>{N=null}),ue()):N?(N.p(F,R),R[0]&1&&A(N,1)):(N=ed(F),N.c(),A(N,1),N.m(t,null))},i(F){$||(A(s.$$.fragment,F),A(r.$$.fragment,F),A(c),A(h.$$.fragment,F),A(L),A(N),$=!0)},o(F){I(s.$$.fragment,F),I(r.$$.fragment,F),I(c),I(h.$$.fragment,F),I(L),I(N),$=!1},d(F){F&&w(e),j(s),j(r),~f&&E[f].d(),j(h),L&&L.d(),N&&N.d(),M=!1,Pe(C)}}}function nd(n){let e,t,i,s,l=n[0].system&&id(),o=!n[0].id&&sd(n),r=n[0].required&&ld(n),a=n[0].unique&&od();return{c(){e=v("div"),l&&l.c(),t=O(),o&&o.c(),i=O(),r&&r.c(),s=O(),a&&a.c(),p(e,"class","inline-flex")},m(u,f){S(u,e,f),l&&l.m(e,null),_(e,t),o&&o.m(e,null),_(e,i),r&&r.m(e,null),_(e,s),a&&a.m(e,null)},p(u,f){u[0].system?l||(l=id(),l.c(),l.m(e,t)):l&&(l.d(1),l=null),u[0].id?o&&(o.d(1),o=null):o?o.p(u,f):(o=sd(u),o.c(),o.m(e,i)),u[0].required?r?r.p(u,f):(r=ld(u),r.c(),r.m(e,s)):r&&(r.d(1),r=null),u[0].unique?a||(a=od(),a.c(),a.m(e,null)):a&&(a.d(1),a=null)},d(u){u&&w(e),l&&l.d(),o&&o.d(),r&&r.d(),a&&a.d()}}}function id(n){let e;return{c(){e=v("span"),e.textContent="System",p(e,"class","label label-danger")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function sd(n){let e;return{c(){e=v("span"),e.textContent="New",p(e,"class","label"),Q(e,"label-warning",n[8]&&!n[0].toDelete)},m(t,i){S(t,e,i)},p(t,i){i[0]&257&&Q(e,"label-warning",t[8]&&!t[0].toDelete)},d(t){t&&w(e)}}}function ld(n){let e,t=gs(n[0])+"",i;return{c(){e=v("span"),i=B(t),p(e,"class","label label-success")},m(s,l){S(s,e,l),_(e,i)},p(s,l){l[0]&1&&t!==(t=gs(s[0])+"")&&le(i,t)},d(s){s&&w(e)}}}function od(n){let e;return{c(){e=v("span"),e.textContent="Unique",p(e,"class","label label-success")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function rd(n){let e,t,i,s,l;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){S(o,e,r),i=!0,s||(l=Ie(Be.call(null,e,{text:"Has errors",position:"left"})),s=!0)},i(o){i||(xe(()=>{t||(t=je(e,It,{duration:150,start:.7},!0)),t.run(1)}),i=!0)},o(o){t||(t=je(e,It,{duration:150,start:.7},!1)),t.run(0),i=!1},d(o){o&&w(e),o&&t&&t.end(),s=!1,l()}}}function ad(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Restore</span>',p(e,"type","button"),p(e,"class","btn btn-sm btn-danger btn-transparent")},m(s,l){S(s,e,l),t||(i=Y(e,"click",kn(n[16])),t=!0)},p:Z,d(s){s&&w(e),t=!1,i()}}}function A$(n){let e,t,i,s,l,o,r=(n[0].name||"-")+"",a,u,f,c,d,m,h,g,b,k=!n[0].toDelete&&nd(n),y=n[7]&&!n[0].system&&rd(),T=n[0].toDelete&&ad(n);return{c(){e=v("div"),t=v("span"),i=v("i"),l=O(),o=v("strong"),a=B(r),f=O(),k&&k.c(),c=O(),d=v("div"),m=O(),y&&y.c(),h=O(),T&&T.c(),g=Me(),p(i,"class",s=Si(z.getFieldTypeIcon(n[0].type))+" svelte-1tpxlm5"),p(t,"class","icon field-type"),p(o,"class","title field-name svelte-1tpxlm5"),p(o,"title",u=n[0].name),Q(o,"txt-strikethrough",n[0].toDelete),p(e,"class","inline-flex"),p(d,"class","flex-fill")},m($,M){S($,e,M),_(e,t),_(t,i),_(e,l),_(e,o),_(o,a),S($,f,M),k&&k.m($,M),S($,c,M),S($,d,M),S($,m,M),y&&y.m($,M),S($,h,M),T&&T.m($,M),S($,g,M),b=!0},p($,M){(!b||M[0]&1&&s!==(s=Si(z.getFieldTypeIcon($[0].type))+" svelte-1tpxlm5"))&&p(i,"class",s),(!b||M[0]&1)&&r!==(r=($[0].name||"-")+"")&&le(a,r),(!b||M[0]&1&&u!==(u=$[0].name))&&p(o,"title",u),(!b||M[0]&1)&&Q(o,"txt-strikethrough",$[0].toDelete),$[0].toDelete?k&&(k.d(1),k=null):k?k.p($,M):(k=nd($),k.c(),k.m(c.parentNode,c)),$[7]&&!$[0].system?y?M[0]&129&&A(y,1):(y=rd(),y.c(),A(y,1),y.m(h.parentNode,h)):y&&(ae(),I(y,1,1,()=>{y=null}),ue()),$[0].toDelete?T?T.p($,M):(T=ad($),T.c(),T.m(g.parentNode,g)):T&&(T.d(1),T=null)},i($){b||(A(y),b=!0)},o($){I(y),b=!1},d($){$&&w(e),$&&w(f),k&&k.d($),$&&w(c),$&&w(d),$&&w(m),y&&y.d($),$&&w(h),T&&T.d($),$&&w(g)}}}function I$(n){let e,t;const i=[{draggable:!0},{single:!0},{interactive:n[8]},{class:n[2]||n[0].toDelete||n[0].system?"field-accordion disabled":"field-accordion"},n[11]];let s={$$slots:{header:[A$],default:[E$]},$$scope:{ctx:n}};for(let l=0;l<i.length;l+=1)s=Je(s,i[l]);return e=new ys({props:s}),n[33](e),e.$on("expand",n[34]),e.$on("collapse",n[35]),e.$on("toggle",n[36]),e.$on("dragenter",n[37]),e.$on("dragleave",n[38]),e.$on("dragstart",n[39]),e.$on("drop",n[40]),{c(){H(e.$$.fragment)},m(l,o){q(e,l,o),t=!0},p(l,o){const r=o[0]&2309?on(i,[i[0],i[1],o[0]&256&&{interactive:l[8]},o[0]&5&&{class:l[2]||l[0].toDelete||l[0].system?"field-accordion disabled":"field-accordion"},o[0]&2048&&xn(l[11])]):{};o[0]&483|o[1]&8192&&(r.$$scope={dirty:o,ctx:l}),e.$set(r)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[33](null),j(e,l)}}}function gs(n){switch(n==null?void 0:n.type){case"bool":
Line truncated
|
||||||
|
`),t=v("code"),t.textContent="username",i=B(` ,
|
||||||
|
`),s=v("code"),s.textContent="email",l=B(` ,
|
||||||
|
`),o=v("code"),o.textContent="emailVisibility",r=B(` ,
|
||||||
|
`),a=v("code"),a.textContent="verified",p(t,"class","txt-sm"),p(s,"class","txt-sm"),p(o,"class","txt-sm"),p(a,"class","txt-sm")},m(u,f){S(u,e,f),S(u,t,f),S(u,i,f),S(u,s,f),S(u,l,f),S(u,o,f),S(u,r,f),S(u,a,f)},d(u){u&&w(e),u&&w(t),u&&w(i),u&&w(s),u&&w(l),u&&w(o),u&&w(r),u&&w(a)}}}function cd(n,e){let t,i,s,l;function o(c){e[6](c,e[13],e[14],e[15])}function r(){return e[7](e[15])}function a(...c){return e[8](e[15],...c)}function u(...c){return e[9](e[15],...c)}let f={key:e[15],excludeNames:e[1].concat(e[4](e[13]))};return e[13]!==void 0&&(f.field=e[13]),i=new N$({props:f}),ie.push(()=>ge(i,"field",o)),i.$on("remove",r),i.$on("dragstart",a),i.$on("drop",u),{key:n,first:null,c(){t=Me(),H(i.$$.fragment),this.first=t},m(c,d){S(c,t,d),q(i,c,d),l=!0},p(c,d){e=c;const m={};d&1&&(m.key=e[15]),d&3&&(m.excludeNames=e[1].concat(e[4](e[13]))),!s&&d&1&&(s=!0,m.field=e[13],ke(()=>s=!1)),i.$set(m)},i(c){l||(A(i.$$.fragment,c),l=!0)},o(c){I(i.$$.fragment,c),l=!1},d(c){c&&w(t),j(i,c)}}}function F$(n){let e,t,i,s,l,o,r,a,u,f,c,d,m=[],h=new Map,g,b,k,y,T,$,M,C,D,E,P,L=n[0].isAuth&&fd(),N=n[0].schema;const F=R=>R[13];for(let R=0;R<N.length;R+=1){let X=ud(n,N,R),se=F(X);h.set(se,m[R]=cd(se,X))}return{c(){e=v("div"),t=v("p"),i=B(`System fields:
|
||||||
|
`),s=v("code"),s.textContent="id",l=B(` ,
|
||||||
|
`),o=v("code"),o.textContent="created",r=B(` ,
|
||||||
|
`),a=v("code"),a.textContent="updated",u=O(),L&&L.c(),f=B(`
|
||||||
|
.`),c=O(),d=v("div");for(let R=0;R<m.length;R+=1)m[R].c();g=O(),b=v("div"),k=O(),y=v("button"),T=v("i"),$=O(),M=v("span"),M.textContent="New field",p(s,"class","txt-sm"),p(o,"class","txt-sm"),p(a,"class","txt-sm"),p(t,"class","txt-sm"),p(e,"class","block m-b-25"),p(d,"class","accordions"),p(b,"class","clearfix m-t-xs"),p(T,"class","ri-add-line"),p(M,"class","txt"),p(y,"type","button"),p(y,"class",C="btn btn-block "+(n[0].schema.length?"btn-transparent":"btn-secondary"))},m(R,X){S(R,e,X),_(e,t),_(t,i),_(t,s),_(t,l),_(t,o),_(t,r),_(t,a),_(t,u),L&&L.m(t,null),_(t,f),S(R,c,X),S(R,d,X);for(let se=0;se<m.length;se+=1)m[se].m(d,null);S(R,g,X),S(R,b,X),S(R,k,X),S(R,y,X),_(y,T),_(y,$),_(y,M),D=!0,E||(P=Y(y,"click",n[3]),E=!0)},p(R,[X]){R[0].isAuth?L||(L=fd(),L.c(),L.m(t,f)):L&&(L.d(1),L=null),X&55&&(N=R[0].schema,ae(),m=wt(m,X,F,1,R,N,h,d,ln,cd,null,ud),ue()),(!D||X&1&&C!==(C="btn btn-block "+(R[0].schema.length?"btn-transparent":"btn-secondary")))&&p(y,"class",C)},i(R){if(!D){for(let X=0;X<N.length;X+=1)A(m[X]);D=!0}},o(R){for(let X=0;X<m.length;X+=1)I(m[X]);D=!1},d(R){R&&w(e),L&&L.d(),R&&w(c),R&&w(d);for(let X=0;X<m.length;X+=1)m[X].d();R&&w(g),R&&w(b),R&&w(k),R&&w(y),E=!1,P()}}}function R$(n,e){n&&(n.dataTransfer.effectAllowed="move",n.dataTransfer.dropEffect="move",n.dataTransfer.setData("text/plain",e))}function q$(n,e,t){let{collection:i=new pn}=e;const s=["id","created","updated","collectionId","collectionName","expand","true","false","null"];let l=[];function o(b){i.schema[b]&&(i.schema.splice(b,1),t(0,i))}function r(){const b=new mn({name:a()});b.onMountExpand=!0,i.schema.push(b),t(0,i)}function a(b="field"){let k="";for(;u(b+k);)++k;return b+k}function u(b){return!!i.schema.find(k=>k.name===b)}function f(b){let k=[];if(b.toDelete)return k;for(let y of i.schema)y===b||y.toDelete||k.push(y.name);return k}function c(b,k){if(!b)return;b.dataTransfer.dropEffect="move";const y=parseInt(b.dataTransfer.getData("text/plain")),T=i.schema;y<k?(T.splice(k+1,0,T[y]),T.splice(y,1)):(T.splice(k,0,T[y]),T.splice(y+1,1)),t(0,i.schema=T,i)}function d(b,k,y,T){y[T]=b,t(0,i)}const m=b=>o(b),h=(b,k)=>R$(k==null?void 0:k.detail,b),g=(b,k)=>c(k==null?void 0:k.detail,b);return n.$$set=b=>{"collection"in b&&t(0,i=b.collection)},n.$$.update=()=>{n.$$.dirty&1&&typeof i.schema>"u"&&(t(0,i=i||new pn),t(0,i.schema=[],i)),n.$$.dirty&1&&(i.isAuth?t(1,l=s.concat(["username","email","emailVisibility","verified","tokenKey","passwordHash","lastResetSentAt","lastVerificationSentAt","password","passwordConfirm","oldPassword"])):t(1,l=s.slice(0)))},[i,l,o,r,f,c,d,m,h,g]}class j$ extends ye{constructor(e){super(),ve(this,e,q$,F$,he,{collection:0})}}const H$=n=>({isAdminOnly:n&256}),dd=n=>({isAdminOnly:n[8]});function V$(n){let e,t;return e=new me({props:{class:"form-field rule-field m-0 "+(n[4]?"requied":"")+" "+(n[8]?"disabled":""),name:n[3],$$slots:{default:[J$,({uniqueId:i})=>({17:i}),({uniqueId:i})=>i?131072:0]},$$scope:{ctx:n}}}),{c(){H(e.$$.fragment)},m(i,s){q(e,i,s),t=!0},p(i,s){const l={};s&272&&(l.class="form-field rule-field m-0 "+(i[4]?"requied":"")+" "+(i[8]?"disabled":"")),s&8&&(l.name=i[3]),s&147815&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){j(e,i)}}}function z$(n){let e;return{c(){e=v("div"),e.innerHTML='<span class="loader"></span>',p(e,"class","txt-center")},m(t,i){S(t,e,i)},p:Z,i:Z,o:Z,d(t){t&&w(e)}}}function B$(n){let e,t,i;return{c(){e=v("button"),e.innerHTML=`<i class="ri-lock-line"></i>
|
||||||
|
<span class="txt">Set Admins only</span>`,p(e,"type","button"),p(e,"class","btn btn-sm btn-transparent btn-hint lock-toggle svelte-i0txfh")},m(s,l){S(s,e,l),t||(i=Y(e,"click",n[10]),t=!0)},p:Z,d(s){s&&w(e),t=!1,i()}}}function U$(n){let e,t,i;return{c(){e=v("button"),e.innerHTML=`<i class="ri-lock-unlock-line"></i>
|
||||||
|
<span class="txt">Set custom rule</span>`,p(e,"type","button"),p(e,"class","btn btn-sm btn-transparent btn-success lock-toggle svelte-i0txfh")},m(s,l){S(s,e,l),t||(i=Y(e,"click",n[9]),t=!0)},p:Z,d(s){s&&w(e),t=!1,i()}}}function W$(n){let e;return{c(){e=B("Leave empty to grant everyone access.")},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function Y$(n){let e,t,i,s,l;return{c(){e=B(`Only admins will be able to perform this action (
|
||||||
|
`),t=v("button"),t.textContent="unlock to change",i=B(`
|
||||||
|
).`),p(t,"type","button"),p(t,"class","link-hint")},m(o,r){S(o,e,r),S(o,t,r),S(o,i,r),s||(l=Y(t,"click",n[9]),s=!0)},p:Z,d(o){o&&w(e),o&&w(t),o&&w(i),s=!1,l()}}}function K$(n){let e;function t(l,o){return l[8]?Y$:W$}let i=t(n),s=i(n);return{c(){e=v("p"),s.c()},m(l,o){S(l,e,o),s.m(e,null)},p(l,o){i===(i=t(l))&&s?s.p(l,o):(s.d(1),s=i(l),s&&(s.c(),s.m(e,null)))},d(l){l&&w(e),s.d()}}}function J$(n){let e,t,i,s,l=n[8]?"Admins only":"Custom rule",o,r,a,u,f,c,d,m,h;function g(E,P){return E[8]?U$:B$}let b=g(n),k=b(n);function y(E){n[13](E)}var T=n[6];function $(E){let P={id:E[17],baseCollection:E[1],disabled:E[8]};return E[0]!==void 0&&(P.value=E[0]),{props:P}}T&&(f=jt(T,$(n)),n[12](f),ie.push(()=>ge(f,"value",y)));const M=n[11].default,C=Nt(M,n,n[14],dd),D=C||K$(n);return{c(){e=v("label"),t=v("span"),i=B(n[2]),s=B(" - "),o=B(l),r=O(),k.c(),u=O(),f&&H(f.$$.fragment),d=O(),m=v("div"),D&&D.c(),p(t,"class","txt"),p(e,"for",a=n[17]),p(m,"class","help-block")},m(E,P){S(E,e,P),_(e,t),_(t,i),_(t,s),_(t,o),_(e,r),k.m(e,null),S(E,u,P),f&&q(f,E,P),S(E,d,P),S(E,m,P),D&&D.m(m,null),h=!0},p(E,P){(!h||P&4)&&le(i,E[2]),(!h||P&256)&&l!==(l=E[8]?"Admins only":"Custom rule")&&le(o,l),b===(b=g(E))&&k?k.p(E,P):(k.d(1),k=b(E),k&&(k.c(),k.m(e,null))),(!h||P&131072&&a!==(a=E[17]))&&p(e,"for",a);const L={};if(P&131072&&(L.id=E[17]),P&2&&(L.baseCollection=E[1]),P&256&&(L.disabled=E[8]),!c&&P&1&&(c=!0,L.value=E[0],ke(()=>c=!1)),T!==(T=E[6])){if(f){ae();const N=f;I(N.$$.fragment,1,0,()=>{j(N,1)}),ue()}T?(f=jt(T,$(E)),E[12](f),ie.push(()=>ge(f,"value",y)),H(f.$$.fragment),A(f.$$.fragment,1),q(f,d.parentNode,d)):f=null}else T&&f.$set(L);C?C.p&&(!h||P&16640)&&Rt(C,M,E,E[14],h?Ft(M,E[14],P,H$):qt(E[14]),dd):D&&D.p&&(!h||P&256)&&D.p(E,h?P:-1)},i(E){h||(f&&A(f.$$.fragment,E),A(D,E),h=!0)},o(E){f&&I(f.$$.fragment,E),I(D,E),h=!1},d(E){E&&w(e),k.d(),E&&w(u),n[12](null),f&&j(f,E),E&&w(d),E&&w(m),D&&D.d(E)}}}function Z$(n){let e,t,i,s;const l=[z$,V$],o=[];function r(a,u){return a[7]?0:1}return e=r(n),t=o[e]=l[e](n),{c(){t.c(),i=Me()},m(a,u){o[e].m(a,u),S(a,i,u),s=!0},p(a,[u]){let f=e;e=r(a),e===f?o[e].p(a,u):(ae(),I(o[f],1,1,()=>{o[f]=null}),ue(),t=o[e],t?t.p(a,u):(t=o[e]=l[e](a),t.c()),A(t,1),t.m(i.parentNode,i))},i(a){s||(A(t),s=!0)},o(a){I(t),s=!1},d(a){o[e].d(a),a&&w(i)}}}let pd;function G$(n,e,t){let i,{$$slots:s={},$$scope:l}=e,{collection:o=null}=e,{rule:r=null}=e,{label:a="Rule"}=e,{formKey:u="rule"}=e,{required:f=!1}=e,c=null,d=null,m=pd,h=!1;g();async function g(){m||h||(t(7,h=!0),t(6,m=(await rt(()=>import("./FilterAutocompleteInput-80716b22.js"),["./FilterAutocompleteInput-80716b22.js","./index-a6ccb683.js"],import.meta.url)).default),pd=m,t(7,h=!1))}async function b(){t(0,r=d||""),await sn(),c==null||c.focus()}async function k(){d=r,t(0,r=null)}function y($){ie[$?"unshift":"push"](()=>{c=$,t(5,c)})}function T($){r=$,t(0,r)}return n.$$set=$=>{"collection"in $&&t(1,o=$.collection),"rule"in $&&t(0,r=$.rule),"label"in $&&t(2,a=$.label),"formKey"in $&&t(3,u=$.formKey),"required"in $&&t(4,f=$.required),"$$scope"in $&&t(14,l=$.$$scope)},n.$$.update=()=>{n.$$.dirty&1&&t(8,i=r===null)},[r,o,a,u,f,c,m,h,i,b,k,s,y,T,l]}class Ss extends ye{constructor(e){super(),ve(this,e,G$,Z$,he,{collection:1,rule:0,label:2,formKey:3,required:4})}}function md(n,e,t){const i=n.slice();return i[10]=e[t],i}function hd(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,k,y,T,$,M,C,D,E,P=n[2],L=[];for(let N=0;N<P.length;N+=1)L[N]=gd(md(n,P,N));return{c(){e=v("div"),t=v("div"),i=v("div"),s=v("p"),s.textContent="The following record fields are available:",l=O(),o=v("div");for(let N=0;N<L.length;N+=1)L[N].c();r=O(),a=v("hr"),u=O(),f=v("p"),f.innerHTML="The request fields could be accessed with the special <em>@request</em> filter:",c=O(),d=v("div"),d.innerHTML=`<code>@request.method</code>
|
||||||
|
<code>@request.query.*</code>
|
||||||
|
<code>@request.data.*</code>
|
||||||
|
<code>@request.auth.*</code>`,m=O(),h=v("hr"),g=O(),b=v("p"),b.innerHTML="You could also add constraints and query other collections using the <em>@collection</em> filter:",k=O(),y=v("div"),y.innerHTML="<code>@collection.ANY_COLLECTION_NAME.*</code>",T=O(),$=v("hr"),M=O(),C=v("p"),C.innerHTML=`Example rule:
|
||||||
|
<br/>
|
||||||
|
<code>@request.auth.id != "" && created > "2022-01-01 00:00:00"</code>`,p(s,"class","m-b-0"),p(o,"class","inline-flex flex-gap-5"),p(a,"class","m-t-10 m-b-5"),p(f,"class","m-b-0"),p(d,"class","inline-flex flex-gap-5"),p(h,"class","m-t-10 m-b-5"),p(b,"class","m-b-0"),p(y,"class","inline-flex flex-gap-5"),p($,"class","m-t-10 m-b-5"),p(i,"class","content"),p(t,"class","alert alert-warning m-0")},m(N,F){S(N,e,F),_(e,t),_(t,i),_(i,s),_(i,l),_(i,o);for(let R=0;R<L.length;R+=1)L[R].m(o,null);_(i,r),_(i,a),_(i,u),_(i,f),_(i,c),_(i,d),_(i,m),_(i,h),_(i,g),_(i,b),_(i,k),_(i,y),_(i,T),_(i,$),_(i,M),_(i,C),E=!0},p(N,F){if(F&4){P=N[2];let R;for(R=0;R<P.length;R+=1){const X=md(N,P,R);L[R]?L[R].p(X,F):(L[R]=gd(X),L[R].c(),L[R].m(o,null))}for(;R<L.length;R+=1)L[R].d(1);L.length=P.length}},i(N){E||(N&&xe(()=>{D||(D=je(e,At,{duration:150},!0)),D.run(1)}),E=!0)},o(N){N&&(D||(D=je(e,At,{duration:150},!1)),D.run(0)),E=!1},d(N){N&&w(e),mt(L,N),N&&D&&D.end()}}}function gd(n){let e,t=n[10]+"",i;return{c(){e=v("code"),i=B(t)},m(s,l){S(s,e,l),_(e,i)},p(s,l){l&4&&t!==(t=s[10]+"")&&le(i,t)},d(s){s&&w(e)}}}function _d(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g;function b(C){n[6](C)}let k={label:"Create action",formKey:"createRule",collection:n[0]};n[0].createRule!==void 0&&(k.rule=n[0].createRule),i=new Ss({props:k}),ie.push(()=>ge(i,"rule",b));function y(C){n[7](C)}let T={label:"Update action",formKey:"updateRule",collection:n[0]};n[0].updateRule!==void 0&&(T.rule=n[0].updateRule),a=new Ss({props:T}),ie.push(()=>ge(a,"rule",y));function $(C){n[8](C)}let M={label:"Delete action",formKey:"deleteRule",collection:n[0]};return n[0].deleteRule!==void 0&&(M.rule=n[0].deleteRule),m=new Ss({props:M}),ie.push(()=>ge(m,"rule",$)),{c(){e=v("hr"),t=O(),H(i.$$.fragment),l=O(),o=v("hr"),r=O(),H(a.$$.fragment),f=O(),c=v("hr"),d=O(),H(m.$$.fragment),p(e,"class","m-t-sm m-b-sm"),p(o,"class","m-t-sm m-b-sm"),p(c,"class","m-t-sm m-b-sm")},m(C,D){S(C,e,D),S(C,t,D),q(i,C,D),S(C,l,D),S(C,o,D),S(C,r,D),q(a,C,D),S(C,f,D),S(C,c,D),S(C,d,D),q(m,C,D),g=!0},p(C,D){const E={};D&1&&(E.collection=C[0]),!s&&D&1&&(s=!0,E.rule=C[0].createRule,ke(()=>s=!1)),i.$set(E);const P={};D&1&&(P.collection=C[0]),!u&&D&1&&(u=!0,P.rule=C[0].updateRule,ke(()=>u=!1)),a.$set(P);const L={};D&1&&(L.collection=C[0]),!h&&D&1&&(h=!0,L.rule=C[0].deleteRule,ke(()=>h=!1)),m.$set(L)},i(C){g||(A(i.$$.fragment,C),A(a.$$.fragment,C),A(m.$$.fragment,C),g=!0)},o(C){I(i.$$.fragment,C),I(a.$$.fragment,C),I(m.$$.fragment,C),g=!1},d(C){C&&w(e),C&&w(t),j(i,C),C&&w(l),C&&w(o),C&&w(r),j(a,C),C&&w(f),C&&w(c),C&&w(d),j(m,C)}}}function bd(n){let e,t,i,s,l;function o(a){n[9](a)}let r={label:"Manage action",formKey:"options.manageRule",collection:n[0],$$slots:{default:[X$]},$$scope:{ctx:n}};return n[0].options.manageRule!==void 0&&(r.rule=n[0].options.manageRule),i=new Ss({props:r}),ie.push(()=>ge(i,"rule",o)),{c(){e=v("hr"),t=O(),H(i.$$.fragment),p(e,"class","m-t-sm m-b-sm")},m(a,u){S(a,e,u),S(a,t,u),q(i,a,u),l=!0},p(a,u){const f={};u&1&&(f.collection=a[0]),u&8192&&(f.$$scope={dirty:u,ctx:a}),!s&&u&1&&(s=!0,f.rule=a[0].options.manageRule,ke(()=>s=!1)),i.$set(f)},i(a){l||(A(i.$$.fragment,a),l=!0)},o(a){I(i.$$.fragment,a),l=!1},d(a){a&&w(e),a&&w(t),j(i,a)}}}function X$(n){let e,t,i;return{c(){e=v("p"),e.textContent=`This API rule gives admin-like permissions to allow fully managing the auth record(s), eg.
|
||||||
|
changing the password without requiring to enter the old one, directly updating the verified
|
||||||
|
state or email, etc.`,t=O(),i=v("p"),i.innerHTML="This rule is executed in addition to the <code>create</code> and <code>update</code> API rules."},m(s,l){S(s,e,l),S(s,t,l),S(s,i,l)},p:Z,d(s){s&&w(e),s&&w(t),s&&w(i)}}}function Q$(n){var X,se;let e,t,i,s,l,o=n[1]?"Hide available fields":"Show available fields",r,a,u,f,c,d,m,h,g,b,k,y,T,$,M,C,D=n[1]&&hd(n);function E(W){n[4](W)}let P={label:"List/Search action",formKey:"listRule",collection:n[0]};n[0].listRule!==void 0&&(P.rule=n[0].listRule),f=new Ss({props:P}),ie.push(()=>ge(f,"rule",E));function L(W){n[5](W)}let N={label:"View action",formKey:"viewRule",collection:n[0]};n[0].viewRule!==void 0&&(N.rule=n[0].viewRule),g=new Ss({props:N}),ie.push(()=>ge(g,"rule",L));let F=!((X=n[0])!=null&&X.isView)&&_d(n),R=((se=n[0])==null?void 0:se.isAuth)&&bd(n);return{c(){e=v("div"),t=v("div"),i=v("p"),i.innerHTML=`All rules follow the
|
||||||
|
<a href="https://pocketbase.io/docs/api-rules-and-filters/" target="_blank" rel="noopener noreferrer">PocketBase filter syntax and operators
|
||||||
|
</a>.`,s=O(),l=v("button"),r=B(o),a=O(),D&&D.c(),u=O(),H(f.$$.fragment),d=O(),m=v("hr"),h=O(),H(g.$$.fragment),k=O(),F&&F.c(),y=O(),R&&R.c(),T=Me(),p(l,"type","button"),p(l,"class","expand-handle txt-sm txt-bold txt-nowrap link-hint"),p(t,"class","flex txt-sm txt-hint m-b-5"),p(e,"class","block m-b-base"),p(m,"class","m-t-sm m-b-sm")},m(W,G){S(W,e,G),_(e,t),_(t,i),_(t,s),_(t,l),_(l,r),_(e,a),D&&D.m(e,null),S(W,u,G),q(f,W,G),S(W,d,G),S(W,m,G),S(W,h,G),q(g,W,G),S(W,k,G),F&&F.m(W,G),S(W,y,G),R&&R.m(W,G),S(W,T,G),$=!0,M||(C=Y(l,"click",n[3]),M=!0)},p(W,[G]){var re,J;(!$||G&2)&&o!==(o=W[1]?"Hide available fields":"Show available fields")&&le(r,o),W[1]?D?(D.p(W,G),G&2&&A(D,1)):(D=hd(W),D.c(),A(D,1),D.m(e,null)):D&&(ae(),I(D,1,1,()=>{D=null}),ue());const te={};G&1&&(te.collection=W[0]),!c&&G&1&&(c=!0,te.rule=W[0].listRule,ke(()=>c=!1)),f.$set(te);const K={};G&1&&(K.collection=W[0]),!b&&G&1&&(b=!0,K.rule=W[0].viewRule,ke(()=>b=!1)),g.$set(K),(re=W[0])!=null&&re.isView?F&&(ae(),I(F,1,1,()=>{F=null}),ue()):F?(F.p(W,G),G&1&&A(F,1)):(F=_d(W),F.c(),A(F,1),F.m(y.parentNode,y)),(J=W[0])!=null&&J.isAuth?R?(R.p(W,G),G&1&&A(R,1)):(R=bd(W),R.c(),A(R,1),R.m(T.parentNode,T)):R&&(ae(),I(R,1,1,()=>{R=null}),ue())},i(W){$||(A(D),A(f.$$.fragment,W),A(g.$$.fragment,W),A(F),A(R),$=!0)},o(W){I(D),I(f.$$.fragment,W),I(g.$$.fragment,W),I(F),I(R),$=!1},d(W){W&&w(e),D&&D.d(),W&&w(u),j(f,W),W&&w(d),W&&w(m),W&&w(h),j(g,W),W&&w(k),F&&F.d(W),W&&w(y),R&&R.d(W),W&&w(T),M=!1,C()}}}function x$(n,e,t){let i,{collection:s=new pn}=e,l=!1;const o=()=>t(1,l=!l);function r(m){n.$$.not_equal(s.listRule,m)&&(s.listRule=m,t(0,s))}function a(m){n.$$.not_equal(s.viewRule,m)&&(s.viewRule=m,t(0,s))}function u(m){n.$$.not_equal(s.createRule,m)&&(s.createRule=m,t(0,s))}function f(m){n.$$.not_equal(s.updateRule,m)&&(s.updateRule=m,t(0,s))}function c(m){n.$$.not_equal(s.deleteRule,m)&&(s.deleteRule=m,t(0,s))}function d(m){n.$$.not_equal(s.options.manageRule,m)&&(s.options.manageRule=m,t(0,s))}return n.$$set=m=>{"collection"in m&&t(0,s=m.collection)},n.$$.update=()=>{n.$$.dirty&1&&t(2,i=z.getAllCollectionIdentifiers(s))},[s,l,i,o,r,a,u,f,c,d]}class eC extends ye{constructor(e){super(),ve(this,e,x$,Q$,he,{collection:0})}}function vd(n,e,t){const i=n.slice();return i[9]=e[t],i}function tC(n){let e,t,i,s;function l(a){n[5](a)}var o=n[1];function r(a){let u={id:a[8],placeholder:"eg. SELECT id, name from posts",language:"sql",minHeight:"150"};return a[0].options.query!==void 0&&(u.value=a[0].options.query),{props:u}}return o&&(e=jt(o,r(n)),ie.push(()=>ge(e,"value",l)),e.$on("change",n[6])),{c(){e&&H(e.$$.fragment),i=Me()},m(a,u){e&&q(e,a,u),S(a,i,u),s=!0},p(a,u){const f={};if(u&256&&(f.id=a[8]),!t&&u&1&&(t=!0,f.value=a[0].options.query,ke(()=>t=!1)),o!==(o=a[1])){if(e){ae();const c=e;I(c.$$.fragment,1,0,()=>{j(c,1)}),ue()}o?(e=jt(o,r(a)),ie.push(()=>ge(e,"value",l)),e.$on("change",a[6]),H(e.$$.fragment),A(e.$$.fragment,1),q(e,i.parentNode,i)):e=null}else o&&e.$set(f)},i(a){s||(e&&A(e.$$.fragment,a),s=!0)},o(a){e&&I(e.$$.fragment,a),s=!1},d(a){a&&w(i),e&&j(e,a)}}}function nC(n){let e;return{c(){e=v("textarea"),e.disabled=!0,p(e,"rows","7"),p(e,"placeholder","Loading...")},m(t,i){S(t,e,i)},p:Z,i:Z,o:Z,d(t){t&&w(e)}}}function yd(n){let e,t,i=n[3],s=[];for(let l=0;l<i.length;l+=1)s[l]=kd(vd(n,i,l));return{c(){e=v("div"),t=v("div");for(let l=0;l<s.length;l+=1)s[l].c();p(t,"class","content"),p(e,"class","help-block help-block-error")},m(l,o){S(l,e,o),_(e,t);for(let r=0;r<s.length;r+=1)s[r].m(t,null)},p(l,o){if(o&8){i=l[3];let r;for(r=0;r<i.length;r+=1){const a=vd(l,i,r);s[r]?s[r].p(a,o):(s[r]=kd(a),s[r].c(),s[r].m(t,null))}for(;r<s.length;r+=1)s[r].d(1);s.length=i.length}},d(l){l&&w(e),mt(s,l)}}}function kd(n){let e,t=n[9]+"",i;return{c(){e=v("p"),i=B(t)},m(s,l){S(s,e,l),_(e,i)},p(s,l){l&8&&t!==(t=s[9]+"")&&le(i,t)},d(s){s&&w(e)}}}function iC(n){let e,t,i,s,l,o,r,a,u,f,c;const d=[nC,tC],m=[];function h(b,k){return b[2]?0:1}l=h(n),o=m[l]=d[l](n);let g=n[3].length&&yd(n);return{c(){e=v("label"),t=B("Select query"),s=O(),o.c(),r=O(),a=v("div"),a.innerHTML=`<ul><li>Wildcard (<code>*</code>) columns are not supported.</li>
|
||||||
|
<li>The query must have a unique <code>id</code> column.
|
||||||
|
<br/>
|
||||||
|
If your query doesn't have a suitable one, you can use
|
||||||
|
<code>(ROW_NUMBER() OVER()) as id</code>.</li></ul>`,u=O(),g&&g.c(),f=Me(),p(e,"for",i=n[8]),p(a,"class","help-block")},m(b,k){S(b,e,k),_(e,t),S(b,s,k),m[l].m(b,k),S(b,r,k),S(b,a,k),S(b,u,k),g&&g.m(b,k),S(b,f,k),c=!0},p(b,k){(!c||k&256&&i!==(i=b[8]))&&p(e,"for",i);let y=l;l=h(b),l===y?m[l].p(b,k):(ae(),I(m[y],1,1,()=>{m[y]=null}),ue(),o=m[l],o?o.p(b,k):(o=m[l]=d[l](b),o.c()),A(o,1),o.m(r.parentNode,r)),b[3].length?g?g.p(b,k):(g=yd(b),g.c(),g.m(f.parentNode,f)):g&&(g.d(1),g=null)},i(b){c||(A(o),c=!0)},o(b){I(o),c=!1},d(b){b&&w(e),b&&w(s),m[l].d(b),b&&w(r),b&&w(a),b&&w(u),g&&g.d(b),b&&w(f)}}}function sC(n){let e,t;return e=new me({props:{class:"form-field required "+(n[3].length?"error":""),name:"options.query",$$slots:{default:[iC,({uniqueId:i})=>({8:i}),({uniqueId:i})=>i?256:0]},$$scope:{ctx:n}}}),{c(){H(e.$$.fragment)},m(i,s){q(e,i,s),t=!0},p(i,[s]){const l={};s&8&&(l.class="form-field required "+(i[3].length?"error":"")),s&4367&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){j(e,i)}}}function lC(n,e,t){let i;Ye(n,fi,c=>t(4,i=c));let{collection:s=new pn}=e,l,o=!1,r=[];function a(c){var h;t(3,r=[]);const d=z.getNestedVal(c,"schema",null);if(z.isEmpty(d))return;if(d!=null&&d.message){r.push(d==null?void 0:d.message);return}const m=z.extractColumnsFromQuery((h=s==null?void 0:s.options)==null?void 0:h.query);z.removeByValue(m,"id"),z.removeByValue(m,"created"),z.removeByValue(m,"updated");for(let g in d)for(let b in d[g]){const k=d[g][b].message,y=m[g]||g;r.push(z.sentenize(y+": "+k))}}Zt(async()=>{t(2,o=!0);try{t(1,l=(await rt(()=>import("./CodeEditor-4caff52a.js"),["./CodeEditor-4caff52a.js","./index-a6ccb683.js"],import.meta.url)).default)}catch(c){console.warn(c)}t(2,o=!1)});function u(c){n.$$.not_equal(s.options.query,c)&&(s.options.query=c,t(0,s))}const f=()=>{r.length&&Qi("schema")};return n.$$set=c=>{"collection"in c&&t(0,s=c.collection)},n.$$.update=()=>{n.$$.dirty&16&&a(i)},[s,l,o,r,i,u,f]}class oC extends ye{constructor(e){super(),ve(this,e,lC,sC,he,{collection:0})}}function rC(n){let e,t,i,s,l,o,r,a;return{c(){e=v("input"),i=O(),s=v("label"),l=B("Enable"),p(e,"type","checkbox"),p(e,"id",t=n[12]),p(s,"for",o=n[12])},m(u,f){S(u,e,f),e.checked=n[0].options.allowUsernameAuth,S(u,i,f),S(u,s,f),_(s,l),r||(a=Y(e,"change",n[5]),r=!0)},p(u,f){f&4096&&t!==(t=u[12])&&p(e,"id",t),f&1&&(e.checked=u[0].options.allowUsernameAuth),f&4096&&o!==(o=u[12])&&p(s,"for",o)},d(u){u&&w(e),u&&w(i),u&&w(s),r=!1,a()}}}function aC(n){let e,t;return e=new me({props:{class:"form-field form-field-toggle m-b-0",name:"options.allowUsernameAuth",$$slots:{default:[rC,({uniqueId:i})=>({12:i}),({uniqueId:i})=>i?4096:0]},$$scope:{ctx:n}}}),{c(){H(e.$$.fragment)},m(i,s){q(e,i,s),t=!0},p(i,s){const l={};s&12289&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){j(e,i)}}}function uC(n){let e;return{c(){e=v("span"),e.textContent="Disabled",p(e,"class","label")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function fC(n){let e;return{c(){e=v("span"),e.textContent="Enabled",p(e,"class","label label-success")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function wd(n){let e,t,i,s,l;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){S(o,e,r),i=!0,s||(l=Ie(Be.call(null,e,{text:"Has errors",position:"left"})),s=!0)},i(o){i||(xe(()=>{t||(t=je(e,It,{duration:150,start:.7},!0)),t.run(1)}),i=!0)},o(o){t||(t=je(e,It,{duration:150,start:.7},!1)),t.run(0),i=!1},d(o){o&&w(e),o&&t&&t.end(),s=!1,l()}}}function cC(n){let e,t,i,s,l,o,r;function a(d,m){return d[0].options.allowUsernameAuth?fC:uC}let u=a(n),f=u(n),c=n[3]&&wd();return{c(){e=v("div"),e.innerHTML=`<i class="ri-user-star-line"></i>
|
||||||
|
<span class="txt">Username/Password</span>`,t=O(),i=v("div"),s=O(),f.c(),l=O(),c&&c.c(),o=Me(),p(e,"class","inline-flex"),p(i,"class","flex-fill")},m(d,m){S(d,e,m),S(d,t,m),S(d,i,m),S(d,s,m),f.m(d,m),S(d,l,m),c&&c.m(d,m),S(d,o,m),r=!0},p(d,m){u!==(u=a(d))&&(f.d(1),f=u(d),f&&(f.c(),f.m(l.parentNode,l))),d[3]?c?m&8&&A(c,1):(c=wd(),c.c(),A(c,1),c.m(o.parentNode,o)):c&&(ae(),I(c,1,1,()=>{c=null}),ue())},i(d){r||(A(c),r=!0)},o(d){I(c),r=!1},d(d){d&&w(e),d&&w(t),d&&w(i),d&&w(s),f.d(d),d&&w(l),c&&c.d(d),d&&w(o)}}}function dC(n){let e,t,i,s,l,o,r,a;return{c(){e=v("input"),i=O(),s=v("label"),l=B("Enable"),p(e,"type","checkbox"),p(e,"id",t=n[12]),p(s,"for",o=n[12])},m(u,f){S(u,e,f),e.checked=n[0].options.allowEmailAuth,S(u,i,f),S(u,s,f),_(s,l),r||(a=Y(e,"change",n[6]),r=!0)},p(u,f){f&4096&&t!==(t=u[12])&&p(e,"id",t),f&1&&(e.checked=u[0].options.allowEmailAuth),f&4096&&o!==(o=u[12])&&p(s,"for",o)},d(u){u&&w(e),u&&w(i),u&&w(s),r=!1,a()}}}function Sd(n){let e,t,i,s,l,o,r,a;return i=new me({props:{class:"form-field "+(z.isEmpty(n[0].options.onlyEmailDomains)?"":"disabled"),name:"options.exceptEmailDomains",$$slots:{default:[pC,({uniqueId:u})=>({12:u}),({uniqueId:u})=>u?4096:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field "+(z.isEmpty(n[0].options.exceptEmailDomains)?"":"disabled"),name:"options.onlyEmailDomains",$$slots:{default:[mC,({uniqueId:u})=>({12:u}),({uniqueId:u})=>u?4096:0]},$$scope:{ctx:n}}}),{c(){e=v("div"),t=v("div"),H(i.$$.fragment),s=O(),l=v("div"),H(o.$$.fragment),p(t,"class","col-lg-6"),p(l,"class","col-lg-6"),p(e,"class","grid grid-sm p-t-sm")},m(u,f){S(u,e,f),_(e,t),q(i,t,null),_(e,s),_(e,l),q(o,l,null),a=!0},p(u,f){const c={};f&1&&(c.class="form-field "+(z.isEmpty(u[0].options.onlyEmailDomains)?"":"disabled")),f&12289&&(c.$$scope={dirty:f,ctx:u}),i.$set(c);const d={};f&1&&(d.class="form-field "+(z.isEmpty(u[0].options.exceptEmailDomains)?"":"disabled")),f&12289&&(d.$$scope={dirty:f,ctx:u}),o.$set(d)},i(u){a||(A(i.$$.fragment,u),A(o.$$.fragment,u),u&&xe(()=>{r||(r=je(e,At,{duration:150},!0)),r.run(1)}),a=!0)},o(u){I(i.$$.fragment,u),I(o.$$.fragment,u),u&&(r||(r=je(e,At,{duration:150},!1)),r.run(0)),a=!1},d(u){u&&w(e),j(i),j(o),u&&r&&r.end()}}}function pC(n){let e,t,i,s,l,o,r,a,u,f,c,d,m;function h(b){n[7](b)}let g={id:n[12],disabled:!z.isEmpty(n[0].options.onlyEmailDomains)};return n[0].options.exceptEmailDomains!==void 0&&(g.value=n[0].options.exceptEmailDomains),r=new Ns({props:g}),ie.push(()=>ge(r,"value",h)),{c(){e=v("label"),t=v("span"),t.textContent="Except domains",i=O(),s=v("i"),o=O(),H(r.$$.fragment),u=O(),f=v("div"),f.textContent="Use comma as separator.",p(t,"class","txt"),p(s,"class","ri-information-line link-hint"),p(e,"for",l=n[12]),p(f,"class","help-block")},m(b,k){S(b,e,k),_(e,t),_(e,i),_(e,s),S(b,o,k),q(r,b,k),S(b,u,k),S(b,f,k),c=!0,d||(m=Ie(Be.call(null,s,{text:`Email domains that are NOT allowed to sign up.
|
||||||
|
This field is disabled if "Only domains" is set.`,position:"top"})),d=!0)},p(b,k){(!c||k&4096&&l!==(l=b[12]))&&p(e,"for",l);const y={};k&4096&&(y.id=b[12]),k&1&&(y.disabled=!z.isEmpty(b[0].options.onlyEmailDomains)),!a&&k&1&&(a=!0,y.value=b[0].options.exceptEmailDomains,ke(()=>a=!1)),r.$set(y)},i(b){c||(A(r.$$.fragment,b),c=!0)},o(b){I(r.$$.fragment,b),c=!1},d(b){b&&w(e),b&&w(o),j(r,b),b&&w(u),b&&w(f),d=!1,m()}}}function mC(n){let e,t,i,s,l,o,r,a,u,f,c,d,m;function h(b){n[8](b)}let g={id:n[12],disabled:!z.isEmpty(n[0].options.exceptEmailDomains)};return n[0].options.onlyEmailDomains!==void 0&&(g.value=n[0].options.onlyEmailDomains),r=new Ns({props:g}),ie.push(()=>ge(r,"value",h)),{c(){e=v("label"),t=v("span"),t.textContent="Only domains",i=O(),s=v("i"),o=O(),H(r.$$.fragment),u=O(),f=v("div"),f.textContent="Use comma as separator.",p(t,"class","txt"),p(s,"class","ri-information-line link-hint"),p(e,"for",l=n[12]),p(f,"class","help-block")},m(b,k){S(b,e,k),_(e,t),_(e,i),_(e,s),S(b,o,k),q(r,b,k),S(b,u,k),S(b,f,k),c=!0,d||(m=Ie(Be.call(null,s,{text:`Email domains that are ONLY allowed to sign up.
|
||||||
|
This field is disabled if "Except domains" is set.`,position:"top"})),d=!0)},p(b,k){(!c||k&4096&&l!==(l=b[12]))&&p(e,"for",l);const y={};k&4096&&(y.id=b[12]),k&1&&(y.disabled=!z.isEmpty(b[0].options.exceptEmailDomains)),!a&&k&1&&(a=!0,y.value=b[0].options.onlyEmailDomains,ke(()=>a=!1)),r.$set(y)},i(b){c||(A(r.$$.fragment,b),c=!0)},o(b){I(r.$$.fragment,b),c=!1},d(b){b&&w(e),b&&w(o),j(r,b),b&&w(u),b&&w(f),d=!1,m()}}}function hC(n){let e,t,i,s;e=new me({props:{class:"form-field form-field-toggle m-0",name:"options.allowEmailAuth",$$slots:{default:[dC,({uniqueId:o})=>({12:o}),({uniqueId:o})=>o?4096:0]},$$scope:{ctx:n}}});let l=n[0].options.allowEmailAuth&&Sd(n);return{c(){H(e.$$.fragment),t=O(),l&&l.c(),i=Me()},m(o,r){q(e,o,r),S(o,t,r),l&&l.m(o,r),S(o,i,r),s=!0},p(o,r){const a={};r&12289&&(a.$$scope={dirty:r,ctx:o}),e.$set(a),o[0].options.allowEmailAuth?l?(l.p(o,r),r&1&&A(l,1)):(l=Sd(o),l.c(),A(l,1),l.m(i.parentNode,i)):l&&(ae(),I(l,1,1,()=>{l=null}),ue())},i(o){s||(A(e.$$.fragment,o),A(l),s=!0)},o(o){I(e.$$.fragment,o),I(l),s=!1},d(o){j(e,o),o&&w(t),l&&l.d(o),o&&w(i)}}}function gC(n){let e;return{c(){e=v("span"),e.textContent="Disabled",p(e,"class","label")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function _C(n){let e;return{c(){e=v("span"),e.textContent="Enabled",p(e,"class","label label-success")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function Td(n){let e,t,i,s,l;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){S(o,e,r),i=!0,s||(l=Ie(Be.call(null,e,{text:"Has errors",position:"left"})),s=!0)},i(o){i||(xe(()=>{t||(t=je(e,It,{duration:150,start:.7},!0)),t.run(1)}),i=!0)},o(o){t||(t=je(e,It,{duration:150,start:.7},!1)),t.run(0),i=!1},d(o){o&&w(e),o&&t&&t.end(),s=!1,l()}}}function bC(n){let e,t,i,s,l,o,r;function a(d,m){return d[0].options.allowEmailAuth?_C:gC}let u=a(n),f=u(n),c=n[2]&&Td();return{c(){e=v("div"),e.innerHTML=`<i class="ri-mail-star-line"></i>
|
||||||
|
<span class="txt">Email/Password</span>`,t=O(),i=v("div"),s=O(),f.c(),l=O(),c&&c.c(),o=Me(),p(e,"class","inline-flex"),p(i,"class","flex-fill")},m(d,m){S(d,e,m),S(d,t,m),S(d,i,m),S(d,s,m),f.m(d,m),S(d,l,m),c&&c.m(d,m),S(d,o,m),r=!0},p(d,m){u!==(u=a(d))&&(f.d(1),f=u(d),f&&(f.c(),f.m(l.parentNode,l))),d[2]?c?m&4&&A(c,1):(c=Td(),c.c(),A(c,1),c.m(o.parentNode,o)):c&&(ae(),I(c,1,1,()=>{c=null}),ue())},i(d){r||(A(c),r=!0)},o(d){I(c),r=!1},d(d){d&&w(e),d&&w(t),d&&w(i),d&&w(s),f.d(d),d&&w(l),c&&c.d(d),d&&w(o)}}}function vC(n){let e,t,i,s,l,o,r,a;return{c(){e=v("input"),i=O(),s=v("label"),l=B("Enable"),p(e,"type","checkbox"),p(e,"id",t=n[12]),p(s,"for",o=n[12])},m(u,f){S(u,e,f),e.checked=n[0].options.allowOAuth2Auth,S(u,i,f),S(u,s,f),_(s,l),r||(a=Y(e,"change",n[9]),r=!0)},p(u,f){f&4096&&t!==(t=u[12])&&p(e,"id",t),f&1&&(e.checked=u[0].options.allowOAuth2Auth),f&4096&&o!==(o=u[12])&&p(s,"for",o)},d(u){u&&w(e),u&&w(i),u&&w(s),r=!1,a()}}}function $d(n){let e,t,i;return{c(){e=v("div"),e.innerHTML='<div class="flex p-t-base"><a href="/_/#/settings/auth-providers" target="_blank" class="btn btn-sm btn-outline"><span class="txt">Manage OAuth2 providers</span></a></div>',p(e,"class","block")},m(s,l){S(s,e,l),i=!0},i(s){i||(s&&xe(()=>{t||(t=je(e,At,{duration:150},!0)),t.run(1)}),i=!0)},o(s){s&&(t||(t=je(e,At,{duration:150},!1)),t.run(0)),i=!1},d(s){s&&w(e),s&&t&&t.end()}}}function yC(n){let e,t,i,s;e=new me({props:{class:"form-field form-field-toggle m-b-0",name:"options.allowOAuth2Auth",$$slots:{default:[vC,({uniqueId:o})=>({12:o}),({uniqueId:o})=>o?4096:0]},$$scope:{ctx:n}}});let l=n[0].options.allowOAuth2Auth&&$d();return{c(){H(e.$$.fragment),t=O(),l&&l.c(),i=Me()},m(o,r){q(e,o,r),S(o,t,r),l&&l.m(o,r),S(o,i,r),s=!0},p(o,r){const a={};r&12289&&(a.$$scope={dirty:r,ctx:o}),e.$set(a),o[0].options.allowOAuth2Auth?l?r&1&&A(l,1):(l=$d(),l.c(),A(l,1),l.m(i.parentNode,i)):l&&(ae(),I(l,1,1,()=>{l=null}),ue())},i(o){s||(A(e.$$.fragment,o),A(l),s=!0)},o(o){I(e.$$.fragment,o),I(l),s=!1},d(o){j(e,o),o&&w(t),l&&l.d(o),o&&w(i)}}}function kC(n){let e;return{c(){e=v("span"),e.textContent="Disabled",p(e,"class","label")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function wC(n){let e;return{c(){e=v("span"),e.textContent="Enabled",p(e,"class","label label-success")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function Cd(n){let e,t,i,s,l;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){S(o,e,r),i=!0,s||(l=Ie(Be.call(null,e,{text:"Has errors",position:"left"})),s=!0)},i(o){i||(xe(()=>{t||(t=je(e,It,{duration:150,start:.7},!0)),t.run(1)}),i=!0)},o(o){t||(t=je(e,It,{duration:150,start:.7},!1)),t.run(0),i=!1},d(o){o&&w(e),o&&t&&t.end(),s=!1,l()}}}function SC(n){let e,t,i,s,l,o,r;function a(d,m){return d[0].options.allowOAuth2Auth?wC:kC}let u=a(n),f=u(n),c=n[1]&&Cd();return{c(){e=v("div"),e.innerHTML=`<i class="ri-shield-star-line"></i>
|
||||||
|
<span class="txt">OAuth2</span>`,t=O(),i=v("div"),s=O(),f.c(),l=O(),c&&c.c(),o=Me(),p(e,"class","inline-flex"),p(i,"class","flex-fill")},m(d,m){S(d,e,m),S(d,t,m),S(d,i,m),S(d,s,m),f.m(d,m),S(d,l,m),c&&c.m(d,m),S(d,o,m),r=!0},p(d,m){u!==(u=a(d))&&(f.d(1),f=u(d),f&&(f.c(),f.m(l.parentNode,l))),d[1]?c?m&2&&A(c,1):(c=Cd(),c.c(),A(c,1),c.m(o.parentNode,o)):c&&(ae(),I(c,1,1,()=>{c=null}),ue())},i(d){r||(A(c),r=!0)},o(d){I(c),r=!1},d(d){d&&w(e),d&&w(t),d&&w(i),d&&w(s),f.d(d),d&&w(l),c&&c.d(d),d&&w(o)}}}function TC(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=B("Minimum password length"),s=O(),l=v("input"),p(e,"for",i=n[12]),p(l,"type","number"),p(l,"id",o=n[12]),l.required=!0,p(l,"min","6"),p(l,"max","72")},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),ce(l,n[0].options.minPasswordLength),r||(a=Y(l,"input",n[10]),r=!0)},p(u,f){f&4096&&i!==(i=u[12])&&p(e,"for",i),f&4096&&o!==(o=u[12])&&p(l,"id",o),f&1&&ht(l.value)!==u[0].options.minPasswordLength&&ce(l,u[0].options.minPasswordLength)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function $C(n){let e,t,i,s,l,o,r,a,u,f;return{c(){e=v("input"),i=O(),s=v("label"),l=v("span"),l.textContent="Always require email",o=O(),r=v("i"),p(e,"type","checkbox"),p(e,"id",t=n[12]),p(l,"class","txt"),p(r,"class","ri-information-line txt-sm link-hint"),p(s,"for",a=n[12])},m(c,d){S(c,e,d),e.checked=n[0].options.requireEmail,S(c,i,d),S(c,s,d),_(s,l),_(s,o),_(s,r),u||(f=[Y(e,"change",n[11]),Ie(Be.call(null,r,{text:`The constraint is applied only for new records.
|
||||||
|
Also note that some OAuth2 providers (like Twitter), don't return an email and the authentication may fail if the email field is required.`,position:"right"}))],u=!0)},p(c,d){d&4096&&t!==(t=c[12])&&p(e,"id",t),d&1&&(e.checked=c[0].options.requireEmail),d&4096&&a!==(a=c[12])&&p(s,"for",a)},d(c){c&&w(e),c&&w(i),c&&w(s),u=!1,Pe(f)}}}function CC(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,k;return s=new ys({props:{single:!0,$$slots:{header:[cC],default:[aC]},$$scope:{ctx:n}}}),o=new ys({props:{single:!0,$$slots:{header:[bC],default:[hC]},$$scope:{ctx:n}}}),a=new ys({props:{single:!0,$$slots:{header:[SC],default:[yC]},$$scope:{ctx:n}}}),h=new me({props:{class:"form-field required",name:"options.minPasswordLength",$$slots:{default:[TC,({uniqueId:y})=>({12:y}),({uniqueId:y})=>y?4096:0]},$$scope:{ctx:n}}}),b=new me({props:{class:"form-field form-field-toggle m-b-sm",name:"options.requireEmail",$$slots:{default:[$C,({uniqueId:y})=>({12:y}),({uniqueId:y})=>y?4096:0]},$$scope:{ctx:n}}}),{c(){e=v("h4"),e.textContent="Auth methods",t=O(),i=v("div"),H(s.$$.fragment),l=O(),H(o.$$.fragment),r=O(),H(a.$$.fragment),u=O(),f=v("hr"),c=O(),d=v("h4"),d.textContent="General",m=O(),H(h.$$.fragment),g=O(),H(b.$$.fragment),p(e,"class","section-title"),p(i,"class","accordions"),p(d,"class","section-title")},m(y,T){S(y,e,T),S(y,t,T),S(y,i,T),q(s,i,null),_(i,l),q(o,i,null),_(i,r),q(a,i,null),S(y,u,T),S(y,f,T),S(y,c,T),S(y,d,T),S(y,m,T),q(h,y,T),S(y,g,T),q(b,y,T),k=!0},p(y,[T]){const $={};T&8201&&($.$$scope={dirty:T,ctx:y}),s.$set($);const M={};T&8197&&(M.$$scope={dirty:T,ctx:y}),o.$set(M);const C={};T&8195&&(C.$$scope={dirty:T,ctx:y}),a.$set(C);const D={};T&12289&&(D.$$scope={dirty:T,ctx:y}),h.$set(D);const E={};T&12289&&(E.$$scope={dirty:T,ctx:y}),b.$set(E)},i(y){k||(A(s.$$.fragment,y),A(o.$$.fragment,y),A(a.$$.fragment,y),A(h.$$.fragment,y),A(b.$$.fragment,y),k=!0)},o(y){I(s.$$.fragment,y),I(o.$$.fragment,y),I(a.$$.fragment,y),I(h.$$.fragment,y),I(b.$$.fragment,y),k=!1},d(y){y&&w(e),y&&w(t),y&&w(i),j(s),j(o),j(a),y&&w(u),y&&w(f),y&&w(c),y&&w(d),y&&w(m),j(h,y),y&&w(g),j(b,y)}}}function MC(n,e,t){let i,s,l,o;Ye(n,fi,g=>t(4,o=g));let{collection:r=new pn}=e;function a(){r.options.allowUsernameAuth=this.checked,t(0,r)}function u(){r.options.allowEmailAuth=this.checked,t(0,r)}function f(g){n.$$.not_equal(r.options.exceptEmailDomains,g)&&(r.options.exceptEmailDomains=g,t(0,r))}function c(g){n.$$.not_equal(r.options.onlyEmailDomains,g)&&(r.options.onlyEmailDomains=g,t(0,r))}function d(){r.options.allowOAuth2Auth=this.checked,t(0,r)}function m(){r.options.minPasswordLength=ht(this.value),t(0,r)}function h(){r.options.requireEmail=this.checked,t(0,r)}return n.$$set=g=>{"collection"in g&&t(0,r=g.collection)},n.$$.update=()=>{var g,b,k,y;n.$$.dirty&1&&r.isAuth&&z.isEmpty(r.options)&&t(0,r.options={allowEmailAuth:!0,allowUsernameAuth:!0,allowOAuth2Auth:!0,minPasswordLength:8},r),n.$$.dirty&16&&t(2,s=!z.isEmpty((g=o==null?void 0:o.options)==null?void 0:g.allowEmailAuth)||!z.isEmpty((b=o==null?void 0:o.options)==null?void 0:b.onlyEmailDomains)||!z.isEmpty((k=o==null?void 0:o.options)==null?void 0:k.exceptEmailDomains)),n.$$.dirty&16&&t(1,l=!z.isEmpty((y=o==null?void 0:o.options)==null?void 0:y.allowOAuth2Auth))},t(3,i=!1),[r,l,s,i,o,a,u,f,c,d,m,h]}class DC extends ye{constructor(e){super(),ve(this,e,MC,CC,he,{collection:0})}}function Md(n,e,t){const i=n.slice();return i[15]=e[t],i}function Dd(n,e,t){const i=n.slice();return i[15]=e[t],i}function Od(n){let e;return{c(){e=v("p"),e.textContent="All data associated with the removed fields will be permanently deleted!"},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function Ed(n){var r;let e,t,i,s,l=n[2]&&Ad(n),o=!((r=n[1])!=null&&r.isView)&&Id(n);return{c(){e=v("h6"),e.textContent="Changes:",t=O(),i=v("ul"),l&&l.c(),s=O(),o&&o.c(),p(i,"class","changes-list svelte-1ghly2p")},m(a,u){S(a,e,u),S(a,t,u),S(a,i,u),l&&l.m(i,null),_(i,s),o&&o.m(i,null)},p(a,u){var f;a[2]?l?l.p(a,u):(l=Ad(a),l.c(),l.m(i,s)):l&&(l.d(1),l=null),(f=a[1])!=null&&f.isView?o&&(o.d(1),o=null):o?o.p(a,u):(o=Id(a),o.c(),o.m(i,null))},d(a){a&&w(e),a&&w(t),a&&w(i),l&&l.d(),o&&o.d()}}}function Ad(n){let e,t,i,s,l=n[1].originalName+"",o,r,a,u,f,c=n[1].name+"",d;return{c(){e=v("li"),t=v("div"),i=B(`Renamed collection
|
||||||
|
`),s=v("strong"),o=B(l),r=O(),a=v("i"),u=O(),f=v("strong"),d=B(c),p(s,"class","txt-strikethrough txt-hint"),p(a,"class","ri-arrow-right-line txt-sm"),p(f,"class","txt"),p(t,"class","inline-flex")},m(m,h){S(m,e,h),_(e,t),_(t,i),_(t,s),_(s,o),_(t,r),_(t,a),_(t,u),_(t,f),_(f,d)},p(m,h){h&2&&l!==(l=m[1].originalName+"")&&le(o,l),h&2&&c!==(c=m[1].name+"")&&le(d,c)},d(m){m&&w(e)}}}function Id(n){let e,t,i=n[5],s=[];for(let r=0;r<i.length;r+=1)s[r]=Pd(Dd(n,i,r));let l=n[4],o=[];for(let r=0;r<l.length;r+=1)o[r]=Ld(Md(n,l,r));return{c(){for(let r=0;r<s.length;r+=1)s[r].c();e=O();for(let r=0;r<o.length;r+=1)o[r].c();t=Me()},m(r,a){for(let u=0;u<s.length;u+=1)s[u].m(r,a);S(r,e,a);for(let u=0;u<o.length;u+=1)o[u].m(r,a);S(r,t,a)},p(r,a){if(a&32){i=r[5];let u;for(u=0;u<i.length;u+=1){const f=Dd(r,i,u);s[u]?s[u].p(f,a):(s[u]=Pd(f),s[u].c(),s[u].m(e.parentNode,e))}for(;u<s.length;u+=1)s[u].d(1);s.length=i.length}if(a&16){l=r[4];let u;for(u=0;u<l.length;u+=1){const f=Md(r,l,u);o[u]?o[u].p(f,a):(o[u]=Ld(f),o[u].c(),o[u].m(t.parentNode,t))}for(;u<o.length;u+=1)o[u].d(1);o.length=l.length}},d(r){mt(s,r),r&&w(e),mt(o,r),r&&w(t)}}}function Pd(n){let e,t,i,s,l=n[15].originalName+"",o,r,a,u,f,c=n[15].name+"",d;return{c(){e=v("li"),t=v("div"),i=B(`Renamed field
|
||||||
|
`),s=v("strong"),o=B(l),r=O(),a=v("i"),u=O(),f=v("strong"),d=B(c),p(s,"class","txt-strikethrough txt-hint"),p(a,"class","ri-arrow-right-line txt-sm"),p(f,"class","txt"),p(t,"class","inline-flex")},m(m,h){S(m,e,h),_(e,t),_(t,i),_(t,s),_(s,o),_(t,r),_(t,a),_(t,u),_(t,f),_(f,d)},p(m,h){h&32&&l!==(l=m[15].originalName+"")&&le(o,l),h&32&&c!==(c=m[15].name+"")&&le(d,c)},d(m){m&&w(e)}}}function Ld(n){let e,t,i,s=n[15].name+"",l,o;return{c(){e=v("li"),t=B("Removed field "),i=v("span"),l=B(s),o=O(),p(i,"class","txt-bold"),p(e,"class","txt-danger")},m(r,a){S(r,e,a),_(e,t),_(e,i),_(i,l),_(e,o)},p(r,a){a&16&&s!==(s=r[15].name+"")&&le(l,s)},d(r){r&&w(e)}}}function OC(n){let e,t,i,s,l,o,r,a,u=n[4].length&&Od(),f=n[6]&&Ed(n);return{c(){e=v("div"),t=v("div"),t.innerHTML='<i class="ri-error-warning-line"></i>',i=O(),s=v("div"),l=v("p"),l.textContent=`If any of the collection changes is part of another collection rule, filter or view query,
|
||||||
|
you'll have to update it manually!`,o=O(),u&&u.c(),r=O(),f&&f.c(),a=Me(),p(t,"class","icon"),p(s,"class","content txt-bold"),p(e,"class","alert alert-warning")},m(c,d){S(c,e,d),_(e,t),_(e,i),_(e,s),_(s,l),_(s,o),u&&u.m(s,null),S(c,r,d),f&&f.m(c,d),S(c,a,d)},p(c,d){c[4].length?u||(u=Od(),u.c(),u.m(s,null)):u&&(u.d(1),u=null),c[6]?f?f.p(c,d):(f=Ed(c),f.c(),f.m(a.parentNode,a)):f&&(f.d(1),f=null)},d(c){c&&w(e),u&&u.d(),c&&w(r),f&&f.d(c),c&&w(a)}}}function EC(n){let e;return{c(){e=v("h4"),e.textContent="Confirm collection changes"},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function AC(n){let e,t,i,s,l;return{c(){e=v("button"),e.innerHTML='<span class="txt">Cancel</span>',t=O(),i=v("button"),i.innerHTML='<span class="txt">Confirm</span>',e.autofocus=!0,p(e,"type","button"),p(e,"class","btn btn-transparent"),p(i,"type","button"),p(i,"class","btn btn-expanded")},m(o,r){S(o,e,r),S(o,t,r),S(o,i,r),e.focus(),s||(l=[Y(e,"click",n[9]),Y(i,"click",n[10])],s=!0)},p:Z,d(o){o&&w(e),o&&w(t),o&&w(i),s=!1,Pe(l)}}}function IC(n){let e,t,i={class:"confirm-changes-panel",popup:!0,$$slots:{footer:[AC],header:[EC],default:[OC]},$$scope:{ctx:n}};return e=new Nn({props:i}),n[11](e),e.$on("hide",n[12]),e.$on("show",n[13]),{c(){H(e.$$.fragment)},m(s,l){q(e,s,l),t=!0},p(s,[l]){const o={};l&1048694&&(o.$$scope={dirty:l,ctx:s}),e.$set(o)},i(s){t||(A(e.$$.fragment,s),t=!0)},o(s){I(e.$$.fragment,s),t=!1},d(s){n[11](null),j(e,s)}}}function PC(n,e,t){let i,s,l,o;const r=Ct();let a,u;async function f(y){t(1,u=y),await sn(),!i&&!s.length&&!l.length?d():a==null||a.show()}function c(){a==null||a.hide()}function d(){c(),r("confirm")}const m=()=>c(),h=()=>d();function g(y){ie[y?"unshift":"push"](()=>{a=y,t(3,a)})}function b(y){ze.call(this,n,y)}function k(y){ze.call(this,n,y)}return n.$$.update=()=>{n.$$.dirty&2&&t(2,i=(u==null?void 0:u.originalName)!=(u==null?void 0:u.name)),n.$$.dirty&2&&t(5,s=(u==null?void 0:u.schema.filter(y=>y.id&&!y.toDelete&&y.originalName!=y.name))||[]),n.$$.dirty&2&&t(4,l=(u==null?void 0:u.schema.filter(y=>y.id&&y.toDelete))||[]),n.$$.dirty&6&&t(6,o=i||!(u!=null&&u.isView))},[c,u,i,a,l,s,o,d,f,m,h,g,b,k]}class LC extends ye{constructor(e){super(),ve(this,e,PC,IC,he,{show:8,hide:0})}get show(){return this.$$.ctx[8]}get hide(){return this.$$.ctx[0]}}function Nd(n,e,t){const i=n.slice();return i[47]=e[t][0],i[48]=e[t][1],i}function NC(n){let e,t,i;function s(o){n[32](o)}let l={};return n[2]!==void 0&&(l.collection=n[2]),e=new j$({props:l}),ie.push(()=>ge(e,"collection",s)),{c(){H(e.$$.fragment)},m(o,r){q(e,o,r),i=!0},p(o,r){const a={};!t&&r[0]&4&&(t=!0,a.collection=o[2],ke(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){j(e,o)}}}function FC(n){let e,t,i;function s(o){n[31](o)}let l={};return n[2]!==void 0&&(l.collection=n[2]),e=new oC({props:l}),ie.push(()=>ge(e,"collection",s)),{c(){H(e.$$.fragment)},m(o,r){q(e,o,r),i=!0},p(o,r){const a={};!t&&r[0]&4&&(t=!0,a.collection=o[2],ke(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){j(e,o)}}}function Fd(n){let e,t,i,s;function l(r){n[33](r)}let o={};return n[2]!==void 0&&(o.collection=n[2]),t=new eC({props:o}),ie.push(()=>ge(t,"collection",l)),{c(){e=v("div"),H(t.$$.fragment),p(e,"class","tab-item active")},m(r,a){S(r,e,a),q(t,e,null),s=!0},p(r,a){const u={};!i&&a[0]&4&&(i=!0,u.collection=r[2],ke(()=>i=!1)),t.$set(u)},i(r){s||(A(t.$$.fragment,r),s=!0)},o(r){I(t.$$.fragment,r),s=!1},d(r){r&&w(e),j(t)}}}function Rd(n){let e,t,i,s;function l(r){n[34](r)}let o={};return n[2]!==void 0&&(o.collection=n[2]),t=new DC({props:o}),ie.push(()=>ge(t,"collection",l)),{c(){e=v("div"),H(t.$$.fragment),p(e,"class","tab-item"),Q(e,"active",n[3]===Os)},m(r,a){S(r,e,a),q(t,e,null),s=!0},p(r,a){const u={};!i&&a[0]&4&&(i=!0,u.collection=r[2],ke(()=>i=!1)),t.$set(u),(!s||a[0]&8)&&Q(e,"active",r[3]===Os)},i(r){s||(A(t.$$.fragment,r),s=!0)},o(r){I(t.$$.fragment,r),s=!1},d(r){r&&w(e),j(t)}}}function RC(n){let e,t,i,s,l,o,r;const a=[FC,NC],u=[];function f(m,h){return m[2].isView?0:1}i=f(n),s=u[i]=a[i](n);let c=n[3]===bl&&Fd(n),d=n[2].isAuth&&Rd(n);return{c(){e=v("div"),t=v("div"),s.c(),l=O(),c&&c.c(),o=O(),d&&d.c(),p(t,"class","tab-item"),Q(t,"active",n[3]===yi),p(e,"class","tabs-content svelte-12y0yzb")},m(m,h){S(m,e,h),_(e,t),u[i].m(t,null),_(e,l),c&&c.m(e,null),_(e,o),d&&d.m(e,null),r=!0},p(m,h){let g=i;i=f(m),i===g?u[i].p(m,h):(ae(),I(u[g],1,1,()=>{u[g]=null}),ue(),s=u[i],s?s.p(m,h):(s=u[i]=a[i](m),s.c()),A(s,1),s.m(t,null)),(!r||h[0]&8)&&Q(t,"active",m[3]===yi),m[3]===bl?c?(c.p(m,h),h[0]&8&&A(c,1)):(c=Fd(m),c.c(),A(c,1),c.m(e,o)):c&&(ae(),I(c,1,1,()=>{c=null}),ue()),m[2].isAuth?d?(d.p(m,h),h[0]&4&&A(d,1)):(d=Rd(m),d.c(),A(d,1),d.m(e,null)):d&&(ae(),I(d,1,1,()=>{d=null}),ue())},i(m){r||(A(s),A(c),A(d),r=!0)},o(m){I(s),I(c),I(d),r=!1},d(m){m&&w(e),u[i].d(),c&&c.d(),d&&d.d()}}}function qd(n){let e,t,i,s,l,o,r;return o=new ei({props:{class:"dropdown dropdown-right m-t-5",$$slots:{default:[qC]},$$scope:{ctx:n}}Line truncated
|
||||||
|
<span class="txt">Duplicate</span>`,t=O(),i=v("button"),i.innerHTML=`<i class="ri-delete-bin-7-line"></i>
|
||||||
|
<span class="txt">Delete</span>`,p(e,"type","button"),p(e,"class","dropdown-item closable"),p(i,"type","button"),p(i,"class","dropdown-item txt-danger closable")},m(o,r){S(o,e,r),S(o,t,r),S(o,i,r),s||(l=[Y(e,"click",n[23]),Y(i,"click",kn(dt(n[24])))],s=!0)},p:Z,d(o){o&&w(e),o&&w(t),o&&w(i),s=!1,Pe(l)}}}function jd(n){let e,t,i,s;return i=new ei({props:{class:"dropdown dropdown-right dropdown-nowrap m-t-5",$$slots:{default:[jC]},$$scope:{ctx:n}}}),{c(){e=v("i"),t=O(),H(i.$$.fragment),p(e,"class","ri-arrow-down-s-fill")},m(l,o){S(l,e,o),S(l,t,o),q(i,l,o),s=!0},p(l,o){const r={};o[0]&68|o[1]&1048576&&(r.$$scope={dirty:o,ctx:l}),i.$set(r)},i(l){s||(A(i.$$.fragment,l),s=!0)},o(l){I(i.$$.fragment,l),s=!1},d(l){l&&w(e),l&&w(t),j(i,l)}}}function Hd(n){let e,t,i,s,l,o=n[48]+"",r,a,u,f,c;function d(){return n[26](n[47])}return{c(){e=v("button"),t=v("i"),s=O(),l=v("span"),r=B(o),a=B(" collection"),u=O(),p(t,"class",i=Si(z.getCollectionTypeIcon(n[47]))+" svelte-12y0yzb"),p(l,"class","txt"),p(e,"type","button"),p(e,"class","dropdown-item closable"),Q(e,"selected",n[47]==n[2].type)},m(m,h){S(m,e,h),_(e,t),_(e,s),_(e,l),_(l,r),_(l,a),_(e,u),f||(c=Y(e,"click",d),f=!0)},p(m,h){n=m,h[0]&64&&i!==(i=Si(z.getCollectionTypeIcon(n[47]))+" svelte-12y0yzb")&&p(t,"class",i),h[0]&64&&o!==(o=n[48]+"")&&le(r,o),h[0]&68&&Q(e,"selected",n[47]==n[2].type)},d(m){m&&w(e),f=!1,c()}}}function jC(n){let e,t=Object.entries(n[6]),i=[];for(let s=0;s<t.length;s+=1)i[s]=Hd(Nd(n,t,s));return{c(){for(let s=0;s<i.length;s+=1)i[s].c();e=Me()},m(s,l){for(let o=0;o<i.length;o+=1)i[o].m(s,l);S(s,e,l)},p(s,l){if(l[0]&131140){t=Object.entries(s[6]);let o;for(o=0;o<t.length;o+=1){const r=Nd(s,t,o);i[o]?i[o].p(r,l):(i[o]=Hd(r),i[o].c(),i[o].m(e.parentNode,e))}for(;o<i.length;o+=1)i[o].d(1);i.length=t.length}},d(s){mt(i,s),s&&w(e)}}}function Vd(n){let e;return{c(){e=v("div"),e.textContent="System collection",p(e,"class","help-block")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function HC(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,k=(n[6][n[2].type]||"N/A")+"",y,T,$,M,C,D,E,P,L,N=n[2].isNew&&jd(n),F=n[2].system&&Vd();return{c(){e=v("label"),t=B("Name"),s=O(),l=v("input"),f=O(),c=v("div"),d=v("button"),m=v("span"),h=O(),g=v("span"),b=B("Type: "),y=B(k),T=O(),N&&N.c(),C=O(),F&&F.c(),D=Me(),p(e,"for",i=n[46]),p(l,"type","text"),p(l,"id",o=n[46]),l.required=!0,l.disabled=n[13],p(l,"spellcheck","false"),l.autofocus=r=n[2].isNew,p(l,"placeholder",a=n[2].isAuth?'eg. "users"':'eg. "posts"'),l.value=u=n[2].name,p(g,"class","txt"),p(d,"type","button"),p(d,"class",$="btn btn-sm p-r-10 p-l-10 "+(n[2].isNew?"btn-outline":"btn-transparent")),d.disabled=M=!n[2].isNew,p(c,"class","form-field-addon")},m(R,X){S(R,e,X),_(e,t),S(R,s,X),S(R,l,X),S(R,f,X),S(R,c,X),_(c,d),_(d,m),_(d,h),_(d,g),_(g,b),_(g,y),_(d,T),N&&N.m(d,null),S(R,C,X),F&&F.m(R,X),S(R,D,X),E=!0,n[2].isNew&&l.focus(),P||(L=Y(l,"input",n[25]),P=!0)},p(R,X){(!E||X[1]&32768&&i!==(i=R[46]))&&p(e,"for",i),(!E||X[1]&32768&&o!==(o=R[46]))&&p(l,"id",o),(!E||X[0]&8192)&&(l.disabled=R[13]),(!E||X[0]&4&&r!==(r=R[2].isNew))&&(l.autofocus=r),(!E||X[0]&4&&a!==(a=R[2].isAuth?'eg. "users"':'eg. "posts"'))&&p(l,"placeholder",a),(!E||X[0]&4&&u!==(u=R[2].name)&&l.value!==u)&&(l.value=u),(!E||X[0]&68)&&k!==(k=(R[6][R[2].type]||"N/A")+"")&&le(y,k),R[2].isNew?N?(N.p(R,X),X[0]&4&&A(N,1)):(N=jd(R),N.c(),A(N,1),N.m(d,null)):N&&(ae(),I(N,1,1,()=>{N=null}),ue()),(!E||X[0]&4&&$!==($="btn btn-sm p-r-10 p-l-10 "+(R[2].isNew?"btn-outline":"btn-transparent")))&&p(d,"class",$),(!E||X[0]&4&&M!==(M=!R[2].isNew))&&(d.disabled=M),R[2].system?F||(F=Vd(),F.c(),F.m(D.parentNode,D)):F&&(F.d(1),F=null)},i(R){E||(A(N),E=!0)},o(R){I(N),E=!1},d(R){R&&w(e),R&&w(s),R&&w(l),R&&w(f),R&&w(c),N&&N.d(),R&&w(C),F&&F.d(R),R&&w(D),P=!1,L()}}}function zd(n){let e,t,i,s,l,o;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(r,a){S(r,e,a),s=!0,l||(o=Ie(t=Be.call(null,e,n[11])),l=!0)},p(r,a){t&&Bt(t.update)&&a[0]&2048&&t.update.call(null,r[11])},i(r){s||(r&&xe(()=>{i||(i=je(e,It,{duration:150,start:.7},!0)),i.run(1)}),s=!0)},o(r){r&&(i||(i=je(e,It,{duration:150,start:.7},!1)),i.run(0)),s=!1},d(r){r&&w(e),r&&i&&i.end(),l=!1,o()}}}function Bd(n){let e,t,i,s,l;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){S(o,e,r),i=!0,s||(l=Ie(Be.call(null,e,"Has errors")),s=!0)},i(o){i||(o&&xe(()=>{t||(t=je(e,It,{duration:150,start:.7},!0)),t.run(1)}),i=!0)},o(o){o&&(t||(t=je(e,It,{duration:150,start:.7},!1)),t.run(0)),i=!1},d(o){o&&w(e),o&&t&&t.end(),s=!1,l()}}}function Ud(n){var a,u,f;let e,t,i,s=!z.isEmpty((a=n[5])==null?void 0:a.options)&&!((f=(u=n[5])==null?void 0:u.options)!=null&&f.manageRule),l,o,r=s&&Wd();return{c(){e=v("button"),t=v("span"),t.textContent="Options",i=O(),r&&r.c(),p(t,"class","txt"),p(e,"type","button"),p(e,"class","tab-item"),Q(e,"active",n[3]===Os)},m(c,d){S(c,e,d),_(e,t),_(e,i),r&&r.m(e,null),l||(o=Y(e,"click",n[30]),l=!0)},p(c,d){var m,h,g;d[0]&32&&(s=!z.isEmpty((m=c[5])==null?void 0:m.options)&&!((g=(h=Line truncated
|
||||||
|
<span class="txt">New collection</span>`,p(t,"type","button"),p(t,"class","btn btn-block btn-outline"),p(e,"class","sidebar-footer")},m(l,o){S(l,e,o),_(e,t),i||(s=Y(t,"click",n[12]),i=!0)},p:Z,d(l){l&&w(e),i=!1,s()}}}function KC(n){let e,t,i,s,l,o,r,a,u,f,c,d=[],m=new Map,h,g,b,k,y,T,$=n[3];const M=P=>P[15].id;for(let P=0;P<$.length;P+=1){let L=Kd(n,$,P),N=M(L);m.set(N,d[P]=Gd(N,L))}let C=null;$.length||(C=Jd(n));let D=!n[7]&&Xd(n),E={};return b=new tu({props:E}),n[13](b),b.$on("save",n[14]),{c(){e=v("aside"),t=v("header"),i=v("div"),s=v("div"),l=v("button"),l.innerHTML='<i class="ri-close-line"></i>',o=O(),r=v("input"),a=O(),u=v("hr"),f=O(),c=v("div");for(let P=0;P<d.length;P+=1)d[P].c();C&&C.c(),h=O(),D&&D.c(),g=O(),H(b.$$.fragment),p(l,"type","button"),p(l,"class","btn btn-xs btn-transparent btn-circle btn-clear"),Q(l,"hidden",!n[4]),p(s,"class","form-field-addon"),p(r,"type","text"),p(r,"placeholder","Search collections..."),p(i,"class","form-field search"),Q(i,"active",n[4]),p(t,"class","sidebar-header"),p(u,"class","m-t-5 m-b-xs"),p(c,"class","sidebar-content"),Q(c,"fade",n[6]),Q(c,"sidebar-content-compact",n[3].length>20),p(e,"class","page-sidebar collection-sidebar")},m(P,L){S(P,e,L),_(e,t),_(t,i),_(i,s),_(s,l),_(i,o),_(i,r),ce(r,n[0]),_(e,a),_(e,u),_(e,f),_(e,c);for(let N=0;N<d.length;N+=1)d[N].m(c,null);C&&C.m(c,null),_(e,h),D&&D.m(e,null),S(P,g,L),q(b,P,L),k=!0,y||(T=[Y(l,"click",n[10]),Y(r,"input",n[11])],y=!0)},p(P,[L]){(!k||L&16)&&Q(l,"hidden",!P[4]),L&1&&r.value!==P[0]&&ce(r,P[0]),(!k||L&16)&&Q(i,"active",P[4]),L&42&&($=P[3],d=wt(d,L,M,1,P,$,m,c,es,Gd,null,Kd),!$.length&&C?C.p(P,L):$.length?C&&(C.d(1),C=null):(C=Jd(P),C.c(),C.m(c,null))),(!k||L&64)&&Q(c,"fade",P[6]),(!k||L&8)&&Q(c,"sidebar-content-compact",P[3].length>20),P[7]?D&&(D.d(1),D=null):D?D.p(P,L):(D=Xd(P),D.c(),D.m(e,null));const N={};b.$set(N)},i(P){k||(A(b.$$.fragment,P),k=!0)},o(P){I(b.$$.fragment,P),k=!1},d(P){P&&w(e);for(let L=0;L<d.length;L+=1)d[L].d();C&&C.d(),D&&D.d(),P&&w(g),n[13](null),j(b,P),y=!1,Pe(T)}}}function JC(){setTimeout(()=>{const n=document.querySelector(".collection-sidebar .sidebar-list-item.active");n&&(n==null||n.scrollIntoView({block:"nearest"}))},0)}function ZC(n,e,t){let i,s,l,o,r,a,u;Ye(n,Mi,y=>t(5,o=y)),Ye(n,Ai,y=>t(9,r=y)),Ye(n,Po,y=>t(6,a=y)),Ye(n,$s,y=>t(7,u=y));let f,c="";function d(y){Kt(Mi,o=y,o)}const m=()=>t(0,c="");function h(){c=this.value,t(0,c)}const g=()=>f==null?void 0:f.show();function b(y){ie[y?"unshift":"push"](()=>{f=y,t(2,f)})}const k=y=>{var T;(T=y.detail)!=null&&T.isNew&&y.detail.collection&&d(y.detail.collection)};return n.$$.update=()=>{n.$$.dirty&512&&r&&JC(),n.$$.dirty&1&&t(1,i=c.replace(/\s+/g,"").toLowerCase()),n.$$.dirty&1&&t(4,s=c!==""),n.$$.dirty&515&&t(3,l=r.filter(y=>y.id==c||y.name.replace(/\s+/g,"").toLowerCase().includes(i)))},[c,i,f,l,s,o,a,u,d,r,m,h,g,b,k]}class GC extends ye{constructor(e){super(),ve(this,e,ZC,KC,he,{})}}function Qd(n,e,t){const i=n.slice();return i[14]=e[t][0],i[15]=e[t][1],i}function xd(n){n[18]=n[19].default}function ep(n,e,t){const i=n.slice();return i[14]=e[t][0],i[15]=e[t][1],i[21]=t,i}function tp(n){let e;return{c(){e=v("hr"),p(e,"class","m-t-sm m-b-sm")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function np(n,e){let t,i=e[21]===Object.keys(e[6]).length,s,l,o=e[15].label+"",r,a,u,f,c=i&&tp();function d(){return e[9](e[14])}return{key:n,first:null,c(){t=Me(),c&&c.c(),s=O(),l=v("button"),r=B(o),a=O(),p(l,"type","button"),p(l,"class","sidebar-item"),Q(l,"active",e[5]===e[14]),this.first=t},m(m,h){S(m,t,h),c&&c.m(m,h),S(m,s,h),S(m,l,h),_(l,r),_(l,a),u||(f=Y(l,"click",d),u=!0)},p(m,h){e=m,h&8&&(i=e[21]===Object.keys(e[6]).length),i?c||(c=tp(),c.c(),c.m(s.parentNode,s)):c&&(c.d(1),c=null),h&8&&o!==(o=e[15].label+"")&&le(r,o),h&40&&Q(l,"active",e[5]===e[14])},d(m){m&&w(t),c&&c.d(m),m&&w(s),m&&w(l),u=!1,f()}}}function ip(n){let e,t,i,s={ctx:n,current:null,token:null,hasCatch:!1,pending:xC,then:QC,catch:XC,value:19,blocks:[,,,]};return ou(t=n[15].component,s),{c(){e=Me(),s.block.c()},m(l,o){S(l,e,o),s.block.m(l,s.anchor=o),s.mount=()=>e.parentNode,s.anchor=e,i=!0},p(l,o){n=l,s.ctx=n,o&8&&t!==(t=n[15].component)&&ou(t,s)||e1(s,n,o)},i(l){i||(A(s.block),i=!0)},o(l){for(let o=0;o<3;o+=1){const r=s.blocks[o];I(r)}i=!1},d(l){l&&w(e),s.block.d(l),s.token=null,s=null}}}function XC(n){return{c:Z,m:Z,p:Z,i:Z,o:Z,d:Z}}function QC(n){xd(n);let e,t,i;return e=new n[18]({props:{collection:n[2]}}),{c(){H(e.$$.fragment),t=O()},m(s,l){q(e,s,l),S(s,t,l),i=!0},p(s,l){xd(s);const o={};l&4&&(o.collection=s[2]),e.$set(o)},i(s){i||(A(e.$$.fragment,s),i=!0)},o(s){I(e.$$.fragment,s),i=!1},d(s){j(e,s),s&&w(t)}}}function xC(n){return{c:Z,m:Z,p:Z,i:Z,o:Z,d:Z}}function sp(n,e){let t,i,s,l=e[5]===e[14]&&ip(e);return{key:n,first:null,c(){t=Me(),l&&l.c(),i=Me(),this.first=t},m(o,r){S(o,t,r),l&&l.m(o,r),S(o,i,r),s=!0},p(o,r){e=o,e[5]===e[14]?l?(l.p(e,r),r&40&&A(l,1)):(l=ip(e),l.c(),A(l,1),l.m(i.parentNode,i)):l&&(ae(),I(l,1,1,()=>{l=null}),ue())},i(o){s||(A(l),s=!0)},o(o){I(lLine truncated
|
||||||
|
<span class="txt">Upload new file</span>`,p(t,"type","file"),p(t,"class","hidden"),t.multiple=n[5],p(s,"type","button"),p(s,"class","btn btn-transparent btn-sm btn-block"),p(e,"class","list-item list-item-btn")},m(r,a){S(r,e,a),_(e,t),n[16](t),_(e,i),_(e,s),l||(o=[Y(t,"change",n[17]),Y(s,"click",n[18])],l=!0)},p(r,a){a&32&&(t.multiple=r[5])},d(r){r&&w(e),n[16](null),l=!1,Pe(o)}}}function hM(n){let e,t,i,s,l,o=n[3].name+"",r,a,u,f,c=[],d=new Map,m,h,g,b=n[4];const k=C=>C[25]+C[2].id;for(let C=0;C<b.length;C+=1){let D=cp(n,b,C),E=k(D);d.set(E,c[C]=dp(E,D))}let y=n[0],T=[];for(let C=0;C<y.length;C+=1)T[C]=pp(fp(n,y,C));const $=C=>I(T[C],1,1,()=>{T[C]=null});let M=!n[8]&&mp(n);return{c(){e=v("label"),t=v("i"),s=O(),l=v("span"),r=B(o),u=O(),f=v("div");for(let C=0;C<c.length;C+=1)c[C].c();m=O();for(let C=0;C<T.length;C+=1)T[C].c();h=O(),M&&M.c(),p(t,"class",i=z.getFieldTypeIcon(n[3].type)),p(l,"class","txt"),p(e,"for",a=n[21]),p(f,"class","list")},m(C,D){S(C,e,D),_(e,t),_(e,s),_(e,l),_(l,r),S(C,u,D),S(C,f,D);for(let E=0;E<c.length;E+=1)c[E].m(f,null);_(f,m);for(let E=0;E<T.length;E+=1)T[E].m(f,null);_(f,h),M&&M.m(f,null),n[19](f),g=!0},p(C,D){if((!g||D&8&&i!==(i=z.getFieldTypeIcon(C[3].type)))&&p(t,"class",i),(!g||D&8)&&o!==(o=C[3].name+"")&&le(r,o),(!g||D&2097152&&a!==(a=C[21]))&&p(e,"for",a),D&1558&&(b=C[4],ae(),c=wt(c,D,k,1,C,b,d,f,ln,dp,m,cp),ue()),D&2049){y=C[0];let E;for(E=0;E<y.length;E+=1){const P=fp(C,y,E);T[E]?(T[E].p(P,D),A(T[E],1)):(T[E]=pp(P),T[E].c(),A(T[E],1),T[E].m(f,h))}for(ae(),E=y.length;E<T.length;E+=1)$(E);ue()}C[8]?M&&(M.d(1),M=null):M?M.p(C,D):(M=mp(C),M.c(),M.m(f,null))},i(C){if(!g){for(let D=0;D<b.length;D+=1)A(c[D]);for(let D=0;D<y.length;D+=1)A(T[D]);g=!0}},o(C){for(let D=0;D<c.length;D+=1)I(c[D]);T=T.filter(Boolean);for(let D=0;D<T.length;D+=1)I(T[D]);g=!1},d(C){C&&w(e),C&&w(u),C&&w(f);for(let D=0;D<c.length;D+=1)c[D].d();mt(T,C),M&&M.d(),n[19](null)}}}function gM(n){let e,t;return e=new me({props:{class:"form-field form-field-list form-field-file "+(n[3].required?"required":""),name:n[3].name,$$slots:{default:[hM,({uniqueId:i})=>({21:i}),({uniqueId:i})=>i?2097152:0]},$$scope:{ctx:n}}}),{c(){H(e.$$.fragment)},m(i,s){q(e,i,s),t=!0},p(i,[s]){const l={};s&8&&(l.class="form-field form-field-list form-field-file "+(i[3].required?"required":"")),s&8&&(l.name=i[3].name),s&270533119&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){j(e,i)}}}function _M(n,e,t){let i,s,l,{record:o}=e,{value:r=""}=e,{uploadedFiles:a=[]}=e,{deletedFileIndexes:u=[]}=e,{field:f=new mn}=e,c,d;function m(E){z.removeByValue(u,E),t(1,u)}function h(E){z.pushUnique(u,E),t(1,u)}function g(E){z.isEmpty(a[E])||a.splice(E,1),t(0,a)}function b(){d==null||d.dispatchEvent(new CustomEvent("change",{detail:{value:r,uploadedFiles:a,deletedFileIndexes:u},bubbles:!0}))}const k=E=>m(E),y=E=>h(E),T=E=>g(E);function $(E){ie[E?"unshift":"push"](()=>{c=E,t(6,c)})}const M=()=>{for(let E of c.files)a.push(E);t(0,a),t(6,c.value=null,c)},C=()=>c==null?void 0:c.click();function D(E){ie[E?"unshift":"push"](()=>{d=E,t(7,d)})}return n.$$set=E=>{"record"in E&&t(2,o=E.record),"value"in E&&t(12,r=E.value),"uploadedFiles"in E&&t(0,a=E.uploadedFiles),"deletedFileIndexes"in E&&t(1,u=E.deletedFileIndexes),"field"in E&&t(3,f=E.field)},n.$$.update=()=>{var E,P;n.$$.dirty&1&&(Array.isArray(a)||t(0,a=z.toArray(a))),n.$$.dirty&2&&(Array.isArray(u)||t(1,u=z.toArray(u))),n.$$.dirty&8&&t(5,i=((E=f.options)==null?void 0:E.maxSelect)>1),n.$$.dirty&4128&&z.isEmpty(r)&&t(12,r=i?[]:""),n.$$.dirty&4096&&t(4,s=z.toArray(r)),n.$$.dirty&27&&t(8,l=(s.length||a.length)&&((P=f.options)==null?void 0:P.maxSelect)<=s.length+a.length-u.length),n.$$.dirty&3&&(a!==-1||u!==-1)&&b()},[a,u,o,f,s,i,c,d,l,m,h,g,r,k,y,T,$,M,C,D]}class bM extends ye{constructor(e){super(),ve(this,e,_M,gM,he,{record:2,value:12,uploadedFiles:0,deletedFileIndexes:1,field:3})}}function hp(n){return typeof n=="function"?{threshold:100,callback:n}:n||{}}function vM(n,e){e=hp(e),e!=null&&e.callback&&e.callback();function t(i){if(!(e!=null&&e.callback))return;i.target.scrollHeight-i.target.clientHeight-i.target.scrollTop<=e.threshold&&e.callback()}return n.addEventListener("scroll",t),n.addEventListener("resize",t),{update(i){e=hp(i)},destroy(){n.removeEventListener("scroll",t),n.removeEventListener("resize",t)}}}const yM=n=>({dragging:n&2,dragover:n&4}),gp=n=>({dragging:n[1],dragover:n[2]});function kM(n){let e,t,i,s;const l=n[8].default,o=Nt(l,n,n[7],gp);return{c(){e=v("div"),o&&o.c(),p(e,"draggable",!0),p(e,"class","draggable svelte-28orm4"),Q(e,"dragging",n[1]),Q(e,"dragover",n[2])},m(r,a){S(r,e,a),o&&o.m(e,null),t=!0,i||(s=[Y(e,"dragover",dt(n[9])),Y(e,"dragleave",dt(n[10])),Y(e,"dragend",n[11]),Y(e,"dragstart",n[12]),Y(e,"drop",n[13])],i=!0)},p(r,[a]){o&&o.p&&(!t||a&134)&&Rt(o,l,r,r[7],t?Ft(l,r[7],a,yM):qt(r[7]),gp),(!t||a&2)&&Q(e,"dragging",r[1]),(!t||a&4)&&Q(e,"dragover",r[2])},i(r){t||(A(o,r),t=!0)},o(r){I(o,r),t=!1},d(r)Line truncated
|
||||||
|
`),D&&D.c(),m=O(),g.c(),b=Me(),p(s,"type","button"),p(s,"class","btn btn-transparent btn-hint p-l-sm p-r-sm"),p(e,"class","flex m-b-base flex-gap-10"),p(o,"class","list picker-list m-b-base svelte-1u8jhky"),p(c,"class","section-title")},m(N,F){S(N,e,F),q(t,e,null),_(e,i),_(e,s),S(N,l,F),S(N,o,F);for(let R=0;R<r.length;R+=1)r[R].m(o,null);C&&C.m(o,null),S(N,f,F),S(N,c,F),_(c,d),D&&D.m(c,null),S(N,m,F),P[h].m(N,F),S(N,b,F),k=!0,y||(T=[Y(s,"click",n[31]),Ie(u=vM.call(null,o,n[36]))],y=!0)},p(N,F){const R={};F[0]&4&&(R.value=N[2]),F[0]&4096&&(R.autocompleteCollection=N[12]),t.$set(R),F[0]&142252&&($=N[3],ae(),r=wt(r,F,M,1,N,$,a,o,ln,Tp,null,kp),ue(),!$.length&&C?C.p(N,F):$.length?C&&(C.d(1),C=null):(C=wp(N),C.c(),C.m(o,null))),u&&Bt(u.update)&&F[0]&1040&&u.update.call(null,N[36]),N[5]>1?D?D.p(N,F):(D=$p(N),D.c(),D.m(c,null)):D&&(D.d(1),D=null);let X=h;h=L(N),h===X?P[h].p(N,F):(ae(),I(P[X],1,1,()=>{P[X]=null}),ue(),g=P[h],g?g.p(N,F):(g=P[h]=E[h](N),g.c()),A(g,1),g.m(b.parentNode,b))},i(N){if(!k){A(t.$$.fragment,N);for(let F=0;F<$.length;F+=1)A(r[F]);A(g),k=!0}},o(N){I(t.$$.fragment,N);for(let F=0;F<r.length;F+=1)I(r[F]);I(g),k=!1},d(N){N&&w(e),j(t),N&&w(l),N&&w(o);for(let F=0;F<r.length;F+=1)r[F].d();C&&C.d(),N&&w(f),N&&w(c),D&&D.d(),N&&w(m),P[h].d(N),N&&w(b),y=!1,Pe(T)}}}function LM(n){var r;let e,t,i,s=(((r=n[12])==null?void 0:r.name)||"")+"",l,o;return{c(){e=v("h4"),t=B("Select "),i=v("strong"),l=B(s),o=B(" records")},m(a,u){S(a,e,u),_(e,t),_(e,i),_(i,l),_(e,o)},p(a,u){var f;u[0]&4096&&s!==(s=(((f=a[12])==null?void 0:f.name)||"")+"")&&le(l,s)},d(a){a&&w(e)}}}function NM(n){let e,t,i,s,l;return{c(){e=v("button"),e.innerHTML='<span class="txt">Cancel</span>',t=O(),i=v("button"),i.innerHTML='<span class="txt">Save selection</span>',p(e,"type","button"),p(e,"class","btn btn-transparent"),p(i,"type","button"),p(i,"class","btn")},m(o,r){S(o,e,r),S(o,t,r),S(o,i,r),s||(l=[Y(e,"click",n[28]),Y(i,"click",n[29])],s=!0)},p:Z,d(o){o&&w(e),o&&w(t),o&&w(i),s=!1,Pe(l)}}}function FM(n){let e,t,i,s;const l=[{popup:!0},{class:"overlay-panel-xl"},n[19]];let o={$$slots:{footer:[NM],header:[LM],default:[PM]},$$scope:{ctx:n}};for(let a=0;a<l.length;a+=1)o=Je(o,l[a]);e=new Nn({props:o}),n[39](e),e.$on("hide",n[40]),e.$on("show",n[41]);let r={collection:n[12]};return i=new Ab({props:r}),n[42](i),i.$on("save",n[43]),i.$on("delete",n[44]),{c(){H(e.$$.fragment),t=O(),H(i.$$.fragment)},m(a,u){q(e,a,u),S(a,t,u),q(i,a,u),s=!0},p(a,u){const f=u[0]&524288?on(l,[l[0],l[1],xn(a[19])]):{};u[0]&16380|u[1]&33554432&&(f.$$scope={dirty:u,ctx:a}),e.$set(f);const c={};u[0]&4096&&(c.collection=a[12]),i.$set(c)},i(a){s||(A(e.$$.fragment,a),A(i.$$.fragment,a),s=!0)},o(a){I(e.$$.fragment,a),I(i.$$.fragment,a),s=!1},d(a){n[39](null),j(e,a),a&&w(t),n[42](null),j(i,a)}}}const Or=100;function RM(n,e,t){let i,s,l,o,r,a,u,f;const c=["value","field","show","hide"];let d=Et(e,c),m;Ye(n,Ai,Ae=>t(26,m=Ae));const h=Ct(),g="picker_"+z.randomString(5);let{value:b}=e,{field:k}=e,y,T,$="",M=[],C=[],D=1,E=0,P=!1,L=!1;function N(){return t(2,$=""),t(3,M=[]),t(6,C=[]),R(),X(!0),y==null?void 0:y.show()}function F(){return y==null?void 0:y.hide()}async function R(){const Ae=z.toArray(b);if(!s||!Ae.length)return;t(24,L=!0);let ne=[];const we=Ae.slice(),nt=[];for(;we.length>0;){const et=[];for(const bt of we.splice(0,Or))et.push(`id="${bt}"`);nt.push(pe.collection(s).getFullList(Or,{filter:et.join("||"),$autoCancel:!1}))}try{await Promise.all(nt).then(et=>{ne=ne.concat(...et)}),t(6,C=[]);for(const et of Ae){const bt=z.findByKey(ne,"id",et);bt&&C.push(bt)}$.trim()||t(3,M=z.filterDuplicatesByKey(C.concat(M)))}catch(et){pe.errorResponseHandler(et)}t(24,L=!1)}async function X(Ae=!1){if(s){t(4,P=!0),Ae&&($.trim()?t(3,M=[]):t(3,M=z.toArray(C).slice()));try{const ne=Ae?1:D+1,we=await pe.collection(s).getList(ne,Or,{filter:$,sort:"-created",$cancelKey:g+"loadList"});t(3,M=z.filterDuplicatesByKey(M.concat(we.items))),D=we.page,t(23,E=we.totalItems)}catch(ne){pe.errorResponseHandler(ne)}t(4,P=!1)}}function se(Ae){i==1?t(6,C=[Ae]):u&&(z.pushOrReplaceByKey(C,Ae),t(6,C))}function W(Ae){z.removeByKey(C,"id",Ae.id),t(6,C)}function G(Ae){f(Ae)?W(Ae):se(Ae)}function te(){var Ae;i!=1?t(20,b=C.map(ne=>ne.id)):t(20,b=((Ae=C==null?void 0:C[0])==null?void 0:Ae.id)||""),h("save",C),F()}function K(Ae){ze.call(this,n,Ae)}const re=()=>F(),J=()=>te(),de=Ae=>t(2,$=Ae.detail),_e=()=>T==null?void 0:T.show(),$e=Ae=>T==null?void 0:T.show(Ae),Ne=Ae=>G(Ae),Re=(Ae,ne)=>{(ne.code==="Enter"||ne.code==="Space")&&(ne.preventDefault(),ne.stopPropagation(),G(Ae))},be=()=>t(2,$=""),Se=()=>{a&&!P&&X()},We=Ae=>W(Ae);function lt(Ae){C=Ae,t(6,C)}function fe(Ae){ie[Ae?"unshift":"push"](()=>{y=Ae,t(1,y)})}function Ve(Ae){ze.call(this,n,Ae)}function ee(Ae){ze.call(this,n,Ae)}function Fe(Ae){ie[Ae?"unshift":"push"](()=>{T=Ae,t(7,T)})}const ot=Ae=>{z.removeByKey(M,"id",Ae.detail.id),M.unshift(Ae.detail),t(3,M),se(Ae.detail)},Ht=Ae=>{z.removeByKey(M,"id",Ae.detail.id),t(3,M),W(Ae.detail)};return n.$$set=Ae=>{e=Je(Je({
Line truncated
|
||||||
|
`,p(e,"class","list-item")},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function Ip(n){var d;let e,t,i,s,l,o,r,a,u,f;i=new Xo({props:{record:n[13],displayFields:(d=n[2].options)==null?void 0:d.displayFields}});function c(){return n[7](n[13])}return{c(){e=v("div"),t=v("div"),H(i.$$.fragment),s=O(),l=v("div"),o=v("button"),o.innerHTML='<i class="ri-close-line"></i>',r=O(),p(t,"class","content"),p(o,"type","button"),p(o,"class","btn btn-transparent btn-hint btn-sm btn-circle btn-remove"),p(l,"class","actions"),p(e,"class","list-item")},m(m,h){S(m,e,h),_(e,t),q(i,t,null),_(e,s),_(e,l),_(l,o),_(e,r),a=!0,u||(f=[Ie(Be.call(null,o,"Remove")),Y(o,"click",c)],u=!0)},p(m,h){var b;n=m;const g={};h&8&&(g.record=n[13]),h&4&&(g.displayFields=(b=n[2].options)==null?void 0:b.displayFields),i.$set(g)},i(m){a||(A(i.$$.fragment,m),a=!0)},o(m){I(i.$$.fragment,m),a=!1},d(m){m&&w(e),j(i),u=!1,Pe(f)}}}function jM(n){let e,t,i,s,l,o=n[2].name+"",r,a,u,f,c,d,m,h,g,b,k,y=n[3],T=[];for(let C=0;C<y.length;C+=1)T[C]=Ip(Mp(n,y,C));const $=C=>I(T[C],1,1,()=>{T[C]=null});let M=null;return y.length||(M=Op(n)),{c(){e=v("label"),t=v("i"),s=O(),l=v("span"),r=B(o),u=O(),f=v("div"),c=v("div");for(let C=0;C<T.length;C+=1)T[C].c();M&&M.c(),d=O(),m=v("div"),h=v("button"),h.innerHTML=`<i class="ri-magic-line"></i>
|
||||||
|
|
||||||
|
<span class="txt">Open picker</span>`,p(t,"class",i=Si(z.getFieldTypeIcon(n[2].type))+" svelte-1ynw0pc"),p(l,"class","txt"),p(e,"for",a=n[12]),p(c,"class","relations-list svelte-1ynw0pc"),p(h,"type","button"),p(h,"class","btn btn-transparent btn-sm btn-block"),p(m,"class","list-item list-item-btn"),p(f,"class","list")},m(C,D){S(C,e,D),_(e,t),_(e,s),_(e,l),_(l,r),S(C,u,D),S(C,f,D),_(f,c);for(let E=0;E<T.length;E+=1)T[E].m(c,null);M&&M.m(c,null),_(f,d),_(f,m),_(m,h),g=!0,b||(k=Y(h,"click",n[8]),b=!0)},p(C,D){if((!g||D&4&&i!==(i=Si(z.getFieldTypeIcon(C[2].type))+" svelte-1ynw0pc"))&&p(t,"class",i),(!g||D&4)&&o!==(o=C[2].name+"")&&le(r,o),(!g||D&4096&&a!==(a=C[12]))&&p(e,"for",a),D&93){y=C[3];let E;for(E=0;E<y.length;E+=1){const P=Mp(C,y,E);T[E]?(T[E].p(P,D),A(T[E],1)):(T[E]=Ip(P),T[E].c(),A(T[E],1),T[E].m(c,null))}for(ae(),E=y.length;E<T.length;E+=1)$(E);ue(),!y.length&&M?M.p(C,D):y.length?M&&(M.d(1),M=null):(M=Op(C),M.c(),M.m(c,null))}},i(C){if(!g){for(let D=0;D<y.length;D+=1)A(T[D]);g=!0}},o(C){T=T.filter(Boolean);for(let D=0;D<T.length;D+=1)I(T[D]);g=!1},d(C){C&&w(e),C&&w(u),C&&w(f),mt(T,C),M&&M.d(),b=!1,k()}}}function HM(n){let e,t,i,s;e=new me({props:{class:"form-field form-field-list "+(n[2].required?"required":""),name:n[2].name,$$slots:{default:[jM,({uniqueId:o})=>({12:o}),({uniqueId:o})=>o?4096:0]},$$scope:{ctx:n}}});let l={value:n[0],field:n[2]};return i=new qM({props:l}),n[9](i),i.$on("save",n[10]),{c(){H(e.$$.fragment),t=O(),H(i.$$.fragment)},m(o,r){q(e,o,r),S(o,t,r),q(i,o,r),s=!0},p(o,[r]){const a={};r&4&&(a.class="form-field form-field-list "+(o[2].required?"required":"")),r&4&&(a.name=o[2].name),r&528415&&(a.$$scope={dirty:r,ctx:o}),e.$set(a);const u={};r&1&&(u.value=o[0]),r&4&&(u.field=o[2]),i.$set(u)},i(o){s||(A(e.$$.fragment,o),A(i.$$.fragment,o),s=!0)},o(o){I(e.$$.fragment,o),I(i.$$.fragment,o),s=!1},d(o){j(e,o),o&&w(t),n[9](null),j(i,o)}}}const Pp=100;function VM(n,e,t){let i,{value:s}=e,{picker:l}=e,{field:o=new mn}=e,r=[],a=!1;u();async function u(){var y,T;const g=z.toArray(s);if(!((y=o==null?void 0:o.options)!=null&&y.collectionId)||!g.length){t(3,r=[]),t(4,a=!1);return}t(4,a=!0);const b=g.slice(),k=[];for(;b.length>0;){const $=[];for(const M of b.splice(0,Pp))$.push(`id="${M}"`);k.push(pe.collection((T=o==null?void 0:o.options)==null?void 0:T.collectionId).getFullList(Pp,{filter:$.join("||"),$autoCancel:!1}))}try{let $=[];await Promise.all(k).then(M=>{$=$.concat(...M)});for(const M of g){const C=z.findByKey($,"id",M);C&&r.push(C)}t(3,r)}catch($){pe.errorResponseHandler($)}t(4,a=!1)}function f(g){var b;z.removeByKey(r,"id",g.id),t(3,r),i?t(0,s=r.map(k=>k.id)):t(0,s=((b=r[0])==null?void 0:b.id)||"")}const c=g=>f(g),d=()=>l==null?void 0:l.show();function m(g){ie[g?"unshift":"push"](()=>{l=g,t(1,l)})}const h=g=>{var b;t(3,r=g.detail||[]),t(0,s=i?r.map(k=>k.id):((b=r[0])==null?void 0:b.id)||"")};return n.$$set=g=>{"value"in g&&t(0,s=g.value),"picker"in g&&t(1,l=g.picker),"field"in g&&t(2,o=g.field)},n.$$.update=()=>{var g;n.$$.dirty&4&&t(5,i=((g=o.options)==null?void 0:g.maxSelect)!=1)},[s,l,o,r,a,i,f,c,d,m,h]}class zM extends ye{constructor(e){super(),ve(this,e,VM,HM,he,{value:0,picker:1,field:2})}}const BM=["Activate","AddUndo","BeforeAddUndo","BeforeExecCommand","BeforeGetContent","BeforeRenderUI","BeforeSetContent","BeforePaste","Blur","Change","ClearUndos","Click","ContextMenu","Copy","Cut","Dblclick","Deactivate","Dirty","Drag","DragDrop","DragEnd","DragGesture","DragOver","Drop","ExecCommand","Focus","FocusIn","FocusOut","GetContent","Hide","Init","KeyDown","KeyPress","KeyUp","LoadContent","MouseDown","MouseEnter","MouseLeave","MouseMove","MouseOut","MouseOver","MouseUp","NodeChange","ObjectResizeStart","ObjectResized","ObjectSelected","Paste","PostProcess","PostRender","PreProcess","ProgressState","Redo","Remove","Reset","ResizeEditor","SaveContent","SelectionChange","SetAttrib","SetContent","Show","Submit","Undo","VisualAid"],UM=(n,e)=>{BM.forEach(t=>{n.on(t,i=>{e(t.toLowerCase(),{eventName:t,event:i,editor:n})})})};function WM(n){let e;return{c(){e=v("textarea"),p(e,"id",n[0]),Ir(e,"visibility","hidden")},m(t,i){S(t,e,i),n[18](e)},p(t,i){i&1&&p(e,"id",t[0])},d(t){t&&w(e),n[18](null)}}}function YM(n){let e;return{c(){e=v("div"),p(e,"id",n[0])},m(t,i){S(t,e,i),n[17](e)},p(t,i){i&1&&p(e,"id",t[0])},d(t){t&&w(e),n[17](null)}}}function KM(n){let e;function t(l,o){return l[1]?YM:WM}let i=t(n),s=i(n);return{c(){e=v("div"),s.c(),p(e,"class",n[2])},m(l,o){S(l,e,o),s.m(e,null),n[19](e)},p(l,[o]){i===(i=t(l))&&s?s.p(l,o):(s.d(1),s=i(l),s&&(s.c(),s.m(e,null))),o&4&&p(e,"class",l[2])},i:Z,o:Z,d(l){l&&w(e),s.d(),n[19](null)}}}const Ob=n=>n+"_"+Math.floor(Math.random()*1e9)+String(Date.now()),JM=()=>{let n={listeners:[],scriptId:Ob("tiny-script"),scriptLoaded:!1,injected:!1};const e=(i,s,l,o)=>{n.injected=!0;const r=s.createElement("script");r.referrerPolicy="origin",r.type="application/javascript",r.src=l,r.onload=()=>{o()},s.head&&s.head.appendChild(r)};return{load:(i,s,l)=>{nLine truncated
|
||||||
|
Updated: ${n[2].updated}`,position:"left"})),b=!0)},p(y,T){T[1]&8388608&&r!==(r=y[54])&&p(e,"for",r),c&&Bt(c.update)&&T[0]&4&&c.update.call(null,{text:`Created: ${y[2].created}
|
||||||
|
Updated: ${y[2].updated}`,position:"left"}),T[1]&8388608&&h!==(h=y[54])&&p(m,"id",h),T[0]&4&&g!==(g=y[2].id)&&m.value!==g&&(m.value=g)},d(y){y&&w(e),y&&w(a),y&&w(u),y&&w(d),y&&w(m),b=!1,k()}}}function jp(n){var u,f;let e,t,i,s,l;function o(c){n[29](c)}let r={collection:n[0]};n[2]!==void 0&&(r.record=n[2]),e=new p4({props:r}),ie.push(()=>ge(e,"record",o));let a=((f=(u=n[0])==null?void 0:u.schema)==null?void 0:f.length)&&Hp();return{c(){H(e.$$.fragment),i=O(),a&&a.c(),s=Me()},m(c,d){q(e,c,d),S(c,i,d),a&&a.m(c,d),S(c,s,d),l=!0},p(c,d){var h,g;const m={};d[0]&1&&(m.collection=c[0]),!t&&d[0]&4&&(t=!0,m.record=c[2],ke(()=>t=!1)),e.$set(m),(g=(h=c[0])==null?void 0:h.schema)!=null&&g.length?a||(a=Hp(),a.c(),a.m(s.parentNode,s)):a&&(a.d(1),a=null)},i(c){l||(A(e.$$.fragment,c),l=!0)},o(c){I(e.$$.fragment,c),l=!1},d(c){j(e,c),c&&w(i),a&&a.d(c),c&&w(s)}}}function Hp(n){let e;return{c(){e=v("hr")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function T5(n){let e,t,i;function s(o){n[42](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new zM({props:l}),ie.push(()=>ge(e,"value",s)),{c(){H(e.$$.fragment)},m(o,r){q(e,o,r),i=!0},p(o,r){n=o;const a={};r[0]&1&&(a.field=n[51]),!t&&r[0]&5&&(t=!0,a.value=n[2][n[51].name],ke(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){j(e,o)}}}function $5(n){let e,t,i,s,l;function o(f){n[39](f,n[51])}function r(f){n[40](f,n[51])}function a(f){n[41](f,n[51])}let u={field:n[51],record:n[2]};return n[2][n[51].name]!==void 0&&(u.value=n[2][n[51].name]),n[3][n[51].name]!==void 0&&(u.uploadedFiles=n[3][n[51].name]),n[4][n[51].name]!==void 0&&(u.deletedFileIndexes=n[4][n[51].name]),e=new bM({props:u}),ie.push(()=>ge(e,"value",o)),ie.push(()=>ge(e,"uploadedFiles",r)),ie.push(()=>ge(e,"deletedFileIndexes",a)),{c(){H(e.$$.fragment)},m(f,c){q(e,f,c),l=!0},p(f,c){n=f;const d={};c[0]&1&&(d.field=n[51]),c[0]&4&&(d.record=n[2]),!t&&c[0]&5&&(t=!0,d.value=n[2][n[51].name],ke(()=>t=!1)),!i&&c[0]&9&&(i=!0,d.uploadedFiles=n[3][n[51].name],ke(()=>i=!1)),!s&&c[0]&17&&(s=!0,d.deletedFileIndexes=n[4][n[51].name],ke(()=>s=!1)),e.$set(d)},i(f){l||(A(e.$$.fragment,f),l=!0)},o(f){I(e.$$.fragment,f),l=!1},d(f){j(e,f)}}}function C5(n){let e,t,i;function s(o){n[38](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new J4({props:l}),ie.push(()=>ge(e,"value",s)),{c(){H(e.$$.fragment)},m(o,r){q(e,o,r),i=!0},p(o,r){n=o;const a={};r[0]&1&&(a.field=n[51]),!t&&r[0]&5&&(t=!0,a.value=n[2][n[51].name],ke(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){j(e,o)}}}function M5(n){let e,t,i;function s(o){n[37](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new U4({props:l}),ie.push(()=>ge(e,"value",s)),{c(){H(e.$$.fragment)},m(o,r){q(e,o,r),i=!0},p(o,r){n=o;const a={};r[0]&1&&(a.field=n[51]),!t&&r[0]&5&&(t=!0,a.value=n[2][n[51].name],ke(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){j(e,o)}}}function D5(n){let e,t,i;function s(o){n[36](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new H4({props:l}),ie.push(()=>ge(e,"value",s)),{c(){H(e.$$.fragment)},m(o,r){q(e,o,r),i=!0},p(o,r){n=o;const a={};r[0]&1&&(a.field=n[51]),!t&&r[0]&5&&(t=!0,a.value=n[2][n[51].name],ke(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){j(e,o)}}}function O5(n){let e,t,i;function s(o){n[35](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new e5({props:l}),ie.push(()=>ge(e,"value",s)),{c(){H(e.$$.fragment)},m(o,r){q(e,o,r),i=!0},p(o,r){n=o;const a={};r[0]&1&&(a.field=n[51]),!t&&r[0]&5&&(t=!0,a.value=n[2][n[51].name],ke(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){j(e,o)}}}function E5(n){let e,t,i;function s(o){n[34](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new F4({props:l}),ie.push(()=>ge(e,"value",s)),{c(){H(e.$$.fragment)},m(o,r){q(e,o,r),i=!0},p(o,r){n=o;const a={};r[0]&1&&(a.field=n[51]),!t&&r[0]&5&&(t=!0,a.value=n[2][n[51].name],ke(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){j(e,o)}}}function A5(n){let e,t,i;function s(o){n[33](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new I4({props:l}),ie.push(()=>ge(e,"value",s)),{c(){H(e.$$.fragment)},m(o,r){q(e,o,r),i=!0},p(o,r){n=o;const a={};r[0]&1&&(a.field=n[51]),!t&&r[0]&5&&(t=!0,a.value=n[2][n[51].name],ke(()=>t=!1)),e.$set(a)},i(o){i||(A(e.$$.fragment,o),i=!0)},o(o){I(e.$$.fragment,o),i=!1},d(o){j(e,o)}}}function I5(n){let e,t,i;function s(o){n[32](o,n[51])}let l={field:n[51]};return n[2][n[51].name]!==void 0&&(l.value=n[2][n[51].name]),e=new D4({props:l}),ie.push(()=>ge(e,"value",s)),{c(){H(e.$$.fragment)},m(o,r){q(e,o,r),i=!0},p(o,r){n=o;const a={};
Line truncated
|
||||||
|
<span class="txt">Send verification email</span>`,p(e,"type","button"),p(e,"class","dropdown-item closable")},m(s,l){S(s,e,l),t||(i=Y(e,"click",n[23]),t=!0)},p:Z,d(s){s&&w(e),t=!1,i()}}}function Wp(n){let e,t,i;return{c(){e=v("button"),e.innerHTML=`<i class="ri-mail-lock-line"></i>
|
||||||
|
<span class="txt">Send password reset email</span>`,p(e,"type","button"),p(e,"class","dropdown-item closable")},m(s,l){S(s,e,l),t||(i=Y(e,"click",n[24]),t=!0)},p:Z,d(s){s&&w(e),t=!1,i()}}}function F5(n){let e,t,i,s,l,o,r,a=n[0].isAuth&&!n[7].verified&&n[7].email&&Up(n),u=n[0].isAuth&&n[7].email&&Wp(n);return{c(){a&&a.c(),e=O(),u&&u.c(),t=O(),i=v("button"),i.innerHTML=`<i class="ri-file-copy-line"></i>
|
||||||
|
<span class="txt">Duplicate</span>`,s=O(),l=v("button"),l.innerHTML=`<i class="ri-delete-bin-7-line"></i>
|
||||||
|
<span class="txt">Delete</span>`,p(i,"type","button"),p(i,"class","dropdown-item closable"),p(l,"type","button"),p(l,"class","dropdown-item txt-danger closable")},m(f,c){a&&a.m(f,c),S(f,e,c),u&&u.m(f,c),S(f,t,c),S(f,i,c),S(f,s,c),S(f,l,c),o||(r=[Y(i,"click",n[25]),Y(l,"click",kn(dt(n[26])))],o=!0)},p(f,c){f[0].isAuth&&!f[7].verified&&f[7].email?a?a.p(f,c):(a=Up(f),a.c(),a.m(e.parentNode,e)):a&&(a.d(1),a=null),f[0].isAuth&&f[7].email?u?u.p(f,c):(u=Wp(f),u.c(),u.m(t.parentNode,t)):u&&(u.d(1),u=null)},d(f){a&&a.d(f),f&&w(e),u&&u.d(f),f&&w(t),f&&w(i),f&&w(s),f&&w(l),o=!1,Pe(r)}}}function Yp(n){let e,t,i,s,l,o;return{c(){e=v("div"),t=v("button"),t.textContent="Account",i=O(),s=v("button"),s.textContent="Authorized providers",p(t,"type","button"),p(t,"class","tab-item"),Q(t,"active",n[10]===Gi),p(s,"type","button"),p(s,"class","tab-item"),Q(s,"active",n[10]===yl),p(e,"class","tabs-header stretched")},m(r,a){S(r,e,a),_(e,t),_(e,i),_(e,s),l||(o=[Y(t,"click",n[27]),Y(s,"click",n[28])],l=!0)},p(r,a){a[0]&1024&&Q(t,"active",r[10]===Gi),a[0]&1024&&Q(s,"active",r[10]===yl)},d(r){r&&w(e),l=!1,Pe(o)}}}function R5(n){var g;let e,t=n[2].isNew?"New":"Edit",i,s,l,o=((g=n[0])==null?void 0:g.name)+"",r,a,u,f,c,d,m=!n[2].isNew&&Bp(n),h=n[0].isAuth&&!n[2].isNew&&Yp(n);return{c(){e=v("h4"),i=B(t),s=O(),l=v("strong"),r=B(o),a=B(" record"),u=O(),m&&m.c(),f=O(),h&&h.c(),c=Me()},m(b,k){S(b,e,k),_(e,i),_(e,s),_(e,l),_(l,r),_(e,a),S(b,u,k),m&&m.m(b,k),S(b,f,k),h&&h.m(b,k),S(b,c,k),d=!0},p(b,k){var y;(!d||k[0]&4)&&t!==(t=b[2].isNew?"New":"Edit")&&le(i,t),(!d||k[0]&1)&&o!==(o=((y=b[0])==null?void 0:y.name)+"")&&le(r,o),b[2].isNew?m&&(ae(),I(m,1,1,()=>{m=null}),ue()):m?(m.p(b,k),k[0]&4&&A(m,1)):(m=Bp(b),m.c(),A(m,1),m.m(f.parentNode,f)),b[0].isAuth&&!b[2].isNew?h?h.p(b,k):(h=Yp(b),h.c(),h.m(c.parentNode,c)):h&&(h.d(1),h=null)},i(b){d||(A(m),d=!0)},o(b){I(m),d=!1},d(b){b&&w(e),b&&w(u),m&&m.d(b),b&&w(f),h&&h.d(b),b&&w(c)}}}function q5(n){let e,t,i,s,l,o=n[2].isNew?"Create":"Save changes",r,a,u,f;return{c(){e=v("button"),t=v("span"),t.textContent="Cancel",i=O(),s=v("button"),l=v("span"),r=B(o),p(t,"class","txt"),p(e,"type","button"),p(e,"class","btn btn-transparent"),e.disabled=n[8],p(l,"class","txt"),p(s,"type","submit"),p(s,"form",n[13]),p(s,"class","btn btn-expanded"),s.disabled=a=!n[11]||n[8],Q(s,"btn-loading",n[8])},m(c,d){S(c,e,d),_(e,t),S(c,i,d),S(c,s,d),_(s,l),_(l,r),u||(f=Y(e,"click",n[22]),u=!0)},p(c,d){d[0]&256&&(e.disabled=c[8]),d[0]&4&&o!==(o=c[2].isNew?"Create":"Save changes")&&le(r,o),d[0]&2304&&a!==(a=!c[11]||c[8])&&(s.disabled=a),d[0]&256&&Q(s,"btn-loading",c[8])},d(c){c&&w(e),c&&w(i),c&&w(s),u=!1,f()}}}function j5(n){var s;let e,t,i={class:`
|
||||||
|
record-panel
|
||||||
|
`+(n[12]?"overlay-panel-xl":"overlay-panel-lg")+`
|
||||||
|
`+((s=n[0])!=null&&s.isAuth&&!n[2].isNew?"colored-header":"")+`
|
||||||
|
`,beforeHide:n[43],$$slots:{footer:[q5],header:[R5],default:[N5]},$$scope:{ctx:n}};return e=new Nn({props:i}),n[44](e),e.$on("hide",n[45]),e.$on("show",n[46]),{c(){H(e.$$.fragment)},m(l,o){q(e,l,o),t=!0},p(l,o){var a;const r={};o[0]&4101&&(r.class=`
|
||||||
|
record-panel
|
||||||
|
`+(l[12]?"overlay-panel-xl":"overlay-panel-lg")+`
|
||||||
|
`+((a=l[0])!=null&&a.isAuth&&!l[2].isNew?"colored-header":"")+`
|
||||||
|
`),o[0]&544&&(r.beforeHide=l[43]),o[0]&3485|o[1]&16777216&&(r.$$scope={dirty:o,ctx:l}),e.$set(r)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[44](null),j(e,l)}}}const Gi="form",yl="providers";function Kp(n){return JSON.stringify(n)}function H5(n,e,t){let i,s,l,o;const r=Ct(),a="record_"+z.randomString(5);let{collection:u}=e,f,c=null,d=new Ti,m=!1,h=!1,g={},b={},k="",y=Gi;function T(ne){return M(ne),t(9,h=!0),t(10,y=Gi),f==null?void 0:f.show()}function $(){return f==null?void 0:f.hide()}async function M(ne){Bn({}),t(7,c=ne||{}),ne!=null&&ne.clone?t(2,d=ne.clone()):t(2,d=new Ti),t(3,g={}),t(4,b={}),await sn(),t(20,k=Kp(d))}function C(){if(m||!o||!(u!=null&&u.id))return;t(8,m=!0);const ne=E();let we;d.isNew?we=pe.collection(u.id).create(ne):we=pe.collection(u.id).update(d.id,ne),we.then(nt=>{zt(d.isNew?"Successfully created record.":"Successfully updated record."),t(9,h=!1),$(),r("save",nt)}).catch(nt=>{pe.errorResponseHandler(nt)}).finally(()=>{t(8,m=!1)})}function D(){c!=null&&c.id&&cn("Do you really want to delete the selected record?",()=>pe.collection(c.collectionId).delete(c.id).then(()=>{$(),zt("Successfully deleted record."),r("delete",c)}).catch(ne=>{pe.errorResponseHandler(ne)}))}function E(){const ne=(d==null?void 0:d.export())||{},we=new FormData,nt={};for(const et of(u==null?void 0:u.schema)||[])nt[et.name]=!0;u!=null&&u.isAuth&&(nt.username=!0,nt.email=!0,nt.emailVisibility=!0,nt.password=!0,nt.passwordConfirm=!0,nt.verified=!0);for(const et in ne)nt[et]&&(typeof ne[et]>"u"&&(ne[et]=null),z.addValueToFormData(we,et,ne[et]));for(const et in g){const bt=z.toArray(g[et]);for(const Gt of bt)we.append(et,Gt)}for(const et in b){const bt=z.toArray(b[et]);for(const Gt of bt)we.append(et+"."+Gt,"")}return we}function P(){!(u!=null&&u.id)||!(c!=null&&c.email)||cn(`Do you really want to sent verification email to ${c.email}?`,()=>pe.collection(u.id).requestVerification(c.email).then(()=>{zt(`Successfully sent verification email to ${c.email}.`)}).catch(ne=>{pe.errorResponseHandler(ne)}))}function L(){!(u!=null&&u.id)||!(c!=null&&c.email)||cn(`Do you really want to sent password reset email to ${c.email}?`,()=>pe.collection(u.id).requestPasswordReset(c.email).then(()=>{zt(`Successfully sent password reset email to ${c.email}.`)}).catch(ne=>{pe.errorResponseHandler(ne)}))}function N(){l?cn("You have unsaved changes. Do you really want to discard them?",()=>{F()}):F()}async function F(){const ne=c==null?void 0:c.clone();if(ne){ne.id="",ne.created="",ne.updated="";const we=(u==null?void 0:u.schema)||[];for(const nt of we)nt.type==="file"&&delete ne[nt.name]}T(ne),await sn(),t(20,k="")}const R=()=>$(),X=()=>P(),se=()=>L(),W=()=>N(),G=()=>D(),te=()=>t(10,y=Gi),K=()=>t(10,y=yl);function re(ne){d=ne,t(2,d)}function J(ne,we){n.$$.not_equal(d[we.name],ne)&&(d[we.name]=ne,t(2,d))}function de(ne,we){n.$$.not_equal(d[we.name],ne)&&(d[we.name]=ne,t(2,d))}function _e(ne,we){n.$$.not_equal(d[we.name],ne)&&(d[we.name]=ne,t(2,d))}function $e(ne,we){n.$$.not_equal(d[we.name],ne)&&(d[we.name]=ne,t(2,d))}function Ne(ne,we){n.$$.not_equal(d[we.name],ne)&&(d[we.name]=ne,t(2,d))}function Re(ne,we){n.$$.not_equal(d[we.name],ne)&&(d[we.name]=ne,t(2,d))}function be(ne,we){n.$$.not_equal(d[we.name],ne)&&(d[we.name]=ne,t(2,d))}function Se(ne,we){n.$$.not_equal(d[we.name],ne)&&(d[we.name]=ne,t(2,d))}function We(ne,we){n.$$.not_equal(d[we.name],ne)&&(d[we.name]=ne,t(2,d))}function lt(ne,we){n.$$.not_equal(d[we.name],ne)&&(d[we.name]=ne,t(2,d))}function fe(ne,we){n.$$.not_equal(g[we.name],ne)&&(g[we.name]=ne,t(3,g))}function Ve(ne,we){n.$$.not_equal(b[we.name],ne)&&(b[we.name]=ne,t(4,b))}function ee(ne,we){n.$$.not_equal(d[we.name],ne)&&(d[we.name]=ne,t(2,d))}const Fe=()=>l&&h?(cn("You have unsaved changes. Do you really want to close the panel?",()=>{t(9,h=!1),$()}),!1):(Bn({}),!0);function ot(ne){ie[ne?"unshift":"push"](()=>{f=ne,t(6,f)})}function Ht(ne){ze.call(this,n,ne)}function Ae(ne){ze.call(this,n,ne)}return n.$$set=ne=>{"collection"in ne&&t(0,u=ne.collection)},n.$$.update=()=>{var ne;n.$$.dirty[0]&1&&t(12,i=!!((ne=u==null?void 0:u.schema)!=null&&ne.find(we=>we.type==="editor"))),n.$$.dirty[0]&24&&t(21,s=z.hasNonEmptyProps(g)||z.hasNonEmptyProps(b)),n.$$.dirty[0]&3145732&&t(5,l=s||k!=Kp(d)),n.$$.dirty[0]&36&&t(11,o=d.isNew||l)},[u,$,d,g,b,l,f,c,m,h,y,o,i,a,C,D,P,L,N,T,k,s,R,X,se,W,G,te,K,re,J,de,_e,$e,Ne,Re,be,Se,We,lt,fe,Ve,ee,Fe,ot,Ht,Ae]}class Ab extends ye{constructor(e){super(),ve(this,e,H5,j5,he,{collection:0,show:19,hide:1},null,[-1,-1])}get show(){return this.$$.ctx[19]}get hide(){return this.$$.ctx[1]}}function Jp(n,e,t){const i=n.slice();return i[15]=e[t],i[7]=t,i}function Zp(n,e,t){const i=n.slice();return i[12]=e[t],i}function Gp(n,e,t){const i=n.slice();return i[5]=e[t],i[7]=t,i}function Xp(n,e,t){const i=n.slice();return i[5]=e[t],i[7]=t,i}function V5(n){const e=n.slice(),t=z.toArray(e[3]);e[8]=t;const i=z.toArray(e[0].expand[e[1].name]);e[9]=i;const s=e[2]?20:200;return e[10]=s,e}fun
Line truncated
|
||||||
|
`},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function TD(n){let e,t,i;return{c(){e=v("button"),e.innerHTML=`<i class="ri-add-line"></i>
|
||||||
|
<span class="txt">New record</span>`,p(e,"type","button"),p(e,"class","btn btn-secondary btn-expanded m-t-sm")},m(s,l){S(s,e,l),t||(i=Y(e,"click",n[40]),t=!0)},p:Z,d(s){s&&w(e),t=!1,i()}}}function $D(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Clear filters</span>',p(e,"type","button"),p(e,"class","btn btn-hint btn-expanded m-t-sm")},m(s,l){S(s,e,l),t||(i=Y(e,"click",n[39]),t=!0)},p:Z,d(s){s&&w(e),t=!1,i()}}}function km(n){let e,t,i,s,l,o,r,a,u,f;function c(){return n[36](n[55])}return{c(){e=v("td"),t=v("div"),i=v("input"),o=O(),r=v("label"),p(i,"type","checkbox"),p(i,"id",s="checkbox_"+n[55].id),i.checked=l=n[6][n[55].id],p(r,"for",a="checkbox_"+n[55].id),p(t,"class","form-field"),p(e,"class","bulk-select-col min-width")},m(d,m){S(d,e,m),_(e,t),_(t,i),_(t,o),_(t,r),u||(f=[Y(i,"change",c),Y(t,"click",kn(n[26]))],u=!0)},p(d,m){n=d,m[0]&16&&s!==(s="checkbox_"+n[55].id)&&p(i,"id",s),m[0]&80&&l!==(l=n[6][n[55].id])&&(i.checked=l),m[0]&16&&a!==(a="checkbox_"+n[55].id)&&p(r,"for",a)},d(d){d&&w(e),u=!1,Pe(f)}}}function wm(n){let e,t,i,s,l,o,r=n[55].id+"",a,u,f;s=new iu({props:{value:n[55].id}});let c=n[2].isAuth&&Sm(n);return{c(){e=v("td"),t=v("div"),i=v("div"),H(s.$$.fragment),l=O(),o=v("div"),a=B(r),u=O(),c&&c.c(),p(o,"class","txt"),p(i,"class","label"),p(t,"class","flex flex-gap-5"),p(e,"class","col-type-text col-field-id")},m(d,m){S(d,e,m),_(e,t),_(t,i),q(s,i,null),_(i,l),_(i,o),_(o,a),_(t,u),c&&c.m(t,null),f=!0},p(d,m){const h={};m[0]&16&&(h.value=d[55].id),s.$set(h),(!f||m[0]&16)&&r!==(r=d[55].id+"")&&le(a,r),d[2].isAuth?c?c.p(d,m):(c=Sm(d),c.c(),c.m(t,null)):c&&(c.d(1),c=null)},i(d){f||(A(s.$$.fragment,d),f=!0)},o(d){I(s.$$.fragment,d),f=!1},d(d){d&&w(e),j(s),c&&c.d()}}}function Sm(n){let e;function t(l,o){return l[55].verified?MD:CD}let i=t(n),s=i(n);return{c(){s.c(),e=Me()},m(l,o){s.m(l,o),S(l,e,o)},p(l,o){i!==(i=t(l))&&(s.d(1),s=i(l),s&&(s.c(),s.m(e.parentNode,e)))},d(l){s.d(l),l&&w(e)}}}function CD(n){let e,t,i;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-sm txt-hint")},m(s,l){S(s,e,l),t||(i=Ie(Be.call(null,e,"Unverified")),t=!0)},d(s){s&&w(e),t=!1,i()}}}function MD(n){let e,t,i;return{c(){e=v("i"),p(e,"class","ri-checkbox-circle-fill txt-sm txt-success")},m(s,l){S(s,e,l),t||(i=Ie(Be.call(null,e,"Verified")),t=!0)},d(s){s&&w(e),t=!1,i()}}}function Tm(n){let e=!n[7].includes("@username"),t,i=!n[7].includes("@email"),s,l=e&&$m(n),o=i&&Cm(n);return{c(){l&&l.c(),t=O(),o&&o.c(),s=Me()},m(r,a){l&&l.m(r,a),S(r,t,a),o&&o.m(r,a),S(r,s,a)},p(r,a){a[0]&128&&(e=!r[7].includes("@username")),e?l?l.p(r,a):(l=$m(r),l.c(),l.m(t.parentNode,t)):l&&(l.d(1),l=null),a[0]&128&&(i=!r[7].includes("@email")),i?o?o.p(r,a):(o=Cm(r),o.c(),o.m(s.parentNode,s)):o&&(o.d(1),o=null)},d(r){l&&l.d(r),r&&w(t),o&&o.d(r),r&&w(s)}}}function $m(n){let e,t;function i(o,r){return r[0]&16&&(t=null),t==null&&(t=!!z.isEmpty(o[55].username)),t?OD:DD}let s=i(n,[-1,-1,-1]),l=s(n);return{c(){e=v("td"),l.c(),p(e,"class","col-type-text col-field-username")},m(o,r){S(o,e,r),l.m(e,null)},p(o,r){s===(s=i(o,r))&&l?l.p(o,r):(l.d(1),l=s(o),l&&(l.c(),l.m(e,null)))},d(o){o&&w(e),l.d()}}}function DD(n){let e,t=n[55].username+"",i,s;return{c(){e=v("span"),i=B(t),p(e,"class","txt txt-ellipsis"),p(e,"title",s=n[55].username)},m(l,o){S(l,e,o),_(e,i)},p(l,o){o[0]&16&&t!==(t=l[55].username+"")&&le(i,t),o[0]&16&&s!==(s=l[55].username)&&p(e,"title",s)},d(l){l&&w(e)}}}function OD(n){let e;return{c(){e=v("span"),e.textContent="N/A",p(e,"class","txt-hint")},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function Cm(n){let e,t;function i(o,r){return r[0]&16&&(t=null),t==null&&(t=!!z.isEmpty(o[55].email)),t?AD:ED}let s=i(n,[-1,-1,-1]),l=s(n);return{c(){e=v("td"),l.c(),p(e,"class","col-type-text col-field-email")},m(o,r){S(o,e,r),l.m(e,null)},p(o,r){s===(s=i(o,r))&&l?l.p(o,r):(l.d(1),l=s(o),l&&(l.c(),l.m(e,null)))},d(o){o&&w(e),l.d()}}}function ED(n){let e,t=n[55].email+"",i,s;return{c(){e=v("span"),i=B(t),p(e,"class","txt txt-ellipsis"),p(e,"title",s=n[55].email)},m(l,o){S(l,e,o),_(e,i)},p(l,o){o[0]&16&&t!==(t=l[55].email+"")&&le(i,t),o[0]&16&&s!==(s=l[55].email)&&p(e,"title",s)},d(l){l&&w(e)}}}function AD(n){let e;return{c(){e=v("span"),e.textContent="N/A",p(e,"class","txt-hint")},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function Mm(n,e){let t,i,s,l;return i=new Ib({props:{short:!0,record:e[55],field:e[58]}}),{key:n,first:null,c(){t=v("td"),H(i.$$.fragment),p(t,"class",s="col-type-"+e[58].type+" col-field-"+e[58].name),this.first=t},m(o,r){S(o,t,r),q(i,t,null),l=!0},p(o,r){e=o;const a={};r[0]&16&&(a.record=e[55]),r[0]&262144&&(a.field=e[58]),i.$set(a),(!l||r[0]&262144&&s!==(s="col-type-"+e[58].type+" col-field-"+e[58].name))&&p(t,"class",s)},i(o){l||(A(i.$$.fragment,o),l=!0)},o(o){I(i.$$.fragment,o),l=!1},d(o){o&&w(t),j(i)}}}function Dm(n){let e,t,i;return t=new ui({props:{date:n[55].created}}),{c(){e=v("td"),H(t.$$.fragment),p(e,"class","col-type-date col-field-created")},m(s,l){S(s,e,l),q(t,e,null),i=!0},p(s,l){coLine truncated
|
||||||
|
<span class="txt">New record</span>`,p(e,"type","button"),p(e,"class","btn btn-expanded")},m(s,l){S(s,e,l),t||(i=Y(e,"click",n[18]),t=!0)},p:Z,d(s){s&&w(e),t=!1,i()}}}function BD(n){let e,t,i,s,l,o=n[2].name+"",r,a,u,f,c,d,m,h,g,b,k,y,T,$,M,C,D,E,P,L,N=!n[10]&&Fm(n);c=new Da({}),c.$on("refresh",n[16]);let F=!n[2].isView&&Rm(n);k=new Uo({props:{value:n[0],autocompleteCollection:n[2]}}),k.$on("submit",n[19]);function R(W){n[21](W)}function X(W){n[22](W)}let se={collection:n[2]};return n[0]!==void 0&&(se.filter=n[0]),n[1]!==void 0&&(se.sort=n[1]),M=new jD({props:se}),n[20](M),ie.push(()=>ge(M,"filter",R)),ie.push(()=>ge(M,"sort",X)),M.$on("select",n[23]),M.$on("new",n[24]),{c(){e=v("header"),t=v("nav"),i=v("div"),i.textContent="Collections",s=O(),l=v("div"),r=B(o),a=O(),u=v("div"),N&&N.c(),f=O(),H(c.$$.fragment),d=O(),m=v("div"),h=v("button"),h.innerHTML=`<i class="ri-code-s-slash-line"></i>
|
||||||
|
<span class="txt">API Preview</span>`,g=O(),F&&F.c(),b=O(),H(k.$$.fragment),y=O(),T=v("div"),$=O(),H(M.$$.fragment),p(i,"class","breadcrumb-item"),p(l,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(u,"class","inline-flex gap-5"),p(h,"type","button"),p(h,"class","btn btn-outline"),p(m,"class","btns-group"),p(e,"class","page-header"),p(T,"class","clearfix m-b-base")},m(W,G){S(W,e,G),_(e,t),_(t,i),_(t,s),_(t,l),_(l,r),_(e,a),_(e,u),N&&N.m(u,null),_(u,f),q(c,u,null),_(e,d),_(e,m),_(m,h),_(m,g),F&&F.m(m,null),S(W,b,G),q(k,W,G),S(W,y,G),S(W,T,G),S(W,$,G),q(M,W,G),E=!0,P||(L=Y(h,"click",n[17]),P=!0)},p(W,G){(!E||G[0]&4)&&o!==(o=W[2].name+"")&&le(r,o),W[10]?N&&(N.d(1),N=null):N?N.p(W,G):(N=Fm(W),N.c(),N.m(u,f)),W[2].isView?F&&(F.d(1),F=null):F?F.p(W,G):(F=Rm(W),F.c(),F.m(m,null));const te={};G[0]&1&&(te.value=W[0]),G[0]&4&&(te.autocompleteCollection=W[2]),k.$set(te);const K={};G[0]&4&&(K.collection=W[2]),!C&&G[0]&1&&(C=!0,K.filter=W[0],ke(()=>C=!1)),!D&&G[0]&2&&(D=!0,K.sort=W[1],ke(()=>D=!1)),M.$set(K)},i(W){E||(A(c.$$.fragment,W),A(k.$$.fragment,W),A(M.$$.fragment,W),E=!0)},o(W){I(c.$$.fragment,W),I(k.$$.fragment,W),I(M.$$.fragment,W),E=!1},d(W){W&&w(e),N&&N.d(),j(c),F&&F.d(),W&&w(b),j(k,W),W&&w(y),W&&w(T),W&&w($),n[20](null),j(M,W),P=!1,L()}}}function UD(n){let e,t,i,s,l;return{c(){e=v("h1"),e.textContent="Create your first collection to add records!",t=O(),i=v("button"),i.innerHTML=`<i class="ri-add-line"></i>
|
||||||
|
<span class="txt">Create new collection</span>`,p(e,"class","m-b-10"),p(i,"type","button"),p(i,"class","btn btn-expanded-lg btn-lg")},m(o,r){S(o,e,r),S(o,t,r),S(o,i,r),s||(l=Y(i,"click",n[14]),s=!0)},p:Z,d(o){o&&w(e),o&&w(t),o&&w(i),s=!1,l()}}}function WD(n){let e;return{c(){e=v("h1"),e.textContent="You don't have any collections yet.",p(e,"class","m-b-10")},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function YD(n){let e,t,i;function s(r,a){return r[10]?WD:UD}let l=s(n),o=l(n);return{c(){e=v("div"),t=v("div"),t.innerHTML='<i class="ri-database-2-line"></i>',i=O(),o.c(),p(t,"class","icon"),p(e,"class","placeholder-section m-b-base")},m(r,a){S(r,e,a),_(e,t),_(e,i),o.m(e,null)},p(r,a){l===(l=s(r))&&o?o.p(r,a):(o.d(1),o=l(r),o&&(o.c(),o.m(e,null)))},d(r){r&&w(e),o.d()}}}function KD(n){let e;return{c(){e=v("div"),e.innerHTML=`<span class="loader loader-lg"></span>
|
||||||
|
<h1>Loading collections...</h1>`,p(e,"class","placeholder-section m-b-base")},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function JD(n){let e,t,i,s,l,o,r,a,u,f,c;const d=[zD,VD,HD],m=[];function h(T,$){return T[3]&&!T[9].length?0:T[9].length?2:1}e=h(n),t=m[e]=d[e](n);let g={};s=new tu({props:g}),n[25](s);let b={};o=new s4({props:b}),n[26](o);let k={collection:n[2]};a=new Ab({props:k}),n[27](a),a.$on("save",n[28]),a.$on("delete",n[29]);let y={collection:n[2]};return f=new pD({props:y}),n[30](f),{c(){t.c(),i=O(),H(s.$$.fragment),l=O(),H(o.$$.fragment),r=O(),H(a.$$.fragment),u=O(),H(f.$$.fragment)},m(T,$){m[e].m(T,$),S(T,i,$),q(s,T,$),S(T,l,$),q(o,T,$),S(T,r,$),q(a,T,$),S(T,u,$),q(f,T,$),c=!0},p(T,$){let M=e;e=h(T),e===M?m[e].p(T,$):(ae(),I(m[M],1,1,()=>{m[M]=null}),ue(),t=m[e],t?t.p(T,$):(t=m[e]=d[e](T),t.c()),A(t,1),t.m(i.parentNode,i));const C={};s.$set(C);const D={};o.$set(D);const E={};$[0]&4&&(E.collection=T[2]),a.$set(E);const P={};$[0]&4&&(P.collection=T[2]),f.$set(P)},i(T){c||(A(t),A(s.$$.fragment,T),A(o.$$.fragment,T),A(a.$$.fragment,T),A(f.$$.fragment,T),c=!0)},o(T){I(t),I(s.$$.fragment,T),I(o.$$.fragment,T),I(a.$$.fragment,T),I(f.$$.fragment,T),c=!1},d(T){m[e].d(T),T&&w(i),n[25](null),j(s,T),T&&w(l),n[26](null),j(o,T),T&&w(r),n[27](null),j(a,T),T&&w(u),n[30](null),j(f,T)}}}function ZD(n,e,t){let i,s,l,o,r,a,u;Ye(n,Mi,J=>t(2,s=J)),Ye(n,St,J=>t(31,l=J)),Ye(n,Po,J=>t(3,o=J)),Ye(n,ma,J=>t(13,r=J)),Ye(n,Ai,J=>t(9,a=J)),Ye(n,$s,J=>t(10,u=J));const f=new URLSearchParams(r);let c,d,m,h,g,b=f.get("filter")||"",k=f.get("sort")||"",y=f.get("collectionId")||(s==null?void 0:s.id);function T(){t(11,y=s==null?void 0:s.id),t(0,b=""),t(1,k="-created"),s!=null&&s.isView&&!z.extractColumnsFromQuery(s.options.query).includes("created")&&t(1,k="")}Tb(y);const $=()=>c==null?void 0:c.show(),M=()=>c==null?void 0:c.show(s),C=()=>g==null?void 0:g.load(),D=()=>d==null?void 0:d.show(s),E=()=>m==null?void 0:m.show(),P=J=>t(0,b=J.detail);function L(J){ie[J?"unshift":"push"](()=>{g=J,t(8,g)})}function N(J){b=J,t(0,b)}function F(J){k=J,t(1,k)}const R=J=>{s.isView?h.show(J==null?void 0:J.detail):m==null||m.show(J==null?void 0:J.detail)},X=()=>m==null?void 0:m.show();function se(J){ie[J?"unshift":"push"](()=>{c=J,t(4,c)})}function W(J){ie[J?"unshift":"push"](()=>{d=J,t(5,d)})}function G(J){ie[J?"unshift":"push"](()=>{m=J,t(6,m)})}const te=()=>g==null?void 0:g.reloadLoadedPages(),K=()=>g==null?void 0:g.reloadLoadedPages();function re(J){ie[J?"unshift":"push"](()=>{h=J,t(7,h)})}return n.$$.update=()=>{if(n.$$.dirty[0]&8192&&t(12,i=new URLSearchParams(r)),n.$$.dirty[0]&6152&&!o&&i.get("collectionId")&&i.get("collectionId")!=y&&M3(i.get("collectionId")),n.$$.dirty[0]&2052&&s!=null&&s.id&&y!=s.id&&T(),n.$$.dirty[0]&7&&(k||b||s!=null&&s.id)){const J=new URLSearchParams({collectionId:(s==null?void 0:s.id)||"",filter:b,sort:k}).toString();Di("/collections?"+J)}n.$$.dirty[0]&4&&Kt(St,l=(s==null?void 0:s.name)||"Collections",l)},[b,k,s,o,c,d,m,h,g,a,u,y,i,r,$,M,C,D,E,P,L,N,F,R,X,se,W,G,te,K,re]}class GD extends ye{constructor(e){super(),ve(this,e,ZD,JD,he,{},null,[-1,-1])}}function XD(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,k,y,T,$,M,C,D,E,P;return{c(){e=v("aside"),t=v("div"),i=v("div"),i.textContent="System",s=O(),l=v("a"),l.innerHTML=`<i class="ri-home-gear-line"></i>
|
||||||
|
<span class="txt">Application</span>`,o=O(),r=v("a"),r.innerHTML=`<i class="ri-send-plane-2-line"></i>
|
||||||
|
<span class="txt">Mail settings</span>`,a=O(),u=v("a"),u.innerHTML=`<i class="ri-archive-drawer-line"></i>
|
||||||
|
<span class="txt">Files storage</span>`,f=O(),c=v("div"),c.innerHTML='<span class="txt">Sync</span>',d=O(),m=v("a"),m.innerHTML=`<i class="ri-uninstall-line"></i>
|
||||||
|
<span class="txt">Export collections</span>`,h=O(),g=v("a"),g.innerHTML=`<i class="ri-install-line"></i>
|
||||||
|
<span class="txt">Import collections</span>`,b=O(),k=v("div"),k.textContent="Authentication",y=O(),T=v("a"),T.innerHTML=`<i class="ri-lock-password-line"></i>
|
||||||
|
<span class="txt">Auth providers</span>`,$=O(),M=v("a"),M.innerHTML=`<i class="ri-key-line"></i>
|
||||||
|
<span class="txt">Token options</span>`,C=O(),D=v("a"),D.innerHTML=`<i class="ri-shield-user-line"></i>
|
||||||
|
<span class="txt">Admins</span>`,p(i,"class","sidebar-title"),p(l,"href","/settings"),p(l,"class","sidebar-list-item"),p(r,"href","/settings/mail"),p(r,"class","sidebar-list-item"),p(u,"href","/settings/storage"),p(u,"class","sidebar-list-item"),p(c,"class","sidebar-title"),p(m,"href","/settings/export-collections"),p(m,"class","sidebar-list-item"),p(g,"href","/settings/import-collections"),p(g,"class","sidebar-list-item"),p(k,"class","sidebar-title"),p(T,"href","/settings/auth-providers"),p(T,"class","sidebar-list-item"),p(M,"href","/settings/tokens"),p(M,"class","sidebar-list-item"),p(D,"href","/settings/admins"),p(D,"class","sidebar-list-item"),p(t,"class","sidebar-content"),p(e,"class","page-sidebar settings-sidebar")},m(L,N){S(L,e,N),_(e,t),_(t,i),_(t,s),_(t,l),_(t,o),_(t,r),_(t,a),_(t,u),_(t,f),_(t,c),_(t,d),_(t,m),_(t,h),_(t,g),_(t,b),_(t,k),_(t,y),_(t,T),_(t,$),_(t,M),_(t,C),_(t,D),E||(P=[Ie(qn.call(null,l,{path:"/settings"})),Ie(xt.call(null,l)),Ie(qn.call(null,r,{path:"/settings/mail/?.*"})),Ie(xt.call(null,r)),Ie(qn.call(null,u,{path:"/settings/storage/?.*"})),Ie(xt.call(null,u)),Ie(qn.call(null,m,{path:"/settings/export-collections/?.*"})),Ie(xt.call(null,m)),Ie(qn.call(null,g,{path:"/settings/import-collections/?.*"})),Ie(xt.call(null,g)),Ie(qn.call(null,T,{path:"/settings/auth-providers/?.*"})),Ie(xt.call(null,T)),Ie(qn.call(null,M,{path:"/settings/tokens/?.*"})),Ie(xt.call(null,M)),Ie(qn.call(null,D,{path:"/settings/admins/?.*"})),Ie(xt.call(null,D))],E=!0)},p:Z,i:Z,o:Z,d(L){L&&w(e),E=!1,Pe(P)}}}class Ii extends ye{constructor(e){super(),ve(this,e,null,XD,he,{})}}function qm(n,e,t){const i=n.slice();return i[30]=e[t],i}function jm(n){let e,t;return e=new me({props:{class:"form-field readonly",name:"id",$$slots:{default:[QD,({uniqueId:i})=>({29:i}),({uniqueId:i})=>[i?536870912:0]]},$$scope:{ctx:n}}}),{c(){H(e.$$.fragment)},m(i,s){q(e,i,s),t=!0},p(i,s){const l={};s[0]&536870914|s[1]&4&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){j(e,i)}}}function QD(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g;return{c(){e=v("label"),t=v("i"),i=O(),s=v("span"),s.textContent="id",o=O(),r=v("div"),a=v("i"),f=O(),c=v("input"),p(t,"class",z.getFieldTypeIcon("primary")),p(s,"class","txt"),p(e,"for",l=n[29]),p(a,"class","ri-calendar-event-line txt-disabled"),p(r,"class","form-field-addon"),p(c,"type","text"),p(c,"id",d=n[29]),c.value=m=n[1].id,c.readOnly=!0},m(b,k){S(b,e,k),_(e,t),_(e,i),_(e,s),S(b,o,k),S(b,r,k),_(r,a),S(b,f,k),S(b,c,k),h||(g=Ie(u=Be.call(null,a,{text:`Created: ${n[1].created}
|
||||||
|
Updated: ${n[1].updated}`,position:"left"})),h=!0)},p(b,k){k[0]&536870912&&l!==(l=b[29])&&p(e,"for",l),u&&Bt(u.update)&&k[0]&2&&u.update.call(null,{text:`Created: ${b[1].created}
|
||||||
|
Updated: ${b[1].updated}`,position:"left"}),k[0]&536870912&&d!==(d=b[29])&&p(c,"id",d),k[0]&2&&m!==(m=b[1].id)&&c.value!==m&&(c.value=m)},d(b){b&&w(e),b&&w(o),b&&w(r),b&&w(f),b&&w(c),h=!1,g()}}}function Hm(n){let e,t,i,s,l,o,r;function a(){return n[17](n[30])}return{c(){e=v("button"),t=v("img"),s=O(),Vn(t.src,i="./images/avatars/avatar"+n[30]+".svg")||p(t,"src",i),p(t,"alt","Avatar "+n[30]),p(e,"type","button"),p(e,"class",l="link-fade thumb thumb-circle "+(n[30]==n[2]?"thumb-active":"thumb-sm"))},m(u,f){S(u,e,f),_(e,t),_(e,s),o||(r=Y(e,"click",a),o=!0)},p(u,f){n=u,f[0]&4&&l!==(l="link-fade thumb thumb-circle "+(n[30]==n[2]?"thumb-active":"thumb-sm"))&&p(e,"class",l)},d(u){u&&w(e),o=!1,r()}}}function xD(n){let e,t,i,s,l,o,r,a,u,f;return{c(){e=v("label"),t=v("i"),i=O(),s=v("span"),s.textContent="Email",o=O(),r=v("input"),p(t,"class",z.getFieldTypeIcon("email")),p(s,"class","txt"),p(e,"for",l=n[29]),p(r,"type","email"),p(r,"autocomplete","off"),p(r,"id",a=n[29]),r.required=!0},m(c,d){S(c,e,d),_(e,t),_(e,i),_(e,s),S(c,o,d),S(c,r,d),ce(r,n[3]),u||(f=Y(r,"input",n[18]),u=!0)},p(c,d){d[0]&536870912&&l!==(l=c[29])&&p(e,"for",l),d[0]&536870912&&a!==(a=c[29])&&p(r,"id",a),d[0]&8&&r.value!==c[3]&&ce(r,c[3])},d(c){c&&w(e),c&&w(o),c&&w(r),u=!1,f()}}}function Vm(n){let e,t;return e=new me({props:{class:"form-field form-field-toggle",$$slots:{default:[eO,({uniqueId:i})=>({29:i}),({uniqueId:i})=>[i?536870912:0]]},$$scope:{ctx:n}}}),{c(){H(e.$$.fragment)},m(i,s){q(e,i,s),t=!0},p(i,s){const l={};s[0]&536870928|s[1]&4&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){j(e,i)}}}function eO(n){let e,t,i,s,l,o,r,a;return{c(){e=v("input"),i=O(),s=v("label"),l=B("Change password"),p(e,"type","checkbox"),p(e,"id",t=n[29]),p(s,"for",o=n[29])},m(u,f){S(u,e,f),e.checked=n[4],S(u,i,f),S(u,s,f),_(s,l),r||(a=Y(e,"change",n[19]),r=!0)},p(u,f){f[0]&536870912&&t!==(t=u[29])&&p(e,"id",t),f[0]&16&&(e.checked=u[4]),f[0]&536870912&&o!==(o=u[29])&&p(s,"for",o)},d(u){u&&w(e),u&&w(i),u&&w(s),r=!1,a()}}}function zm(n){let e,t,i,s,l,o,r,a,u;return s=new me({props:{class:"form-field required",name:"password",$$slots:{default:[tO,({uniqueId:f})=>({29:f}),({uniqueId:f})=>[f?536870912:0]]},$$scope:{ctx:n}}}),r=new me({props:{class:"form-field required",name:"passwordConfirm",$$slots:{default:[nO,({uniqueId:f})=>({29:f}),({uniqueId:f})=>[f?536870912:0]]},$$scope:{ctx:n}}}),{c(){e=v("div"),t=v("div"),i=v("div"),H(s.$$.fragment),l=O(),o=v("div"),H(r.$$.fragment),p(i,"class","col-sm-6"),p(o,"class","col-sm-6"),p(t,"class","grid"),p(e,"class","col-12")},m(f,c){S(f,e,c),_(e,t),_(t,i),q(s,i,null),_(t,l),_(t,o),q(r,o,null),u=!0},p(f,c){const d={};c[0]&536871168|c[1]&4&&(d.$$scope={dirty:c,ctx:f}),s.$set(d);const m={};c[0]&536871424|c[1]&4&&(m.$$scope={dirty:c,ctx:f}),r.$set(m)},i(f){u||(A(s.$$.fragment,f),A(r.$$.fragment,f),f&&xe(()=>{a||(a=je(t,At,{duration:150},!0)),a.run(1)}),u=!0)},o(f){I(s.$$.fragment,f),I(r.$$.fragment,f),f&&(a||(a=je(t,At,{duration:150},!1)),a.run(0)),u=!1},d(f){f&&w(e),j(s),j(r),f&&a&&a.end()}}}function tO(n){let e,t,i,s,l,o,r,a,u,f;return{c(){e=v("label"),t=v("i"),i=O(),s=v("span"),s.textContent="Password",o=O(),r=v("input"),p(t,"class","ri-lock-line"),p(s,"class","txt"),p(e,"for",l=n[29]),p(r,"type","password"),p(r,"autocomplete","new-password"),p(r,"id",a=n[29]),r.required=!0},m(c,d){S(c,e,d),_(e,t),_(e,i),_(e,s),S(c,o,d),S(c,r,d),ce(r,n[8]),u||(f=Y(r,"input",n[20]),u=!0)},p(c,d){d[0]&536870912&&l!==(l=c[29])&&p(e,"for",l),d[0]&536870912&&a!==(a=c[29])&&p(r,"id",a),d[0]&256&&r.value!==c[8]&&ce(r,c[8])},d(c){c&&w(e),c&&w(o),c&&w(r),u=!1,f()}}}function nO(n){let e,t,i,s,l,o,r,a,u,f;return{c(){e=v("label"),t=v("i"),i=O(),s=v("span"),s.textContent="Password confirm",o=O(),r=v("input"),p(t,"class","ri-lock-line"),p(s,"class","txt"),p(e,"for",l=n[29]),p(r,"type","password"),p(r,"autocomplete","new-password"),p(r,"id",a=n[29]),r.required=!0},m(c,d){S(c,e,d),_(e,t),_(e,i),_(e,s),S(c,o,d),S(c,r,d),ce(r,n[9]),u||(f=Y(r,"input",n[21]),u=!0)},p(c,d){d[0]&536870912&&l!==(l=c[29])&&p(e,"for",l),d[0]&536870912&&a!==(a=c[29])&&p(r,"id",a),d[0]&512&&r.value!==c[9]&&ce(r,c[9])},d(c){c&&w(e),c&&w(o),c&&w(r),u=!1,f()}}}function iO(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h=!n[1].isNew&&jm(n),g=[0,1,2,3,4,5,6,7,8,9],b=[];for(let T=0;T<10;T+=1)b[T]=Hm(qm(n,g,T));a=new me({props:{class:"form-field required",name:"email",$$slots:{default:[xD,({uniqueId:T})=>({29:T}),({uniqueId:T})=>[T?536870912:0]]},$$scope:{ctx:n}}});let k=!n[1].isNew&&Vm(n),y=(n[1].isNew||n[4])&&zm(n);return{c(){e=v("form"),h&&h.c(),t=O(),i=v("div"),s=v("p"),s.textContent="Avatar",l=O(),o=v("div");for(let T=0;T<10;T+=1)b[T].c();r=O(),H(a.$$.fragment),u=O(),k&&k.c(),f=O(),y&&y.c(),p(s,"class","section-title"),p(o,"class","flex flex-gap-xs flex-wrap"),p(i,"class","content"),p(e,"id",n[11]),p(e,"class","grid"),p(e,"autocomplete","off")},m(T,$){S(T,e,$),h&&h.m(e,null),_(e,t),_(e,i),_(i,s),_(i,l),_(i,o);for(let M=0;M<10;M+=1)b[M].m(o,null);_
Line truncated
|
||||||
|
<span class="txt">Delete</span>`,p(e,"type","button"),p(e,"class","dropdown-item txt-danger")},m(s,l){S(s,e,l),t||(i=Y(e,"click",n[15]),t=!0)},p:Z,d(s){s&&w(e),t=!1,i()}}}function oO(n){let e,t,i,s,l,o,r=n[1].isNew?"Create":"Save changes",a,u,f,c,d,m=!n[1].isNew&&Bm(n);return{c(){m&&m.c(),e=O(),t=v("button"),i=v("span"),i.textContent="Cancel",s=O(),l=v("button"),o=v("span"),a=B(r),p(i,"class","txt"),p(t,"type","button"),p(t,"class","btn btn-transparent"),t.disabled=n[6],p(o,"class","txt"),p(l,"type","submit"),p(l,"form",n[11]),p(l,"class","btn btn-expanded"),l.disabled=u=!n[10]||n[6],Q(l,"btn-loading",n[6])},m(h,g){m&&m.m(h,g),S(h,e,g),S(h,t,g),_(t,i),S(h,s,g),S(h,l,g),_(l,o),_(o,a),f=!0,c||(d=Y(t,"click",n[16]),c=!0)},p(h,g){h[1].isNew?m&&(ae(),I(m,1,1,()=>{m=null}),ue()):m?(m.p(h,g),g[0]&2&&A(m,1)):(m=Bm(h),m.c(),A(m,1),m.m(e.parentNode,e)),(!f||g[0]&64)&&(t.disabled=h[6]),(!f||g[0]&2)&&r!==(r=h[1].isNew?"Create":"Save changes")&&le(a,r),(!f||g[0]&1088&&u!==(u=!h[10]||h[6]))&&(l.disabled=u),(!f||g[0]&64)&&Q(l,"btn-loading",h[6])},i(h){f||(A(m),f=!0)},o(h){I(m),f=!1},d(h){m&&m.d(h),h&&w(e),h&&w(t),h&&w(s),h&&w(l),c=!1,d()}}}function rO(n){let e,t,i={popup:!0,class:"admin-panel",beforeHide:n[22],$$slots:{footer:[oO],header:[sO],default:[iO]},$$scope:{ctx:n}};return e=new Nn({props:i}),n[23](e),e.$on("hide",n[24]),e.$on("show",n[25]),{c(){H(e.$$.fragment)},m(s,l){q(e,s,l),t=!0},p(s,l){const o={};l[0]&1152&&(o.beforeHide=s[22]),l[0]&1886|l[1]&4&&(o.$$scope={dirty:l,ctx:s}),e.$set(o)},i(s){t||(A(e.$$.fragment,s),t=!0)},o(s){I(e.$$.fragment,s),t=!1},d(s){n[23](null),j(e,s)}}}function aO(n,e,t){let i;const s=Ct(),l="admin_"+z.randomString(5);let o,r=new Xi,a=!1,u=!1,f=0,c="",d="",m="",h=!1;function g(W){return k(W),t(7,u=!0),o==null?void 0:o.show()}function b(){return o==null?void 0:o.hide()}function k(W){t(1,r=W!=null&&W.clone?W.clone():new Xi),y()}function y(){t(4,h=!1),t(3,c=(r==null?void 0:r.email)||""),t(2,f=(r==null?void 0:r.avatar)||0),t(8,d=""),t(9,m=""),Bn({})}function T(){if(a||!i)return;t(6,a=!0);const W={email:c,avatar:f};(r.isNew||h)&&(W.password=d,W.passwordConfirm=m);let G;r.isNew?G=pe.admins.create(W):G=pe.admins.update(r.id,W),G.then(async te=>{var K;t(7,u=!1),b(),zt(r.isNew?"Successfully created admin.":"Successfully updated admin."),s("save",te),((K=pe.authStore.model)==null?void 0:K.id)===te.id&&pe.authStore.save(pe.authStore.token,te)}).catch(te=>{pe.errorResponseHandler(te)}).finally(()=>{t(6,a=!1)})}function $(){r!=null&&r.id&&cn("Do you really want to delete the selected admin?",()=>pe.admins.delete(r.id).then(()=>{t(7,u=!1),b(),zt("Successfully deleted admin."),s("delete",r)}).catch(W=>{pe.errorResponseHandler(W)}))}const M=()=>$(),C=()=>b(),D=W=>t(2,f=W);function E(){c=this.value,t(3,c)}function P(){h=this.checked,t(4,h)}function L(){d=this.value,t(8,d)}function N(){m=this.value,t(9,m)}const F=()=>i&&u?(cn("You have unsaved changes. Do you really want to close the panel?",()=>{t(7,u=!1),b()}),!1):!0;function R(W){ie[W?"unshift":"push"](()=>{o=W,t(5,o)})}function X(W){ze.call(this,n,W)}function se(W){ze.call(this,n,W)}return n.$$.update=()=>{n.$$.dirty[0]&30&&t(10,i=r.isNew&&c!=""||h||c!==r.email||f!==r.avatar)},[b,r,f,c,h,o,a,u,d,m,i,l,T,$,g,M,C,D,E,P,L,N,F,R,X,se]}class uO extends ye{constructor(e){super(),ve(this,e,aO,rO,he,{show:14,hide:0},null,[-1,-1])}get show(){return this.$$.ctx[14]}get hide(){return this.$$.ctx[0]}}function Um(n,e,t){const i=n.slice();return i[24]=e[t],i}function fO(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=O(),s=v("span"),s.textContent="id",p(t,"class",z.getFieldTypeIcon("primary")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:Z,d(l){l&&w(e)}}}function cO(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=O(),s=v("span"),s.textContent="email",p(t,"class",z.getFieldTypeIcon("email")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:Z,d(l){l&&w(e)}}}function dO(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=O(),s=v("span"),s.textContent="created",p(t,"class",z.getFieldTypeIcon("date")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:Z,d(l){l&&w(e)}}}function pO(n){let e,t,i,s;return{c(){e=v("div"),t=v("i"),i=O(),s=v("span"),s.textContent="updated",p(t,"class",z.getFieldTypeIcon("date")),p(s,"class","txt"),p(e,"class","col-header-content")},m(l,o){S(l,e,o),_(e,t),_(e,i),_(e,s)},p:Z,d(l){l&&w(e)}}}function Wm(n){let e;function t(l,o){return l[5]?hO:mO}let i=t(n),s=i(n);return{c(){s.c(),e=Me()},m(l,o){s.m(l,o),S(l,e,o)},p(l,o){i===(i=t(l))&&s?s.p(l,o):(s.d(1),s=i(l),s&&(s.c(),s.m(e.parentNode,e)))},d(l){s.d(l),l&&w(e)}}}function mO(n){var r;let e,t,i,s,l,o=((r=n[1])==null?void 0:r.length)&&Ym(n);return{c(){e=v("tr"),t=v("td"),i=v("h6"),i.textContent="No admins found.",s=O(),o&&o.c(),l=O(),p(t,"colspan","99"),p(t,"class","txt-center txt-hint p-xs")},m(a,u){S(a,e,u),_(e,t),_(t,i),_(t,s),o&&o.m(t,null),Line truncated
|
||||||
|
`},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function Ym(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Clear filters</span>',p(e,"type","button"),p(e,"class","btn btn-hint btn-expanded m-t-sm")},m(s,l){S(s,e,l),t||(i=Y(e,"click",n[17]),t=!0)},p:Z,d(s){s&&w(e),t=!1,i()}}}function Km(n){let e;return{c(){e=v("span"),e.textContent="You",p(e,"class","label label-warning m-l-5")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function Jm(n,e){let t,i,s,l,o,r,a,u,f,c,d,m=e[24].id+"",h,g,b,k,y,T=e[24].email+"",$,M,C,D,E,P,L,N,F,R,X,se,W,G;f=new iu({props:{value:e[24].id}});let te=e[24].id===e[7].id&&Km();E=new ui({props:{date:e[24].created}}),N=new ui({props:{date:e[24].updated}});function K(){return e[15](e[24])}function re(...J){return e[16](e[24],...J)}return{key:n,first:null,c(){t=v("tr"),i=v("td"),s=v("figure"),l=v("img"),r=O(),a=v("td"),u=v("div"),H(f.$$.fragment),c=O(),d=v("span"),h=B(m),g=O(),te&&te.c(),b=O(),k=v("td"),y=v("span"),$=B(T),C=O(),D=v("td"),H(E.$$.fragment),P=O(),L=v("td"),H(N.$$.fragment),F=O(),R=v("td"),R.innerHTML='<i class="ri-arrow-right-line"></i>',X=O(),Vn(l.src,o="./images/avatars/avatar"+(e[24].avatar||0)+".svg")||p(l,"src",o),p(l,"alt","Admin avatar"),p(s,"class","thumb thumb-sm thumb-circle"),p(i,"class","min-width"),p(d,"class","txt"),p(u,"class","label"),p(a,"class","col-type-text col-field-id"),p(y,"class","txt txt-ellipsis"),p(y,"title",M=e[24].email),p(k,"class","col-type-email col-field-email"),p(D,"class","col-type-date col-field-created"),p(L,"class","col-type-date col-field-updated"),p(R,"class","col-type-action min-width"),p(t,"tabindex","0"),p(t,"class","row-handle"),this.first=t},m(J,de){S(J,t,de),_(t,i),_(i,s),_(s,l),_(t,r),_(t,a),_(a,u),q(f,u,null),_(u,c),_(u,d),_(d,h),_(a,g),te&&te.m(a,null),_(t,b),_(t,k),_(k,y),_(y,$),_(t,C),_(t,D),q(E,D,null),_(t,P),_(t,L),q(N,L,null),_(t,F),_(t,R),_(t,X),se=!0,W||(G=[Y(t,"click",K),Y(t,"keydown",re)],W=!0)},p(J,de){e=J,(!se||de&16&&!Vn(l.src,o="./images/avatars/avatar"+(e[24].avatar||0)+".svg"))&&p(l,"src",o);const _e={};de&16&&(_e.value=e[24].id),f.$set(_e),(!se||de&16)&&m!==(m=e[24].id+"")&&le(h,m),e[24].id===e[7].id?te||(te=Km(),te.c(),te.m(a,null)):te&&(te.d(1),te=null),(!se||de&16)&&T!==(T=e[24].email+"")&&le($,T),(!se||de&16&&M!==(M=e[24].email))&&p(y,"title",M);const $e={};de&16&&($e.date=e[24].created),E.$set($e);const Ne={};de&16&&(Ne.date=e[24].updated),N.$set(Ne)},i(J){se||(A(f.$$.fragment,J),A(E.$$.fragment,J),A(N.$$.fragment,J),se=!0)},o(J){I(f.$$.fragment,J),I(E.$$.fragment,J),I(N.$$.fragment,J),se=!1},d(J){J&&w(t),j(f),te&&te.d(),j(E),j(N),W=!1,Pe(G)}}}function gO(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,k,y,T,$,M=[],C=new Map,D;function E(K){n[11](K)}let P={class:"col-type-text",name:"id",$$slots:{default:[fO]},$$scope:{ctx:n}};n[2]!==void 0&&(P.sort=n[2]),o=new Wt({props:P}),ie.push(()=>ge(o,"sort",E));function L(K){n[12](K)}let N={class:"col-type-email col-field-email",name:"email",$$slots:{default:[cO]},$$scope:{ctx:n}};n[2]!==void 0&&(N.sort=n[2]),u=new Wt({props:N}),ie.push(()=>ge(u,"sort",L));function F(K){n[13](K)}let R={class:"col-type-date col-field-created",name:"created",$$slots:{default:[dO]},$$scope:{ctx:n}};n[2]!==void 0&&(R.sort=n[2]),d=new Wt({props:R}),ie.push(()=>ge(d,"sort",F));function X(K){n[14](K)}let se={class:"col-type-date col-field-updated",name:"updated",$$slots:{default:[pO]},$$scope:{ctx:n}};n[2]!==void 0&&(se.sort=n[2]),g=new Wt({props:se}),ie.push(()=>ge(g,"sort",X));let W=n[4];const G=K=>K[24].id;for(let K=0;K<W.length;K+=1){let re=Um(n,W,K),J=G(re);C.set(J,M[K]=Jm(J,re))}let te=null;return W.length||(te=Wm(n)),{c(){e=v("table"),t=v("thead"),i=v("tr"),s=v("th"),l=O(),H(o.$$.fragment),a=O(),H(u.$$.fragment),c=O(),H(d.$$.fragment),h=O(),H(g.$$.fragment),k=O(),y=v("th"),T=O(),$=v("tbody");for(let K=0;K<M.length;K+=1)M[K].c();te&&te.c(),p(s,"class","min-width"),p(y,"class","col-type-action min-width"),p(e,"class","table"),Q(e,"table-loading",n[5])},m(K,re){S(K,e,re),_(e,t),_(t,i),_(i,s),_(i,l),q(o,i,null),_(i,a),q(u,i,null),_(i,c),q(d,i,null),_(i,h),q(g,i,null),_(i,k),_(i,y),_(e,T),_(e,$);for(let J=0;J<M.length;J+=1)M[J].m($,null);te&&te.m($,null),D=!0},p(K,re){const J={};re&134217728&&(J.$$scope={dirty:re,ctx:K}),!r&&re&4&&(r=!0,J.sort=K[2],ke(()=>r=!1)),o.$set(J);const de={};re&134217728&&(de.$$scope={dirty:re,ctx:K}),!f&&re&4&&(f=!0,de.sort=K[2],ke(()=>f=!1)),u.$set(de);const _e={};re&134217728&&(_e.$$scope={dirty:re,ctx:K}),!m&&re&4&&(m=!0,_e.sort=K[2],ke(()=>m=!1)),d.$set(_e);const $e={};re&134217728&&($e.$$scope={dirty:re,ctx:K}),!b&&re&4&&(b=!0,$e.sort=K[2],ke(()=>b=!1)),g.$set($e),re&186&&(W=K[4],ae(),M=wt(M,re,G,1,K,W,C,$,ln,Jm,null,Um),ue(),!W.length&&te?te.p(K,re):W.length?te&&(te.d(1),te=null):(te=Wm(K),te.c(),te.m($,null))),(!D||re&32)&&Q(e,"table-loading",K[5])},i(K){if(!D){A(o.$$.fragment,K),A(u.$$.fragment,K),A(d.$$.fragment,K),A(g.$$.fragment,K);for(let re=0;re<W.length;re+=1)A(M[re]);D=!0}},o(K){I(o.$$.fragment,K),I(u.$$.fragment,K),I(d.$$.fragmen
Line truncated
|
||||||
|
<span class="txt">New admin</span>`,m=O(),H(h.$$.fragment),g=O(),b=v("div"),k=O(),H(y.$$.fragment),T=O(),E&&E.c(),$=Me(),p(i,"class","breadcrumb-item"),p(l,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(f,"class","flex-fill"),p(d,"type","button"),p(d,"class","btn btn-expanded"),p(e,"class","page-header"),p(b,"class","clearfix m-b-base")},m(P,L){S(P,e,L),_(e,t),_(t,i),_(t,s),_(t,l),_(l,o),_(e,r),q(a,e,null),_(e,u),_(e,f),_(e,c),_(e,d),S(P,m,L),q(h,P,L),S(P,g,L),S(P,b,L),S(P,k,L),q(y,P,L),S(P,T,L),E&&E.m(P,L),S(P,$,L),M=!0,C||(D=Y(d,"click",n[9]),C=!0)},p(P,L){(!M||L&64)&&le(o,P[6]);const N={};L&2&&(N.value=P[1]),h.$set(N);const F={};L&134217918&&(F.$$scope={dirty:L,ctx:P}),y.$set(F),P[4].length?E?E.p(P,L):(E=Zm(P),E.c(),E.m($.parentNode,$)):E&&(E.d(1),E=null)},i(P){M||(A(a.$$.fragment,P),A(h.$$.fragment,P),A(y.$$.fragment,P),M=!0)},o(P){I(a.$$.fragment,P),I(h.$$.fragment,P),I(y.$$.fragment,P),M=!1},d(P){P&&w(e),j(a),P&&w(m),j(h,P),P&&w(g),P&&w(b),P&&w(k),j(y,P),P&&w(T),E&&E.d(P),P&&w($),C=!1,D()}}}function bO(n){let e,t,i,s,l,o;e=new Ii({}),i=new wn({props:{$$slots:{default:[_O]},$$scope:{ctx:n}}});let r={};return l=new uO({props:r}),n[18](l),l.$on("save",n[19]),l.$on("delete",n[20]),{c(){H(e.$$.fragment),t=O(),H(i.$$.fragment),s=O(),H(l.$$.fragment)},m(a,u){q(e,a,u),S(a,t,u),q(i,a,u),S(a,s,u),q(l,a,u),o=!0},p(a,[u]){const f={};u&134217982&&(f.$$scope={dirty:u,ctx:a}),i.$set(f);const c={};l.$set(c)},i(a){o||(A(e.$$.fragment,a),A(i.$$.fragment,a),A(l.$$.fragment,a),o=!0)},o(a){I(e.$$.fragment,a),I(i.$$.fragment,a),I(l.$$.fragment,a),o=!1},d(a){j(e,a),a&&w(t),j(i,a),a&&w(s),n[18](null),j(l,a)}}}function vO(n,e,t){let i,s,l;Ye(n,ma,N=>t(21,i=N)),Ye(n,St,N=>t(6,s=N)),Ye(n,Ma,N=>t(7,l=N)),Kt(St,s="Admins",s);const o=new URLSearchParams(i);let r,a=[],u=!1,f=o.get("filter")||"",c=o.get("sort")||"-created";function d(){return t(5,u=!0),t(4,a=[]),pe.admins.getFullList(100,{sort:c||"-created",filter:f}).then(N=>{t(4,a=N),t(5,u=!1)}).catch(N=>{N!=null&&N.isAbort||(t(5,u=!1),console.warn(N),m(),pe.errorResponseHandler(N,!1))})}function m(){t(4,a=[])}const h=()=>d(),g=()=>r==null?void 0:r.show(),b=N=>t(1,f=N.detail);function k(N){c=N,t(2,c)}function y(N){c=N,t(2,c)}function T(N){c=N,t(2,c)}function $(N){c=N,t(2,c)}const M=N=>r==null?void 0:r.show(N),C=(N,F)=>{(F.code==="Enter"||F.code==="Space")&&(F.preventDefault(),r==null||r.show(N))},D=()=>t(1,f="");function E(N){ie[N?"unshift":"push"](()=>{r=N,t(3,r)})}const P=()=>d(),L=()=>d();return n.$$.update=()=>{if(n.$$.dirty&6&&c!==-1&&f!==-1){const N=new URLSearchParams({filter:f,sort:c}).toString();Di("/settings/admins?"+N),d()}},[d,f,c,r,a,u,s,l,h,g,b,k,y,T,$,M,C,D,E,P,L]}class yO extends ye{constructor(e){super(),ve(this,e,vO,bO,he,{loadAdmins:0})}get loadAdmins(){return this.$$.ctx[0]}}function kO(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=B("Email"),s=O(),l=v("input"),p(e,"for",i=n[8]),p(l,"type","email"),p(l,"id",o=n[8]),l.required=!0,l.autofocus=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),ce(l,n[0]),l.focus(),r||(a=Y(l,"input",n[4]),r=!0)},p(u,f){f&256&&i!==(i=u[8])&&p(e,"for",i),f&256&&o!==(o=u[8])&&p(l,"id",o),f&1&&l.value!==u[0]&&ce(l,u[0])},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function wO(n){let e,t,i,s,l,o,r,a,u,f,c;return{c(){e=v("label"),t=B("Password"),s=O(),l=v("input"),r=O(),a=v("div"),u=v("a"),u.textContent="Forgotten password?",p(e,"for",i=n[8]),p(l,"type","password"),p(l,"id",o=n[8]),l.required=!0,p(u,"href","/request-password-reset"),p(u,"class","link-hint"),p(a,"class","help-block")},m(d,m){S(d,e,m),_(e,t),S(d,s,m),S(d,l,m),ce(l,n[1]),S(d,r,m),S(d,a,m),_(a,u),f||(c=[Y(l,"input",n[5]),Ie(xt.call(null,u))],f=!0)},p(d,m){m&256&&i!==(i=d[8])&&p(e,"for",i),m&256&&o!==(o=d[8])&&p(l,"id",o),m&2&&l.value!==d[1]&&ce(l,d[1])},d(d){d&&w(e),d&&w(s),d&&w(l),d&&w(r),d&&w(a),f=!1,Pe(c)}}}function SO(n){let e,t,i,s,l,o,r,a,u,f,c;return s=new me({props:{class:"form-field required",name:"identity",$$slots:{default:[kO,({uniqueId:d})=>({8:d}),({uniqueId:d})=>d?256:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field required",name:"password",$$slots:{default:[wO,({uniqueId:d})=>({8:d}),({uniqueId:d})=>d?256:0]},$$scope:{ctx:n}}}),{c(){e=v("form"),t=v("div"),t.innerHTML="<h4>Admin sign in</h4>",i=O(),H(s.$$.fragment),l=O(),H(o.$$.fragment),r=O(),a=v("button"),a.innerHTML=`<span class="txt">Login</span>
|
||||||
|
<i class="ri-arrow-right-line"></i>`,p(t,"class","content txt-center m-b-base"),p(a,"type","submit"),p(a,"class","btn btn-lg btn-block btn-next"),Q(a,"btn-disabled",n[2]),Q(a,"btn-loading",n[2]),p(e,"class","block")},m(d,m){S(d,e,m),_(e,t),_(e,i),q(s,e,null),_(e,l),q(o,e,null),_(e,r),_(e,a),u=!0,f||(c=Y(e,"submit",dt(n[3])),f=!0)},p(d,m){const h={};m&769&&(h.$$scope={dirty:m,ctx:d}),s.$set(h);const g={};m&770&&(g.$$scope={dirty:m,ctx:d}),o.$set(g),(!u||m&4)&&Q(a,"btn-disabled",d[2]),(!u||m&4)&&Q(a,"btn-loading",d[2])},i(d){u||(A(s.$$.fragment,d),A(o.$$.fragment,d),u=!0)},o(d){I(s.$$.fragment,d),I(o.$$.fragment,d),u=!1},d(d){d&&w(e),j(s),j(o),f=!1,c()}}}function TO(n){let e,t;return e=new S_({props:{$$slots:{default:[SO]},$$scope:{ctx:n}}}),{c(){H(e.$$.fragment)},m(i,s){q(e,i,s),t=!0},p(i,[s]){const l={};s&519&&(l.$$scope={dirty:s,ctx:i}),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){j(e,i)}}}function $O(n,e,t){let i;Ye(n,ma,c=>t(6,i=c));const s=new URLSearchParams(i);let l=s.get("demoEmail")||"",o=s.get("demoPassword")||"",r=!1;function a(){if(!r)return t(2,r=!0),pe.admins.authWithPassword(l,o).then(()=>{$a(),Di("/")}).catch(()=>{cl("Invalid login credentials.")}).finally(()=>{t(2,r=!1)})}function u(){l=this.value,t(0,l)}function f(){o=this.value,t(1,o)}return[l,o,r,a,u,f]}class CO extends ye{constructor(e){super(),ve(this,e,$O,TO,he,{})}}function MO(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,k,y,T,$,M;i=new me({props:{class:"form-field required",name:"meta.appName",$$slots:{default:[OO,({uniqueId:D})=>({19:D}),({uniqueId:D})=>D?524288:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field required",name:"meta.appUrl",$$slots:{default:[EO,({uniqueId:D})=>({19:D}),({uniqueId:D})=>D?524288:0]},$$scope:{ctx:n}}}),a=new me({props:{class:"form-field required",name:"logs.maxDays",$$slots:{default:[AO,({uniqueId:D})=>({19:D}),({uniqueId:D})=>D?524288:0]},$$scope:{ctx:n}}}),f=new me({props:{class:"form-field form-field-toggle",name:"meta.hideControls",$$slots:{default:[IO,({uniqueId:D})=>({19:D}),({uniqueId:D})=>D?524288:0]},$$scope:{ctx:n}}});let C=n[3]&&Gm(n);return{c(){e=v("div"),t=v("div"),H(i.$$.fragment),s=O(),l=v("div"),H(o.$$.fragment),r=O(),H(a.$$.fragment),u=O(),H(f.$$.fragment),c=O(),d=v("div"),m=v("div"),h=O(),C&&C.c(),g=O(),b=v("button"),k=v("span"),k.textContent="Save changes",p(t,"class","col-lg-6"),p(l,"class","col-lg-6"),p(m,"class","flex-fill"),p(k,"class","txt"),p(b,"type","submit"),p(b,"class","btn btn-expanded"),b.disabled=y=!n[3]||n[2],Q(b,"btn-loading",n[2]),p(d,"class","col-lg-12 flex"),p(e,"class","grid")},m(D,E){S(D,e,E),_(e,t),q(i,t,null),_(e,s),_(e,l),q(o,l,null),_(e,r),q(a,e,null),_(e,u),q(f,e,null),_(e,c),_(e,d),_(d,m),_(d,h),C&&C.m(d,null),_(d,g),_(d,b),_(b,k),T=!0,$||(M=Y(b,"click",n[13]),$=!0)},p(D,E){const P={};E&1572865&&(P.$$scope={dirty:E,ctx:D}),i.$set(P);const L={};E&1572865&&(L.$$scope={dirty:E,ctx:D}),o.$set(L);const N={};E&1572865&&(N.$$scope={dirty:E,ctx:D}),a.$set(N);const F={};E&1572865&&(F.$$scope={dirty:E,ctx:D}),f.$set(F),D[3]?C?C.p(D,E):(C=Gm(D),C.c(),C.m(d,g)):C&&(C.d(1),C=null),(!T||E&12&&y!==(y=!D[3]||D[2]))&&(b.disabled=y),(!T||E&4)&&Q(b,"btn-loading",D[2])},i(D){T||(A(i.$$.fragment,D),A(o.$$.fragment,D),A(a.$$.fragment,D),A(f.$$.fragment,D),T=!0)},o(D){I(i.$$.fragment,D),I(o.$$.fragment,D),I(a.$$.fragment,D),I(f.$$.fragment,D),T=!1},d(D){D&&w(e),j(i),j(o),j(a),j(f),C&&C.d(),$=!1,M()}}}function DO(n){let e;return{c(){e=v("div"),p(e,"class","loader")},m(t,i){S(t,e,i)},p:Z,i:Z,o:Z,d(t){t&&w(e)}}}function OO(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=B("Application name"),s=O(),l=v("input"),p(e,"for",i=n[19]),p(l,"type","text"),p(l,"id",o=n[19]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),ce(l,n[0].meta.appName),r||(a=Y(l,"input",n[8]),r=!0)},p(u,f){f&524288&&i!==(i=u[19])&&p(e,"for",i),f&524288&&o!==(o=u[19])&&p(l,"id",o),f&1&&l.value!==u[0].meta.appName&&ce(l,u[0].meta.appName)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function EO(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=B("Application url"),s=O(),l=v("input"),p(e,"for",i=n[19]),p(l,"type","text"),p(l,"id",o=n[19]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),ce(l,n[0].meta.appUrl),r||(a=Y(l,"input",n[9]),r=!0)},p(u,f){f&524288&&i!==(i=u[19])&&p(e,"for",i),f&524288&&o!==(o=u[19])&&p(l,"id",o),f&1&&l.value!==u[0].meta.appUrl&&ce(l,u[0].meta.appUrl)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function AO(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=B("Logs max days retention"),s=O(),l=v("input"),p(e,"for",i=n[19]),p(l,"type","number"),p(l,"id",o=n[19]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),ce(l,n[0].logs.maxDays),r||(a=Y(l,"input",n[10]),r=!0)},p(u,f){f&524288&&i!==(i=u[19])&&p(e,"for",i),f&524288&&o!==(o=u[19])&&p(l,"id",o),f&1&&ht(l.value)!==u[0].logs.maxDays&&ce(l,u[0].logs.maxDays)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function IO(n){let e,t,i,s,l,o,r,a,u,f;return{c(){e=v("input"),i=O(),s=v("label"),l=v("spanLine truncated
|
||||||
|
<div class="breadcrumb-item">Application</div></nav>`,t=O(),i=v("div"),s=v("form"),o.c(),p(e,"class","page-header"),p(s,"class","panel"),p(s,"autocomplete","off"),p(i,"class","wrapper")},m(m,h){S(m,e,h),S(m,t,h),S(m,i,h),_(i,s),c[l].m(s,null),r=!0,a||(u=Y(s,"submit",dt(n[4])),a=!0)},p(m,h){let g=l;l=d(m),l===g?c[l].p(m,h):(ae(),I(c[g],1,1,()=>{c[g]=null}),ue(),o=c[l],o?o.p(m,h):(o=c[l]=f[l](m),o.c()),A(o,1),o.m(s,null))},i(m){r||(A(o),r=!0)},o(m){I(o),r=!1},d(m){m&&w(e),m&&w(t),m&&w(i),c[l].d(),a=!1,u()}}}function LO(n){let e,t,i,s;return e=new Ii({}),i=new wn({props:{$$slots:{default:[PO]},$$scope:{ctx:n}}}),{c(){H(e.$$.fragment),t=O(),H(i.$$.fragment)},m(l,o){q(e,l,o),S(l,t,o),q(i,l,o),s=!0},p(l,[o]){const r={};o&1048591&&(r.$$scope={dirty:o,ctx:l}),i.$set(r)},i(l){s||(A(e.$$.fragment,l),A(i.$$.fragment,l),s=!0)},o(l){I(e.$$.fragment,l),I(i.$$.fragment,l),s=!1},d(l){j(e,l),l&&w(t),j(i,l)}}}function NO(n,e,t){let i,s,l,o;Ye(n,$s,C=>t(14,s=C)),Ye(n,vo,C=>t(15,l=C)),Ye(n,St,C=>t(16,o=C)),Kt(St,o="Application settings",o);let r={},a={},u=!1,f=!1,c="";d();async function d(){t(1,u=!0);try{const C=await pe.settings.getAll()||{};h(C)}catch(C){pe.errorResponseHandler(C)}t(1,u=!1)}async function m(){if(!(f||!i)){t(2,f=!0);try{const C=await pe.settings.update(z.filterRedactedProps(a));h(C),zt("Successfully saved application settings.")}catch(C){pe.errorResponseHandler(C)}t(2,f=!1)}}function h(C={}){var D,E;Kt(vo,l=(D=C==null?void 0:C.meta)==null?void 0:D.appName,l),Kt($s,s=!!((E=C==null?void 0:C.meta)!=null&&E.hideControls),s),t(0,a={meta:(C==null?void 0:C.meta)||{},logs:(C==null?void 0:C.logs)||{}}),t(6,r=JSON.parse(JSON.stringify(a)))}function g(){t(0,a=JSON.parse(JSON.stringify(r||{})))}function b(){a.meta.appName=this.value,t(0,a)}function k(){a.meta.appUrl=this.value,t(0,a)}function y(){a.logs.maxDays=ht(this.value),t(0,a)}function T(){a.meta.hideControls=this.checked,t(0,a)}const $=()=>g(),M=()=>m();return n.$$.update=()=>{n.$$.dirty&64&&t(7,c=JSON.stringify(r)),n.$$.dirty&129&&t(3,i=c!=JSON.stringify(a))},[a,u,f,i,m,g,r,c,b,k,y,T,$,M]}class FO extends ye{constructor(e){super(),ve(this,e,NO,LO,he,{})}}function RO(n){let e,t,i,s=[{type:"password"},{autocomplete:"new-password"},n[5]],l={};for(let o=0;o<s.length;o+=1)l=Je(l,s[o]);return{c(){e=v("input"),Xn(e,l)},m(o,r){S(o,e,r),e.autofocus&&e.focus(),n[7](e),ce(e,n[0]),t||(i=Y(e,"input",n[8]),t=!0)},p(o,r){Xn(e,l=on(s,[{type:"password"},{autocomplete:"new-password"},r&32&&o[5]])),r&1&&e.value!==o[0]&&ce(e,o[0])},d(o){o&&w(e),n[7](null),t=!1,i()}}}function qO(n){let e,t,i,s,l,o,r=[{readOnly:!0},{type:"text"},{placeholder:n[1]},n[5]],a={};for(let u=0;u<r.length;u+=1)a=Je(a,r[u]);return{c(){e=v("div"),t=v("button"),t.innerHTML='<i class="ri-key-line"></i>',i=O(),s=v("input"),p(t,"type","button"),p(t,"class","btn btn-transparent btn-circle"),p(e,"class","form-field-addon"),Xn(s,a)},m(u,f){S(u,e,f),_(e,t),S(u,i,f),S(u,s,f),s.autofocus&&s.focus(),l||(o=[Ie(Be.call(null,t,{position:"left",text:"Set new value"})),Y(t,"click",n[6])],l=!0)},p(u,f){Xn(s,a=on(r,[{readOnly:!0},{type:"text"},f&2&&{placeholder:u[1]},f&32&&u[5]]))},d(u){u&&w(e),u&&w(i),u&&w(s),l=!1,Pe(o)}}}function jO(n){let e;function t(l,o){return l[3]?qO:RO}let i=t(n),s=i(n);return{c(){s.c(),e=Me()},m(l,o){s.m(l,o),S(l,e,o)},p(l,[o]){i===(i=t(l))&&s?s.p(l,o):(s.d(1),s=i(l),s&&(s.c(),s.m(e.parentNode,e)))},i:Z,o:Z,d(l){s.d(l),l&&w(e)}}}function HO(n,e,t){const i=["value","mask"];let s=Et(e,i),{value:l=""}=e,{mask:o="******"}=e,r,a=!1;async function u(){t(0,l=""),t(3,a=!1),await sn(),r==null||r.focus()}const f=()=>u();function c(m){ie[m?"unshift":"push"](()=>{r=m,t(2,r)})}function d(){l=this.value,t(0,l)}return n.$$set=m=>{e=Je(Je({},e),Qn(m)),t(5,s=Et(e,i)),"value"in m&&t(0,l=m.value),"mask"in m&&t(1,o=m.mask)},n.$$.update=()=>{n.$$.dirty&3&&l===o&&t(3,a=!0)},[l,o,r,a,u,s,f,c,d]}class su extends ye{constructor(e){super(),ve(this,e,HO,jO,he,{value:0,mask:1})}}function VO(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g;return{c(){e=v("label"),t=B("Subject"),s=O(),l=v("input"),r=O(),a=v("div"),u=B(`Available placeholder parameters:
|
||||||
|
`),f=v("button"),f.textContent=`{APP_NAME}
|
||||||
|
`,c=B(`,
|
||||||
|
`),d=v("button"),d.textContent=`{APP_URL}
|
||||||
|
`,m=B("."),p(e,"for",i=n[31]),p(l,"type","text"),p(l,"id",o=n[31]),p(l,"spellcheck","false"),l.required=!0,p(f,"type","button"),p(f,"class","label label-sm link-primary txt-mono"),p(d,"type","button"),p(d,"class","label label-sm link-primary txt-mono"),p(a,"class","help-block")},m(b,k){S(b,e,k),_(e,t),S(b,s,k),S(b,l,k),ce(l,n[0].subject),S(b,r,k),S(b,a,k),_(a,u),_(a,f),_(a,c),_(a,d),_(a,m),h||(g=[Y(l,"input",n[13]),Y(f,"click",n[14]),Y(d,"click",n[15])],h=!0)},p(b,k){k[1]&1&&i!==(i=b[31])&&p(e,"for",i),k[1]&1&&o!==(o=b[31])&&p(l,"id",o),k[0]&1&&l.value!==b[0].subject&&ce(l,b[0].subject)},d(b){b&&w(e),b&&w(s),b&&w(l),b&&w(r),b&&w(a),h=!1,Pe(g)}}}function zO(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,k;return{c(){e=v("label"),t=B("Action URL"),s=O(),l=v("input"),r=O(),a=v("div"),u=B(`Available placeholder parameters:
|
||||||
|
`),f=v("button"),f.textContent=`{APP_NAME}
|
||||||
|
`,c=B(`,
|
||||||
|
`),d=v("button"),d.textContent=`{APP_URL}
|
||||||
|
`,m=B(`,
|
||||||
|
`),h=v("button"),h.textContent=`{TOKEN}
|
||||||
|
`,g=B("."),p(e,"for",i=n[31]),p(l,"type","text"),p(l,"id",o=n[31]),p(l,"spellcheck","false"),l.required=!0,p(f,"type","button"),p(f,"class","label label-sm link-primary txt-mono"),p(d,"type","button"),p(d,"class","label label-sm link-primary txt-mono"),p(h,"type","button"),p(h,"class","label label-sm link-primary txt-mono"),p(h,"title","Required parameter"),p(a,"class","help-block")},m(y,T){S(y,e,T),_(e,t),S(y,s,T),S(y,l,T),ce(l,n[0].actionUrl),S(y,r,T),S(y,a,T),_(a,u),_(a,f),_(a,c),_(a,d),_(a,m),_(a,h),_(a,g),b||(k=[Y(l,"input",n[16]),Y(f,"click",n[17]),Y(d,"click",n[18]),Y(h,"click",n[19])],b=!0)},p(y,T){T[1]&1&&i!==(i=y[31])&&p(e,"for",i),T[1]&1&&o!==(o=y[31])&&p(l,"id",o),T[0]&1&&l.value!==y[0].actionUrl&&ce(l,y[0].actionUrl)},d(y){y&&w(e),y&&w(s),y&&w(l),y&&w(r),y&&w(a),b=!1,Pe(k)}}}function BO(n){let e,t,i,s;return{c(){e=v("textarea"),p(e,"id",t=n[31]),p(e,"class","txt-mono"),p(e,"spellcheck","false"),p(e,"rows","14"),e.required=!0},m(l,o){S(l,e,o),ce(e,n[0].body),i||(s=Y(e,"input",n[21]),i=!0)},p(l,o){o[1]&1&&t!==(t=l[31])&&p(e,"id",t),o[0]&1&&ce(e,l[0].body)},i:Z,o:Z,d(l){l&&w(e),i=!1,s()}}}function UO(n){let e,t,i,s;function l(a){n[20](a)}var o=n[4];function r(a){let u={id:a[31],language:"html"};return a[0].body!==void 0&&(u.value=a[0].body),{props:u}}return o&&(e=jt(o,r(n)),ie.push(()=>ge(e,"value",l))),{c(){e&&H(e.$$.fragment),i=Me()},m(a,u){e&&q(e,a,u),S(a,i,u),s=!0},p(a,u){const f={};if(u[1]&1&&(f.id=a[31]),!t&&u[0]&1&&(t=!0,f.value=a[0].body,ke(()=>t=!1)),o!==(o=a[4])){if(e){ae();const c=e;I(c.$$.fragment,1,0,()=>{j(c,1)}),ue()}o?(e=jt(o,r(a)),ie.push(()=>ge(e,"value",l)),H(e.$$.fragment),A(e.$$.fragment,1),q(e,i.parentNode,i)):e=null}else o&&e.$set(f)},i(a){s||(e&&A(e.$$.fragment,a),s=!0)},o(a){e&&I(e.$$.fragment,a),s=!1},d(a){a&&w(i),e&&j(e,a)}}}function WO(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,k,y,T,$;const M=[UO,BO],C=[];function D(E,P){return E[4]&&!E[5]?0:1}return l=D(n),o=C[l]=M[l](n),{c(){e=v("label"),t=B("Body (HTML)"),s=O(),o.c(),r=O(),a=v("div"),u=B(`Available placeholder parameters:
|
||||||
|
`),f=v("button"),f.textContent=`{APP_NAME}
|
||||||
|
`,c=B(`,
|
||||||
|
`),d=v("button"),d.textContent=`{APP_URL}
|
||||||
|
`,m=B(`,
|
||||||
|
`),h=v("button"),h.textContent=`{TOKEN}
|
||||||
|
`,g=B(`,
|
||||||
|
`),b=v("button"),b.textContent=`{ACTION_URL}
|
||||||
|
`,k=B("."),p(e,"for",i=n[31]),p(f,"type","button"),p(f,"class","label label-sm link-primary txt-mono"),p(d,"type","button"),p(d,"class","label label-sm link-primary txt-mono"),p(h,"type","button"),p(h,"class","label label-sm link-primary txt-mono"),p(b,"type","button"),p(b,"class","label label-sm link-primary txt-mono"),p(b,"title","Required parameter"),p(a,"class","help-block")},m(E,P){S(E,e,P),_(e,t),S(E,s,P),C[l].m(E,P),S(E,r,P),S(E,a,P),_(a,u),_(a,f),_(a,c),_(a,d),_(a,m),_(a,h),_(a,g),_(a,b),_(a,k),y=!0,T||($=[Y(f,"click",n[22]),Y(d,"click",n[23]),Y(h,"click",n[24]),Y(b,"click",n[25])],T=!0)},p(E,P){(!y||P[1]&1&&i!==(i=E[31]))&&p(e,"for",i);let L=l;l=D(E),l===L?C[l].p(E,P):(ae(),I(C[L],1,1,()=>{C[L]=null}),ue(),o=C[l],o?o.p(E,P):(o=C[l]=M[l](E),o.c()),A(o,1),o.m(r.parentNode,r))},i(E){y||(A(o),y=!0)},o(E){I(o),y=!1},d(E){E&&w(e),E&&w(s),C[l].d(E),E&&w(r),E&&w(a),T=!1,Pe($)}}}function YO(n){let e,t,i,s,l,o;return e=new me({props:{class:"form-field required",name:n[1]+".subject",$$slots:{default:[VO,({uniqueId:r})=>({31:r}),({uniqueId:r})=>[0,r?1:0]]},$$scope:{ctx:n}}}),i=new me({props:{class:"form-field required",name:n[1]+".actionUrl",$$slots:{default:[zO,({uniqueId:r})=>({31:r}),({uniqueId:r})=>[0,r?1:0]]},$$scope:{ctx:n}}}),l=new me({props:{class:"form-field m-0 required",name:n[1]+".body",$$slots:{default:[WO,({uniqueId:r})=>({31:r}),({uniqueId:r})=>[0,r?1:0]]},$$scope:{ctx:n}}}),{c(){H(e.$$.fragment),t=O(),H(i.$$.fragment),s=O(),H(l.$$.fragment)},m(r,a){q(e,r,a),S(r,t,a),q(i,r,a),S(r,s,a),q(l,r,a),o=!0},p(r,a){const u={};a[0]&2&&(u.name=r[1]+".subject"),a[0]&1|a[1]&3&&(u.$$scope={dirty:a,ctx:r}),e.$set(u);const f={};a[0]&2&&(f.name=r[1]+".actionUrl"),a[0]&1|a[1]&3&&(f.$$scope={dirty:a,ctx:r}),i.$set(f);const c={};a[0]&2&&(c.name=r[1]+".body"),a[0]&49|a[1]&3&&(c.$$scope={dirty:a,ctx:r}),l.$set(c)},i(r){o||(A(e.$$.fragment,r),A(i.$$.fragment,r),A(l.$$.fragment,r),o=!0)},o(r){I(e.$$.fragment,r),I(i.$$.fragment,r),I(l.$$.fragment,r),o=!1},d(r){j(e,r),r&&w(t),j(i,r),r&&w(s),j(l,r)}}}function Xm(n){let e,t,i,s,l;return{c(){e=v("i"),p(e,"class","ri-error-warning-fill txt-danger")},m(o,r){S(o,e,r),i=!0,s||(l=Ie(Be.call(null,e,{text:"Has errors",position:"left"})),s=!0)},i(o){i||(o&&xe(()=>{t||(t=je(e,It,{duration:150,start:.7},!0)),t.run(1)}),i=!0)},o(o){o&&(t||(t=je(e,It,{duration:150,start:.7},!1)),t.run(0)),i=!1},d(o){o&&w(e),o&&t&&t.end(),s=!1,l()}}}function KO(n){let e,t,i,s,l,o,r,a,u,f=n[6]&&Xm();return{c(){e=v("div"),t=v("i"),i=O(),s=v("span"),l=B(n[2]),o=O(),r=v("div"),a=O(),f&&f.c(),u=Me(),p(t,"class","ri-draft-line"),p(s,"class","txt"),p(e,"class","inline-flex"),p(r,"class","flex-fill")},m(c,d){S(c,e,d),_(e,t),_(e,i),_(e,s),_(s,l),S(c,o,d),S(c,r,d),S(c,a,d),f&&f.m(c,d),S(c,u,d)},p(c,d){d[0]&4&&le(l,c[2]),c[6]?f?d[0]&64&&A(f,1):(f=Xm(),f.c(),A(f,1),f.m(u.parentNode,u)):f&&(ae(),I(f,1,1,()=>{f=null}),ue())},d(c){c&&w(e),c&&w(o),c&&w(r),c&&w(a),f&&f.d(c),c&&w(u)}}}function JO(n){let e,t;const i=[n[8]];let s={$$slots:{header:[KO],default:[YO]},$$scope:{ctx:n}};for(let l=0;l<i.length;l+=1)s=Je(s,i[l]);return e=new ys({props:s}),n[26](e),e.$on("expand",n[27]),e.$on("collapse",n[28]),e.$on("toggle",n[29]),{c(){H(e.$$.fragment)},m(l,o){q(e,l,o),t=!0},p(l,o){const r=o[0]&256?on(i,[xn(l[8])]):{};o[0]&119|o[1]&2&&(r.$$scope={dirty:o,ctx:l}),e.$set(r)},i(l){t||(A(e.$$.fragment,l),t=!0)},o(l){I(e.$$.fragment,l),t=!1},d(l){n[26](null),j(e,l)}}}let Qm;function ZO(n,e,t){let i;const s=["key","title","config","expand","collapse","collapseSiblings"];let l=Et(e,s),o;Ye(n,fi,K=>t(12,o=K));let{key:r}=e,{title:a}=e,{config:u={}}=e,f,c=Qm,d=!1;function m(){f==null||f.expand()}function h(){f==null||f.collapse()}function g(){f==null||f.collapseSiblings()}async function b(){c||d||(t(5,d=!0),t(4,c=(await rt(()=>import("./CodeEditor-4caff52a.js"),["./CodeEditor-4caff52a.js","./index-a6ccb683.js"],import.meta.url)).default),Qm=c,t(5,d=!1))}function k(K){z.copyToClipboard(K),k_(`Copied ${K} to clipboard`,2e3)}b();function y(){u.subject=this.value,t(0,u)}const T=()=>k("{APP_NAME}"),$=()=>k("{APP_URL}");function M(){u.actionUrl=this.value,t(0,u)}const C=()=>k("{APP_NAME}"),D=()=>k("{APP_URL}"),E=()=>k("{TOKEN}");function P(K){n.$$.not_equal(u.body,K)&&(u.body=K,t(0,u))}function L(){u.body=this.value,t(0,u)}const N=()=>k("{APP_NAME}"),F=()=>k("{APP_URL}"),R=()=>k("{TOKEN}"),X=()=>k("{ACTION_URL}");function se(K){ie[K?"unshift":"push"](()=>{f=K,t(3,f)})}function W(K){ze.call(this,n,K)}function G(K){ze.call(this,n,K)}function te(K){ze.call(this,n,K)}return n.$$set=K=>{e=Je(Je({},e),Qn(K)),t(8,l=Et(e,s)),"key"in K&&t(1,r=K.key),"title"in K&&t(2,a=K.title),"config"in K&&t(0,u=K.config)},n.$$.update=()=>{n.$$.dirty[0]&4098&&t(6,i=!z.isEmpty(z.getNestedVal(o,r))),n.$$.dirty[0]&3&&(u.enabled||Qi(r))},[u,r,a,f,c,d,i,k,l,m,h,g,o,y,T,$,M,C,D,E,P,L,N,F,R,X,se,W,G,te]}class Er extends ye{constructor(e){super(),ve(this,e,ZO,JO,he,{key:1,title:2,config:0,expand:9,collapse:10,collapseSiblings:11},null,[-1,-1])}get expand(){return t
Line truncated
|
||||||
|
<span class="txt">Send test email</span>`,p(e,"type","button"),p(e,"class","btn btn-expanded btn-outline")},m(s,l){S(s,e,l),t||(i=Y(e,"click",n[26]),t=!0)},p:Z,d(s){s&&w(e),t=!1,i()}}}function gE(n){let e,t,i,s,l,o,r,a;return{c(){e=v("button"),t=v("span"),t.textContent="Cancel",i=O(),s=v("button"),l=v("span"),l.textContent="Save changes",p(t,"class","txt"),p(e,"type","button"),p(e,"class","btn btn-transparent btn-hint"),e.disabled=n[3],p(l,"class","txt"),p(s,"type","submit"),p(s,"class","btn btn-expanded"),s.disabled=o=!n[4]||n[3],Q(s,"btn-loading",n[3])},m(u,f){S(u,e,f),_(e,t),S(u,i,f),S(u,s,f),_(s,l),r||(a=[Y(e,"click",n[24]),Y(s,"click",n[25])],r=!0)},p(u,f){f[0]&8&&(e.disabled=u[3]),f[0]&24&&o!==(o=!u[4]||u[3])&&(s.disabled=o),f[0]&8&&Q(s,"btn-loading",u[3])},d(u){u&&w(e),u&&w(i),u&&w(s),r=!1,Pe(a)}}}function _E(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b;const k=[lE,sE],y=[];function T($,M){return $[2]?0:1}return d=T(n),m=y[d]=k[d](n),{c(){e=v("header"),t=v("nav"),i=v("div"),i.textContent="Settings",s=O(),l=v("div"),o=B(n[5]),r=O(),a=v("div"),u=v("form"),f=v("div"),f.innerHTML="<p>Configure common settings for sending emails.</p>",c=O(),m.c(),p(i,"class","breadcrumb-item"),p(l,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(e,"class","page-header"),p(f,"class","content txt-xl m-b-base"),p(u,"class","panel"),p(u,"autocomplete","off"),p(a,"class","wrapper")},m($,M){S($,e,M),_(e,t),_(t,i),_(t,s),_(t,l),_(l,o),S($,r,M),S($,a,M),_(a,u),_(u,f),_(u,c),y[d].m(u,null),h=!0,g||(b=Y(u,"submit",dt(n[27])),g=!0)},p($,M){(!h||M[0]&32)&&le(o,$[5]);let C=d;d=T($),d===C?y[d].p($,M):(ae(),I(y[C],1,1,()=>{y[C]=null}),ue(),m=y[d],m?m.p($,M):(m=y[d]=k[d]($),m.c()),A(m,1),m.m(u,null))},i($){h||(A(m),h=!0)},o($){I(m),h=!1},d($){$&&w(e),$&&w(r),$&&w(a),y[d].d(),g=!1,b()}}}function bE(n){let e,t,i,s,l,o;e=new Ii({}),i=new wn({props:{$$slots:{default:[_E]},$$scope:{ctx:n}}});let r={};return l=new iE({props:r}),n[28](l),{c(){H(e.$$.fragment),t=O(),H(i.$$.fragment),s=O(),H(l.$$.fragment)},m(a,u){q(e,a,u),S(a,t,u),q(i,a,u),S(a,s,u),q(l,a,u),o=!0},p(a,u){const f={};u[0]&63|u[1]&2&&(f.$$scope={dirty:u,ctx:a}),i.$set(f);const c={};l.$set(c)},i(a){o||(A(e.$$.fragment,a),A(i.$$.fragment,a),A(l.$$.fragment,a),o=!0)},o(a){I(e.$$.fragment,a),I(i.$$.fragment,a),I(l.$$.fragment,a),o=!1},d(a){j(e,a),a&&w(t),j(i,a),a&&w(s),n[28](null),j(l,a)}}}function vE(n,e,t){let i,s,l;Ye(n,St,te=>t(5,l=te));const o=[{label:"Auto (StartTLS)",value:!1},{label:"Always",value:!0}],r=[{label:"PLAIN (default)",value:"PLAIN"},{label:"LOGIN",value:"LOGIN"}];Kt(St,l="Mail settings",l);let a,u={},f={},c=!1,d=!1;m();async function m(){t(2,c=!0);try{const te=await pe.settings.getAll()||{};g(te)}catch(te){pe.errorResponseHandler(te)}t(2,c=!1)}async function h(){if(!(d||!s)){t(3,d=!0);try{const te=await pe.settings.update(z.filterRedactedProps(f));g(te),Bn({}),zt("Successfully saved mail settings.")}catch(te){pe.errorResponseHandler(te)}t(3,d=!1)}}function g(te={}){t(0,f={meta:(te==null?void 0:te.meta)||{},smtp:(te==null?void 0:te.smtp)||{}}),f.smtp.authMethod||t(0,f.smtp.authMethod=r[0].value,f),t(10,u=JSON.parse(JSON.stringify(f)))}function b(){t(0,f=JSON.parse(JSON.stringify(u||{})))}function k(){f.meta.senderName=this.value,t(0,f)}function y(){f.meta.senderAddress=this.value,t(0,f)}function T(te){n.$$.not_equal(f.meta.verificationTemplate,te)&&(f.meta.verificationTemplate=te,t(0,f))}function $(te){n.$$.not_equal(f.meta.resetPasswordTemplate,te)&&(f.meta.resetPasswordTemplate=te,t(0,f))}function M(te){n.$$.not_equal(f.meta.confirmEmailChangeTemplate,te)&&(f.meta.confirmEmailChangeTemplate=te,t(0,f))}function C(){f.smtp.enabled=this.checked,t(0,f)}function D(){f.smtp.host=this.value,t(0,f)}function E(){f.smtp.port=ht(this.value),t(0,f)}function P(te){n.$$.not_equal(f.smtp.tls,te)&&(f.smtp.tls=te,t(0,f))}function L(te){n.$$.not_equal(f.smtp.authMethod,te)&&(f.smtp.authMethod=te,t(0,f))}function N(){f.smtp.username=this.value,t(0,f)}function F(te){n.$$.not_equal(f.smtp.password,te)&&(f.smtp.password=te,t(0,f))}const R=()=>b(),X=()=>h(),se=()=>a==null?void 0:a.show(),W=()=>h();function G(te){ie[te?"unshift":"push"](()=>{a=te,t(1,a)})}return n.$$.update=()=>{n.$$.dirty[0]&1024&&t(11,i=JSON.stringify(u)),n.$$.dirty[0]&2049&&t(4,s=i!=JSON.stringify(f))},[f,a,c,d,s,l,o,r,h,b,u,i,k,y,T,$,M,C,D,E,P,L,N,F,R,X,se,W,G]}class yE extends ye{constructor(e){super(),ve(this,e,vE,bE,he,{},null,[-1,-1])}}function kE(n){var $,M;let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g;e=new me({props:{class:"form-field form-field-toggle",$$slots:{default:[SE,({uniqueId:C})=>({25:C}),({uniqueId:C})=>C?33554432:0]},$$scope:{ctx:n}}});let b=(($=n[0].s3)==null?void 0:$.enabled)!=n[1].s3.enabled&&ih(n),k=n[1].s3.enabled&&sh(n),y=((M=n[1].s3)==null?void 0:M.enabled)&&!n[6]&&!n[3]&&lh(n),T=n[6]&&oh(n);return{c(){H(e.$$.fragment),t=O(),b&&b.c(),i=O(),k&&k.c(),s=O(),l=v("div"),o=v("div"),r=O(),y&&y.c(),a=O(),T&&T.c(),u=O(),f=v("button"),c=v("span"),c.textContent="Save changes",p(o,"classLine truncated
|
||||||
|
the
|
||||||
|
`),r=v("strong"),u=B(a),f=B(`
|
||||||
|
to the
|
||||||
|
`),c=v("strong"),m=B(d),h=B(`.
|
||||||
|
`),g=v("br"),b=B(`
|
||||||
|
There are numerous command line tools that can help you, such as:
|
||||||
|
`),k=v("a"),k.textContent=`rclone
|
||||||
|
`,y=B(`,
|
||||||
|
`),T=v("a"),T.textContent=`s5cmd
|
||||||
|
`,$=B(", etc."),M=O(),C=v("div"),p(i,"class","icon"),p(k,"href","https://github.com/rclone/rclone"),p(k,"target","_blank"),p(k,"rel","noopener noreferrer"),p(k,"class","txt-bold"),p(T,"href","https://github.com/peak/s5cmd"),p(T,"target","_blank"),p(T,"rel","noopener noreferrer"),p(T,"class","txt-bold"),p(l,"class","content"),p(t,"class","alert alert-warning m-0"),p(C,"class","clearfix m-t-base")},m(L,N){S(L,e,N),_(e,t),_(t,i),_(t,s),_(t,l),_(l,o),_(l,r),_(r,u),_(l,f),_(l,c),_(c,m),_(l,h),_(l,g),_(l,b),_(l,k),_(l,y),_(l,T),_(l,$),_(e,M),_(e,C),E=!0},p(L,N){var F;(!E||N&1)&&a!==(a=(F=L[0].s3)!=null&&F.enabled?"S3 storage":"local file system")&&le(u,a),(!E||N&2)&&d!==(d=L[1].s3.enabled?"S3 storage":"local file system")&&le(m,d)},i(L){E||(L&&xe(()=>{D||(D=je(e,At,{duration:150},!0)),D.run(1)}),E=!0)},o(L){L&&(D||(D=je(e,At,{duration:150},!1)),D.run(0)),E=!1},d(L){L&&w(e),L&&D&&D.end()}}}function sh(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,k,y,T,$,M,C;return i=new me({props:{class:"form-field required",name:"s3.endpoint",$$slots:{default:[TE,({uniqueId:D})=>({25:D}),({uniqueId:D})=>D?33554432:0]},$$scope:{ctx:n}}}),o=new me({props:{class:"form-field required",name:"s3.bucket",$$slots:{default:[$E,({uniqueId:D})=>({25:D}),({uniqueId:D})=>D?33554432:0]},$$scope:{ctx:n}}}),u=new me({props:{class:"form-field required",name:"s3.region",$$slots:{default:[CE,({uniqueId:D})=>({25:D}),({uniqueId:D})=>D?33554432:0]},$$scope:{ctx:n}}}),d=new me({props:{class:"form-field required",name:"s3.accessKey",$$slots:{default:[ME,({uniqueId:D})=>({25:D}),({uniqueId:D})=>D?33554432:0]},$$scope:{ctx:n}}}),g=new me({props:{class:"form-field required",name:"s3.secret",$$slots:{default:[DE,({uniqueId:D})=>({25:D}),({uniqueId:D})=>D?33554432:0]},$$scope:{ctx:n}}}),y=new me({props:{class:"form-field",name:"s3.forcePathStyle",$$slots:{default:[OE,({uniqueId:D})=>({25:D}),({uniqueId:D})=>D?33554432:0]},$$scope:{ctx:n}}}),{c(){e=v("div"),t=v("div"),H(i.$$.fragment),s=O(),l=v("div"),H(o.$$.fragment),r=O(),a=v("div"),H(u.$$.fragment),f=O(),c=v("div"),H(d.$$.fragment),m=O(),h=v("div"),H(g.$$.fragment),b=O(),k=v("div"),H(y.$$.fragment),T=O(),$=v("div"),p(t,"class","col-lg-6"),p(l,"class","col-lg-3"),p(a,"class","col-lg-3"),p(c,"class","col-lg-6"),p(h,"class","col-lg-6"),p(k,"class","col-lg-12"),p($,"class","col-lg-12"),p(e,"class","grid")},m(D,E){S(D,e,E),_(e,t),q(i,t,null),_(e,s),_(e,l),q(o,l,null),_(e,r),_(e,a),q(u,a,null),_(e,f),_(e,c),q(d,c,null),_(e,m),_(e,h),q(g,h,null),_(e,b),_(e,k),q(y,k,null),_(e,T),_(e,$),C=!0},p(D,E){const P={};E&100663298&&(P.$$scope={dirty:E,ctx:D}),i.$set(P);const L={};E&100663298&&(L.$$scope={dirty:E,ctx:D}),o.$set(L);const N={};E&100663298&&(N.$$scope={dirty:E,ctx:D}),u.$set(N);const F={};E&100663298&&(F.$$scope={dirty:E,ctx:D}),d.$set(F);const R={};E&100663298&&(R.$$scope={dirty:E,ctx:D}),g.$set(R);const X={};E&100663298&&(X.$$scope={dirty:E,ctx:D}),y.$set(X)},i(D){C||(A(i.$$.fragment,D),A(o.$$.fragment,D),A(u.$$.fragment,D),A(d.$$.fragment,D),A(g.$$.fragment,D),A(y.$$.fragment,D),D&&xe(()=>{M||(M=je(e,At,{duration:150},!0)),M.run(1)}),C=!0)},o(D){I(i.$$.fragment,D),I(o.$$.fragment,D),I(u.$$.fragment,D),I(d.$$.fragment,D),I(g.$$.fragment,D),I(y.$$.fragment,D),D&&(M||(M=je(e,At,{duration:150},!1)),M.run(0)),C=!1},d(D){D&&w(e),j(i),j(o),j(u),j(d),j(g),j(y),D&&M&&M.end()}}}function TE(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=B("Endpoint"),s=O(),l=v("input"),p(e,"for",i=n[25]),p(l,"type","text"),p(l,"id",o=n[25]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),ce(l,n[1].s3.endpoint),r||(a=Y(l,"input",n[12]),r=!0)},p(u,f){f&33554432&&i!==(i=u[25])&&p(e,"for",i),f&33554432&&o!==(o=u[25])&&p(l,"id",o),f&2&&l.value!==u[1].s3.endpoint&&ce(l,u[1].s3.endpoint)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function $E(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=B("Bucket"),s=O(),l=v("input"),p(e,"for",i=n[25]),p(l,"type","text"),p(l,"id",o=n[25]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),ce(l,n[1].s3.bucket),r||(a=Y(l,"input",n[13]),r=!0)},p(u,f){f&33554432&&i!==(i=u[25])&&p(e,"for",i),f&33554432&&o!==(o=u[25])&&p(l,"id",o),f&2&&l.value!==u[1].s3.bucket&&ce(l,u[1].s3.bucket)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function CE(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=B("Region"),s=O(),l=v("input"),p(e,"for",i=n[25]),p(l,"type","text"),p(l,"id",o=n[25]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),ce(l,n[1].s3.region),r||(a=Y(l,"input",n[14]),r=!0)},p(u,f){f&33554432&&i!==(i=u[25])&&p(e,"for",i),f&33554432&&o!==(o=u[25])&&p(l,"id",o),f&2&&l.value!==u[1].s3.region&&ce(l,u[1].s3.region)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function ME(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=B("Access key"),s=O(),l=v("input"),p(e,"for",i=n[25]),p(l,"type","text"),p(l,"id",o=n[25]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),ce(l,n[1].s3.accessKey),r||(a=Y(l,"input",n[15]),r=!0)},p(u,f){f&33554432&&i!==(i=u[25])&&p(e,"for",i),f&33554432&&o!==(
Line truncated
|
||||||
|
<span class="txt">S3 connected successfully</span>`,p(e,"class","label label-sm label-success entrance-right")},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function AE(n){let e,t,i,s;return{c(){e=v("div"),e.innerHTML=`<i class="ri-error-warning-line txt-warning"></i>
|
||||||
|
<span class="txt">Failed to establish S3 connection</span>`,p(e,"class","label label-sm label-warning entrance-right")},m(l,o){var r;S(l,e,o),i||(s=Ie(t=Be.call(null,e,(r=n[5].data)==null?void 0:r.message)),i=!0)},p(l,o){var r;t&&Bt(t.update)&&o&32&&t.update.call(null,(r=l[5].data)==null?void 0:r.message)},d(l){l&&w(e),i=!1,s()}}}function IE(n){let e;return{c(){e=v("span"),p(e,"class","loader loader-sm")},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function oh(n){let e,t,i,s;return{c(){e=v("button"),t=v("span"),t.textContent="Cancel",p(t,"class","txt"),p(e,"type","button"),p(e,"class","btn btn-transparent btn-hint"),e.disabled=n[3]},m(l,o){S(l,e,o),_(e,t),i||(s=Y(e,"click",n[18]),i=!0)},p(l,o){o&8&&(e.disabled=l[3])},d(l){l&&w(e),i=!1,s()}}}function PE(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b;const k=[wE,kE],y=[];function T($,M){return $[2]?0:1}return d=T(n),m=y[d]=k[d](n),{c(){e=v("header"),t=v("nav"),i=v("div"),i.textContent="Settings",s=O(),l=v("div"),o=B(n[7]),r=O(),a=v("div"),u=v("form"),f=v("div"),f.innerHTML=`<p>By default PocketBase uses the local file system to store uploaded files.</p>
|
||||||
|
<p>If you have limited disk space, you could optionally connect to a S3 compatible storage.</p>`,c=O(),m.c(),p(i,"class","breadcrumb-item"),p(l,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(e,"class","page-header"),p(f,"class","content txt-xl m-b-base"),p(u,"class","panel"),p(u,"autocomplete","off"),p(a,"class","wrapper")},m($,M){S($,e,M),_(e,t),_(t,i),_(t,s),_(t,l),_(l,o),S($,r,M),S($,a,M),_(a,u),_(u,f),_(u,c),y[d].m(u,null),h=!0,g||(b=Y(u,"submit",dt(n[20])),g=!0)},p($,M){(!h||M&128)&&le(o,$[7]);let C=d;d=T($),d===C?y[d].p($,M):(ae(),I(y[C],1,1,()=>{y[C]=null}),ue(),m=y[d],m?m.p($,M):(m=y[d]=k[d]($),m.c()),A(m,1),m.m(u,null))},i($){h||(A(m),h=!0)},o($){I(m),h=!1},d($){$&&w(e),$&&w(r),$&&w(a),y[d].d(),g=!1,b()}}}function LE(n){let e,t,i,s;return e=new Ii({}),i=new wn({props:{$$slots:{default:[PE]},$$scope:{ctx:n}}}),{c(){H(e.$$.fragment),t=O(),H(i.$$.fragment)},m(l,o){q(e,l,o),S(l,t,o),q(i,l,o),s=!0},p(l,[o]){const r={};o&67109119&&(r.$$scope={dirty:o,ctx:l}),i.$set(r)},i(l){s||(A(e.$$.fragment,l),A(i.$$.fragment,l),s=!0)},o(l){I(e.$$.fragment,l),I(i.$$.fragment,l),s=!1},d(l){j(e,l),l&&w(t),j(i,l)}}}const lo="s3_test_request";function NE(n,e,t){let i,s,l;Ye(n,St,F=>t(7,l=F)),Kt(St,l="Files storage",l);let o={},r={},a=!1,u=!1,f=!1,c=null,d=null;m();async function m(){t(2,a=!0);try{const F=await pe.settings.getAll()||{};g(F)}catch(F){pe.errorResponseHandler(F)}t(2,a=!1)}async function h(){if(!(u||!s)){t(3,u=!0);try{pe.cancelRequest(lo);const F=await pe.settings.update(z.filterRedactedProps(r));Bn({}),await g(F),$a(),c?Cv("Successfully saved but failed to establish S3 connection."):zt("Successfully saved files storage settings.")}catch(F){pe.errorResponseHandler(F)}t(3,u=!1)}}async function g(F={}){t(1,r={s3:(F==null?void 0:F.s3)||{}}),t(0,o=JSON.parse(JSON.stringify(r))),await k()}async function b(){t(1,r=JSON.parse(JSON.stringify(o||{}))),await k()}async function k(){if(t(5,c=null),!!r.s3.enabled){pe.cancelRequest(lo),clearTimeout(d),d=setTimeout(()=>{pe.cancelRequest(lo),addErrorToast("S3 test connection timeout.")},3e4),t(4,f=!0);try{await pe.settings.testS3({$cancelKey:lo})}catch(F){t(5,c=F)}t(4,f=!1),clearTimeout(d)}}Zt(()=>()=>{clearTimeout(d)});function y(){r.s3.enabled=this.checked,t(1,r)}function T(){r.s3.endpoint=this.value,t(1,r)}function $(){r.s3.bucket=this.value,t(1,r)}function M(){r.s3.region=this.value,t(1,r)}function C(){r.s3.accessKey=this.value,t(1,r)}function D(F){n.$$.not_equal(r.s3.secret,F)&&(r.s3.secret=F,t(1,r))}function E(){r.s3.forcePathStyle=this.checked,t(1,r)}const P=()=>b(),L=()=>h(),N=()=>h();return n.$$.update=()=>{n.$$.dirty&1&&t(10,i=JSON.stringify(o)),n.$$.dirty&1026&&t(6,s=i!=JSON.stringify(r))},[o,r,a,u,f,c,s,l,h,b,i,y,T,$,M,C,D,E,P,L,N]}class FE extends ye{constructor(e){super(),ve(this,e,NE,LE,he,{})}}function RE(n){let e,t,i,s,l,o,r,a;return{c(){e=v("input"),i=O(),s=v("label"),l=B("Enable"),p(e,"type","checkbox"),p(e,"id",t=n[20]),p(s,"for",o=n[20])},m(u,f){S(u,e,f),e.checked=n[0].enabled,S(u,i,f),S(u,s,f),_(s,l),r||(a=Y(e,"change",n[12]),r=!0)},p(u,f){f&1048576&&t!==(t=u[20])&&p(e,"id",t),f&1&&(e.checked=u[0].enabled),f&1048576&&o!==(o=u[20])&&p(s,"for",o)},d(u){u&&w(e),u&&w(i),u&&w(s),r=!1,a()}}}function qE(n){let e,t,i,s,l,o,r,a;return{c(){e=v("label"),t=B("Client ID"),s=O(),l=v("input"),p(e,"for",i=n[20]),p(l,"type","text"),p(l,"id",o=n[20]),l.required=!0},m(u,f){S(u,e,f),_(e,t),S(u,s,f),S(u,l,f),ce(l,n[0].clientId),r||(a=Y(l,"input",n[13]),r=!0)},p(u,f){f&1048576&&i!==(i=u[20])&&p(e,"for",i),f&1048576&&o!==(o=u[20])&&p(l,"id",o),f&1&&l.value!==u[0].clientId&&ce(l,u[0].clientId)},d(u){u&&w(e),u&&w(s),u&&w(l),r=!1,a()}}}function jE(n){let e,t,i,s,l,o,r;function a(f){n[14](f)}let u={id:n[20],required:!0};return n[0].clientSecret!==void 0&&(u.value=n[0].clientSecret),l=new su({props:u}),ie.push(()=>ge(l,"value",a)),{c(){e=v("label"),t=B("Client Secret"),s=O(),H(l.$$.fragment),p(e,"for",i=n[20])},m(f,c){S(f,e,c),_(e,t),S(f,s,c),q(l,f,c),r=!0},p(f,c){(!r||c&1048576&&i!==(i=f[20]))&&p(e,"for",i);const d={};c&1048576&&(d.id=f[20]),!o&&c&1&&(o=!0,d.value=f[0].clientSecret,ke(()=>o=!1)),l.$set(d)},i(f){r||(A(l.$$.fragment,f),r=!0)},o(f){I(l.$$.fragment,f),r=!1},d(f){f&&w(e),f&&w(s),j(l,f)}}}function rh(n){let e,t,i,s;function l(a){n[15](a)}var o=n[4];function r(a){let u={key:a[1]};return a[0]!==void 0&&(u.config=a[0]),{props:u}}return o&&(t=jt(o,r(n)),ie.push(()=>ge(t,"config",l))),{c(){e=v("div"),t&&H(t.$$.fragment),p(e,"class","col-lg-12")},m(a,u){S(a,e,u),t&&q(t,e,null),s=!0},p(a,u){const f={};if(u&2&&(f.key=a[1]),!i&&u&1&&(i=!0,f.config=a[0],ke(()=>i=!1)),o!==(o=a[4])){if(t){ae();const c=t;I(c.$$.fragment,1,0,()=>{j(c,1)}),ue()}o?(t=jt(o,r(a)),ie.push(()=>ge(t,"config",l)),H(t.$$.fragment),A(t.$$.fragment,1),q(t,e,null)):t=null}else o&&t.$set(f)},i(a){s||(t&&A(t.$$.fragment,a),s=!0)},o(a){t&&I(t.$$.fragment,a),s=!1},d(a){a&&w(e),t&&j(t)}}}function HE(n){let e,t,i,s,l,o,r,a,u,f,c,d;e=new me({props:{class:"form-field form-field-toggle m-b-0",naLine truncated
|
||||||
|
another PocketBase environment.</p>`,t=O(),i=v("div"),s=v("button"),s.innerHTML='<span class="txt">Copy</span>',l=O(),H(o.$$.fragment),r=O(),a=v("div"),u=v("div"),f=O(),c=v("button"),c.innerHTML=`<i class="ri-download-line"></i>
|
||||||
|
<span class="txt">Download as JSON</span>`,p(e,"class","content txt-xl m-b-base"),p(s,"type","button"),p(s,"class","btn btn-sm btn-transparent fade copy-schema svelte-jm5c4z"),p(i,"tabindex","0"),p(i,"class","export-preview svelte-jm5c4z"),p(u,"class","flex-fill"),p(c,"type","button"),p(c,"class","btn btn-expanded"),p(a,"class","flex m-t-base")},m(g,b){S(g,e,b),S(g,t,b),S(g,i,b),_(i,s),_(i,l),q(o,i,null),n[8](i),S(g,r,b),S(g,a,b),_(a,u),_(a,f),_(a,c),d=!0,m||(h=[Y(s,"click",n[7]),Y(i,"keydown",n[9]),Y(c,"click",n[10])],m=!0)},p(g,b){const k={};b&4&&(k.content=g[2]),o.$set(k)},i(g){d||(A(o.$$.fragment,g),d=!0)},o(g){I(o.$$.fragment,g),d=!1},d(g){g&&w(e),g&&w(t),g&&w(i),j(o),n[8](null),g&&w(r),g&&w(a),m=!1,Pe(h)}}}function rA(n){let e;return{c(){e=v("div"),p(e,"class","loader")},m(t,i){S(t,e,i)},p:Z,i:Z,o:Z,d(t){t&&w(e)}}}function aA(n){let e,t,i,s,l,o,r,a,u,f,c,d;const m=[rA,oA],h=[];function g(b,k){return b[1]?0:1}return f=g(n),c=h[f]=m[f](n),{c(){e=v("header"),t=v("nav"),i=v("div"),i.textContent="Settings",s=O(),l=v("div"),o=B(n[3]),r=O(),a=v("div"),u=v("div"),c.c(),p(i,"class","breadcrumb-item"),p(l,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(e,"class","page-header"),p(u,"class","panel"),p(a,"class","wrapper")},m(b,k){S(b,e,k),_(e,t),_(t,i),_(t,s),_(t,l),_(l,o),S(b,r,k),S(b,a,k),_(a,u),h[f].m(u,null),d=!0},p(b,k){(!d||k&8)&&le(o,b[3]);let y=f;f=g(b),f===y?h[f].p(b,k):(ae(),I(h[y],1,1,()=>{h[y]=null}),ue(),c=h[f],c?c.p(b,k):(c=h[f]=m[f](b),c.c()),A(c,1),c.m(u,null))},i(b){d||(A(c),d=!0)},o(b){I(c),d=!1},d(b){b&&w(e),b&&w(r),b&&w(a),h[f].d()}}}function uA(n){let e,t,i,s;return e=new Ii({}),i=new wn({props:{$$slots:{default:[aA]},$$scope:{ctx:n}}}),{c(){H(e.$$.fragment),t=O(),H(i.$$.fragment)},m(l,o){q(e,l,o),S(l,t,o),q(i,l,o),s=!0},p(l,[o]){const r={};o&8207&&(r.$$scope={dirty:o,ctx:l}),i.$set(r)},i(l){s||(A(e.$$.fragment,l),A(i.$$.fragment,l),s=!0)},o(l){I(e.$$.fragment,l),I(i.$$.fragment,l),s=!1},d(l){j(e,l),l&&w(t),j(i,l)}}}function fA(n,e,t){let i,s;Ye(n,St,b=>t(3,s=b)),Kt(St,s="Export collections",s);const l="export_"+z.randomString(5);let o,r=[],a=!1;u();async function u(){t(1,a=!0);try{t(6,r=await pe.collections.getFullList(100,{$cancelKey:l}));for(let b of r)delete b.created,delete b.updated}catch(b){pe.errorResponseHandler(b)}t(1,a=!1)}function f(){z.downloadJson(r,"pb_schema")}function c(){z.copyToClipboard(i),k_("The configuration was copied to your clipboard!",3e3)}const d=()=>c();function m(b){ie[b?"unshift":"push"](()=>{o=b,t(0,o)})}const h=b=>{if(b.ctrlKey&&b.code==="KeyA"){b.preventDefault();const k=window.getSelection(),y=document.createRange();y.selectNodeContents(o),k.removeAllRanges(),k.addRange(y)}},g=()=>f();return n.$$.update=()=>{n.$$.dirty&64&&t(2,i=JSON.stringify(r,null,4))},[o,a,i,s,f,c,r,d,m,h,g]}class cA extends ye{constructor(e){super(),ve(this,e,fA,uA,he,{})}}function gh(n,e,t){const i=n.slice();return i[14]=e[t],i}function _h(n,e,t){const i=n.slice();return i[17]=e[t][0],i[18]=e[t][1],i}function bh(n,e,t){const i=n.slice();return i[14]=e[t],i}function vh(n,e,t){const i=n.slice();return i[17]=e[t][0],i[23]=e[t][1],i}function yh(n,e,t){const i=n.slice();return i[14]=e[t],i}function kh(n,e,t){const i=n.slice();return i[17]=e[t][0],i[18]=e[t][1],i}function wh(n,e,t){const i=n.slice();return i[30]=e[t],i}function dA(n){let e,t,i,s,l=n[1].name+"",o,r=n[9]&&Sh(),a=n[0].name!==n[1].name&&Th(n);return{c(){e=v("div"),r&&r.c(),t=O(),a&&a.c(),i=O(),s=v("strong"),o=B(l),p(s,"class","txt"),p(e,"class","inline-flex fleg-gap-5")},m(u,f){S(u,e,f),r&&r.m(e,null),_(e,t),a&&a.m(e,null),_(e,i),_(e,s),_(s,o)},p(u,f){u[9]?r||(r=Sh(),r.c(),r.m(e,t)):r&&(r.d(1),r=null),u[0].name!==u[1].name?a?a.p(u,f):(a=Th(u),a.c(),a.m(e,i)):a&&(a.d(1),a=null),f[0]&2&&l!==(l=u[1].name+"")&&le(o,l)},d(u){u&&w(e),r&&r.d(),a&&a.d()}}}function pA(n){var o;let e,t,i,s=((o=n[0])==null?void 0:o.name)+"",l;return{c(){e=v("span"),e.textContent="Deleted",t=O(),i=v("strong"),l=B(s),p(e,"class","label label-danger")},m(r,a){S(r,e,a),S(r,t,a),S(r,i,a),_(i,l)},p(r,a){var u;a[0]&1&&s!==(s=((u=r[0])==null?void 0:u.name)+"")&&le(l,s)},d(r){r&&w(e),r&&w(t),r&&w(i)}}}function mA(n){var o;let e,t,i,s=((o=n[1])==null?void 0:o.name)+"",l;return{c(){e=v("span"),e.textContent="Added",t=O(),i=v("strong"),l=B(s),p(e,"class","label label-success")},m(r,a){S(r,e,a),S(r,t,a),S(r,i,a),_(i,l)},p(r,a){var u;a[0]&2&&s!==(s=((u=r[1])==null?void 0:u.name)+"")&&le(l,s)},d(r){r&&w(e),r&&w(t),r&&w(i)}}}function Sh(n){let e;return{c(){e=v("span"),e.textContent="Changed",p(e,"class","label label-warning")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function Th(n){let e,t=n[0].name+"",i,s,l;return{c(){e=v("strong"),i=B(t),s=O(),l=v("i"),p(e,"class","txt-strikethrough txt-hint"),p(l,"class","ri-arrow-right-line txt-sm")},m(o,r){S(o,e,r),_(e,i),S(o,s,r),S(o,l,r)},p(o,r){r[0]&1&&t!==(t=o[0].name+"")&&le(i,t)},d(o){o&&w(e),o&&w(s),o&&w(l)}}}function $h(n){var b,k;let e,t,i,s=n[30]+"",l,o,r,a,u=n[12]((b=n[0])==null?void 0:b[n[30]])+"",Line truncated
|
||||||
|
<th width="10%" class="svelte-lmkr38">Old</th>
|
||||||
|
<th width="10%" class="svelte-lmkr38">New</th></tr>`,l=O(),o=v("tbody");for(let $=0;$<h.length;$+=1)h[$].c();r=O(),g&&g.c(),a=O();for(let $=0;$<k.length;$+=1)k[$].c();u=O();for(let $=0;$<T.length;$+=1)T[$].c();p(e,"class","section-title"),p(i,"class","table collections-diff-table m-b-base svelte-lmkr38")},m($,M){S($,e,M),d.m(e,null),S($,t,M),S($,i,M),_(i,s),_(i,l),_(i,o);for(let C=0;C<h.length;C+=1)h[C].m(o,null);_(o,r),g&&g.m(o,null),_(o,a);for(let C=0;C<k.length;C+=1)k[C].m(o,null);_(o,u);for(let C=0;C<T.length;C+=1)T[C].m(o,null)},p($,M){if(c===(c=f($))&&d?d.p($,M):(d.d(1),d=c($),d&&(d.c(),d.m(e,null))),M[0]&7203){m=$[11];let C;for(C=0;C<m.length;C+=1){const D=wh($,m,C);h[C]?h[C].p(D,M):(h[C]=$h(D),h[C].c(),h[C].m(o,r))}for(;C<h.length;C+=1)h[C].d(1);h.length=m.length}if($[2]||$[5]?g?g.p($,M):(g=Ch($),g.c(),g.m(o,a)):g&&(g.d(1),g=null),M[0]&4248){b=$[7];let C;for(C=0;C<b.length;C+=1){const D=bh($,b,C);k[C]?k[C].p(D,M):(k[C]=Ah(D),k[C].c(),k[C].m(o,u))}for(;C<k.length;C+=1)k[C].d(1);k.length=b.length}if(M[0]&4352){y=$[8];let C;for(C=0;C<y.length;C+=1){const D=gh($,y,C);T[C]?T[C].p(D,M):(T[C]=Ph(D),T[C].c(),T[C].m(o,null))}for(;C<T.length;C+=1)T[C].d(1);T.length=y.length}},i:Z,o:Z,d($){$&&w(e),d.d(),$&&w(t),$&&w(i),mt(h,$),g&&g.d(),mt(k,$),mt(T,$)}}}function Mn(n,e){n=n||[];for(let t of n)if(t.id==e)return t;return null}function un(n,e){return n===e?!1:JSON.stringify(n)!==JSON.stringify(e)}function gA(n,e,t){let i,s,l,{collectionA:o=new pn}=e,{collectionB:r=new pn}=e,{deleteMissing:a=!1}=e,u=[],f=[],c=[],d=[],m=[];const h=Object.keys(new pn().export()).filter(k=>!["schema","created","updated"].includes(k));function g(){t(4,f=Array.isArray(r==null?void 0:r.schema)?r==null?void 0:r.schema.concat():[]),a||t(4,f=f.concat(u.filter(k=>!f.find(y=>k.id==y.id))))}function b(k){return typeof k>"u"?"":z.isObject(k)?JSON.stringify(k,null,4):k}return n.$$set=k=>{"collectionA"in k&&t(0,o=k.collectionA),"collectionB"in k&&t(1,r=k.collectionB),"deleteMissing"in k&&t(2,a=k.deleteMissing)},n.$$.update=()=>{n.$$.dirty[0]&2&&t(5,i=!(r!=null&&r.id)&&!(r!=null&&r.name)),n.$$.dirty[0]&33&&t(10,s=!i&&!(o!=null&&o.id)),n.$$.dirty[0]&1&&t(3,u=Array.isArray(o==null?void 0:o.schema)?o==null?void 0:o.schema.concat():[]),n.$$.dirty[0]&7&&(typeof(o==null?void 0:o.schema)<"u"||typeof(r==null?void 0:r.schema)<"u"||typeof a<"u")&&g(),n.$$.dirty[0]&24&&t(6,c=u.filter(k=>!f.find(y=>k.id==y.id))),n.$$.dirty[0]&24&&t(7,d=f.filter(k=>u.find(y=>y.id==k.id))),n.$$.dirty[0]&24&&t(8,m=f.filter(k=>!u.find(y=>y.id==k.id))),n.$$.dirty[0]&7&&t(9,l=z.hasCollectionChanges(o,r,a))},[o,r,a,u,f,i,c,d,m,l,s,h,b]}class _A extends ye{constructor(e){super(),ve(this,e,gA,hA,he,{collectionA:0,collectionB:1,deleteMissing:2},null,[-1,-1])}}function Lh(n,e,t){const i=n.slice();return i[17]=e[t],i}function Nh(n){let e,t;return e=new _A({props:{collectionA:n[17].old,collectionB:n[17].new,deleteMissing:n[3]}}),{c(){H(e.$$.fragment)},m(i,s){q(e,i,s),t=!0},p(i,s){const l={};s&4&&(l.collectionA=i[17].old),s&4&&(l.collectionB=i[17].new),s&8&&(l.deleteMissing=i[3]),e.$set(l)},i(i){t||(A(e.$$.fragment,i),t=!0)},o(i){I(e.$$.fragment,i),t=!1},d(i){j(e,i)}}}function bA(n){let e,t,i=n[2],s=[];for(let o=0;o<i.length;o+=1)s[o]=Nh(Lh(n,i,o));const l=o=>I(s[o],1,1,()=>{s[o]=null});return{c(){for(let o=0;o<s.length;o+=1)s[o].c();e=Me()},m(o,r){for(let a=0;a<s.length;a+=1)s[a].m(o,r);S(o,e,r),t=!0},p(o,r){if(r&12){i=o[2];let a;for(a=0;a<i.length;a+=1){const u=Lh(o,i,a);s[a]?(s[a].p(u,r),A(s[a],1)):(s[a]=Nh(u),s[a].c(),A(s[a],1),s[a].m(e.parentNode,e))}for(ae(),a=i.length;a<s.length;a+=1)l(a);ue()}},i(o){if(!t){for(let r=0;r<i.length;r+=1)A(s[r]);t=!0}},o(o){s=s.filter(Boolean);for(let r=0;r<s.length;r+=1)I(s[r]);t=!1},d(o){mt(s,o),o&&w(e)}}}function vA(n){let e;return{c(){e=v("h4"),e.textContent="Side-by-side diff",p(e,"class","center txt-break")},m(t,i){S(t,e,i)},p:Z,d(t){t&&w(e)}}}function yA(n){let e,t,i,s,l,o,r;return{c(){e=v("button"),t=B("Close"),i=O(),s=v("button"),l=v("span"),l.textContent="Confirm and import",p(e,"type","button"),p(e,"class","btn btn-transparent"),e.disabled=n[4],p(l,"class","txt"),p(s,"type","button"),p(s,"class","btn btn-expanded"),s.disabled=n[4],Q(s,"btn-loading",n[4])},m(a,u){S(a,e,u),_(e,t),S(a,i,u),S(a,s,u),_(s,l),o||(r=[Y(e,"click",n[0]),Y(s,"click",n[9])],o=!0)},p(a,u){u&16&&(e.disabled=a[4]),u&16&&(s.disabled=a[4]),u&16&&Q(s,"btn-loading",a[4])},d(a){a&&w(e),a&&w(i),a&&w(s),o=!1,Pe(r)}}}function kA(n){let e,t,i={class:"full-width-popup import-popup",overlayClose:!1,escClose:!n[4],beforeHide:n[10],popup:!0,$$slots:{footer:[yA],header:[vA],default:[bA]},$$scope:{ctx:n}};return e=new Nn({props:i}),n[11](e),e.$on("show",n[12]),e.$on("hide",n[13]),{c(){H(e.$$.fragment)},m(s,l){q(e,s,l),t=!0},p(s,[l]){const o={};l&16&&(o.escClose=!s[4]),l&16&&(o.beforeHide=s[10]),l&1048604&&(o.$$scope={dirty:l,ctx:s}),e.$set(o)},i(s){t||(A(e.$$.fragment,s),t=!0)},o(s){I(e.$$.fragment,s),t=!1},d(s){n[11](null),j(e,s)}}}function wA(n,e,t){const i=Ct();let s,l=[Line truncated
|
||||||
|
- ${$.join(`
|
||||||
|
- `)}`,()=>{h()}):h()}async function h(){if(!u){t(4,u=!0);try{await pe.collections.import(o,a),zt("Successfully imported collections configuration."),i("submit")}catch($){pe.errorResponseHandler($)}t(4,u=!1),c()}}const g=()=>m(),b=()=>!u;function k($){ie[$?"unshift":"push"](()=>{s=$,t(1,s)})}function y($){ze.call(this,n,$)}function T($){ze.call(this,n,$)}return n.$$.update=()=>{n.$$.dirty&384&&Array.isArray(l)&&Array.isArray(o)&&d()},[c,s,r,a,u,m,f,l,o,g,b,k,y,T]}class SA extends ye{constructor(e){super(),ve(this,e,wA,kA,he,{show:6,hide:0})}get show(){return this.$$.ctx[6]}get hide(){return this.$$.ctx[0]}}function Fh(n,e,t){const i=n.slice();return i[32]=e[t],i}function Rh(n,e,t){const i=n.slice();return i[35]=e[t],i}function qh(n,e,t){const i=n.slice();return i[32]=e[t],i}function TA(n){let e,t,i,s,l,o,r,a,u,f,c,d,m,h,g,b,k,y,T,$,M,C,D;a=new me({props:{class:"form-field "+(n[6]?"":"field-error"),name:"collections",$$slots:{default:[CA,({uniqueId:R})=>({40:R}),({uniqueId:R})=>[0,R?512:0]]},$$scope:{ctx:n}}});let E=!1,P=n[6]&&n[1].length&&!n[7]&&Hh(),L=n[6]&&n[1].length&&n[7]&&Vh(n),N=n[13].length&&Qh(n),F=!!n[0]&&xh(n);return{c(){e=v("input"),t=O(),i=v("div"),s=v("p"),l=B(`Paste below the collections configuration you want to import or
|
||||||
|
`),o=v("button"),o.innerHTML='<span class="txt">Load from JSON file</span>',r=O(),H(a.$$.fragment),u=O(),f=O(),P&&P.c(),c=O(),L&&L.c(),d=O(),N&&N.c(),m=O(),h=v("div"),F&&F.c(),g=O(),b=v("div"),k=O(),y=v("button"),T=v("span"),T.textContent="Review",p(e,"type","file"),p(e,"class","hidden"),p(e,"accept",".json"),p(o,"class","btn btn-outline btn-sm m-l-5"),Q(o,"btn-loading",n[12]),p(i,"class","content txt-xl m-b-base"),p(b,"class","flex-fill"),p(T,"class","txt"),p(y,"type","button"),p(y,"class","btn btn-expanded btn-warning m-l-auto"),y.disabled=$=!n[14],p(h,"class","flex m-t-base")},m(R,X){S(R,e,X),n[19](e),S(R,t,X),S(R,i,X),_(i,s),_(s,l),_(s,o),S(R,r,X),q(a,R,X),S(R,u,X),S(R,f,X),P&&P.m(R,X),S(R,c,X),L&&L.m(R,X),S(R,d,X),N&&N.m(R,X),S(R,m,X),S(R,h,X),F&&F.m(h,null),_(h,g),_(h,b),_(h,k),_(h,y),_(y,T),M=!0,C||(D=[Y(e,"change",n[20]),Y(o,"click",n[21]),Y(y,"click",n[26])],C=!0)},p(R,X){(!M||X[0]&4096)&&Q(o,"btn-loading",R[12]);const se={};X[0]&64&&(se.class="form-field "+(R[6]?"":"field-error")),X[0]&65|X[1]&1536&&(se.$$scope={dirty:X,ctx:R}),a.$set(se),R[6]&&R[1].length&&!R[7]?P||(P=Hh(),P.c(),P.m(c.parentNode,c)):P&&(P.d(1),P=null),R[6]&&R[1].length&&R[7]?L?L.p(R,X):(L=Vh(R),L.c(),L.m(d.parentNode,d)):L&&(L.d(1),L=null),R[13].length?N?N.p(R,X):(N=Qh(R),N.c(),N.m(m.parentNode,m)):N&&(N.d(1),N=null),R[0]?F?F.p(R,X):(F=xh(R),F.c(),F.m(h,g)):F&&(F.d(1),F=null),(!M||X[0]&16384&&$!==($=!R[14]))&&(y.disabled=$)},i(R){M||(A(a.$$.fragment,R),A(E),M=!0)},o(R){I(a.$$.fragment,R),I(E),M=!1},d(R){R&&w(e),n[19](null),R&&w(t),R&&w(i),R&&w(r),j(a,R),R&&w(u),R&&w(f),P&&P.d(R),R&&w(c),L&&L.d(R),R&&w(d),N&&N.d(R),R&&w(m),R&&w(h),F&&F.d(),C=!1,Pe(D)}}}function $A(n){let e;return{c(){e=v("div"),p(e,"class","loader")},m(t,i){S(t,e,i)},p:Z,i:Z,o:Z,d(t){t&&w(e)}}}function jh(n){let e;return{c(){e=v("div"),e.textContent="Invalid collections configuration.",p(e,"class","help-block help-block-error")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function CA(n){let e,t,i,s,l,o,r,a,u,f,c=!!n[0]&&!n[6]&&jh();return{c(){e=v("label"),t=B("Collections"),s=O(),l=v("textarea"),r=O(),c&&c.c(),a=Me(),p(e,"for",i=n[40]),p(e,"class","p-b-10"),p(l,"id",o=n[40]),p(l,"class","code"),p(l,"spellcheck","false"),p(l,"rows","15"),l.required=!0},m(d,m){S(d,e,m),_(e,t),S(d,s,m),S(d,l,m),ce(l,n[0]),S(d,r,m),c&&c.m(d,m),S(d,a,m),u||(f=Y(l,"input",n[22]),u=!0)},p(d,m){m[1]&512&&i!==(i=d[40])&&p(e,"for",i),m[1]&512&&o!==(o=d[40])&&p(l,"id",o),m[0]&1&&ce(l,d[0]),d[0]&&!d[6]?c||(c=jh(),c.c(),c.m(a.parentNode,a)):c&&(c.d(1),c=null)},d(d){d&&w(e),d&&w(s),d&&w(l),d&&w(r),c&&c.d(d),d&&w(a),u=!1,f()}}}function Hh(n){let e;return{c(){e=v("div"),e.innerHTML=`<div class="icon"><i class="ri-information-line"></i></div>
|
||||||
|
<div class="content"><string>Your collections configuration is already up-to-date!</string></div>`,p(e,"class","alert alert-info")},m(t,i){S(t,e,i)},d(t){t&&w(e)}}}function Vh(n){let e,t,i,s,l,o=n[9].length&&zh(n),r=n[4].length&&Wh(n),a=n[8].length&&Zh(n);return{c(){e=v("h5"),e.textContent="Detected changes",t=O(),i=v("div"),o&&o.c(),s=O(),r&&r.c(),l=O(),a&&a.c(),p(e,"class","section-title"),p(i,"class","list")},m(u,f){S(u,e,f),S(u,t,f),S(u,i,f),o&&o.m(i,null),_(i,s),r&&r.m(i,null),_(i,l),a&&a.m(i,null)},p(u,f){u[9].length?o?o.p(u,f):(o=zh(u),o.c(),o.m(i,s)):o&&(o.d(1),o=null),u[4].length?r?r.p(u,f):(r=Wh(u),r.c(),r.m(i,l)):r&&(r.d(1),r=null),u[8].length?a?a.p(u,f):(a=Zh(u),a.c(),a.m(i,null)):a&&(a.d(1),a=null)},d(u){u&&w(e),u&&w(t),u&&w(i),o&&o.d(),r&&r.d(),a&&a.d()}}}function zh(n){let e=[],t=new Map,i,s=n[9];const l=o=>o[32].id;for(let o=0;o<s.length;o+=1){let r=qh(n,s,o),a=l(r);t.set(a,e[o]=Uh(a,r))}return{c(){for(let o=0;o<e.length;o+=1)e[o].c();i=Me()},m(o,r){for(let a=0;a<e.length;a+=1)e[a].m(o,r);S(o,i,r)},p(o,r){r[0]&512&&(s=o[9],e=wt(e,r,l,1,o,s,t,i.parentNode,es,Uh,i,qh))},d(o){for(let r=0;r<e.length;r+=1)e[r].d(o);o&&w(i)}}}function Bh(n){let e,t,i=n[32].id+"",s,l;return{c(){e=v("small"),t=B("("),s=B(i),l=B(")"),p(e,"class","txt-hint")},m(o,r){S(o,e,r),_(e,t),_(e,s),_(e,l)},p(o,r){r[0]&512&&i!==(i=o[32].id+"")&&le(s,i)},d(o){o&&w(e)}}}function Uh(n,e){let t,i,s,l,o=e[32].name+"",r,a,u,f=e[32].id&&Bh(e);return{key:n,first:null,c(){t=v("div"),i=v("span"),i.textContent="Deleted",s=O(),l=v("strong"),r=B(o),a=O(),f&&f.c(),u=O(),p(i,"class","label label-danger list-label svelte-1jx20fl"),p(t,"class","list-item"),this.first=t},m(c,d){S(c,t,d),_(t,i),_(t,s),_(t,l),_(l,r),_(t,a),f&&f.m(t,null),_(t,u)},p(c,d){e=c,d[0]&512&&o!==(o=e[32].name+"")&&le(r,o),e[32].id?f?f.p(e,d):(f=Bh(e),f.c(),f.m(t,u)):f&&(f.d(1),f=null)},d(c){c&&w(t),f&&f.d()}}}function Wh(n){let e=[],t=new Map,i,s=n[4];const l=o=>o[35].old.id+o[35].new.id;for(let o=0;o<s.length;o+=1){let r=Rh(n,s,o),a=l(r);t.set(a,e[o]=Jh(a,r))}return{c(){for(let o=0;o<e.length;o+=1)e[o].c();i=Me()},m(o,r){for(let a=0;a<e.length;a+=1)e[a].m(o,r);S(o,i,r)},p(o,r){r[0]&16&&(s=o[4],e=wt(e,r,l,1,o,s,t,i.parentNode,es,Jh,i,Rh))},d(o){for(let r=0;r<e.length;r+=1)e[r].d(o);o&&w(i)}}}function Yh(n){let e,t=n[35].old.name+"",i,s,l;return{c(){e=v("strong"),i=B(t),s=O(),l=v("i"),p(e,"class","txt-strikethrough txt-hint"),p(l,"class","ri-arrow-right-line txt-sm")},m(o,r){S(o,e,r),_(e,i),S(o,s,r),S(o,l,r)},p(o,r){r[0]&16&&t!==(t=o[35].old.name+"")&&le(i,t)},d(o){o&&w(e),o&&w(s),o&&w(l)}}}function Kh(n){let e,t,i=n[35].new.id+"",s,l;return{c(){e=v("small"),t=B("("),s=B(i),l=B(")"),p(e,"class","txt-hint")},m(o,r){S(o,e,r),_(e,t),_(e,s),_(e,l)},p(o,r){r[0]&16&&i!==(i=o[35].new.id+"")&&le(s,i)},d(o){o&&w(e)}}}function Jh(n,e){let t,i,s,l,o,r,a=e[35].new.name+"",u,f,c,d=e[35].old.name!==e[35].new.name&&Yh(e),m=e[35].new.id&&Kh(e);return{key:n,first:null,c(){t=v("div"),i=v("span"),i.textContent="Changed",s=O(),l=v("div"),d&&d.c(),o=O(),r=v("strong"),u=B(a),f=O(),m&&m.c(),c=O(),p(i,"class","label label-warning list-label svelte-1jx20fl"),p(l,"class","inline-flex flex-gap-5"),p(t,"class","list-item"),this.first=t},m(h,g){S(h,t,g),_(t,i),_(t,s),_(t,l),d&&d.m(l,null),_(l,o),_(l,r),_(r,u),_(l,f),m&&m.m(l,null),_(t,c)},p(h,g){e=h,e[35].old.name!==e[35].new.name?d?d.p(e,g):(d=Yh(e),d.c(),d.m(l,o)):d&&(d.d(1),d=null),g[0]&16&&a!==(a=e[35].new.name+"")&&le(u,a),e[35].new.id?m?m.p(e,g):(m=Kh(e),m.c(),m.m(l,null)):m&&(m.d(1),m=null)},d(h){h&&w(t),d&&d.d(),m&&m.d()}}}function Zh(n){let e=[],t=new Map,i,s=n[8];const l=o=>o[32].id;for(let o=0;o<s.length;o+=1){let r=Fh(n,s,o),a=l(r);t.set(a,e[o]=Xh(a,r))}return{c(){for(let o=0;o<e.length;o+=1)e[o].c();i=Me()},m(o,r){for(let a=0;a<e.length;a+=1)e[a].m(o,r);S(o,i,r)},p(o,r){r[0]&256&&(s=o[8],e=wt(e,r,l,1,o,s,t,i.parentNode,es,Xh,i,Fh))},d(o){for(let r=0;r<e.length;r+=1)e[r].d(o);o&&w(i)}}}function Gh(n){let e,t,i=n[32].id+"",s,l;return{c(){e=v("small"),t=B("("),s=B(i),l=B(")"),p(e,"class","txt-hint")},m(o,r){S(o,e,r),_(e,t),_(e,s),_(e,l)},p(o,r){r[0]&256&&i!==(i=o[32].id+"")&&le(s,i)},d(o){o&&w(e)}}}function Xh(n,e){let t,i,s,l,o=e[32].name+"",r,a,u,f=e[32].id&&Gh(e);return{key:n,first:null,c(){t=v("div"),i=v("span"),i.textContent="Added",s=O(),l=v("strong"),r=B(o),a=O(),f&&f.c(),u=O(),p(i,"class","label label-success list-label svelte-1jx20fl"),p(t,"class","list-item"),this.first=t},m(c,d){S(c,t,d),_(t,i),_(t,s),_(t,l),_(l,r),_(t,a),f&&f.m(t,null),_(t,u)},p(c,d){e=c,d[0]&256&&o!==(o=e[32].name+"")&&le(r,o),e[32].id?f?f.p(e,d):(f=Gh(e),f.c(),f.m(t,u)):f&&(f.d(1),f=null)},d(c){c&&w(t),f&&f.d()}}}function Qh(n){let e,t,i,s,l,o,r,a;return{c(){e=v("div"),t=v("div"),t.innerHTML='<i class="ri-error-warning-line"></i>',i=O(),s=v("div"),s.innerHTML=`<string>Some of the imported collections shares the same name and/or fields but are
|
||||||
|
imported with different IDs. You can replace them in the import if you want
|
||||||
|
to.</string>`,l=O(),o=v("button"),o.innerHTML='<span class="txt">Replace with original ids</span>',p(t,"class","icon"),p(s,"class","content"),p(o,"type","button"),p(o,"class","btn btn-warning btn-sm btn-outline"),p(e,"class","alert alert-warning m-t-base")},m(u,f){S(u,e,f),_(e,t),_(e,i),_(e,s),_(e,l),_(e,o),r||(a=Y(o,"click",n[24]),r=!0)},p:Z,d(u){u&&w(e),r=!1,a()}}}function xh(n){let e,t,i;return{c(){e=v("button"),e.innerHTML='<span class="txt">Clear</span>',p(e,"type","button"),p(e,"class","btn btn-transparent link-hint")},m(s,l){S(s,e,l),t||(i=Y(e,"click",n[25]),t=!0)},p:Z,d(s){s&&w(e),t=!1,i()}}}function MA(n){let e,t,i,s,l,o,r,a,u,f,c,d;const m=[$A,TA],h=[];function g(b,k){return b[5]?0:1}return f=g(n),c=h[f]=m[f](n),{c(){e=v("header"),t=v("nav"),i=v("div"),i.textContent="Settings",s=O(),l=v("div"),o=B(n[15]),r=O(),a=v("div"),u=v("div"),c.c(),p(i,"class","breadcrumb-item"),p(l,"class","breadcrumb-item"),p(t,"class","breadcrumbs"),p(e,"class","page-header"),p(u,"class","panel"),p(a,"class","wrapper")},m(b,k){S(b,e,k),_(e,t),_(t,i),_(t,s),_(t,l),_(l,o),S(b,r,k),S(b,a,k),_(a,u),h[f].m(u,null),d=!0},p(b,k){(!d||k[0]&32768)&&le(o,b[15]);let y=f;f=g(b),f===y?h[f].p(b,k):(ae(),I(h[y],1,1,()=>{h[y]=null}),ue(),c=h[f],c?c.p(b,k):(c=h[f]=m[f](b),c.c()),A(c,1),c.m(u,null))},i(b){d||(A(c),d=!0)},o(b){I(c),d=!1},d(b){b&&w(e),b&&w(r),b&&w(a),h[f].d()}}}function DA(n){let e,t,i,s,l,o;e=new Ii({}),i=new wn({props:{$$slots:{default:[MA]},$$scope:{ctx:n}}});let r={};return l=new SA({props:r}),n[27](l),l.$on("submit",n[28]),{c(){H(e.$$.fragment),t=O(),H(i.$$.fragment),s=O(),H(l.$$.fragment)},m(a,u){q(e,a,u),S(a,t,u),q(i,a,u),S(a,s,u),q(l,a,u),o=!0},p(a,u){const f={};u[0]&65535|u[1]&1024&&(f.$$scope={dirty:u,ctx:a}),i.$set(f);const c={};l.$set(c)},i(a){o||(A(e.$$.fragment,a),A(i.$$.fragment,a),A(l.$$.fragment,a),o=!0)},o(a){I(e.$$.fragment,a),I(i.$$.fragment,a),I(l.$$.fragment,a),o=!1},d(a){j(e,a),a&&w(t),j(i,a),a&&w(s),n[27](null),j(l,a)}}}function OA(n,e,t){let i,s,l,o,r,a,u;Ye(n,St,K=>t(15,u=K)),Kt(St,u="Import collections",u);let f,c,d="",m=!1,h=[],g=[],b=!0,k=[],y=!1;T();async function T(){t(5,y=!0);try{t(2,g=await pe.collections.getFullList(200));for(let K of g)delete K.created,delete K.updated}catch(K){pe.errorResponseHandler(K)}t(5,y=!1)}function $(){if(t(4,k=[]),!!i)for(let K of h){const re=z.findByKey(g,"id",K.id);!(re!=null&&re.id)||!z.hasCollectionChanges(re,K,b)||k.push({new:K,old:re})}}function M(){t(1,h=[]);try{t(1,h=JSON.parse(d))}catch{}Array.isArray(h)?t(1,h=z.filterDuplicatesByKey(h)):t(1,h=[]);for(let K of h)delete K.created,delete K.updated,K.schema=z.filterDuplicatesByKey(K.schema)}function C(){var K,re;for(let J of h){const de=z.findByKey(g,"name",J.name)||z.findByKey(g,"id",J.id);if(!de)continue;const _e=J.id,$e=de.id;J.id=$e;const Ne=Array.isArray(de.schema)?de.schema:[],Re=Array.isArray(J.schema)?J.schema:[];for(const be of Re){const Se=z.findByKey(Ne,"name",be.name);Se&&Se.id&&(be.id=Se.id)}for(let be of h)if(Array.isArray(be.schema))for(let Se of be.schema)(K=Se.options)!=null&&K.collectionId&&((re=Se.options)==null?void 0:re.collectionId)===_e&&(Se.options.collectionId=$e)}t(0,d=JSON.stringify(h,null,4))}function D(K){t(12,m=!0);const re=new FileReader;re.onload=async J=>{t(12,m=!1),t(10,f.value="",f),t(0,d=J.target.result),await sn(),h.length||(cl("Invalid collections configuration."),E())},re.onerror=J=>{console.warn(J),cl("Failed to load the imported JSON."),t(12,m=!1),t(10,f.value="",f)},re.readAsText(K)}function E(){t(0,d=""),t(10,f.value="",f),Bn({})}function P(K){ie[K?"unshift":"push"](()=>{f=K,t(10,f)})}const L=()=>{f.files.length&&D(f.files[0])},N=()=>{f.click()};function F(){d=this.value,t(0,d)}function R(){b=this.checked,t(3,b)}const X=()=>C(),se=()=>E(),W=()=>c==null?void 0:c.show(g,h,b);function G(K){ie[K?"unshift":"push"](()=>{c=K,t(11,c)})}const te=()=>E();return n.$$.update=()=>{n.$$.dirty[0]&1&&typeof d<"u"&&M(),n.$$.dirty[0]&3&&t(6,i=!!d&&h.length&&h.length===h.filter(K=>!!K.id&&!!K.name).length),n.$$.dirty[0]&78&&t(9,s=g.filter(K=>i&&b&&!z.findByKey(h,"id",K.id))),n.$$.dirty[0]&70&&t(8,l=h.filter(K=>i&&!z.findByKey(g,"id",K.id))),n.$$.dirty[0]&10&&(typeof h<"u"||typeof b<"u")&&$(),n.$$.dirty[0]&785&&t(7,o=!!d&&(s.length||l.length||k.length)),n.$$.dirty[0]&224&&t(14,r=!y&&i&&o),n.$$.dirty[0]&6&&t(13,a=h.filter(K=>{let re=z.findByKey(g,"name",K.name)||z.findByKey(g,"id",K.id);if(!re)return!1;if(re.id!=K.id)return!0;const J=Array.isArray(re.schema)?re.schema:[],de=Array.isArray(K.schema)?K.schema:[];for(const _e of de){if(z.findByKey(J,"id",_e.id))continue;const Ne=z.findByKey(J,"name",_e.name);if(Ne&&_e.id!=Ne.id)return!0}return!1}))},[d,h,g,b,k,y,i,o,l,s,f,c,m,a,r,u,C,D,E,P,L,N,F,R,X,se,W,G,te]}class EA extends ye{constructor(e){super(),ve(this,e,OA,DA,he,{},null,[-1,-1])}}const Pt=[async n=>{const e=new URLSearchParams(window.location.search);return n.location!=="/"&&e.has("installer")?Di("/"):!0}],AA={"/login":Mt({component:CO,conditions:Pt.Line truncated
|
||||||
|
<span class="txt">Manage admins</span>`,t=O(),i=v("hr"),s=O(),l=v("button"),l.innerHTML=`<i class="ri-logout-circle-line"></i>
|
||||||
|
<span class="txt">Logout</span>`,p(e,"href","/settings/admins"),p(e,"class","dropdown-item closable"),p(l,"type","button"),p(l,"class","dropdown-item closable")},m(a,u){S(a,e,u),S(a,t,u),S(a,i,u),S(a,s,u),S(a,l,u),o||(r=[Ie(xt.call(null,e)),Y(l,"click",n[6])],o=!0)},p:Z,d(a){a&&w(e),a&&w(t),a&&w(i),a&&w(s),a&&w(l),o=!1,Pe(r)}}}function YA(n){var m;let e,t,i,s,l,o,r,a,u,f,c;document.title=e=z.joinNonEmpty([n[3],n[2],"PocketBase"]," - ");let d=((m=n[0])==null?void 0:m.id)&&n[1]&&ng(n);return o=new u1({props:{routes:AA}}),o.$on("routeLoading",n[4]),o.$on("conditionsFailed",n[5]),a=new jA({}),f=new UA({}),{c(){t=O(),i=v("div"),d&&d.c(),s=O(),l=v("div"),H(o.$$.fragment),r=O(),H(a.$$.fragment),u=O(),H(f.$$.fragment),p(l,"class","app-body"),p(i,"class","app-layout")},m(h,g){S(h,t,g),S(h,i,g),d&&d.m(i,null),_(i,s),_(i,l),q(o,l,null),_(l,r),q(a,l,null),S(h,u,g),q(f,h,g),c=!0},p(h,[g]){var b;(!c||g&12)&&e!==(e=z.joinNonEmpty([h[3],h[2],"PocketBase"]," - "))&&(document.title=e),(b=h[0])!=null&&b.id&&h[1]?d?(d.p(h,g),g&3&&A(d,1)):(d=ng(h),d.c(),A(d,1),d.m(i,s)):d&&(ae(),I(d,1,1,()=>{d=null}),ue())},i(h){c||(A(d),A(o.$$.fragment,h),A(a.$$.fragment,h),A(f.$$.fragment,h),c=!0)},o(h){I(d),I(o.$$.fragment,h),I(a.$$.fragment,h),I(f.$$.fragment,h),c=!1},d(h){h&&w(t),h&&w(i),d&&d.d(),j(o),j(a),h&&w(u),j(f,h)}}}function KA(n,e,t){let i,s,l,o;Ye(n,$s,m=>t(8,i=m)),Ye(n,vo,m=>t(2,s=m)),Ye(n,Ma,m=>t(0,l=m)),Ye(n,St,m=>t(3,o=m));let r,a=!1;function u(m){var h,g,b,k;((h=m==null?void 0:m.detail)==null?void 0:h.location)!==r&&(t(1,a=!!((b=(g=m==null?void 0:m.detail)==null?void 0:g.userData)!=null&&b.showAppSidebar)),r=(k=m==null?void 0:m.detail)==null?void 0:k.location,Kt(St,o="",o),Bn({}),$b())}function f(){Di("/")}async function c(){var m,h;if(l!=null&&l.id)try{const g=await pe.settings.getAll({$cancelKey:"initialAppSettings"});Kt(vo,s=((m=g==null?void 0:g.meta)==null?void 0:m.appName)||"",s),Kt($s,i=!!((h=g==null?void 0:g.meta)!=null&&h.hideControls),i)}catch(g){g!=null&&g.isAbort||console.warn("Failed to load app settings.",g)}}function d(){pe.logout()}return n.$$.update=()=>{n.$$.dirty&1&&l!=null&&l.id&&c()},[l,a,s,o,u,f,d]}class JA extends ye{constructor(e){super(),ve(this,e,KA,YA,he,{})}}new JA({target:document.getElementById("app")});export{Pe as A,zt as B,z as C,Di as D,Me as E,S_ as F,ga as G,mu as H,Ye as I,Ai as J,Ct as K,Zt as L,ie as M,wb as N,wt as O,es as P,ln as Q,pn as R,ye as S,Ir as T,I as a,O as b,H as c,j as d,v as e,p as f,S as g,_ as h,ve as i,Ie as j,ae as k,xt as l,q as m,ue as n,w as o,pe as p,me as q,Q as r,he as s,A as t,Y as u,dt as v,B as w,le as x,Z as y,ce as z};
|
||||||
Vendored
+23
-3
@@ -17,15 +17,35 @@
|
|||||||
<link rel="mask-icon" href="./images/favicon/safari-pinned-tab.svg" color="#000000">
|
<link rel="mask-icon" href="./images/favicon/safari-pinned-tab.svg" color="#000000">
|
||||||
<link rel="shortcut icon" href="./images/favicon/favicon.ico">
|
<link rel="shortcut icon" href="./images/favicon/favicon.ico">
|
||||||
<meta name="msapplication-TileColor" content="#ffffff">
|
<meta name="msapplication-TileColor" content="#ffffff">
|
||||||
<meta name="msapplication-config" content="./images/favicon/browserconfig.xml">
|
<meta name="msapplication-config" content="/images/favicon/browserconfig.xml">
|
||||||
<meta name="theme-color" content="#ffffff">
|
<meta name="theme-color" content="#ffffff">
|
||||||
|
|
||||||
|
<!-- prefetch common tinymce resources to speed up the initial loading times -->
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/skins/content/default/content.min.css" as="style" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/skins/ui/pocketbase/skin.min.css" as="style" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/skins/ui/pocketbase/content.min.css" as="style" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/tinymce.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/themes/silver/theme.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/models/dom/model.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/icons/default/icons.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/plugins/autoresize/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/plugins/autolink/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/plugins/lists/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/plugins/link/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/plugins/image/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/plugins/searchreplace/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/plugins/fullscreen/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/plugins/media/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/plugins/table/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/plugins/code/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="./libs/tinymce/plugins/codesample/plugin.min.js" as="script" />
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
window.Prism = window.Prism || {};
|
window.Prism = window.Prism || {};
|
||||||
window.Prism.manual = true;
|
window.Prism.manual = true;
|
||||||
</script>
|
</script>
|
||||||
<script type="module" crossorigin src="./assets/index-3e0f12d8.js"></script>
|
<script type="module" crossorigin src="./assets/index-ffbb9561.js"></script>
|
||||||
<link rel="stylesheet" href="./assets/index-7f786dc0.css">
|
<link rel="stylesheet" href="./assets/index-b8b82b53.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
|||||||
+27
-7
@@ -10,16 +10,36 @@
|
|||||||
|
|
||||||
<title>PocketBase</title>
|
<title>PocketBase</title>
|
||||||
|
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="./images/favicon/apple-touch-icon.png">
|
<link rel="apple-touch-icon" sizes="180x180" href="/images/favicon/apple-touch-icon.png">
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="./images/favicon/favicon-32x32.png">
|
<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon/favicon-32x32.png">
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="./images/favicon/favicon-16x16.png">
|
<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/favicon-16x16.png">
|
||||||
<link rel="manifest" href="./images/favicon/site.webmanifest">
|
<link rel="manifest" href="/images/favicon/site.webmanifest">
|
||||||
<link rel="mask-icon" href="./images/favicon/safari-pinned-tab.svg" color="#000000">
|
<link rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg" color="#000000">
|
||||||
<link rel="shortcut icon" href="./images/favicon/favicon.ico">
|
<link rel="shortcut icon" href="/images/favicon/favicon.ico">
|
||||||
<meta name="msapplication-TileColor" content="#ffffff">
|
<meta name="msapplication-TileColor" content="#ffffff">
|
||||||
<meta name="msapplication-config" content="./images/favicon/browserconfig.xml">
|
<meta name="msapplication-config" content="/images/favicon/browserconfig.xml">
|
||||||
<meta name="theme-color" content="#ffffff">
|
<meta name="theme-color" content="#ffffff">
|
||||||
|
|
||||||
|
<!-- prefetch common tinymce resources to speed up the initial loading times -->
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/skins/content/default/content.min.css" as="style" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/skins/ui/pocketbase/skin.min.css" as="style" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/skins/ui/pocketbase/content.min.css" as="style" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/tinymce.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/themes/silver/theme.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/models/dom/model.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/icons/default/icons.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/plugins/autoresize/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/plugins/autolink/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/plugins/lists/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/plugins/link/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/plugins/image/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/plugins/searchreplace/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/plugins/fullscreen/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/plugins/media/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/plugins/table/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/plugins/code/plugin.min.js" as="script" />
|
||||||
|
<link rel="prefetch" href="/libs/tinymce/plugins/codesample/plugin.min.js" as="script" />
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
window.Prism = window.Prism || {};
|
window.Prism = window.Prism || {};
|
||||||
window.Prism.manual = true;
|
window.Prism.manual = true;
|
||||||
|
|||||||
Generated
+126
-99
@@ -10,6 +10,7 @@
|
|||||||
"@codemirror/commands": "^6.0.0",
|
"@codemirror/commands": "^6.0.0",
|
||||||
"@codemirror/lang-html": "^6.1.0",
|
"@codemirror/lang-html": "^6.1.0",
|
||||||
"@codemirror/lang-javascript": "^6.0.2",
|
"@codemirror/lang-javascript": "^6.0.2",
|
||||||
|
"@codemirror/lang-sql": "^6.4.0",
|
||||||
"@codemirror/language": "^6.0.0",
|
"@codemirror/language": "^6.0.0",
|
||||||
"@codemirror/legacy-modes": "^6.0.0",
|
"@codemirror/legacy-modes": "^6.0.0",
|
||||||
"@codemirror/search": "^6.0.0",
|
"@codemirror/search": "^6.0.0",
|
||||||
@@ -20,7 +21,7 @@
|
|||||||
"chart.js": "^3.7.1",
|
"chart.js": "^3.7.1",
|
||||||
"chartjs-adapter-luxon": "^1.2.0",
|
"chartjs-adapter-luxon": "^1.2.0",
|
||||||
"luxon": "^2.3.2",
|
"luxon": "^2.3.2",
|
||||||
"pocketbase": "^0.10.0",
|
"pocketbase": "^0.10.2",
|
||||||
"prismjs": "^1.28.0",
|
"prismjs": "^1.28.0",
|
||||||
"sass": "^1.45.0",
|
"sass": "^1.45.0",
|
||||||
"svelte": "^3.44.0",
|
"svelte": "^3.44.0",
|
||||||
@@ -30,9 +31,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@codemirror/autocomplete": {
|
"node_modules/@codemirror/autocomplete": {
|
||||||
"version": "6.4.0",
|
"version": "6.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.4.1.tgz",
|
||||||
"integrity": "sha512-HLF2PnZAm1s4kGs30EiqKMgD7XsYaQ0XJnMR0rofEWQ5t5D60SfqpDIkIh1ze5tiEbyUWm8+VJ6W1/erVvBMIA==",
|
"integrity": "sha512-06yAmj0FjPZzYOpNeugJtG28GNqU2/CPr34m91Q+fKSyTOR6+hDFiatkPcIkxOlU0K5yP7WH6KoLg3fTqIUgaw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@codemirror/language": "^6.0.0",
|
"@codemirror/language": "^6.0.0",
|
||||||
@@ -48,9 +49,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@codemirror/commands": {
|
"node_modules/@codemirror/commands": {
|
||||||
"version": "6.2.0",
|
"version": "6.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.2.1.tgz",
|
||||||
"integrity": "sha512-+00smmZBradoGFEkRjliN7BjqPh/Hx0KCHWOEibUmflUqZz2RwBTU0MrVovEEHozhx3AUSGcO/rl3/5f9e9Biw==",
|
"integrity": "sha512-FFiNKGuHA5O8uC6IJE5apI5rT9gyjlw4whqy4vlcX0wE/myxL6P1s0upwDhY4HtMWLOwzwsp0ap3bjdQhvfDOA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@codemirror/language": "^6.0.0",
|
"@codemirror/language": "^6.0.0",
|
||||||
@@ -72,9 +73,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@codemirror/lang-html": {
|
"node_modules/@codemirror/lang-html": {
|
||||||
"version": "6.4.1",
|
"version": "6.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.2.tgz",
|
||||||
"integrity": "sha512-9NzhWKAkWEwjXC04DKM6yrHnxIPFTqZNLDhWfZiKLMxUiU++XoHz9n6D5EPp1igBmX0vXcpFb5Kud6XzIJhZ4A==",
|
"integrity": "sha512-bqCBASkteKySwtIbiV/WCtGnn/khLRbbiV5TE+d9S9eQJD7BA4c5dTRm2b3bVmSpilff5EYxvB4PQaZzM/7cNw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@codemirror/autocomplete": "^6.0.0",
|
"@codemirror/autocomplete": "^6.0.0",
|
||||||
@@ -89,13 +90,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@codemirror/lang-javascript": {
|
"node_modules/@codemirror/lang-javascript": {
|
||||||
"version": "6.1.2",
|
"version": "6.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.1.4.tgz",
|
||||||
"integrity": "sha512-OcwLfZXdQ1OHrLiIcKCn7MqZ7nx205CMKlhe+vL88pe2ymhT9+2P+QhwkYGxMICj8TDHyp8HFKVwpiisUT7iEQ==",
|
"integrity": "sha512-OxLf7OfOZBTMRMi6BO/F72MNGmgOd9B0vetOLvHsDACFXayBzW8fm8aWnDM0yuy68wTK03MBf4HbjSBNRG5q7A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@codemirror/autocomplete": "^6.0.0",
|
"@codemirror/autocomplete": "^6.0.0",
|
||||||
"@codemirror/language": "^6.0.0",
|
"@codemirror/language": "^6.6.0",
|
||||||
"@codemirror/lint": "^6.0.0",
|
"@codemirror/lint": "^6.0.0",
|
||||||
"@codemirror/state": "^6.0.0",
|
"@codemirror/state": "^6.0.0",
|
||||||
"@codemirror/view": "^6.0.0",
|
"@codemirror/view": "^6.0.0",
|
||||||
@@ -103,10 +104,23 @@
|
|||||||
"@lezer/javascript": "^1.0.0"
|
"@lezer/javascript": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@codemirror/language": {
|
"node_modules/@codemirror/lang-sql": {
|
||||||
"version": "6.4.0",
|
"version": "6.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@codemirror/lang-sql/-/lang-sql-6.4.0.tgz",
|
||||||
"integrity": "sha512-Wzb7GnNj8vnEtbPWiOy9H0m1fBtE28kepQNGLXekU2EEZv43BF865VKITUn+NoV8OpW6gRtvm29YEhqm46927Q==",
|
"integrity": "sha512-UWGK1+zc9+JtkiT+XxHByp4N6VLgLvC2x0tIudrJG26gyNtn0hWOVoB0A8kh/NABPWkKl3tLWDYf2qOBJS9Zdw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@codemirror/autocomplete": "^6.0.0",
|
||||||
|
"@codemirror/language": "^6.0.0",
|
||||||
|
"@codemirror/state": "^6.0.0",
|
||||||
|
"@lezer/highlight": "^1.0.0",
|
||||||
|
"@lezer/lr": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@codemirror/language": {
|
||||||
|
"version": "6.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.6.0.tgz",
|
||||||
|
"integrity": "sha512-cwUd6lzt3MfNYOobdjf14ZkLbJcnv4WtndYaoBkbor/vF+rCNguMPK0IRtvZJG4dsWiaWPcK8x1VijhvSxnstg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@codemirror/state": "^6.0.0",
|
"@codemirror/state": "^6.0.0",
|
||||||
@@ -127,9 +141,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@codemirror/lint": {
|
"node_modules/@codemirror/lint": {
|
||||||
"version": "6.1.0",
|
"version": "6.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.1.1.tgz",
|
||||||
"integrity": "sha512-mdvDQrjRmYPvQ3WrzF6Ewaao+NWERYtpthJvoQ3tK3t/44Ynhk8ZGjTSL9jMEv8CgSMogmt75X8ceOZRDSXHtQ==",
|
"integrity": "sha512-e+M543x0NVHGayNHQzLP4XByJsvbu/ojY6+0VF2Y4Uu66Rt1nADuxNflZwECLf7gS009smIsptSUa6bUj/U/rw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@codemirror/state": "^6.0.0",
|
"@codemirror/state": "^6.0.0",
|
||||||
@@ -155,9 +169,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@codemirror/view": {
|
"node_modules/@codemirror/view": {
|
||||||
"version": "6.7.3",
|
"version": "6.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.7.3.tgz",
|
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.9.0.tgz",
|
||||||
"integrity": "sha512-Lt+4POnhXrZFfHOdPzXEHxrzwdy7cjqYlMkOWvoFGi6/bAsjzlFfr0NY3B15B/PGx+cDFgM1hlc12wvYeZbGLw==",
|
"integrity": "sha512-uFaqE6fBOp0Dj/tmWoe/TFlSSIPdpAzhvATgbq1eAKRkgq3hY79FioZ7nfdiT+24kz68AIWuSZ9hi3psKe36WQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@codemirror/state": "^6.1.4",
|
"@codemirror/state": "^6.1.4",
|
||||||
@@ -549,9 +563,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@lezer/html": {
|
"node_modules/@lezer/html": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.2.tgz",
|
||||||
"integrity": "sha512-jU/ah8DEoiECLTMouU/X/ujIg6k9WQMIOFMaCLebzaXfrguyGaR3DpTgmk0tbljiuIJ7hlmVJPcJcxGzmCd0Mg==",
|
"integrity": "sha512-LKGyDdqqDugXR/lKM9FwaKEfMerbZ/aqvhLf0P1FLLK/pVP7wKHXGcg6g3cJ7ckvFidn0tXA8jioG0irVsCBAQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@lezer/common": "^1.0.0",
|
"@lezer/common": "^1.0.0",
|
||||||
@@ -570,9 +584,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@lezer/lr": {
|
"node_modules/@lezer/lr": {
|
||||||
"version": "1.3.2",
|
"version": "1.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.3.tgz",
|
||||||
"integrity": "sha512-SDSvnHWMBH6WxoOt51AjuHOiQ0DMxxhfK5lNoyJXuv5POWz6MfXKGU9Fus9tK8NqrI1sSBNdKtG5cUXXZtGG5w==",
|
"integrity": "sha512-JPQe3mwJlzEVqy67iQiiGozhcngbO8QBgpqZM6oL1Wj/dXckrEexpBLeFkq0edtW5IqnPRFxA24BHJni8Js69w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@lezer/common": "^1.0.0"
|
"@lezer/common": "^1.0.0"
|
||||||
@@ -649,9 +663,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/chartjs-adapter-luxon": {
|
"node_modules/chartjs-adapter-luxon": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/chartjs-adapter-luxon/-/chartjs-adapter-luxon-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/chartjs-adapter-luxon/-/chartjs-adapter-luxon-1.3.1.tgz",
|
||||||
"integrity": "sha512-TPqS8S7aw4a07LhFzG5DZU6Kduk1xFkaGTn8y/gfhBRvfyCkqnwFqfXqG9Gl+gmnj5DRXgPscApJUE6bsgzKjQ==",
|
"integrity": "sha512-yxHov3X8y+reIibl1o+j18xzrcdddCLqsXhriV2+aQ4hCR66IYFchlRXUvrJVoxglJ380pgytU7YWtoqdIgqhg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"chart.js": ">=3.0.0",
|
"chart.js": ">=3.0.0",
|
||||||
@@ -817,9 +831,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/immutable": {
|
"node_modules/immutable": {
|
||||||
"version": "4.2.2",
|
"version": "4.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.4.tgz",
|
||||||
"integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==",
|
"integrity": "sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/is-binary-path": {
|
"node_modules/is-binary-path": {
|
||||||
@@ -958,9 +972,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/pocketbase": {
|
"node_modules/pocketbase": {
|
||||||
"version": "0.10.1",
|
"version": "0.10.2",
|
||||||
"resolved": "https://registry.npmjs.org/pocketbase/-/pocketbase-0.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/pocketbase/-/pocketbase-0.10.2.tgz",
|
||||||
"integrity": "sha512-FMBhF+9o2AmdKJYbfz2qunnk4Q5/efYMRcukdQF49UfhsIuaSYl39fSPN1l880bYI4XAvDDeySAjK1MlxrK37A==",
|
"integrity": "sha512-728aVaPLhSwOyEqZ4+GJfqg1SHUAyokvErsOksxauvOXiRE/QSCn8s6bW1/KyU3NGqz248eBjUQY3aLwTV/CcA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
@@ -1035,9 +1049,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/rollup": {
|
"node_modules/rollup": {
|
||||||
"version": "3.12.1",
|
"version": "3.15.0",
|
||||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.12.1.tgz",
|
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.15.0.tgz",
|
||||||
"integrity": "sha512-t9elERrz2i4UU9z7AwISj3CQcXP39cWxgRWLdf4Tm6aKm1eYrqHIgjzXBgb67GNY1sZckTFFi0oMozh3/S++Ig==",
|
"integrity": "sha512-F9hrCAhnp5/zx/7HYmftvsNBkMfLfk/dXUh73hPSM2E3CRgap65orDNJbLetoiUFwSAk6iHPLvBrZ5iHYvzqsg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"rollup": "dist/bin/rollup"
|
"rollup": "dist/bin/rollup"
|
||||||
@@ -1057,9 +1071,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/sass": {
|
"node_modules/sass": {
|
||||||
"version": "1.58.0",
|
"version": "1.58.1",
|
||||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.58.0.tgz",
|
"resolved": "https://registry.npmjs.org/sass/-/sass-1.58.1.tgz",
|
||||||
"integrity": "sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg==",
|
"integrity": "sha512-bnINi6nPXbP1XNRaranMFEBZWUfdW/AF16Ql5+ypRxfTvCRTTKrLsMIakyDcayUt2t/RZotmL4kgJwNH5xO+bg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chokidar": ">=3.0.0 <4.0.0",
|
"chokidar": ">=3.0.0 <4.0.0",
|
||||||
@@ -1158,15 +1172,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "4.0.4",
|
"version": "4.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-4.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-4.1.1.tgz",
|
||||||
"integrity": "sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==",
|
"integrity": "sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esbuild": "^0.16.3",
|
"esbuild": "^0.16.14",
|
||||||
"postcss": "^8.4.20",
|
"postcss": "^8.4.21",
|
||||||
"resolve": "^1.22.1",
|
"resolve": "^1.22.1",
|
||||||
"rollup": "^3.7.0"
|
"rollup": "^3.10.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"vite": "bin/vite.js"
|
"vite": "bin/vite.js"
|
||||||
@@ -1229,9 +1243,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@codemirror/autocomplete": {
|
"@codemirror/autocomplete": {
|
||||||
"version": "6.4.0",
|
"version": "6.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.4.1.tgz",
|
||||||
"integrity": "sha512-HLF2PnZAm1s4kGs30EiqKMgD7XsYaQ0XJnMR0rofEWQ5t5D60SfqpDIkIh1ze5tiEbyUWm8+VJ6W1/erVvBMIA==",
|
"integrity": "sha512-06yAmj0FjPZzYOpNeugJtG28GNqU2/CPr34m91Q+fKSyTOR6+hDFiatkPcIkxOlU0K5yP7WH6KoLg3fTqIUgaw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@codemirror/language": "^6.0.0",
|
"@codemirror/language": "^6.0.0",
|
||||||
@@ -1241,9 +1255,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@codemirror/commands": {
|
"@codemirror/commands": {
|
||||||
"version": "6.2.0",
|
"version": "6.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.2.1.tgz",
|
||||||
"integrity": "sha512-+00smmZBradoGFEkRjliN7BjqPh/Hx0KCHWOEibUmflUqZz2RwBTU0MrVovEEHozhx3AUSGcO/rl3/5f9e9Biw==",
|
"integrity": "sha512-FFiNKGuHA5O8uC6IJE5apI5rT9gyjlw4whqy4vlcX0wE/myxL6P1s0upwDhY4HtMWLOwzwsp0ap3bjdQhvfDOA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@codemirror/language": "^6.0.0",
|
"@codemirror/language": "^6.0.0",
|
||||||
@@ -1265,9 +1279,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@codemirror/lang-html": {
|
"@codemirror/lang-html": {
|
||||||
"version": "6.4.1",
|
"version": "6.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.2.tgz",
|
||||||
"integrity": "sha512-9NzhWKAkWEwjXC04DKM6yrHnxIPFTqZNLDhWfZiKLMxUiU++XoHz9n6D5EPp1igBmX0vXcpFb5Kud6XzIJhZ4A==",
|
"integrity": "sha512-bqCBASkteKySwtIbiV/WCtGnn/khLRbbiV5TE+d9S9eQJD7BA4c5dTRm2b3bVmSpilff5EYxvB4PQaZzM/7cNw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@codemirror/autocomplete": "^6.0.0",
|
"@codemirror/autocomplete": "^6.0.0",
|
||||||
@@ -1282,13 +1296,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@codemirror/lang-javascript": {
|
"@codemirror/lang-javascript": {
|
||||||
"version": "6.1.2",
|
"version": "6.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.1.4.tgz",
|
||||||
"integrity": "sha512-OcwLfZXdQ1OHrLiIcKCn7MqZ7nx205CMKlhe+vL88pe2ymhT9+2P+QhwkYGxMICj8TDHyp8HFKVwpiisUT7iEQ==",
|
"integrity": "sha512-OxLf7OfOZBTMRMi6BO/F72MNGmgOd9B0vetOLvHsDACFXayBzW8fm8aWnDM0yuy68wTK03MBf4HbjSBNRG5q7A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@codemirror/autocomplete": "^6.0.0",
|
"@codemirror/autocomplete": "^6.0.0",
|
||||||
"@codemirror/language": "^6.0.0",
|
"@codemirror/language": "^6.6.0",
|
||||||
"@codemirror/lint": "^6.0.0",
|
"@codemirror/lint": "^6.0.0",
|
||||||
"@codemirror/state": "^6.0.0",
|
"@codemirror/state": "^6.0.0",
|
||||||
"@codemirror/view": "^6.0.0",
|
"@codemirror/view": "^6.0.0",
|
||||||
@@ -1296,10 +1310,23 @@
|
|||||||
"@lezer/javascript": "^1.0.0"
|
"@lezer/javascript": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@codemirror/language": {
|
"@codemirror/lang-sql": {
|
||||||
"version": "6.4.0",
|
"version": "6.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@codemirror/lang-sql/-/lang-sql-6.4.0.tgz",
|
||||||
"integrity": "sha512-Wzb7GnNj8vnEtbPWiOy9H0m1fBtE28kepQNGLXekU2EEZv43BF865VKITUn+NoV8OpW6gRtvm29YEhqm46927Q==",
|
"integrity": "sha512-UWGK1+zc9+JtkiT+XxHByp4N6VLgLvC2x0tIudrJG26gyNtn0hWOVoB0A8kh/NABPWkKl3tLWDYf2qOBJS9Zdw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@codemirror/autocomplete": "^6.0.0",
|
||||||
|
"@codemirror/language": "^6.0.0",
|
||||||
|
"@codemirror/state": "^6.0.0",
|
||||||
|
"@lezer/highlight": "^1.0.0",
|
||||||
|
"@lezer/lr": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@codemirror/language": {
|
||||||
|
"version": "6.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.6.0.tgz",
|
||||||
|
"integrity": "sha512-cwUd6lzt3MfNYOobdjf14ZkLbJcnv4WtndYaoBkbor/vF+rCNguMPK0IRtvZJG4dsWiaWPcK8x1VijhvSxnstg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@codemirror/state": "^6.0.0",
|
"@codemirror/state": "^6.0.0",
|
||||||
@@ -1320,9 +1347,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@codemirror/lint": {
|
"@codemirror/lint": {
|
||||||
"version": "6.1.0",
|
"version": "6.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.1.1.tgz",
|
||||||
"integrity": "sha512-mdvDQrjRmYPvQ3WrzF6Ewaao+NWERYtpthJvoQ3tK3t/44Ynhk8ZGjTSL9jMEv8CgSMogmt75X8ceOZRDSXHtQ==",
|
"integrity": "sha512-e+M543x0NVHGayNHQzLP4XByJsvbu/ojY6+0VF2Y4Uu66Rt1nADuxNflZwECLf7gS009smIsptSUa6bUj/U/rw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@codemirror/state": "^6.0.0",
|
"@codemirror/state": "^6.0.0",
|
||||||
@@ -1348,9 +1375,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@codemirror/view": {
|
"@codemirror/view": {
|
||||||
"version": "6.7.3",
|
"version": "6.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.7.3.tgz",
|
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.9.0.tgz",
|
||||||
"integrity": "sha512-Lt+4POnhXrZFfHOdPzXEHxrzwdy7cjqYlMkOWvoFGi6/bAsjzlFfr0NY3B15B/PGx+cDFgM1hlc12wvYeZbGLw==",
|
"integrity": "sha512-uFaqE6fBOp0Dj/tmWoe/TFlSSIPdpAzhvATgbq1eAKRkgq3hY79FioZ7nfdiT+24kz68AIWuSZ9hi3psKe36WQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@codemirror/state": "^6.1.4",
|
"@codemirror/state": "^6.1.4",
|
||||||
@@ -1544,9 +1571,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@lezer/html": {
|
"@lezer/html": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.2.tgz",
|
||||||
"integrity": "sha512-jU/ah8DEoiECLTMouU/X/ujIg6k9WQMIOFMaCLebzaXfrguyGaR3DpTgmk0tbljiuIJ7hlmVJPcJcxGzmCd0Mg==",
|
"integrity": "sha512-LKGyDdqqDugXR/lKM9FwaKEfMerbZ/aqvhLf0P1FLLK/pVP7wKHXGcg6g3cJ7ckvFidn0tXA8jioG0irVsCBAQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@lezer/common": "^1.0.0",
|
"@lezer/common": "^1.0.0",
|
||||||
@@ -1565,9 +1592,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@lezer/lr": {
|
"@lezer/lr": {
|
||||||
"version": "1.3.2",
|
"version": "1.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.3.tgz",
|
||||||
"integrity": "sha512-SDSvnHWMBH6WxoOt51AjuHOiQ0DMxxhfK5lNoyJXuv5POWz6MfXKGU9Fus9tK8NqrI1sSBNdKtG5cUXXZtGG5w==",
|
"integrity": "sha512-JPQe3mwJlzEVqy67iQiiGozhcngbO8QBgpqZM6oL1Wj/dXckrEexpBLeFkq0edtW5IqnPRFxA24BHJni8Js69w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@lezer/common": "^1.0.0"
|
"@lezer/common": "^1.0.0"
|
||||||
@@ -1628,9 +1655,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"chartjs-adapter-luxon": {
|
"chartjs-adapter-luxon": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/chartjs-adapter-luxon/-/chartjs-adapter-luxon-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/chartjs-adapter-luxon/-/chartjs-adapter-luxon-1.3.1.tgz",
|
||||||
"integrity": "sha512-TPqS8S7aw4a07LhFzG5DZU6Kduk1xFkaGTn8y/gfhBRvfyCkqnwFqfXqG9Gl+gmnj5DRXgPscApJUE6bsgzKjQ==",
|
"integrity": "sha512-yxHov3X8y+reIibl1o+j18xzrcdddCLqsXhriV2+aQ4hCR66IYFchlRXUvrJVoxglJ380pgytU7YWtoqdIgqhg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
@@ -1748,9 +1775,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"immutable": {
|
"immutable": {
|
||||||
"version": "4.2.2",
|
"version": "4.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.4.tgz",
|
||||||
"integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==",
|
"integrity": "sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"is-binary-path": {
|
"is-binary-path": {
|
||||||
@@ -1850,9 +1877,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"pocketbase": {
|
"pocketbase": {
|
||||||
"version": "0.10.1",
|
"version": "0.10.2",
|
||||||
"resolved": "https://registry.npmjs.org/pocketbase/-/pocketbase-0.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/pocketbase/-/pocketbase-0.10.2.tgz",
|
||||||
"integrity": "sha512-FMBhF+9o2AmdKJYbfz2qunnk4Q5/efYMRcukdQF49UfhsIuaSYl39fSPN1l880bYI4XAvDDeySAjK1MlxrK37A==",
|
"integrity": "sha512-728aVaPLhSwOyEqZ4+GJfqg1SHUAyokvErsOksxauvOXiRE/QSCn8s6bW1/KyU3NGqz248eBjUQY3aLwTV/CcA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
@@ -1899,9 +1926,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rollup": {
|
"rollup": {
|
||||||
"version": "3.12.1",
|
"version": "3.15.0",
|
||||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.12.1.tgz",
|
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.15.0.tgz",
|
||||||
"integrity": "sha512-t9elERrz2i4UU9z7AwISj3CQcXP39cWxgRWLdf4Tm6aKm1eYrqHIgjzXBgb67GNY1sZckTFFi0oMozh3/S++Ig==",
|
"integrity": "sha512-F9hrCAhnp5/zx/7HYmftvsNBkMfLfk/dXUh73hPSM2E3CRgap65orDNJbLetoiUFwSAk6iHPLvBrZ5iHYvzqsg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"fsevents": "~2.3.2"
|
"fsevents": "~2.3.2"
|
||||||
@@ -1914,9 +1941,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"sass": {
|
"sass": {
|
||||||
"version": "1.58.0",
|
"version": "1.58.1",
|
||||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.58.0.tgz",
|
"resolved": "https://registry.npmjs.org/sass/-/sass-1.58.1.tgz",
|
||||||
"integrity": "sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg==",
|
"integrity": "sha512-bnINi6nPXbP1XNRaranMFEBZWUfdW/AF16Ql5+ypRxfTvCRTTKrLsMIakyDcayUt2t/RZotmL4kgJwNH5xO+bg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"chokidar": ">=3.0.0 <4.0.0",
|
"chokidar": ">=3.0.0 <4.0.0",
|
||||||
@@ -1983,16 +2010,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vite": {
|
"vite": {
|
||||||
"version": "4.0.4",
|
"version": "4.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-4.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-4.1.1.tgz",
|
||||||
"integrity": "sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==",
|
"integrity": "sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"esbuild": "^0.16.3",
|
"esbuild": "^0.16.14",
|
||||||
"fsevents": "~2.3.2",
|
"fsevents": "~2.3.2",
|
||||||
"postcss": "^8.4.20",
|
"postcss": "^8.4.21",
|
||||||
"resolve": "^1.22.1",
|
"resolve": "^1.22.1",
|
||||||
"rollup": "^3.7.0"
|
"rollup": "^3.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vitefu": {
|
"vitefu": {
|
||||||
|
|||||||
+2
-1
@@ -17,6 +17,7 @@
|
|||||||
"@codemirror/commands": "^6.0.0",
|
"@codemirror/commands": "^6.0.0",
|
||||||
"@codemirror/lang-html": "^6.1.0",
|
"@codemirror/lang-html": "^6.1.0",
|
||||||
"@codemirror/lang-javascript": "^6.0.2",
|
"@codemirror/lang-javascript": "^6.0.2",
|
||||||
|
"@codemirror/lang-sql": "^6.4.0",
|
||||||
"@codemirror/language": "^6.0.0",
|
"@codemirror/language": "^6.0.0",
|
||||||
"@codemirror/legacy-modes": "^6.0.0",
|
"@codemirror/legacy-modes": "^6.0.0",
|
||||||
"@codemirror/search": "^6.0.0",
|
"@codemirror/search": "^6.0.0",
|
||||||
@@ -27,7 +28,7 @@
|
|||||||
"chart.js": "^3.7.1",
|
"chart.js": "^3.7.1",
|
||||||
"chartjs-adapter-luxon": "^1.2.0",
|
"chartjs-adapter-luxon": "^1.2.0",
|
||||||
"luxon": "^2.3.2",
|
"luxon": "^2.3.2",
|
||||||
"pocketbase": "^0.10.0",
|
"pocketbase": "^0.10.2",
|
||||||
"prismjs": "^1.28.0",
|
"prismjs": "^1.28.0",
|
||||||
"sass": "^1.45.0",
|
"sass": "^1.45.0",
|
||||||
"svelte": "^3.44.0",
|
"svelte": "^3.44.0",
|
||||||
|
|||||||
@@ -142,10 +142,10 @@
|
|||||||
|
|
||||||
<form id={formId} class="grid" autocomplete="off" on:submit|preventDefault={save}>
|
<form id={formId} class="grid" autocomplete="off" on:submit|preventDefault={save}>
|
||||||
{#if !admin.isNew}
|
{#if !admin.isNew}
|
||||||
<Field class="form-field disabled" name="id" let:uniqueId>
|
<Field class="form-field readonly" name="id" let:uniqueId>
|
||||||
<label for={uniqueId}>
|
<label for={uniqueId}>
|
||||||
<i class={CommonHelper.getFieldTypeIcon("primary")} />
|
<i class={CommonHelper.getFieldTypeIcon("primary")} />
|
||||||
<span class="txt">ID</span>
|
<span class="txt">id</span>
|
||||||
</label>
|
</label>
|
||||||
<div class="form-field-addon">
|
<div class="form-field-addon">
|
||||||
<i
|
<i
|
||||||
@@ -156,7 +156,7 @@
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<input type="text" id={uniqueId} value={admin.id} disabled />
|
<input type="text" id={uniqueId} value={admin.id} readonly />
|
||||||
</Field>
|
</Field>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
|
|||||||
@@ -53,13 +53,17 @@
|
|||||||
closeBracketsKeymap,
|
closeBracketsKeymap,
|
||||||
} from "@codemirror/autocomplete";
|
} from "@codemirror/autocomplete";
|
||||||
import { html as htmlLang } from "@codemirror/lang-html";
|
import { html as htmlLang } from "@codemirror/lang-html";
|
||||||
|
import { sql, SQLDialect } from "@codemirror/lang-sql";
|
||||||
import { javascript as javascriptLang } from "@codemirror/lang-javascript";
|
import { javascript as javascriptLang } from "@codemirror/lang-javascript";
|
||||||
// ---
|
// ---
|
||||||
|
import CommonHelper from "@/utils/CommonHelper";
|
||||||
|
import { collections } from "@/stores/collections";
|
||||||
|
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
export let id = "";
|
export let id = "";
|
||||||
export let value = "";
|
export let value = "";
|
||||||
|
export let minHeight = null;
|
||||||
export let maxHeight = null;
|
export let maxHeight = null;
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let placeholder = "";
|
export let placeholder = "";
|
||||||
@@ -123,6 +127,8 @@
|
|||||||
bubbles: true,
|
bubbles: true,
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
dispatch("change", value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove any attached label listeners.
|
// Remove any attached label listeners.
|
||||||
@@ -153,7 +159,33 @@
|
|||||||
|
|
||||||
// Returns the current active editor language.
|
// Returns the current active editor language.
|
||||||
function getEditorLang() {
|
function getEditorLang() {
|
||||||
return language === "html" ? htmlLang() : javascriptLang();
|
switch (language) {
|
||||||
|
case "html":
|
||||||
|
return htmlLang();
|
||||||
|
case "sql":
|
||||||
|
let schema = {};
|
||||||
|
for (let collection of $collections) {
|
||||||
|
schema[collection.name] = CommonHelper.getAllCollectionIdentifiers(collection);
|
||||||
|
}
|
||||||
|
|
||||||
|
return sql({
|
||||||
|
// lightweight sql dialect with mostly SELECT statements keywords
|
||||||
|
dialect: SQLDialect.define({
|
||||||
|
keywords:
|
||||||
|
"select from where having group by order limit offset join left right inner with like not in match asc desc regexp isnull notnull glob " +
|
||||||
|
"count avg sum min max current random cast as int real text " +
|
||||||
|
"date time datetime unixepoch strftime coalesce lower upper substr " +
|
||||||
|
"case when then iif if else json_extract json_each json_tree json_array_length json_valid ",
|
||||||
|
operatorChars: "*+-%<>!=&|/~",
|
||||||
|
identifierQuotes: '`"',
|
||||||
|
specialVar: "@:?$",
|
||||||
|
}),
|
||||||
|
schema: schema,
|
||||||
|
upperCaseKeywords: true,
|
||||||
|
});
|
||||||
|
default:
|
||||||
|
return javascriptLang();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onMount(() => {
|
onMount(() => {
|
||||||
@@ -222,4 +254,9 @@
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div bind:this={container} class="code-editor" style:max-height={maxHeight ? maxHeight + "px" : "auto"} />
|
<div
|
||||||
|
bind:this={container}
|
||||||
|
class="code-editor"
|
||||||
|
style:min-height={minHeight ? minHeight + "px" : null}
|
||||||
|
style:max-height={maxHeight ? maxHeight + "px" : "auto"}
|
||||||
|
/>
|
||||||
@@ -217,25 +217,11 @@
|
|||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
let result = [
|
let result = CommonHelper.getAllCollectionIdentifiers(collection, prefix);
|
||||||
// base model fields
|
|
||||||
prefix + "id",
|
|
||||||
prefix + "created",
|
|
||||||
prefix + "updated",
|
|
||||||
];
|
|
||||||
|
|
||||||
if (collection.isAuth) {
|
|
||||||
result.push(prefix + "username");
|
|
||||||
result.push(prefix + "email");
|
|
||||||
result.push(prefix + "emailVisibility");
|
|
||||||
result.push(prefix + "verified");
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const field of collection.schema) {
|
for (const field of collection.schema) {
|
||||||
const key = prefix + field.name;
|
const key = prefix + field.name;
|
||||||
|
|
||||||
result.push(key);
|
|
||||||
|
|
||||||
// add relation fields
|
// add relation fields
|
||||||
if (field.type === "relation" && field.options?.collectionId) {
|
if (field.type === "relation" && field.options?.collectionId) {
|
||||||
const subKeys = getCollectionFieldKeys(field.options.collectionId, key + ".", level + 1);
|
const subKeys = getCollectionFieldKeys(field.options.collectionId, key + ".", level + 1);
|
||||||
|
|||||||
@@ -93,6 +93,12 @@
|
|||||||
if (!collection?.options.allowOAuth2Auth) {
|
if (!collection?.options.allowOAuth2Auth) {
|
||||||
delete tabs["auth-with-oauth2"];
|
delete tabs["auth-with-oauth2"];
|
||||||
}
|
}
|
||||||
|
} else if (collection.isView) {
|
||||||
|
tabs = Object.assign({}, baseTabs);
|
||||||
|
delete tabs.create;
|
||||||
|
delete tabs.update;
|
||||||
|
delete tabs.delete;
|
||||||
|
delete tabs.realtime;
|
||||||
} else {
|
} else {
|
||||||
tabs = Object.assign({}, baseTabs);
|
tabs = Object.assign({}, baseTabs);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,105 @@
|
|||||||
|
<script>
|
||||||
|
import { onMount } from "svelte";
|
||||||
|
import { Collection } from "pocketbase";
|
||||||
|
import { errors, removeError } from "@/stores/errors";
|
||||||
|
import CommonHelper from "@/utils/CommonHelper";
|
||||||
|
import Field from "@/components/base/Field.svelte";
|
||||||
|
|
||||||
|
export let collection = new Collection();
|
||||||
|
|
||||||
|
let codeEditorComponent;
|
||||||
|
let isCodeEditorComponentLoading = false;
|
||||||
|
let schemaErrors = [];
|
||||||
|
|
||||||
|
$: checkSchemaErrors($errors);
|
||||||
|
|
||||||
|
function checkSchemaErrors(errs) {
|
||||||
|
schemaErrors = [];
|
||||||
|
|
||||||
|
const raw = CommonHelper.getNestedVal(errs, "schema", null);
|
||||||
|
|
||||||
|
if (CommonHelper.isEmpty(raw)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// generic schema error
|
||||||
|
// ---
|
||||||
|
if (raw?.message) {
|
||||||
|
schemaErrors.push(raw?.message);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// schema fields error
|
||||||
|
// ---
|
||||||
|
const columns = CommonHelper.extractColumnsFromQuery(collection?.options?.query);
|
||||||
|
// remove base system fields
|
||||||
|
CommonHelper.removeByValue(columns, "id");
|
||||||
|
CommonHelper.removeByValue(columns, "created");
|
||||||
|
CommonHelper.removeByValue(columns, "updated");
|
||||||
|
|
||||||
|
for (let idx in raw) {
|
||||||
|
for (let key in raw[idx]) {
|
||||||
|
const message = raw[idx][key].message;
|
||||||
|
const fieldName = columns[idx] || idx;
|
||||||
|
|
||||||
|
schemaErrors.push(CommonHelper.sentenize(fieldName + ": " + message));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onMount(async () => {
|
||||||
|
isCodeEditorComponentLoading = true;
|
||||||
|
|
||||||
|
try {
|
||||||
|
codeEditorComponent = (await import("@/components/base/CodeEditor.svelte")).default;
|
||||||
|
} catch (err) {
|
||||||
|
console.warn(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
isCodeEditorComponentLoading = false;
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<Field class="form-field required {schemaErrors.length ? 'error' : ''}" name="options.query" let:uniqueId>
|
||||||
|
<label for={uniqueId}>Select query</label>
|
||||||
|
|
||||||
|
{#if isCodeEditorComponentLoading}
|
||||||
|
<textarea disabled rows="7" placeholder="Loading..." />
|
||||||
|
{:else}
|
||||||
|
<svelte:component
|
||||||
|
this={codeEditorComponent}
|
||||||
|
id={uniqueId}
|
||||||
|
placeholder="eg. SELECT id, name from posts"
|
||||||
|
language="sql"
|
||||||
|
minHeight="150"
|
||||||
|
on:change={() => {
|
||||||
|
if (schemaErrors.length) {
|
||||||
|
removeError("schema");
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
bind:value={collection.options.query}
|
||||||
|
/>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
<div class="help-block">
|
||||||
|
<ul>
|
||||||
|
<li>Wildcard (<code>*</code>) columns are not supported.</li>
|
||||||
|
<li>
|
||||||
|
The query must have a unique <code>id</code> column.
|
||||||
|
<br />
|
||||||
|
If your query doesn't have a suitable one, you can use
|
||||||
|
<code>(ROW_NUMBER() OVER()) as id</code>.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{#if schemaErrors.length}
|
||||||
|
<div class="help-block help-block-error">
|
||||||
|
<div class="content">
|
||||||
|
{#each schemaErrors as err}
|
||||||
|
<p>{err}</p>
|
||||||
|
{/each}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
</Field>
|
||||||
@@ -1,10 +1,13 @@
|
|||||||
<script>
|
<script>
|
||||||
import { slide } from "svelte/transition";
|
import { slide } from "svelte/transition";
|
||||||
import { Collection } from "pocketbase";
|
import { Collection } from "pocketbase";
|
||||||
|
import CommonHelper from "@/utils/CommonHelper";
|
||||||
import RuleField from "@/components/collections/RuleField.svelte";
|
import RuleField from "@/components/collections/RuleField.svelte";
|
||||||
|
|
||||||
export let collection = new Collection();
|
export let collection = new Collection();
|
||||||
|
|
||||||
|
$: fields = CommonHelper.getAllCollectionIdentifiers(collection);
|
||||||
|
|
||||||
let showFiltersInfo = false;
|
let showFiltersInfo = false;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -31,15 +34,8 @@
|
|||||||
<div class="content">
|
<div class="content">
|
||||||
<p class="m-b-0">The following record fields are available:</p>
|
<p class="m-b-0">The following record fields are available:</p>
|
||||||
<div class="inline-flex flex-gap-5">
|
<div class="inline-flex flex-gap-5">
|
||||||
<code>id</code>
|
{#each fields as name}
|
||||||
<code>created</code>
|
<code>{name}</code>
|
||||||
<code>updated</code>
|
|
||||||
{#each collection.schema as field}
|
|
||||||
{#if field.type === "relation" || field.type === "user"}
|
|
||||||
<code>{field.name}.*</code>
|
|
||||||
{:else}
|
|
||||||
<code>{field.name}</code>
|
|
||||||
{/if}
|
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -84,14 +80,16 @@
|
|||||||
<hr class="m-t-sm m-b-sm" />
|
<hr class="m-t-sm m-b-sm" />
|
||||||
<RuleField label="View action" formKey="viewRule" {collection} bind:rule={collection.viewRule} />
|
<RuleField label="View action" formKey="viewRule" {collection} bind:rule={collection.viewRule} />
|
||||||
|
|
||||||
<hr class="m-t-sm m-b-sm" />
|
{#if !collection?.isView}
|
||||||
<RuleField label="Create action" formKey="createRule" {collection} bind:rule={collection.createRule} />
|
<hr class="m-t-sm m-b-sm" />
|
||||||
|
<RuleField label="Create action" formKey="createRule" {collection} bind:rule={collection.createRule} />
|
||||||
|
|
||||||
<hr class="m-t-sm m-b-sm" />
|
<hr class="m-t-sm m-b-sm" />
|
||||||
<RuleField label="Update action" formKey="updateRule" {collection} bind:rule={collection.updateRule} />
|
<RuleField label="Update action" formKey="updateRule" {collection} bind:rule={collection.updateRule} />
|
||||||
|
|
||||||
<hr class="m-t-sm m-b-sm" />
|
<hr class="m-t-sm m-b-sm" />
|
||||||
<RuleField label="Delete action" formKey="deleteRule" {collection} bind:rule={collection.deleteRule} />
|
<RuleField label="Delete action" formKey="deleteRule" {collection} bind:rule={collection.deleteRule} />
|
||||||
|
{/if}
|
||||||
|
|
||||||
{#if collection?.isAuth}
|
{#if collection?.isAuth}
|
||||||
<hr class="m-t-sm m-b-sm" />
|
<hr class="m-t-sm m-b-sm" />
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
$: deletedFields = collection?.schema.filter((field) => field.id && field.toDelete) || [];
|
$: deletedFields = collection?.schema.filter((field) => field.id && field.toDelete) || [];
|
||||||
|
|
||||||
|
$: showChanges = isCollectionRenamed || !collection?.isView;
|
||||||
|
|
||||||
export async function show(collectionToCheck) {
|
export async function show(collectionToCheck) {
|
||||||
collection = collectionToCheck;
|
collection = collectionToCheck;
|
||||||
|
|
||||||
@@ -50,8 +52,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="content txt-bold">
|
<div class="content txt-bold">
|
||||||
<p>
|
<p>
|
||||||
If any of the following changes is part of another collection rule or filter, you'll have to
|
If any of the collection changes is part of another collection rule, filter or view query,
|
||||||
update it manually!
|
you'll have to update it manually!
|
||||||
</p>
|
</p>
|
||||||
{#if deletedFields.length}
|
{#if deletedFields.length}
|
||||||
<p>All data associated with the removed fields will be permanently deleted!</p>
|
<p>All data associated with the removed fields will be permanently deleted!</p>
|
||||||
@@ -59,36 +61,40 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h6>Changes:</h6>
|
{#if showChanges}
|
||||||
<ul class="changes-list">
|
<h6>Changes:</h6>
|
||||||
{#if isCollectionRenamed}
|
<ul class="changes-list">
|
||||||
<li>
|
{#if isCollectionRenamed}
|
||||||
<div class="inline-flex">
|
<li>
|
||||||
Renamed collection
|
<div class="inline-flex">
|
||||||
<strong class="txt-strikethrough txt-hint">{collection.originalName}</strong>
|
Renamed collection
|
||||||
<i class="ri-arrow-right-line txt-sm" />
|
<strong class="txt-strikethrough txt-hint">{collection.originalName}</strong>
|
||||||
<strong class="txt"> {collection.name}</strong>
|
<i class="ri-arrow-right-line txt-sm" />
|
||||||
</div>
|
<strong class="txt"> {collection.name}</strong>
|
||||||
</li>
|
</div>
|
||||||
{/if}
|
</li>
|
||||||
|
{/if}
|
||||||
|
|
||||||
{#each renamedFields as field}
|
{#if !collection?.isView}
|
||||||
<li>
|
{#each renamedFields as field}
|
||||||
<div class="inline-flex">
|
<li>
|
||||||
Renamed field
|
<div class="inline-flex">
|
||||||
<strong class="txt-strikethrough txt-hint">{field.originalName}</strong>
|
Renamed field
|
||||||
<i class="ri-arrow-right-line txt-sm" />
|
<strong class="txt-strikethrough txt-hint">{field.originalName}</strong>
|
||||||
<strong class="txt"> {field.name}</strong>
|
<i class="ri-arrow-right-line txt-sm" />
|
||||||
</div>
|
<strong class="txt"> {field.name}</strong>
|
||||||
</li>
|
</div>
|
||||||
{/each}
|
</li>
|
||||||
|
{/each}
|
||||||
|
|
||||||
{#each deletedFields as field}
|
{#each deletedFields as field}
|
||||||
<li class="txt-danger">
|
<li class="txt-danger">
|
||||||
Removed field <span class="txt-bold">{field.name}</span>
|
Removed field <span class="txt-bold">{field.name}</span>
|
||||||
</li>
|
</li>
|
||||||
{/each}
|
{/each}
|
||||||
</ul>
|
{/if}
|
||||||
|
</ul>
|
||||||
|
{/if}
|
||||||
|
|
||||||
<svelte:fragment slot="footer">
|
<svelte:fragment slot="footer">
|
||||||
<!-- svelte-ignore a11y-autofocus -->
|
<!-- svelte-ignore a11y-autofocus -->
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { Collection } from "pocketbase";
|
|
||||||
import { createEventDispatcher, tick } from "svelte";
|
import { createEventDispatcher, tick } from "svelte";
|
||||||
import { scale } from "svelte/transition";
|
import { scale } from "svelte/transition";
|
||||||
|
import { Collection } from "pocketbase";
|
||||||
import CommonHelper from "@/utils/CommonHelper";
|
import CommonHelper from "@/utils/CommonHelper";
|
||||||
import ApiClient from "@/utils/ApiClient";
|
import ApiClient from "@/utils/ApiClient";
|
||||||
import { errors, setErrors, removeError } from "@/stores/errors";
|
import { errors, setErrors, removeError } from "@/stores/errors";
|
||||||
@@ -14,18 +14,21 @@
|
|||||||
import OverlayPanel from "@/components/base/OverlayPanel.svelte";
|
import OverlayPanel from "@/components/base/OverlayPanel.svelte";
|
||||||
import CollectionFieldsTab from "@/components/collections/CollectionFieldsTab.svelte";
|
import CollectionFieldsTab from "@/components/collections/CollectionFieldsTab.svelte";
|
||||||
import CollectionRulesTab from "@/components/collections/CollectionRulesTab.svelte";
|
import CollectionRulesTab from "@/components/collections/CollectionRulesTab.svelte";
|
||||||
|
import CollectionQueryTab from "@/components/collections/CollectionQueryTab.svelte";
|
||||||
import CollectionAuthOptionsTab from "@/components/collections/CollectionAuthOptionsTab.svelte";
|
import CollectionAuthOptionsTab from "@/components/collections/CollectionAuthOptionsTab.svelte";
|
||||||
import CollectionUpdateConfirm from "@/components/collections/CollectionUpdateConfirm.svelte";
|
import CollectionUpdateConfirm from "@/components/collections/CollectionUpdateConfirm.svelte";
|
||||||
|
|
||||||
const TAB_FIELDS = "fields";
|
const TAB_SCHEMA = "schema";
|
||||||
const TAB_RULES = "api_rules";
|
const TAB_RULES = "api_rules";
|
||||||
const TAB_OPTIONS = "options";
|
const TAB_OPTIONS = "options";
|
||||||
|
|
||||||
const TYPE_BASE = "base";
|
const TYPE_BASE = "base";
|
||||||
const TYPE_AUTH = "auth";
|
const TYPE_AUTH = "auth";
|
||||||
|
const TYPE_VIEW = "view";
|
||||||
|
|
||||||
const collectionTypes = {};
|
const collectionTypes = {};
|
||||||
collectionTypes[TYPE_BASE] = "Base";
|
collectionTypes[TYPE_BASE] = "Base";
|
||||||
|
collectionTypes[TYPE_VIEW] = "View";
|
||||||
collectionTypes[TYPE_AUTH] = "Auth";
|
collectionTypes[TYPE_AUTH] = "Auth";
|
||||||
|
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
@@ -37,14 +40,16 @@
|
|||||||
let collection = new Collection();
|
let collection = new Collection();
|
||||||
let isSaving = false;
|
let isSaving = false;
|
||||||
let confirmClose = false; // prevent close recursion
|
let confirmClose = false; // prevent close recursion
|
||||||
let activeTab = TAB_FIELDS;
|
let activeTab = TAB_SCHEMA;
|
||||||
let initialFormHash = calculateFormHash(collection);
|
let initialFormHash = calculateFormHash(collection);
|
||||||
|
let schemaTabError = "";
|
||||||
|
|
||||||
$: schemaTabError =
|
$: if ($errors.schema || $errors.options?.query) {
|
||||||
// extract the direct schema field error, otherwise - return a generic message
|
// extract the direct schema field error, otherwise - return a generic message
|
||||||
typeof CommonHelper.getNestedVal($errors, "schema.message", null) === "string"
|
schemaTabError = CommonHelper.getNestedVal($errors, "schema.message") || "Has errors";
|
||||||
? CommonHelper.getNestedVal($errors, "schema.message")
|
} else {
|
||||||
: "Has errors";
|
schemaTabError = "";
|
||||||
|
}
|
||||||
|
|
||||||
$: isSystemUpdate = !collection.isNew && collection.system;
|
$: isSystemUpdate = !collection.isNew && collection.system;
|
||||||
|
|
||||||
@@ -54,7 +59,7 @@
|
|||||||
|
|
||||||
$: if (activeTab === TAB_OPTIONS && collection.type !== TYPE_AUTH) {
|
$: if (activeTab === TAB_OPTIONS && collection.type !== TYPE_AUTH) {
|
||||||
// reset selected tab
|
// reset selected tab
|
||||||
changeTab(TAB_FIELDS);
|
changeTab(TAB_SCHEMA);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function changeTab(newTab) {
|
export function changeTab(newTab) {
|
||||||
@@ -66,7 +71,7 @@
|
|||||||
|
|
||||||
confirmClose = true;
|
confirmClose = true;
|
||||||
|
|
||||||
changeTab(TAB_FIELDS);
|
changeTab(TAB_SCHEMA);
|
||||||
|
|
||||||
return collectionPanel?.show();
|
return collectionPanel?.show();
|
||||||
}
|
}
|
||||||
@@ -301,7 +306,7 @@
|
|||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
class="btn btn-sm p-r-10 p-l-10 {collection.isNew
|
class="btn btn-sm p-r-10 p-l-10 {collection.isNew
|
||||||
? 'btn-secondary'
|
? 'btn-outline'
|
||||||
: 'btn-transparent'}"
|
: 'btn-transparent'}"
|
||||||
disabled={!collection.isNew}
|
disabled={!collection.isNew}
|
||||||
>
|
>
|
||||||
@@ -339,11 +344,11 @@
|
|||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
class="tab-item"
|
class="tab-item"
|
||||||
class:active={activeTab === TAB_FIELDS}
|
class:active={activeTab === TAB_SCHEMA}
|
||||||
on:click={() => changeTab(TAB_FIELDS)}
|
on:click={() => changeTab(TAB_SCHEMA)}
|
||||||
>
|
>
|
||||||
<span class="txt">Fields</span>
|
<span class="txt">{collection?.isView ? "Query" : "Fields"}</span>
|
||||||
{#if !CommonHelper.isEmpty($errors?.schema)}
|
{#if !CommonHelper.isEmpty(schemaTabError)}
|
||||||
<i
|
<i
|
||||||
class="ri-error-warning-fill txt-danger"
|
class="ri-error-warning-fill txt-danger"
|
||||||
transition:scale|local={{ duration: 150, start: 0.7 }}
|
transition:scale|local={{ duration: 150, start: 0.7 }}
|
||||||
@@ -390,8 +395,12 @@
|
|||||||
|
|
||||||
<div class="tabs-content">
|
<div class="tabs-content">
|
||||||
<!-- avoid rerendering the fields tab -->
|
<!-- avoid rerendering the fields tab -->
|
||||||
<div class="tab-item" class:active={activeTab === TAB_FIELDS}>
|
<div class="tab-item" class:active={activeTab === TAB_SCHEMA}>
|
||||||
<CollectionFieldsTab bind:collection />
|
{#if collection.isView}
|
||||||
|
<CollectionQueryTab bind:collection />
|
||||||
|
{:else}
|
||||||
|
<CollectionFieldsTab bind:collection />
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{#if activeTab === TAB_RULES}
|
{#if activeTab === TAB_RULES}
|
||||||
@@ -431,7 +440,7 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
min-height: var(--smBtnHeight);
|
min-height: var(--smBtnHeight);
|
||||||
}
|
}
|
||||||
.tabs-content {
|
.tabs-content:focus-within {
|
||||||
z-index: 3; /* autocomplete dropdown overlay fix */
|
z-index: 9; /* autocomplete dropdown overlay fix */
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -8,21 +8,21 @@
|
|||||||
let collectionPanel;
|
let collectionPanel;
|
||||||
let searchTerm = "";
|
let searchTerm = "";
|
||||||
|
|
||||||
|
$: if ($collections) {
|
||||||
|
scrollIntoView();
|
||||||
|
}
|
||||||
|
|
||||||
$: normalizedSearch = searchTerm.replace(/\s+/g, "").toLowerCase();
|
$: normalizedSearch = searchTerm.replace(/\s+/g, "").toLowerCase();
|
||||||
|
|
||||||
$: hasSearch = searchTerm !== "";
|
$: hasSearch = searchTerm !== "";
|
||||||
|
|
||||||
$: filteredCollections = $collections.filter((collection) => {
|
$: filtered = $collections.filter((collection) => {
|
||||||
return (
|
return (
|
||||||
collection.id == searchTerm ||
|
collection.id == searchTerm ||
|
||||||
collection.name.replace(/\s+/g, "").toLowerCase().includes(normalizedSearch)
|
collection.name.replace(/\s+/g, "").toLowerCase().includes(normalizedSearch)
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
$: if ($collections) {
|
|
||||||
scrollIntoView();
|
|
||||||
}
|
|
||||||
|
|
||||||
function selectCollection(collection) {
|
function selectCollection(collection) {
|
||||||
$activeCollection = collection;
|
$activeCollection = collection;
|
||||||
}
|
}
|
||||||
@@ -59,9 +59,9 @@
|
|||||||
<div
|
<div
|
||||||
class="sidebar-content"
|
class="sidebar-content"
|
||||||
class:fade={$isCollectionsLoading}
|
class:fade={$isCollectionsLoading}
|
||||||
class:sidebar-content-compact={filteredCollections.length > 20}
|
class:sidebar-content-compact={filtered.length > 20}
|
||||||
>
|
>
|
||||||
{#each filteredCollections as collection (collection.id)}
|
{#each filtered as collection (collection.id)}
|
||||||
<a
|
<a
|
||||||
href="/collections?collectionId={collection.id}"
|
href="/collections?collectionId={collection.id}"
|
||||||
class="sidebar-list-item"
|
class="sidebar-list-item"
|
||||||
@@ -69,7 +69,6 @@
|
|||||||
use:link
|
use:link
|
||||||
>
|
>
|
||||||
<i class={CommonHelper.getCollectionTypeIcon(collection.type)} />
|
<i class={CommonHelper.getCollectionTypeIcon(collection.type)} />
|
||||||
|
|
||||||
<span class="txt">{collection.name}</span>
|
<span class="txt">{collection.name}</span>
|
||||||
</a>
|
</a>
|
||||||
{:else}
|
{:else}
|
||||||
|
|||||||
@@ -206,7 +206,7 @@
|
|||||||
<div class="grid">
|
<div class="grid">
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<Field
|
<Field
|
||||||
class="form-field required {field.id ? 'disabled' : ''}"
|
class="form-field required {field.id ? 'readonly' : ''}"
|
||||||
name="schema.{key}.type"
|
name="schema.{key}.type"
|
||||||
let:uniqueId
|
let:uniqueId
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -114,9 +114,9 @@
|
|||||||
right: 0px;
|
right: 0px;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
min-width: 135px;
|
min-width: 135px;
|
||||||
padding: 10px 10px;
|
padding: 10px;
|
||||||
border-top-left-radius: 0;
|
border-top-left-radius: 0;
|
||||||
border-bottom-right-radius: 0;
|
border-bottom-right-radius: 0;
|
||||||
background: rgba(53, 71, 104, 0.1);
|
background: rgba(53, 71, 104, 0.08);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
<h4>Request log</h4>
|
<h4>Request log</h4>
|
||||||
</svelte:fragment>
|
</svelte:fragment>
|
||||||
|
|
||||||
<table class="table-compact table-border">
|
<table class="table-border">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="min-width txt-hint txt-bold">ID</td>
|
<td class="min-width txt-hint txt-bold">ID</td>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { replace, querystring } from "svelte-spa-router";
|
import { replace, querystring } from "svelte-spa-router";
|
||||||
|
import CommonHelper from "@/utils/CommonHelper";
|
||||||
import {
|
import {
|
||||||
collections,
|
collections,
|
||||||
activeCollection,
|
activeCollection,
|
||||||
@@ -16,16 +17,18 @@
|
|||||||
import CollectionUpsertPanel from "@/components/collections/CollectionUpsertPanel.svelte";
|
import CollectionUpsertPanel from "@/components/collections/CollectionUpsertPanel.svelte";
|
||||||
import CollectionDocsPanel from "@/components/collections/CollectionDocsPanel.svelte";
|
import CollectionDocsPanel from "@/components/collections/CollectionDocsPanel.svelte";
|
||||||
import RecordUpsertPanel from "@/components/records/RecordUpsertPanel.svelte";
|
import RecordUpsertPanel from "@/components/records/RecordUpsertPanel.svelte";
|
||||||
|
import RecordPreviewPanel from "@/components/records/RecordPreviewPanel.svelte";
|
||||||
import RecordsList from "@/components/records/RecordsList.svelte";
|
import RecordsList from "@/components/records/RecordsList.svelte";
|
||||||
|
|
||||||
const queryParams = new URLSearchParams($querystring);
|
const queryParams = new URLSearchParams($querystring);
|
||||||
|
|
||||||
let collectionUpsertPanel;
|
let collectionUpsertPanel;
|
||||||
let collectionDocsPanel;
|
let collectionDocsPanel;
|
||||||
let recordPanel;
|
let recordUpsertPanel;
|
||||||
|
let recordPreviewPanel;
|
||||||
let recordsList;
|
let recordsList;
|
||||||
let filter = queryParams.get("filter") || "";
|
let filter = queryParams.get("filter") || "";
|
||||||
let sort = queryParams.get("sort") || "-created";
|
let sort = queryParams.get("sort") || "";
|
||||||
let selectedCollectionId = queryParams.get("collectionId") || $activeCollection?.id;
|
let selectedCollectionId = queryParams.get("collectionId") || $activeCollection?.id;
|
||||||
|
|
||||||
$: reactiveParams = new URLSearchParams($querystring);
|
$: reactiveParams = new URLSearchParams($querystring);
|
||||||
@@ -56,9 +59,17 @@
|
|||||||
$: $pageTitle = $activeCollection?.name || "Collections";
|
$: $pageTitle = $activeCollection?.name || "Collections";
|
||||||
|
|
||||||
function reset() {
|
function reset() {
|
||||||
selectedCollectionId = $activeCollection.id;
|
selectedCollectionId = $activeCollection?.id;
|
||||||
sort = "-created";
|
|
||||||
filter = "";
|
filter = "";
|
||||||
|
sort = "-created";
|
||||||
|
|
||||||
|
// clear default sort if created field is not available
|
||||||
|
if (
|
||||||
|
$activeCollection?.isView &&
|
||||||
|
!CommonHelper.extractColumnsFromQuery($activeCollection.options.query).includes("created")
|
||||||
|
) {
|
||||||
|
sort = "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
loadCollections(selectedCollectionId);
|
loadCollections(selectedCollectionId);
|
||||||
@@ -128,10 +139,12 @@
|
|||||||
<span class="txt">API Preview</span>
|
<span class="txt">API Preview</span>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button type="button" class="btn btn-expanded" on:click={() => recordPanel?.show()}>
|
{#if !$activeCollection.isView}
|
||||||
<i class="ri-add-line" />
|
<button type="button" class="btn btn-expanded" on:click={() => recordUpsertPanel?.show()}>
|
||||||
<span class="txt">New record</span>
|
<i class="ri-add-line" />
|
||||||
</button>
|
<span class="txt">New record</span>
|
||||||
|
</button>
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
@@ -147,8 +160,12 @@
|
|||||||
collection={$activeCollection}
|
collection={$activeCollection}
|
||||||
bind:filter
|
bind:filter
|
||||||
bind:sort
|
bind:sort
|
||||||
on:select={(e) => recordPanel?.show(e?.detail)}
|
on:select={(e) => {
|
||||||
on:new={() => recordPanel?.show()}
|
$activeCollection.isView
|
||||||
|
? recordPreviewPanel.show(e?.detail)
|
||||||
|
: recordUpsertPanel?.show(e?.detail);
|
||||||
|
}}
|
||||||
|
on:new={() => recordUpsertPanel?.show()}
|
||||||
/>
|
/>
|
||||||
</PageWrapper>
|
</PageWrapper>
|
||||||
{/if}
|
{/if}
|
||||||
@@ -158,8 +175,10 @@
|
|||||||
<CollectionDocsPanel bind:this={collectionDocsPanel} />
|
<CollectionDocsPanel bind:this={collectionDocsPanel} />
|
||||||
|
|
||||||
<RecordUpsertPanel
|
<RecordUpsertPanel
|
||||||
bind:this={recordPanel}
|
bind:this={recordUpsertPanel}
|
||||||
collection={$activeCollection}
|
collection={$activeCollection}
|
||||||
on:save={() => recordsList?.reloadLoadedPages()}
|
on:save={() => recordsList?.reloadLoadedPages()}
|
||||||
on:delete={() => recordsList?.reloadLoadedPages()}
|
on:delete={() => recordsList?.reloadLoadedPages()}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<RecordPreviewPanel bind:this={recordPreviewPanel} collection={$activeCollection} />
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
<script>
|
|
||||||
import CommonHelper from "@/utils/CommonHelper";
|
|
||||||
import tooltip from "@/actions/tooltip";
|
|
||||||
import FormattedDate from "@/components/base/FormattedDate.svelte";
|
|
||||||
import RecordFileThumb from "@/components/records/RecordFileThumb.svelte";
|
|
||||||
import RecordInfo from "@/components/records/RecordInfo.svelte";
|
|
||||||
|
|
||||||
export let record;
|
|
||||||
export let field;
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<td class="col-type-{field.type} col-field-{field.name}">
|
|
||||||
{#if field.type === "json"}
|
|
||||||
<span class="txt txt-ellipsis">
|
|
||||||
{CommonHelper.truncate(JSON.stringify(record[field.name]))}
|
|
||||||
</span>
|
|
||||||
{:else if CommonHelper.isEmpty(record[field.name])}
|
|
||||||
<span class="txt-hint">N/A</span>
|
|
||||||
{:else if field.type === "bool"}
|
|
||||||
<span class="txt">{record[field.name] ? "True" : "False"}</span>
|
|
||||||
{:else if field.type === "number"}
|
|
||||||
<span class="txt">{record[field.name]}</span>
|
|
||||||
{:else if field.type === "url"}
|
|
||||||
<a
|
|
||||||
class="txt-ellipsis"
|
|
||||||
href={record[field.name]}
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
use:tooltip={"Open in new tab"}
|
|
||||||
on:click|stopPropagation
|
|
||||||
>
|
|
||||||
{CommonHelper.truncate(record[field.name])}
|
|
||||||
</a>
|
|
||||||
{:else if field.type === "editor"}
|
|
||||||
<span class="txt">
|
|
||||||
{CommonHelper.truncate(CommonHelper.plainText(record[field.name]), 300, true)}
|
|
||||||
</span>
|
|
||||||
{:else if field.type === "date"}
|
|
||||||
<FormattedDate date={record[field.name]} />
|
|
||||||
{:else if field.type === "select"}
|
|
||||||
<div class="inline-flex">
|
|
||||||
{#each CommonHelper.toArray(record[field.name]) as item, i (i + item)}
|
|
||||||
<span class="label">{item}</span>
|
|
||||||
{/each}
|
|
||||||
</div>
|
|
||||||
{:else if field.type === "relation" || field.type === "user"}
|
|
||||||
{@const relations = CommonHelper.toArray(record[field.name])}
|
|
||||||
{@const expanded = CommonHelper.toArray(record.expand[field.name])}
|
|
||||||
<div class="inline-flex">
|
|
||||||
{#if expanded.length}
|
|
||||||
{#each expanded.slice(0, 20) as item, i (i + item)}
|
|
||||||
<span class="label">
|
|
||||||
<RecordInfo record={item} displayFields={field.options?.displayFields} />
|
|
||||||
</span>
|
|
||||||
{/each}
|
|
||||||
{:else}
|
|
||||||
{#each relations.slice(0, 20) as id}
|
|
||||||
<span class="label">{id}</span>
|
|
||||||
{/each}
|
|
||||||
{/if}
|
|
||||||
{#if relations.length > 20}
|
|
||||||
...
|
|
||||||
{/if}
|
|
||||||
</div>
|
|
||||||
{:else if field.type === "file"}
|
|
||||||
<div class="inline-flex">
|
|
||||||
{#each CommonHelper.toArray(record[field.name]) as filename, i (i + filename)}
|
|
||||||
<RecordFileThumb {record} {filename} size="sm" />
|
|
||||||
{/each}
|
|
||||||
</div>
|
|
||||||
{:else}
|
|
||||||
<span class="txt txt-ellipsis" title={CommonHelper.truncate(record[field.name])}>
|
|
||||||
{CommonHelper.truncate(record[field.name])}
|
|
||||||
</span>
|
|
||||||
{/if}
|
|
||||||
</td>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
.filename {
|
|
||||||
max-width: 200px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
<script>
|
||||||
|
import CommonHelper from "@/utils/CommonHelper";
|
||||||
|
import tooltip from "@/actions/tooltip";
|
||||||
|
import FormattedDate from "@/components/base/FormattedDate.svelte";
|
||||||
|
import RecordFileThumb from "@/components/records/RecordFileThumb.svelte";
|
||||||
|
import RecordInfo from "@/components/records/RecordInfo.svelte";
|
||||||
|
import TinyMCE from "@tinymce/tinymce-svelte";
|
||||||
|
|
||||||
|
export let record;
|
||||||
|
export let field;
|
||||||
|
export let short = false;
|
||||||
|
|
||||||
|
$: rawValue = record[field.name];
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{#if field.type === "json"}
|
||||||
|
<span class="txt txt-ellipsis">
|
||||||
|
{short
|
||||||
|
? CommonHelper.truncate(JSON.stringify(rawValue))
|
||||||
|
: CommonHelper.truncate(JSON.stringify(rawValue, null, 2), 2000, true)}
|
||||||
|
</span>
|
||||||
|
{:else if CommonHelper.isEmpty(rawValue)}
|
||||||
|
<span class="txt-hint">N/A</span>
|
||||||
|
{:else if field.type === "bool"}
|
||||||
|
<span class="txt">{rawValue ? "True" : "False"}</span>
|
||||||
|
{:else if field.type === "number"}
|
||||||
|
<span class="txt">{rawValue}</span>
|
||||||
|
{:else if field.type === "url"}
|
||||||
|
<a
|
||||||
|
class="txt-ellipsis"
|
||||||
|
href={rawValue}
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
use:tooltip={"Open in new tab"}
|
||||||
|
on:click|stopPropagation
|
||||||
|
>
|
||||||
|
{CommonHelper.truncate(rawValue)}
|
||||||
|
</a>
|
||||||
|
{:else if field.type === "editor"}
|
||||||
|
{#if short}
|
||||||
|
<span class="txt">
|
||||||
|
{CommonHelper.truncate(CommonHelper.plainText(rawValue), 250)}
|
||||||
|
</span>
|
||||||
|
{:else}
|
||||||
|
<TinyMCE
|
||||||
|
scriptSrc="{import.meta.env.BASE_URL}libs/tinymce/tinymce.min.js"
|
||||||
|
cssClass="tinymce-preview"
|
||||||
|
conf={{
|
||||||
|
branding: false,
|
||||||
|
promotion: false,
|
||||||
|
menubar: false,
|
||||||
|
min_height: 30,
|
||||||
|
statusbar: false,
|
||||||
|
height: 59,
|
||||||
|
max_height: 500,
|
||||||
|
autoresize_bottom_margin: 5,
|
||||||
|
resize: false,
|
||||||
|
skin: "pocketbase",
|
||||||
|
content_style: "body { font-size: 14px }",
|
||||||
|
toolbar: "",
|
||||||
|
plugins: ["autoresize"],
|
||||||
|
}}
|
||||||
|
value={rawValue}
|
||||||
|
disabled
|
||||||
|
/>
|
||||||
|
{/if}
|
||||||
|
{:else if field.type === "date"}
|
||||||
|
<FormattedDate date={rawValue} />
|
||||||
|
{:else if field.type === "select"}
|
||||||
|
<div class="inline-flex">
|
||||||
|
{#each CommonHelper.toArray(rawValue) as item, i (i + item)}
|
||||||
|
<span class="label">{item}</span>
|
||||||
|
{/each}
|
||||||
|
</div>
|
||||||
|
{:else if field.type === "relation"}
|
||||||
|
{@const relations = CommonHelper.toArray(rawValue)}
|
||||||
|
{@const expanded = CommonHelper.toArray(record.expand[field.name])}
|
||||||
|
{@const relLimit = short ? 20 : 200}
|
||||||
|
<div class="inline-flex">
|
||||||
|
{#if expanded.length}
|
||||||
|
{#each expanded.slice(0, relLimit) as item, i (i + item)}
|
||||||
|
<span class="label">
|
||||||
|
<RecordInfo record={item} displayFields={field.options?.displayFields} />
|
||||||
|
</span>
|
||||||
|
{/each}
|
||||||
|
{:else}
|
||||||
|
{#each relations.slice(0, relLimit) as id}
|
||||||
|
<span class="label">{id}</span>
|
||||||
|
{/each}
|
||||||
|
{/if}
|
||||||
|
{#if relations.length > relLimit}
|
||||||
|
...
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
{:else if field.type === "file"}
|
||||||
|
<div class="inline-flex">
|
||||||
|
{#each CommonHelper.toArray(rawValue) as filename, i (i + filename)}
|
||||||
|
<RecordFileThumb {record} {filename} size="sm" />
|
||||||
|
{/each}
|
||||||
|
</div>
|
||||||
|
{:else if short}
|
||||||
|
<span class="txt txt-ellipsis" title={CommonHelper.truncate(rawValue)}>
|
||||||
|
{CommonHelper.truncate(rawValue)}
|
||||||
|
</span>
|
||||||
|
{:else}
|
||||||
|
<span class="block txt-break">{CommonHelper.truncate(rawValue, 2000)}</span>
|
||||||
|
{/if}
|
||||||
@@ -1,11 +1,23 @@
|
|||||||
<script>
|
<script>
|
||||||
import CommonHelper from "@/utils/CommonHelper";
|
import CommonHelper from "@/utils/CommonHelper";
|
||||||
import tooltip from "@/actions/tooltip";
|
import tooltip from "@/actions/tooltip";
|
||||||
|
import { collections } from "@/stores/collections";
|
||||||
|
import RecordFileThumb from "@/components/records/RecordFileThumb.svelte";
|
||||||
|
|
||||||
export let record;
|
export let record;
|
||||||
export let displayFields = [];
|
export let displayFields = [];
|
||||||
|
|
||||||
$: displayValue = CommonHelper.displayValue(record, displayFields);
|
$: collection = $collections?.find((item) => item.id == record?.collectionId);
|
||||||
|
|
||||||
|
$: fileDisplayFields =
|
||||||
|
displayFields?.filter((name) => {
|
||||||
|
return !!collection?.schema?.find((field) => field.name == name && field.type == "file");
|
||||||
|
}) || [];
|
||||||
|
|
||||||
|
$: textDisplayFields =
|
||||||
|
(!fileDisplayFields.length
|
||||||
|
? displayFields
|
||||||
|
: displayFields?.filter((name) => !fileDisplayFields.includes(name))) || [];
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="record-info">
|
<div class="record-info">
|
||||||
@@ -21,7 +33,16 @@
|
|||||||
position: "left",
|
position: "left",
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<span class="txt txt-ellipsis">{CommonHelper.truncate(displayValue, 150)}</span>
|
|
||||||
|
{#each fileDisplayFields as name}
|
||||||
|
{#if record[name]}
|
||||||
|
<RecordFileThumb {record} filename={record[name]} size="xs" />
|
||||||
|
{/if}
|
||||||
|
{/each}
|
||||||
|
|
||||||
|
<span class="txt txt-ellipsis">
|
||||||
|
{CommonHelper.truncate(CommonHelper.displayValue(record, textDisplayFields), 70)}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
@@ -36,5 +57,8 @@
|
|||||||
> * {
|
> * {
|
||||||
line-height: inherit;
|
line-height: inherit;
|
||||||
}
|
}
|
||||||
|
:global(.thumb) {
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
<script>
|
||||||
|
import { Record } from "pocketbase";
|
||||||
|
import OverlayPanel from "@/components/base/OverlayPanel.svelte";
|
||||||
|
import RecordFieldValue from "./RecordFieldValue.svelte";
|
||||||
|
import CopyIcon from "@/components/base/CopyIcon.svelte";
|
||||||
|
import FormattedDate from "@/components/base/FormattedDate.svelte";
|
||||||
|
|
||||||
|
export let collection;
|
||||||
|
|
||||||
|
let recordPanel;
|
||||||
|
let record = new Record();
|
||||||
|
|
||||||
|
$: hasEditorField = !!collection?.schema?.find((f) => f.type === "editor");
|
||||||
|
|
||||||
|
export function show(model) {
|
||||||
|
record = model;
|
||||||
|
|
||||||
|
return recordPanel?.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
export function hide() {
|
||||||
|
return recordPanel?.hide();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<OverlayPanel
|
||||||
|
bind:this={recordPanel}
|
||||||
|
class="record-preview-panel {hasEditorField ? 'overlay-panel-xl' : 'overlay-panel-lg'}"
|
||||||
|
on:hide
|
||||||
|
on:show
|
||||||
|
>
|
||||||
|
<svelte:fragment slot="header">
|
||||||
|
<h4><strong>{collection?.name}</strong> record preview</h4>
|
||||||
|
</svelte:fragment>
|
||||||
|
|
||||||
|
<table class="table-border">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="min-width txt-hint txt-bold">id</td>
|
||||||
|
<td>
|
||||||
|
<div class="label">
|
||||||
|
<CopyIcon value={record.id} />
|
||||||
|
<span class="txt">{record.id}</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
{#each collection?.schema as field}
|
||||||
|
<tr>
|
||||||
|
<td class="min-width txt-hint txt-bold">{field.name}</td>
|
||||||
|
<td>
|
||||||
|
<RecordFieldValue {field} {record} />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{/each}
|
||||||
|
|
||||||
|
{#if record.created}
|
||||||
|
<tr>
|
||||||
|
<td class="min-width txt-hint txt-bold">created</td>
|
||||||
|
<td><FormattedDate date={record.created} /></td>
|
||||||
|
</tr>
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{#if record.updated}
|
||||||
|
<tr>
|
||||||
|
<td class="min-width txt-hint txt-bold">updated</td>
|
||||||
|
<td><FormattedDate date={record.updated} /></td>
|
||||||
|
</tr>
|
||||||
|
{/if}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<svelte:fragment slot="footer">
|
||||||
|
<button type="button" class="btn btn-transparent" on:click={() => hide()}>
|
||||||
|
<span class="txt">Close</span>
|
||||||
|
</button>
|
||||||
|
</svelte:fragment>
|
||||||
|
</OverlayPanel>
|
||||||
@@ -355,7 +355,7 @@
|
|||||||
on:submit|preventDefault={save}
|
on:submit|preventDefault={save}
|
||||||
>
|
>
|
||||||
{#if !record.isNew}
|
{#if !record.isNew}
|
||||||
<Field class="form-field disabled" name="id" let:uniqueId>
|
<Field class="form-field readonly" name="id" let:uniqueId>
|
||||||
<label for={uniqueId}>
|
<label for={uniqueId}>
|
||||||
<i class={CommonHelper.getFieldTypeIcon("primary")} />
|
<i class={CommonHelper.getFieldTypeIcon("primary")} />
|
||||||
<span class="txt">id</span>
|
<span class="txt">id</span>
|
||||||
@@ -426,6 +426,7 @@
|
|||||||
<button type="button" class="btn btn-transparent" disabled={isSaving} on:click={() => hide()}>
|
<button type="button" class="btn btn-transparent" disabled={isSaving} on:click={() => hide()}>
|
||||||
<span class="txt">Cancel</span>
|
<span class="txt">Cancel</span>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
type="submit"
|
type="submit"
|
||||||
form={formId}
|
form={formId}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
import CopyIcon from "@/components/base/CopyIcon.svelte";
|
import CopyIcon from "@/components/base/CopyIcon.svelte";
|
||||||
import FormattedDate from "@/components/base/FormattedDate.svelte";
|
import FormattedDate from "@/components/base/FormattedDate.svelte";
|
||||||
import HorizontalScroller from "@/components/base/HorizontalScroller.svelte";
|
import HorizontalScroller from "@/components/base/HorizontalScroller.svelte";
|
||||||
import RecordFieldCell from "@/components/records/RecordFieldCell.svelte";
|
import RecordFieldValue from "@/components/records/RecordFieldValue.svelte";
|
||||||
|
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
const sortRegex = /^([\+\-])?(\w+)$/;
|
const sortRegex = /^([\+\-])?(\w+)$/;
|
||||||
@@ -57,6 +57,10 @@
|
|||||||
updateStoredHiddenColumns();
|
updateStoredHiddenColumns();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$: hasCreated = !collection?.isView || (records.length > 0 && records[0].created != "");
|
||||||
|
|
||||||
|
$: hasUpdated = !collection?.isView || (records.length > 0 && records[0].updated != "");
|
||||||
|
|
||||||
$: collumnsToHide = [].concat(
|
$: collumnsToHide = [].concat(
|
||||||
collection.isAuth
|
collection.isAuth
|
||||||
? [
|
? [
|
||||||
@@ -67,10 +71,8 @@
|
|||||||
fields.map((f) => {
|
fields.map((f) => {
|
||||||
return { id: f.id, name: f.name };
|
return { id: f.id, name: f.name };
|
||||||
}),
|
}),
|
||||||
[
|
hasCreated ? { id: "@created", name: "created" } : [],
|
||||||
{ id: "@created", name: "created" },
|
hasUpdated ? { id: "@updated", name: "updated" } : []
|
||||||
{ id: "@updated", name: "updated" },
|
|
||||||
]
|
|
||||||
);
|
);
|
||||||
|
|
||||||
function updateStoredHiddenColumns() {
|
function updateStoredHiddenColumns() {
|
||||||
@@ -242,48 +244,55 @@
|
|||||||
|
|
||||||
<HorizontalScroller class="table-wrapper">
|
<HorizontalScroller class="table-wrapper">
|
||||||
<svelte:fragment slot="before">
|
<svelte:fragment slot="before">
|
||||||
<Toggler class="dropdown dropdown-right dropdown-nowrap columns-dropdown" trigger={columnsTrigger}>
|
{#if columnsTrigger}
|
||||||
<div class="txt-hint txt-sm p-5 m-b-5">Toggle columns</div>
|
<Toggler
|
||||||
{#each collumnsToHide as column (column.id + column.name)}
|
class="dropdown dropdown-right dropdown-nowrap columns-dropdown"
|
||||||
<Field class="form-field form-field-sm form-field-toggle m-0 p-5" let:uniqueId>
|
trigger={columnsTrigger}
|
||||||
<input
|
>
|
||||||
type="checkbox"
|
<div class="txt-hint txt-sm p-5 m-b-5">Toggle columns</div>
|
||||||
id={uniqueId}
|
{#each collumnsToHide as column (column.id + column.name)}
|
||||||
checked={!hiddenColumns.includes(column.id)}
|
<Field class="form-field form-field-sm form-field-toggle m-0 p-5" let:uniqueId>
|
||||||
on:change={(e) => {
|
<input
|
||||||
if (e.target.checked) {
|
type="checkbox"
|
||||||
CommonHelper.removeByValue(hiddenColumns, column.id);
|
id={uniqueId}
|
||||||
} else {
|
checked={!hiddenColumns.includes(column.id)}
|
||||||
CommonHelper.pushUnique(hiddenColumns, column.id);
|
on:change={(e) => {
|
||||||
}
|
if (e.target.checked) {
|
||||||
hiddenColumns = hiddenColumns;
|
CommonHelper.removeByValue(hiddenColumns, column.id);
|
||||||
}}
|
} else {
|
||||||
/>
|
CommonHelper.pushUnique(hiddenColumns, column.id);
|
||||||
<label for={uniqueId}>{column.name}</label>
|
}
|
||||||
</Field>
|
hiddenColumns = hiddenColumns;
|
||||||
{/each}
|
}}
|
||||||
</Toggler>
|
/>
|
||||||
|
<label for={uniqueId}>{column.name}</label>
|
||||||
|
</Field>
|
||||||
|
{/each}
|
||||||
|
</Toggler>
|
||||||
|
{/if}
|
||||||
</svelte:fragment>
|
</svelte:fragment>
|
||||||
|
|
||||||
<table class="table" class:table-loading={isLoading}>
|
<table class="table" class:table-loading={isLoading}>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="bulk-select-col min-width">
|
{#if !collection.isView}
|
||||||
{#if isLoading}
|
<th class="bulk-select-col min-width">
|
||||||
<span class="loader loader-sm" />
|
{#if isLoading}
|
||||||
{:else}
|
<span class="loader loader-sm" />
|
||||||
<div class="form-field">
|
{:else}
|
||||||
<input
|
<div class="form-field">
|
||||||
type="checkbox"
|
<input
|
||||||
id="checkbox_0"
|
type="checkbox"
|
||||||
disabled={!records.length}
|
id="checkbox_0"
|
||||||
checked={areAllRecordsSelected}
|
disabled={!records.length}
|
||||||
on:change={() => toggleSelectAllRecords()}
|
checked={areAllRecordsSelected}
|
||||||
/>
|
on:change={() => toggleSelectAllRecords()}
|
||||||
<label for="checkbox_0" />
|
/>
|
||||||
</div>
|
<label for="checkbox_0" />
|
||||||
{/if}
|
</div>
|
||||||
</th>
|
{/if}
|
||||||
|
</th>
|
||||||
|
{/if}
|
||||||
|
|
||||||
{#if !hiddenColumns.includes("@id")}
|
{#if !hiddenColumns.includes("@id")}
|
||||||
<SortHeader class="col-type-text col-field-id" name="id" bind:sort>
|
<SortHeader class="col-type-text col-field-id" name="id" bind:sort>
|
||||||
@@ -326,7 +335,7 @@
|
|||||||
</SortHeader>
|
</SortHeader>
|
||||||
{/each}
|
{/each}
|
||||||
|
|
||||||
{#if !hiddenColumns.includes("@created")}
|
{#if hasCreated && !hiddenColumns.includes("@created")}
|
||||||
<SortHeader class="col-type-date col-field-created" name="created" bind:sort>
|
<SortHeader class="col-type-date col-field-created" name="created" bind:sort>
|
||||||
<div class="col-header-content">
|
<div class="col-header-content">
|
||||||
<i class={CommonHelper.getFieldTypeIcon("date")} />
|
<i class={CommonHelper.getFieldTypeIcon("date")} />
|
||||||
@@ -335,7 +344,7 @@
|
|||||||
</SortHeader>
|
</SortHeader>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{#if !hiddenColumns.includes("@updated")}
|
{#if hasUpdated && !hiddenColumns.includes("@updated")}
|
||||||
<SortHeader class="col-type-date col-field-updated" name="updated" bind:sort>
|
<SortHeader class="col-type-date col-field-updated" name="updated" bind:sort>
|
||||||
<div class="col-header-content">
|
<div class="col-header-content">
|
||||||
<i class={CommonHelper.getFieldTypeIcon("date")} />
|
<i class={CommonHelper.getFieldTypeIcon("date")} />
|
||||||
@@ -345,19 +354,21 @@
|
|||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<th class="col-type-action min-width">
|
<th class="col-type-action min-width">
|
||||||
<button
|
{#if collumnsToHide.length}
|
||||||
bind:this={columnsTrigger}
|
<button
|
||||||
type="button"
|
bind:this={columnsTrigger}
|
||||||
aria-label="Toggle columns"
|
type="button"
|
||||||
class="btn btn-sm btn-transparent p-0"
|
aria-label="Toggle columns"
|
||||||
>
|
class="btn btn-sm btn-transparent p-0"
|
||||||
<i class="ri-more-line" />
|
>
|
||||||
</button>
|
<i class="ri-more-line" />
|
||||||
|
</button>
|
||||||
|
{/if}
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{#each records as record (record.id)}
|
{#each records as record (!collection.isView ? record.id : record)}
|
||||||
<tr
|
<tr
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
class="row-handle"
|
class="row-handle"
|
||||||
@@ -369,18 +380,20 @@
|
|||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<td class="bulk-select-col min-width">
|
{#if !collection.isView}
|
||||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
<td class="bulk-select-col min-width">
|
||||||
<div class="form-field" on:click|stopPropagation>
|
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||||
<input
|
<div class="form-field" on:click|stopPropagation>
|
||||||
type="checkbox"
|
<input
|
||||||
id="checkbox_{record.id}"
|
type="checkbox"
|
||||||
checked={bulkSelected[record.id]}
|
id="checkbox_{record.id}"
|
||||||
on:change={() => toggleSelectRecord(record)}
|
checked={bulkSelected[record.id]}
|
||||||
/>
|
on:change={() => toggleSelectRecord(record)}
|
||||||
<label for="checkbox_{record.id}" />
|
/>
|
||||||
</div>
|
<label for="checkbox_{record.id}" />
|
||||||
</td>
|
</div>
|
||||||
|
</td>
|
||||||
|
{/if}
|
||||||
|
|
||||||
{#if !hiddenColumns.includes("@id")}
|
{#if !hiddenColumns.includes("@id")}
|
||||||
<td class="col-type-text col-field-id">
|
<td class="col-type-text col-field-id">
|
||||||
@@ -433,16 +446,18 @@
|
|||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{#each visibleFields as field (field.name)}
|
{#each visibleFields as field (field.name)}
|
||||||
<RecordFieldCell {record} {field} />
|
<td class="col-type-{field.type} col-field-{field.name}">
|
||||||
|
<RecordFieldValue short {record} {field} />
|
||||||
|
</td>
|
||||||
{/each}
|
{/each}
|
||||||
|
|
||||||
{#if !hiddenColumns.includes("@created")}
|
{#if hasCreated && !hiddenColumns.includes("@created")}
|
||||||
<td class="col-type-date col-field-created">
|
<td class="col-type-date col-field-created">
|
||||||
<FormattedDate date={record.created} />
|
<FormattedDate date={record.created} />
|
||||||
</td>
|
</td>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{#if !hiddenColumns.includes("@updated")}
|
{#if hasUpdated && !hiddenColumns.includes("@updated")}
|
||||||
<td class="col-type-date col-field-updated">
|
<td class="col-type-date col-field-updated">
|
||||||
<FormattedDate date={record.updated} />
|
<FormattedDate date={record.updated} />
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@@ -198,7 +198,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-lg-3">
|
<div class="col-lg-3">
|
||||||
<Field class="form-field required" name="smtp.tls" let:uniqueId>
|
<Field class="form-field required" name="smtp.tls" let:uniqueId>
|
||||||
<label for={uniqueId}>TLS Encryption</label>
|
<label for={uniqueId}>TLS encryption</label>
|
||||||
<ObjectSelect
|
<ObjectSelect
|
||||||
id={uniqueId}
|
id={uniqueId}
|
||||||
items={tlsOptions}
|
items={tlsOptions}
|
||||||
@@ -208,7 +208,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-lg-3">
|
<div class="col-lg-3">
|
||||||
<Field class="form-field" name="smtp.authMethod" let:uniqueId>
|
<Field class="form-field" name="smtp.authMethod" let:uniqueId>
|
||||||
<label for={uniqueId}>AUTH Method</label>
|
<label for={uniqueId}>AUTH method</label>
|
||||||
<ObjectSelect
|
<ObjectSelect
|
||||||
id={uniqueId}
|
id={uniqueId}
|
||||||
items={authMethods}
|
items={authMethods}
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ code {
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-family: var(--monospaceFontFamily);
|
font-family: var(--monospaceFontFamily);
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-size: var(--lgFontSize);
|
font-size: 1em;
|
||||||
line-height: 1.379rem;
|
line-height: 1.379rem;
|
||||||
padding: 0px 4px;
|
padding: 0px 4px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
@@ -522,6 +522,10 @@ a,
|
|||||||
border-radius: inherit;
|
border-radius: inherit;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
&.thumb-xs {
|
||||||
|
--thumbSize: 24px;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
}
|
||||||
&.thumb-sm {
|
&.thumb-sm {
|
||||||
--thumbSize: 32px;
|
--thumbSize: 32px;
|
||||||
font-size: 0.92rem;
|
font-size: 0.92rem;
|
||||||
|
|||||||
+20
-20
@@ -1,10 +1,10 @@
|
|||||||
/* remixicon */
|
/* remixicon */
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'remixicon';
|
font-family: 'remixicon';
|
||||||
src: url('../fonts/remixicon/remixicon.woff2?v=1') format('woff2'),
|
src: url('/fonts/remixicon/remixicon.woff2?v=1') format('woff2'),
|
||||||
url('../fonts/remixicon/remixicon.woff?v=1') format('woff'),
|
url('/fonts/remixicon/remixicon.woff?v=1') format('woff'),
|
||||||
url('../fonts/remixicon/remixicon.ttf?v=1') format('truetype'),
|
url('/fonts/remixicon/remixicon.ttf?v=1') format('truetype'),
|
||||||
url('../fonts/remixicon/remixicon.svg?v=1#remixicon') format('svg'); /* iOS 4.1- */
|
url('/fonts/remixicon/remixicon.svg?v=1#remixicon') format('svg'); /* iOS 4.1- */
|
||||||
font-display: swap;
|
font-display: swap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -14,8 +14,8 @@
|
|||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: local(''),
|
src: local(''),
|
||||||
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
url('/fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||||
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
url('/fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* source-sans-pro-italic - latin_cyrillic */
|
/* source-sans-pro-italic - latin_cyrillic */
|
||||||
@@ -24,8 +24,8 @@
|
|||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: local(''),
|
src: local(''),
|
||||||
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
url('/fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||||
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
url('/fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* source-sans-pro-600 - latin_cyrillic */
|
/* source-sans-pro-600 - latin_cyrillic */
|
||||||
@@ -34,8 +34,8 @@
|
|||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
src: local(''),
|
src: local(''),
|
||||||
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
url('/fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||||
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
url('/fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* source-sans-pro-600italic - latin_cyrillic */
|
/* source-sans-pro-600italic - latin_cyrillic */
|
||||||
@@ -44,8 +44,8 @@
|
|||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
src: local(''),
|
src: local(''),
|
||||||
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
url('/fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||||
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
url('/fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-600italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* source-sans-pro-700 - latin_cyrillic */
|
/* source-sans-pro-700 - latin_cyrillic */
|
||||||
@@ -54,8 +54,8 @@
|
|||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
src: local(''),
|
src: local(''),
|
||||||
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
url('/fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||||
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
url('/fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* source-sans-pro-700italic - latin_cyrillic */
|
/* source-sans-pro-700italic - latin_cyrillic */
|
||||||
@@ -64,8 +64,8 @@
|
|||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
src: local(''),
|
src: local(''),
|
||||||
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
url('/fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||||
url('../fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
url('/fonts/source-sans-pro/source-sans-pro-v18-latin_cyrillic-700italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* jetbrains-mono-regular - latin */
|
/* jetbrains-mono-regular - latin */
|
||||||
@@ -74,8 +74,8 @@
|
|||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: local(''),
|
src: local(''),
|
||||||
url('../fonts/jetbrains-mono/jetbrains-mono-v12-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
url('/fonts/jetbrains-mono/jetbrains-mono-v12-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||||
url('../fonts/jetbrains-mono/jetbrains-mono-v12-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
url('/fonts/jetbrains-mono/jetbrains-mono-v12-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* jetbrains-mono-600 - latin */
|
/* jetbrains-mono-600 - latin */
|
||||||
@@ -84,6 +84,6 @@
|
|||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
src: local(''),
|
src: local(''),
|
||||||
url('../fonts/jetbrains-mono/jetbrains-mono-v12-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
url('/fonts/jetbrains-mono/jetbrains-mono-v12-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
|
||||||
url('../fonts/jetbrains-mono/jetbrains-mono-v12-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
url('/fonts/jetbrains-mono/jetbrains-mono-v12-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
|
||||||
}
|
}
|
||||||
+25
-8
@@ -454,11 +454,10 @@ select {
|
|||||||
user-select: none;
|
user-select: none;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: var(--txtHintColor);
|
color: var(--txtHintColor);
|
||||||
font-size: var(--xsFontSize);
|
font-size: var(--smFontSize);
|
||||||
text-transform: uppercase;
|
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
padding-top: 12px;
|
padding-top: 12px;
|
||||||
padding-bottom: 2px;
|
padding-bottom: 3px;
|
||||||
padding-left: var(--hPadding);
|
padding-left: var(--hPadding);
|
||||||
padding-right: var(--hPadding);
|
padding-right: var(--hPadding);
|
||||||
border: 0;
|
border: 0;
|
||||||
@@ -474,8 +473,11 @@ select {
|
|||||||
i {
|
i {
|
||||||
font-size: 0.96rem;
|
font-size: 0.96rem;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
margin-top: -2px;
|
margin-top: -1px;
|
||||||
margin-bottom: -2px;
|
margin-bottom: -1px;
|
||||||
|
&:before {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%input, label {
|
%input, label {
|
||||||
@@ -550,14 +552,23 @@ select {
|
|||||||
margin-left: -2px;
|
margin-left: -2px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
&.readonly,
|
||||||
&.disabled {
|
&.disabled {
|
||||||
|
label, %input {
|
||||||
|
background: var(--baseAlt1Color);
|
||||||
|
}
|
||||||
> label {
|
> label {
|
||||||
color: var(--txtDisabledColor);
|
color: var(--txtHintColor);
|
||||||
}
|
}
|
||||||
&.required > label:after {
|
&.required > label:after {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
&.disabled {
|
||||||
|
> label {
|
||||||
|
color: var(--txtDisabledColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// checkbox/radio
|
// checkbox/radio
|
||||||
input[type="radio"],
|
input[type="radio"],
|
||||||
@@ -1084,13 +1095,15 @@ select {
|
|||||||
// codemirror field
|
// codemirror field
|
||||||
.code-editor {
|
.code-editor {
|
||||||
@extend %input;
|
@extend %input;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100%;
|
||||||
.form-field label ~ & {
|
.form-field label ~ & {
|
||||||
padding-bottom: 6px;
|
padding-bottom: 6px;
|
||||||
padding-top: 4px;
|
padding-top: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cm-editor {
|
.cm-editor {
|
||||||
|
flex-grow: 1;
|
||||||
border: 0 !important;
|
border: 0 !important;
|
||||||
outline: none !important;
|
outline: none !important;
|
||||||
.cm-line {
|
.cm-line {
|
||||||
@@ -1122,6 +1135,7 @@ select {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.cm-scroller {
|
.cm-scroller {
|
||||||
|
flex-grow: 1;
|
||||||
outline: 0 !important;
|
outline: 0 !important;
|
||||||
font-family: var(--monospaceFontFamily);
|
font-family: var(--monospaceFontFamily);
|
||||||
font-size: var(--baseFontSize);
|
font-size: var(--baseFontSize);
|
||||||
@@ -1145,6 +1159,9 @@ select {
|
|||||||
background-color: rgba(50, 140, 130, 0.1);
|
background-color: rgba(50, 140, 130, 0.1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.ͼf {
|
||||||
|
color: var(--dangerColor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// tinymce field
|
// tinymce field
|
||||||
|
|||||||
+28
-6
@@ -17,7 +17,7 @@ table {
|
|||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
position: relative;
|
position: relative;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding: 5px 10px;
|
padding: 10px;
|
||||||
border-bottom: 1px solid var(--baseAlt2Color);
|
border-bottom: 1px solid var(--baseAlt2Color);
|
||||||
&:first-child {
|
&:first-child {
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
@@ -191,16 +191,15 @@ table {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// styles
|
// styles
|
||||||
&.table-compact {
|
|
||||||
td, th {
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.table-border {
|
&.table-border {
|
||||||
border: 1px solid var(--baseAlt2Color);
|
border: 1px solid var(--baseAlt2Color);
|
||||||
|
border-radius: var(--baseRadius);
|
||||||
tr {
|
tr {
|
||||||
background: var(--baseColor);
|
background: var(--baseColor);
|
||||||
}
|
}
|
||||||
|
td, th {
|
||||||
|
height: 45px;
|
||||||
|
}
|
||||||
th {
|
th {
|
||||||
background: var(--baseAlt1Color);
|
background: var(--baseAlt1Color);
|
||||||
}
|
}
|
||||||
@@ -209,6 +208,29 @@ table {
|
|||||||
border-bottom: 0;
|
border-bottom: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
> tr:first-child,
|
||||||
|
> :first-child > tr:first-child {
|
||||||
|
> :first-child {
|
||||||
|
border-top-left-radius: var(--baseRadius);
|
||||||
|
}
|
||||||
|
> :last-child {
|
||||||
|
border-top-right-radius: var(--baseRadius);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
> tr:last-child,
|
||||||
|
> :last-child > tr:last-child {
|
||||||
|
> :first-child {
|
||||||
|
border-bottom-left-radius: var(--baseRadius);
|
||||||
|
}
|
||||||
|
> :last-child {
|
||||||
|
border-bottom-right-radius: var(--baseRadius);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.table-compact {
|
||||||
|
td, th {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// states
|
// states
|
||||||
|
|||||||
@@ -18,13 +18,13 @@
|
|||||||
--baseAlt4Color: #a5b0c0;
|
--baseAlt4Color: #a5b0c0;
|
||||||
|
|
||||||
--infoColor: #3da9fc;
|
--infoColor: #3da9fc;
|
||||||
--infoAltColor: #d8eefe;
|
--infoAltColor: #d2ecfe;
|
||||||
--successColor: #2cb67d;
|
--successColor: #2aac76;
|
||||||
--successAltColor: #d6f5e8;
|
--successAltColor: #d2f4e6;
|
||||||
--dangerColor: #e13756;
|
--dangerColor: #e13756;
|
||||||
--dangerAltColor: #fcdee4;
|
--dangerAltColor: #fcdee4;
|
||||||
--warningColor: #ff8e3c;
|
--warningColor: #ff8e3c;
|
||||||
--warningAltColor: #ffe7d6;
|
--warningAltColor: #ffeadb;
|
||||||
|
|
||||||
--overlayColor: rgba(53, 71, 104, 0.25);
|
--overlayColor: rgba(53, 71, 104, 0.25);
|
||||||
--tooltipColor: rgba(0, 0, 0, 0.85);
|
--tooltipColor: rgba(0, 0, 0, 0.85);
|
||||||
|
|||||||
@@ -475,11 +475,12 @@ export default class CommonHelper {
|
|||||||
/**
|
/**
|
||||||
* Truncates the provided text to the specified max characters length.
|
* Truncates the provided text to the specified max characters length.
|
||||||
*
|
*
|
||||||
* @param {String} str
|
* @param {String} str
|
||||||
* @param {Number} length
|
* @param {Number} [length]
|
||||||
|
* @param {Boolean} [dots]
|
||||||
* @return {String}
|
* @return {String}
|
||||||
*/
|
*/
|
||||||
static truncate(str, length = 150, dots = false) {
|
static truncate(str, length = 150, dots = true) {
|
||||||
str = str || "";
|
str = str || "";
|
||||||
|
|
||||||
if (str.length <= length) {
|
if (str.length <= length) {
|
||||||
@@ -979,8 +980,8 @@ export default class CommonHelper {
|
|||||||
switch (type?.toLowerCase()) {
|
switch (type?.toLowerCase()) {
|
||||||
case "auth":
|
case "auth":
|
||||||
return "ri-group-line";
|
return "ri-group-line";
|
||||||
case "single":
|
case "view":
|
||||||
return "ri-file-list-2-line";
|
return "ri-terminal-box-line";
|
||||||
default:
|
default:
|
||||||
return "ri-folder-2-line";
|
return "ri-folder-2-line";
|
||||||
}
|
}
|
||||||
@@ -1157,7 +1158,7 @@ export default class CommonHelper {
|
|||||||
for (const collection of collections) {
|
for (const collection of collections) {
|
||||||
if (collection.type === 'auth') {
|
if (collection.type === 'auth') {
|
||||||
authCollections.push(collection);
|
authCollections.push(collection);
|
||||||
} else if (collection.type === 'single') {
|
} else if (collection.type === 'base') {
|
||||||
singleCollections.push(collection);
|
singleCollections.push(collection);
|
||||||
} else {
|
} else {
|
||||||
baseCollections.push(collection);
|
baseCollections.push(collection);
|
||||||
@@ -1318,4 +1319,76 @@ export default class CommonHelper {
|
|||||||
|
|
||||||
return missingValue;
|
return missingValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rudimentary SELECT query columns extractor.
|
||||||
|
* Returns an array with the identifier aliases
|
||||||
|
* (expressions wrapped in parenthesis are skipped).
|
||||||
|
*
|
||||||
|
* @param {String} selectQuery
|
||||||
|
* @return {Array}
|
||||||
|
*/
|
||||||
|
static extractColumnsFromQuery(selectQuery) {
|
||||||
|
const groupReplacement = "__GROUP__";
|
||||||
|
|
||||||
|
selectQuery = (selectQuery || "").
|
||||||
|
// replace parenthesis/group expessions
|
||||||
|
replace(/\([\s\S]+?\)/gm, groupReplacement).
|
||||||
|
// replace multi-whitespace characters with single space
|
||||||
|
replace(/[\t\r\n]|(?:\s\s)+/g, " ");
|
||||||
|
|
||||||
|
const match = selectQuery.match(/select\s+([\s\S]+)\s+from/);
|
||||||
|
|
||||||
|
const expressions = match?.[1]?.split(",") || [];
|
||||||
|
|
||||||
|
const result = [];
|
||||||
|
|
||||||
|
for (let expr of expressions) {
|
||||||
|
const column = expr.trim().split(" ").pop(); // get only the alias
|
||||||
|
if (column != "" && column != groupReplacement) {
|
||||||
|
result.push(column);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an array with all public collection identifiers (schema + type specific fields).
|
||||||
|
*
|
||||||
|
* @param {[type]} collection The collection to extract identifiers from.
|
||||||
|
* @param {String} prefix Optional prefix for each found identified.
|
||||||
|
* @return {Array}
|
||||||
|
*/
|
||||||
|
static getAllCollectionIdentifiers(collection, prefix = "") {
|
||||||
|
if (!collection) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let result = [prefix + "id"];
|
||||||
|
|
||||||
|
if (collection.isView) {
|
||||||
|
for (let col of CommonHelper.extractColumnsFromQuery(collection.options.query)) {
|
||||||
|
CommonHelper.pushUnique(result, prefix + col);
|
||||||
|
}
|
||||||
|
} else if (collection.isAuth) {
|
||||||
|
result.push(prefix + "username");
|
||||||
|
result.push(prefix + "email");
|
||||||
|
result.push(prefix + "emailVisibility");
|
||||||
|
result.push(prefix + "verified");
|
||||||
|
result.push(prefix + "created");
|
||||||
|
result.push(prefix + "updated");
|
||||||
|
} else {
|
||||||
|
result.push(prefix + "created");
|
||||||
|
result.push(prefix + "updated");
|
||||||
|
}
|
||||||
|
|
||||||
|
const schema = collection.schema || [];
|
||||||
|
|
||||||
|
for (const field of schema) {
|
||||||
|
CommonHelper.pushUnique(result, prefix + field.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user