diff --git a/bun.lockb b/bun.lockb index 6771eb2..2f3236a 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 5a93580..3707a3d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bb-component-SuperTable", - "version": "2.0.34-alpha", + "version": "2.0.35-alpha", "description": "A Fully Customizable Budibase Table Component", "author": "Michael Poirazi", "license": "MIT", @@ -17,10 +17,10 @@ "svelte-legos": "^0.2.5" }, "devDependencies": { - "@budibase/backend-core": "^2.31.3", - "@budibase/bbui": "^2.31.3", - "@budibase/frontend-core": "^2.31.3", - "@budibase/shared-core": "^2.31.3", + "@budibase/backend-core": "^2.32.5", + "@budibase/bbui": "^2.32.5", + "@budibase/frontend-core": "^2.32.5", + "@budibase/shared-core": "^2.32.5", "@rollup/plugin-commonjs": "^25.0.8", "@rollup/plugin-image": "^3.0.3", "@rollup/plugin-json": "^6.1.0", @@ -28,7 +28,7 @@ "@rollup/plugin-terser": "^0.4.4", "@spectrum-css/actionbar": "6.0.65", "npm-run-all": "^4.1.5", - "postcss": "^8.4.41", + "postcss": "^8.4.47", "rollup": "^2.79.1", "rollup-plugin-copy2": "^0.3.1", "rollup-plugin-polyfill-node": "^0.8.0", diff --git a/schema.json b/schema.json index 141174a..b497367 100644 --- a/schema.json +++ b/schema.json @@ -15,6 +15,11 @@ "context": { "type": "static", "values": [ + { + "label": "Active Row", + "key": "activeRow", + "type": "object" + }, { "label": "Rows", "key": "rows", @@ -225,80 +230,32 @@ "defaultValue": false }, { - "type": "number", - "key": "debounce", - "label": "Filter Delay(ms)", - "min": 100, - "defaultValue": 750, - "dependsOn": "canFilter" - }, - { - "type": "select", + "type": "boolean", "key": "canInsert", "label": "Add Row", - "options": [ - { "label": "Off", "value": false, "barIcon": "Add" }, - { - "label": "Direct", - "value": "simple", - "barIcon": "FlashAuto" - }, - { - "label": "Fire Event", - "value": "advanced", - "barIcon": "Events" - } - ], "defaultValue": false }, { - "type": "select", - "dependsOn": "isTable", + "type": "boolean", "key": "canEdit", "label": "Edit Row", - "options": [ - { - "label": "Off", - "value": false, - "barIcon": "NoEdit" - }, - { "label": "Direct", "value": "simple", "barIcon": "FlashAuto" }, - { - "label": "Fire Event", - "value": "advanced", - "barIcon": "Events" - } - ], - "defaultValue": false + "showInBar": true, + "barStyle": "buttons", + "barIcon": "Edit", + "barTitle": "Edit", + "defaultValue": false, + "dependsOn": "isTable" }, { - "type": "select", + "type": "boolean", "key": "canDelete", "label": "Delete Row", - "options": [ - { "label": "Off", "value": false, "barIcon": "DeleteOutline" }, - { "label": "Direct", "value": "simple", "barIcon": "FlashAuto" }, - { - "label": "Fire Event", - "value": "advanced", - "barIcon": "Events" - } - ], + "showInBar": true, + "barStyle": "buttons", + "barIcon": "Delete", + "barTitle": "Delete Row", "defaultValue": false }, - { - "type": "select", - "key": "highlighters", - "label": "Highlighters", - "dependsOn": "canEdit", - "options": [ - { "label": "None", "value": "none" }, - { "label": "Horizontal", "value": "horizontal" }, - { "label": "Vertical", "value": "vertical" }, - { "label": "Both", "value": "both" } - ], - "defaultValue": "horizontal" - }, { "type": "boolean", "key": "canSort", @@ -311,16 +268,31 @@ }, { "type": "boolean", - "key": "autocolumns", - "label": "Auto Columns", - "defaultValue": false + "key": "numberingColumn", + "label": "Numbering", + "showInBar": true, + "barStyle": "buttons", + "barIcon": "123", + "barTitle": "Numbering", + "defaultValue": true }, { "type": "boolean", - "key": "jsoncolumns", - "label": "JSON Columns", + "key": "stickFirstColumn", + "label": "Pin 1st Column", + "showInBar": true, + "barStyle": "buttons", + "barIcon": "PinOff", + "barTitle": "Pin 1st Column", "defaultValue": false - }, + } + ] + }, + { + "section": true, + "name": "Column Settings", + "collapsed": true, + "settings": [ { "type": "boolean", "key": "showHeader", @@ -339,16 +311,6 @@ "label": "Resize Columns", "defaultValue": true }, - { - "type": "boolean", - "key": "numberingColumn", - "label": "Numbering", - "showInBar": true, - "barStyle": "buttons", - "barIcon": "123", - "barTitle": "Numbering", - "defaultValue": true - }, { "type": "boolean", "key": "selectionColumn", @@ -356,33 +318,22 @@ "dependsOn": "rowSelectMode", "resetOn": "rowSelectMode", "defaultValue": true - }, - { - "type": "boolean", - "key": "stickFirstColumn", - "label": "Pin 1st Column", - "showInBar": true, - "barStyle": "buttons", - "barIcon": "PinOff", - "barTitle": "Pin 1st Column", - "defaultValue": false } ] }, { "section": true, - "name": "Row Action Menu", + "name": "Row Settings", "collapsed": true, "settings": [ { "type": "select", "key": "rowMenu", - "label": "Row Menu", + "label": "Row Buttons", "options": [ { "label": "Disabled", "value": false }, { "label": "Column - Left", "value": "columnLeft" }, - { "label": "Column - Right", "value": "columnRight" }, - { "label": "Context Menu", "value": "contextMenu" } + { "label": "Column - Right", "value": "columnRight" } ], "defaultValue": false }, @@ -398,23 +349,25 @@ "type": "number", "key": "menuItemsVisible", "label": "Show Buttons", - "mi": 0, - "max": 12, + "min": 0, + "max": 6, "defaultValue": 1 }, { "dependsOn": "rowMenu", "type": "buttonConfiguration", "key": "rowMenuItems", - "label": "Menu Items", + "label": "Row Buttons", + "max": 6, "nested": true, - "wide": true, - "context": [ - { - "key": "menuRow", - "label": "Menu Row" - } - ] + "wide": true + }, + { + "type": "buttonConfiguration", + "key": "rowContextMenuItems", + "label": "Row Context Menu", + "nested": true, + "wide": true }, { "type": "select", @@ -444,11 +397,9 @@ "key": "size", "label": "Size", "options": [ - { "label": "Extra Small", "value": "XS" }, { "label": "Small", "value": "S" }, { "label": "Medium", "value": "M" }, - { "label": "Large", "value": "L" }, - { "label": "Custom", "value": "custom" } + { "label": "Large", "value": "L" } ], "defaultValue": "M" }, @@ -491,6 +442,19 @@ "resetOn": "columnSizing", "dependsOn": { "setting": "columnSizing", "value": "fixed" } }, + { + "type": "select", + "key": "highlighters", + "label": "Highlighters", + "dependsOn": "canEdit", + "options": [ + { "label": "None", "value": "none" }, + { "label": "Horizontal", "value": "horizontal" }, + { "label": "Vertical", "value": "vertical" }, + { "label": "Both", "value": "both" } + ], + "defaultValue": "horizontal" + }, { "type": "select", "key": "relViewMode", @@ -531,37 +495,6 @@ } ] }, - { - "section": true, - "name": "Custom Sizing Settings", - "dependsOn": { "setting": "size", "value": "custom" }, - "tag": "style", - "settings": [ - { - "type": "number", - "key": "customRowHeight", - "label": "Row Height", - "min": 0, - "max": 400, - "defaultValue": 36 - }, - { - "type": "number", - "key": "customCellPadding", - "label": "Cell Padding L/R", - "min": 0, - "max": 32, - "defaultValue": 8 - }, - { - "type": "number", - "key": "customBaseFont", - "label": "Row Font Size", - "min": 6, - "defaultValue": 14 - } - ] - }, { "tag": "style", "section": true, @@ -570,7 +503,6 @@ { "type": "text", "key": "rowColorTemplate", - "placeholder": "{{ Row }}", "label": "Text", "nested": true }, @@ -578,7 +510,6 @@ "type": "text", "key": "rowBGColorTemplate", "label": "Background", - "placeholder": "{{ Row }}", "nested": true } ] @@ -667,38 +598,27 @@ }, { "type": "event", - "key": "onCellChange", - "label": "On Cell Change", - "dependsOn": "canEdit", + "key": "onDelete", + "label": "On Delete", + "nested": true, + "dependsOn": "canDelete", "context": [ { - "label": "RowID", - "key": "rowID" - }, - { - "label": "Field", - "key": "field" - }, - { - "label": "Previous Value", - "key": "previousValue" - }, - { - "label": "New Value", - "key": "value" + "label": "Delete Row", + "key": "row" } ] }, { "type": "event", - "key": "onDelete", - "label": "On Delete", + "key": "afterDelete", + "label": "After Delete", "nested": true, - "dependsOn": { "setting": "canDelete", "value": "advanced" }, + "dependsOn": "canDelete", "context": [ { - "label": "Delete Row", - "key": "menuRow" + "label": "Deleted Row", + "key": "row" } ] }, @@ -707,7 +627,7 @@ "key": "onEdit", "label": "On Edit", "nested": true, - "dependsOn": { "setting": "canEdit", "value": "advanced" }, + "dependsOn": "canEdit", "context": [ { "label": "Edit Row", @@ -715,6 +635,19 @@ } ] }, + { + "type": "event", + "key": "afterEdit", + "label": "After Edit", + "nested": true, + "dependsOn": "canEdit", + "context": [ + { + "label": "Edited Row", + "key": "menuRow" + } + ] + }, { "type": "event", "key": "onInsert", diff --git a/src/Component.svelte b/src/Component.svelte index 7390c07..e045746 100644 --- a/src/Component.svelte +++ b/src/Component.svelte @@ -66,10 +66,7 @@ footerColorTemplate, footerBGColorTemplate; - export let customCellPadding; - export let customBaseFont; - export let customRowHeight; - export let useOptionColors = true; + export let useOptionColors; export let optionsViewMode = "pills"; export let relViewMode = "pills"; export let zebraColors = false; @@ -83,10 +80,12 @@ export let onRowDblClick; export let onInsert; export let onDelete; + export let afterDelete; export let onEdit; // Builder Code to identify if we are dealing with a Table or View Datasource $: localIsTable = datasource?.type == "table" || datasource?.tableId; + $: comp_id = $component.id; $: if ( $builderStore.inBuilder && $component.selected && @@ -106,6 +105,7 @@