forked from tsai/budibase
77 changed files with 638 additions and 643 deletions
|
Before Width: | Height: | Size: 349 B After Width: | Height: | Size: 362 B |
|
Before Width: | Height: | Size: 244 B After Width: | Height: | Size: 263 B |
@ -1 +1 @@ |
|||||
export { default } from "./ModelDataTable.svelte" |
export { default } from "./ModelDataTable.svelte" |
||||
|
|||||
@ -1,6 +1,6 @@ |
|||||
export { default as DeleteRecordModal } from "./DeleteRecord.svelte"; |
export { default as DeleteRecordModal } from "./DeleteRecord.svelte" |
||||
export { default as CreateEditRecordModal } from "./CreateEditRecord.svelte"; |
export { default as CreateEditRecordModal } from "./CreateEditRecord.svelte" |
||||
export { default as CreateEditModelModal } from "./CreateEditModel.svelte"; |
export { default as CreateEditModelModal } from "./CreateEditModel.svelte" |
||||
export { default as CreateEditViewModal } from "./CreateEditView.svelte"; |
export { default as CreateEditViewModal } from "./CreateEditView.svelte" |
||||
export { default as CreateDatabaseModal } from "./CreateDatabase.svelte"; |
export { default as CreateDatabaseModal } from "./CreateDatabase.svelte" |
||||
export { default as CreateUserModal } from "./CreateUser.svelte"; |
export { default as CreateUserModal } from "./CreateUser.svelte" |
||||
|
|||||
@ -1,52 +1,54 @@ |
|||||
import { |
import { |
||||
findRoot, |
findRoot, |
||||
getFlattenedHierarchy, |
getFlattenedHierarchy, |
||||
fieldReversesReferenceToIndex, |
fieldReversesReferenceToIndex, |
||||
isRecord |
isRecord, |
||||
} from "./hierarchy" |
} from "./hierarchy" |
||||
import { $ } from "../common" |
import { $ } from "../common" |
||||
import { map, filter, reduce } from "lodash/fp" |
import { map, filter, reduce } from "lodash/fp" |
||||
|
|
||||
export const canDeleteIndex = indexNode => { |
export const canDeleteIndex = indexNode => { |
||||
const flatHierarchy = $(indexNode, [ |
const flatHierarchy = $(indexNode, [findRoot, getFlattenedHierarchy]) |
||||
findRoot, |
|
||||
getFlattenedHierarchy |
|
||||
]) |
|
||||
|
|
||||
const reverseIndexes = $(flatHierarchy,[ |
const reverseIndexes = $(flatHierarchy, [ |
||||
filter(isRecord), |
filter(isRecord), |
||||
reduce((obj, r) => { |
reduce((obj, r) => { |
||||
for (let field of r.fields) { |
for (let field of r.fields) { |
||||
if (fieldReversesReferenceToIndex(indexNode)(field)) { |
if (fieldReversesReferenceToIndex(indexNode)(field)) { |
||||
obj.push({ ...field, record:r }) |
obj.push({ ...field, record: r }) |
||||
} |
} |
||||
} |
} |
||||
return obj |
return obj |
||||
},[]), |
}, []), |
||||
map(f => `field "${f.name}" on record "${f.record.name}" uses this index as a reference`) |
map( |
||||
|
f => |
||||
|
`field "${f.name}" on record "${f.record.name}" uses this index as a reference` |
||||
|
), |
||||
]) |
]) |
||||
|
|
||||
const lookupIndexes = $(flatHierarchy,[ |
const lookupIndexes = $(flatHierarchy, [ |
||||
filter(isRecord), |
filter(isRecord), |
||||
reduce((obj, r) => { |
reduce((obj, r) => { |
||||
for (let field of r.fields) { |
for (let field of r.fields) { |
||||
if (field.type === "reference" |
if ( |
||||
&& field.typeOptions.indexNodeKey === indexNode.nodeKey()) { |
field.type === "reference" && |
||||
obj.push({ ...field, record:r }) |
field.typeOptions.indexNodeKey === indexNode.nodeKey() |
||||
|
) { |
||||
|
obj.push({ ...field, record: r }) |
||||
} |
} |
||||
} |
} |
||||
return obj |
return obj |
||||
},[]), |
}, []), |
||||
map(f => `field "${f.name}" on record "${f.record.name}" uses this index as a lookup`) |
map( |
||||
|
f => |
||||
|
`field "${f.name}" on record "${f.record.name}" uses this index as a lookup` |
||||
|
), |
||||
]) |
]) |
||||
|
|
||||
const errors = [ |
const errors = [...reverseIndexes, ...lookupIndexes] |
||||
...reverseIndexes, |
|
||||
...lookupIndexes |
|
||||
] |
|
||||
|
|
||||
return { |
return { |
||||
canDelete: errors.length === 0, |
canDelete: errors.length === 0, |
||||
errors |
errors, |
||||
} |
} |
||||
} |
} |
||||
|
|||||
@ -1,54 +1,54 @@ |
|||||
import { writable } from "svelte/store" |
import { writable } from "svelte/store" |
||||
|
|
||||
function createItemsStore(componentOnSelect) { |
function createItemsStore(componentOnSelect) { |
||||
const { subscribe, set, update } = writable([]) |
const { subscribe, set, update } = writable([]) |
||||
|
|
||||
function addItem(item) { |
function addItem(item) { |
||||
update(items => { |
update(items => { |
||||
return [...items, item] |
return [...items, item] |
||||
}) |
}) |
||||
if (componentOnSelect) { |
if (componentOnSelect) { |
||||
componentOnSelect() |
componentOnSelect() |
||||
} |
|
||||
} |
} |
||||
|
} |
||||
|
|
||||
function addSingleItem(item) { |
function addSingleItem(item) { |
||||
set([item]) |
set([item]) |
||||
if (componentOnSelect) { |
if (componentOnSelect) { |
||||
componentOnSelect(); |
componentOnSelect() |
||||
} |
|
||||
} |
} |
||||
|
} |
||||
function removeItem(itemId) { |
|
||||
update(items => { |
function removeItem(itemId) { |
||||
let index = getItemIdx(items, itemId) |
update(items => { |
||||
items.splice(index, 1); |
let index = getItemIdx(items, itemId) |
||||
return items; |
items.splice(index, 1) |
||||
}) |
return items |
||||
if (componentOnSelect) { |
}) |
||||
componentOnSelect(); |
if (componentOnSelect) { |
||||
} |
componentOnSelect() |
||||
} |
|
||||
|
|
||||
function clearItems() { |
|
||||
set([]); |
|
||||
if (componentOnSelect) { |
|
||||
componentOnSelect(); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
function getItemIdx(items, itemId) { |
|
||||
return items.findIndex(i => i && i._id === itemId); |
|
||||
} |
} |
||||
|
} |
||||
|
|
||||
return { |
function clearItems() { |
||||
subscribe, |
set([]) |
||||
addItem, |
if (componentOnSelect) { |
||||
addSingleItem, |
componentOnSelect() |
||||
removeItem, |
|
||||
clearItems, |
|
||||
getItemIdx |
|
||||
} |
} |
||||
|
} |
||||
|
|
||||
|
function getItemIdx(items, itemId) { |
||||
|
return items.findIndex(i => i && i._id === itemId) |
||||
|
} |
||||
|
|
||||
|
return { |
||||
|
subscribe, |
||||
|
addItem, |
||||
|
addSingleItem, |
||||
|
removeItem, |
||||
|
clearItems, |
||||
|
getItemIdx, |
||||
|
} |
||||
} |
} |
||||
|
|
||||
export default createItemsStore |
export default createItemsStore |
||||
|
|||||
@ -1,2 +1,2 @@ |
|||||
import "./_style.scss"; |
import "./_style.scss" |
||||
export { default as DatePicker } from "./DatePicker.svelte"; |
export { default as DatePicker } from "./DatePicker.svelte" |
||||
|
|||||
@ -1,2 +1,2 @@ |
|||||
import "./_style.scss"; |
import "./_style.scss" |
||||
export { default as IconButton } from "./IconButton.svelte"; |
export { default as IconButton } from "./IconButton.svelte" |
||||
|
|||||
@ -1,3 +1,3 @@ |
|||||
import "./_style.scss" |
import "./_style.scss" |
||||
export { default as HelperText } from "./HelperText.svelte" |
export { default as HelperText } from "./HelperText.svelte" |
||||
export { default as Select } from "./Select.svelte"; |
export { default as Select } from "./Select.svelte" |
||||
|
|||||
@ -1,2 +1,2 @@ |
|||||
import "./_style.scss" |
import "./_style.scss" |
||||
export {default as Slider} from "./Slider.svelte" |
export { default as Slider } from "./Slider.svelte" |
||||
|
|||||
@ -1,2 +1,2 @@ |
|||||
import "./_style.scss" |
import "./_style.scss" |
||||
export { default as Switch } from "./Switch.svelte" |
export { default as Switch } from "./Switch.svelte" |
||||
|
|||||
Loading…
Reference in new issue