mirror of
https://github.com/Fabio286/antares.git
synced 2025-06-05 21:59:22 +02:00
Compare commits
9 Commits
v0.7.31-be
...
v0.7.31-be
Author | SHA1 | Date | |
---|---|---|---|
8003d3eb1e | |||
48cfa67889 | |||
9cda38e9d1 | |||
72f8d4249f | |||
0f93d70417 | |||
580bef76ba | |||
7595e89223 | |||
7af44d4a2c | |||
0479e5307c |
17
CHANGELOG.md
17
CHANGELOG.md
@@ -2,6 +2,23 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||||
|
|
||||||
|
### [0.7.31-beta.5](https://github.com/antares-sql/antares/compare/v0.7.31-beta.4...v0.7.31-beta.5) (2025-02-09)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **devtoolsInstaller:** improve file path handling and increase chromium version ([7595e89](https://github.com/antares-sql/antares/commit/7595e892238d2a93c454e9c1f236915fb458eed1))
|
||||||
|
* improve BLOB primary fields management, fixes [#938](https://github.com/antares-sql/antares/issues/938) ([72f8d42](https://github.com/antares-sql/antares/commit/72f8d4249f7f587d3e92b46cf7709ddab42107d4))
|
||||||
|
* **Linux:** restored AppImage auto updates ([0479e53](https://github.com/antares-sql/antares/commit/0479e5307c9a9d5f791e1c61fa772d331f6f7f1f))
|
||||||
|
* replace 'this.addNotification' with 'addNotification' in useResultTables.ts ([580bef7](https://github.com/antares-sql/antares/commit/580bef76ba390fc85df0892265f31392b80301bd))
|
||||||
|
* unable to delete rows from context menu ([0f93d70](https://github.com/antares-sql/antares/commit/0f93d70417871f02f9f64f203f6654fa1bf2004b))
|
||||||
|
|
||||||
|
|
||||||
|
### Improvements
|
||||||
|
|
||||||
|
* improve button styles of notes ([48cfa67](https://github.com/antares-sql/antares/commit/48cfa67889bd83228c109b7966c4acea4e542fc6))
|
||||||
|
* **MySQL:** long loading in table settings when no checks present ([9cda38e](https://github.com/antares-sql/antares/commit/9cda38e9d10e3000473863560d8be8f426a5ed17))
|
||||||
|
|
||||||
### [0.7.31-beta.4](https://github.com/antares-sql/antares/compare/v0.7.31-beta.3...v0.7.31-beta.4) (2025-01-31)
|
### [0.7.31-beta.4](https://github.com/antares-sql/antares/compare/v0.7.31-beta.3...v0.7.31-beta.4) (2025-01-31)
|
||||||
|
|
||||||
|
|
||||||
|
16
package-lock.json
generated
16
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "antares",
|
"name": "antares",
|
||||||
"version": "0.7.31-beta.4",
|
"version": "0.7.31-beta.5",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "antares",
|
"name": "antares",
|
||||||
"version": "0.7.31-beta.4",
|
"version": "0.7.31-beta.5",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -22,6 +22,7 @@
|
|||||||
"babel-loader": "~8.2.3",
|
"babel-loader": "~8.2.3",
|
||||||
"better-sqlite3": "~10.0.0",
|
"better-sqlite3": "~10.0.0",
|
||||||
"chalk": "~4.1.2",
|
"chalk": "~4.1.2",
|
||||||
|
"ciaplu": "^2.2.0",
|
||||||
"cpu-features": "^0.0.10",
|
"cpu-features": "^0.0.10",
|
||||||
"cross-env": "~7.0.2",
|
"cross-env": "~7.0.2",
|
||||||
"css-loader": "~6.5.0",
|
"css-loader": "~6.5.0",
|
||||||
@@ -5608,6 +5609,12 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/ciaplu": {
|
||||||
|
"version": "2.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ciaplu/-/ciaplu-2.2.0.tgz",
|
||||||
|
"integrity": "sha512-7y8s0GMFpIKqX2kwiOEYbaX3P9tPIbX4x41uw8GZjkZ+y0QZrpY3PFjE2Ed6BOeFxcCWi7b85MYHeiRrVrlSOQ==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/clean-css": {
|
"node_modules/clean-css": {
|
||||||
"version": "5.3.2",
|
"version": "5.3.2",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
@@ -20345,6 +20352,11 @@
|
|||||||
"version": "3.9.0",
|
"version": "3.9.0",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"ciaplu": {
|
||||||
|
"version": "2.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ciaplu/-/ciaplu-2.2.0.tgz",
|
||||||
|
"integrity": "sha512-7y8s0GMFpIKqX2kwiOEYbaX3P9tPIbX4x41uw8GZjkZ+y0QZrpY3PFjE2Ed6BOeFxcCWi7b85MYHeiRrVrlSOQ=="
|
||||||
|
},
|
||||||
"clean-css": {
|
"clean-css": {
|
||||||
"version": "5.3.2",
|
"version": "5.3.2",
|
||||||
"requires": {
|
"requires": {
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "antares",
|
"name": "antares",
|
||||||
"productName": "Antares",
|
"productName": "Antares",
|
||||||
"version": "0.7.31-beta.4",
|
"version": "0.7.31-beta.5",
|
||||||
"description": "A modern, fast and productivity driven SQL client with a focus in UX.",
|
"description": "A modern, fast and productivity driven SQL client with a focus in UX.",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"repository": "https://github.com/antares-sql/antares.git",
|
"repository": "https://github.com/antares-sql/antares.git",
|
||||||
@@ -131,6 +131,7 @@
|
|||||||
"babel-loader": "~8.2.3",
|
"babel-loader": "~8.2.3",
|
||||||
"better-sqlite3": "~10.0.0",
|
"better-sqlite3": "~10.0.0",
|
||||||
"chalk": "~4.1.2",
|
"chalk": "~4.1.2",
|
||||||
|
"ciaplu": "^2.2.0",
|
||||||
"cpu-features": "^0.0.10",
|
"cpu-features": "^0.0.10",
|
||||||
"cross-env": "~7.0.2",
|
"cross-env": "~7.0.2",
|
||||||
"css-loader": "~6.5.0",
|
"css-loader": "~6.5.0",
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
// @ts-nocheck
|
// @ts-check
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const https = require('https');
|
const https = require('https');
|
||||||
@@ -7,13 +7,18 @@ const unzip = require('unzip-crx-3');
|
|||||||
const { antares } = require('../package.json');
|
const { antares } = require('../package.json');
|
||||||
|
|
||||||
const extensionID = antares.devtoolsId;
|
const extensionID = antares.devtoolsId;
|
||||||
|
const chromiumVersion = '124';
|
||||||
const destFolder = path.resolve(__dirname, `../misc/${extensionID}`);
|
const destFolder = path.resolve(__dirname, `../misc/${extensionID}`);
|
||||||
const filePath = path.resolve(__dirname, `${destFolder}${extensionID}.crx`);
|
const filePath = path.resolve(__dirname, `${destFolder}/${extensionID}.crx`);
|
||||||
const fileUrl = `https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&x=id%3D${extensionID}%26uc&prodversion=32`;
|
const fileUrl = `https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&x=id%3D${extensionID}%26uc&prodversion=${chromiumVersion}`;
|
||||||
|
|
||||||
|
if (!fs.existsSync(destFolder))
|
||||||
|
fs.mkdirSync(destFolder, { recursive: true });
|
||||||
|
|
||||||
const fileStream = fs.createWriteStream(filePath);
|
const fileStream = fs.createWriteStream(filePath);
|
||||||
|
|
||||||
const downloadFile = url => {
|
const downloadFile = url => {
|
||||||
return new Promise((resolve, reject) => {
|
return /** @type {Promise<void>} */(new Promise((resolve, reject) => {
|
||||||
const request = https.get(url);
|
const request = https.get(url);
|
||||||
|
|
||||||
request.on('response', response => {
|
request.on('response', response => {
|
||||||
@@ -33,7 +38,7 @@ const downloadFile = url => {
|
|||||||
});
|
});
|
||||||
request.on('error', reject);
|
request.on('error', reject);
|
||||||
request.end();
|
request.end();
|
||||||
});
|
}));
|
||||||
};
|
};
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
import { match } from 'ciaplu';
|
||||||
|
|
||||||
function isJSON (str: string) {
|
function isJSON (str: string) {
|
||||||
try {
|
try {
|
||||||
if (!['{', '['].includes(str.trim()[0]))
|
if (!['{', '['].includes(str.trim()[0]))
|
||||||
@@ -176,17 +178,13 @@ function isMD (str: string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function langDetector (str: string) {
|
export function langDetector (str: string) {
|
||||||
if (!str || !str.trim().length)
|
return match(str)
|
||||||
return 'text';
|
.when(() => !str || !str.trim().length, () => 'text')
|
||||||
if (isJSON(str))
|
.when(isJSON, () => 'json')
|
||||||
return 'json';
|
.when(isHTML, () => 'html')
|
||||||
if (isHTML(str))
|
.when(isSVG, () => 'svg')
|
||||||
return 'html';
|
.when(isXML, () => 'xml')
|
||||||
if (isSVG(str))
|
.when(isMD, () => 'markdown')
|
||||||
return 'svg';
|
.otherwise(() => 'text')
|
||||||
if (isXML(str))
|
.return();
|
||||||
return 'xml';
|
|
||||||
if (isMD(str))
|
|
||||||
return 'markdown';
|
|
||||||
return 'text';
|
|
||||||
}
|
}
|
||||||
|
@@ -1,45 +1,25 @@
|
|||||||
|
import { match } from 'ciaplu';
|
||||||
|
|
||||||
export function mimeFromHex (hex: string) {
|
export function mimeFromHex (hex: string) {
|
||||||
switch (hex.substring(0, 4)) { // 2 bytes
|
return match(hex.substring(0, 4)) // 2 bytes
|
||||||
case '424D':
|
.with('424D', () => ({ ext: 'bmp', mime: 'image/bmp' }))
|
||||||
return { ext: 'bmp', mime: 'image/bmp' };
|
.with('1F8B', () => ({ ext: 'tar.gz', mime: 'application/gzip' }))
|
||||||
case '1F8B':
|
.with('0B77', () => ({ ext: 'ac3', mime: 'audio/vnd.dolby.dd-raw' }))
|
||||||
return { ext: 'tar.gz', mime: 'application/gzip' };
|
.with('7801', () => ({ ext: 'dmg', mime: 'application/x-apple-diskimage' }))
|
||||||
case '0B77':
|
.with('4D5A', () => ({ ext: 'exe', mime: 'application/x-msdownload' }))
|
||||||
return { ext: 'ac3', mime: 'audio/vnd.dolby.dd-raw' };
|
.when((val) => ['1FA0', '1F9D'].includes(val), () => ({ ext: 'Z', mime: 'application/x-compress' }))
|
||||||
case '7801':
|
.extracting(() => hex.substring(0, 6)) // 3 bytes
|
||||||
return { ext: 'dmg', mime: 'application/x-apple-diskimage' };
|
.with('FFD8FF', () => ({ ext: 'jpg', mime: 'image/jpeg' }))
|
||||||
case '4D5A':
|
.with('4949BC', () => ({ ext: 'jxr', mime: 'image/vnd.ms-photo' }))
|
||||||
return { ext: 'exe', mime: 'application/x-msdownload' };
|
.with('425A68', () => ({ ext: 'bz2', mime: 'application/x-bzip2' }))
|
||||||
case '1FA0':
|
.extracting(() => hex) // 4 bytes
|
||||||
case '1F9D':
|
.with('89504E47', () => ({ ext: 'png', mime: 'image/png' }))
|
||||||
return { ext: 'Z', mime: 'application/x-compress' };
|
.with('47494638', () => ({ ext: 'gif', mime: 'image/gif' }))
|
||||||
default:
|
.with('25504446', () => ({ ext: 'pdf', mime: 'application/pdf' }))
|
||||||
switch (hex.substring(0, 6)) { // 3 bytes
|
.with('504B0304', () => ({ ext: 'zip', mime: 'application/zip' }))
|
||||||
case 'FFD8FF':
|
.with('425047FB', () => ({ ext: 'bpg', mime: 'image/bpg' }))
|
||||||
return { ext: 'jpg', mime: 'image/jpeg' };
|
.with('4D4D002A', () => ({ ext: 'tif', mime: 'image/tiff' }))
|
||||||
case '4949BC':
|
.with('00000100', () => ({ ext: 'ico', mime: 'image/x-icon' }))
|
||||||
return { ext: 'jxr', mime: 'image/vnd.ms-photo' };
|
.otherwise(() => ({ ext: '', mime: 'unknown ' + hex }))
|
||||||
case '425A68':
|
.return();
|
||||||
return { ext: 'bz2', mime: 'application/x-bzip2' };
|
|
||||||
default:
|
|
||||||
switch (hex) { // 4 bites
|
|
||||||
case '89504E47':
|
|
||||||
return { ext: 'png', mime: 'image/png' };
|
|
||||||
case '47494638':
|
|
||||||
return { ext: 'gif', mime: 'image/gif' };
|
|
||||||
case '25504446':
|
|
||||||
return { ext: 'pdf', mime: 'application/pdf' };
|
|
||||||
case '504B0304':
|
|
||||||
return { ext: 'zip', mime: 'application/zip' };
|
|
||||||
case '425047FB':
|
|
||||||
return { ext: 'bpg', mime: 'image/bpg' };
|
|
||||||
case '4D4D002A':
|
|
||||||
return { ext: 'tif', mime: 'image/tiff' };
|
|
||||||
case '00000100':
|
|
||||||
return { ext: 'ico', mime: 'image/x-icon' };
|
|
||||||
default:
|
|
||||||
return { ext: '', mime: 'unknown ' + hex };
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -127,7 +127,7 @@ const fakerGroups = computed(() => {
|
|||||||
localType.value = 'datetime';
|
localType.value = 'datetime';
|
||||||
else if (TIME.includes(props.type))
|
else if (TIME.includes(props.type))
|
||||||
localType.value = 'time';
|
localType.value = 'time';
|
||||||
else if (UUID.includes(props.type))
|
else if (UUID.includes(props.type) || (BLOB.includes(props.type) && props.field.key === 'pri'))
|
||||||
localType.value = 'uuid';
|
localType.value = 'uuid';
|
||||||
else
|
else
|
||||||
localType.value = 'none';
|
localType.value = 'none';
|
||||||
@@ -177,7 +177,7 @@ const inputProps = () => {
|
|||||||
return { type: 'text', mask: datetimeMask };
|
return { type: 'text', mask: datetimeMask };
|
||||||
}
|
}
|
||||||
|
|
||||||
if (BLOB.includes(props.type))
|
if (BLOB.includes(props.type) && props.field.key !== 'pri')
|
||||||
return { type: 'file', mask: false };
|
return { type: 'file', mask: false };
|
||||||
|
|
||||||
if (BIT.includes(props.type))
|
if (BIT.includes(props.type))
|
||||||
|
@@ -47,65 +47,50 @@
|
|||||||
<div class="tile-history-buttons">
|
<div class="tile-history-buttons">
|
||||||
<button
|
<button
|
||||||
v-if="note.type === 'todo' && !note.isArchived"
|
v-if="note.type === 'todo' && !note.isArchived"
|
||||||
class="btn btn-link pl-1"
|
class="btn btn-dark tooltip tooltip-left"
|
||||||
|
:data-tooltip="t('general.archive')"
|
||||||
@click.stop="$emit('archive-note', note.uid)"
|
@click.stop="$emit('archive-note', note.uid)"
|
||||||
>
|
>
|
||||||
<BaseIcon
|
<BaseIcon icon-name="mdiCheck" :size="22" />
|
||||||
icon-name="mdiCheck"
|
|
||||||
class="pr-1"
|
|
||||||
:size="22"
|
|
||||||
/> {{ t('general.archive') }}
|
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
v-if="note.type === 'todo' && note.isArchived"
|
v-if="note.type === 'todo' && note.isArchived"
|
||||||
class="btn btn-link pl-1"
|
class="btn btn-dark tooltip tooltip-left"
|
||||||
|
:data-tooltip="t('general.undo')"
|
||||||
@click.stop="$emit('restore-note', note.uid)"
|
@click.stop="$emit('restore-note', note.uid)"
|
||||||
>
|
>
|
||||||
<BaseIcon
|
<BaseIcon icon-name="mdiRestore" :size="22" />
|
||||||
icon-name="mdiRestore"
|
|
||||||
class="pr-1"
|
|
||||||
:size="22"
|
|
||||||
/> {{ t('general.undo') }}
|
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
v-if="note.type === 'query'"
|
v-if="note.type === 'query'"
|
||||||
class="btn btn-link pl-1"
|
class="btn btn-dark tooltip tooltip-left"
|
||||||
|
:data-tooltip="t('general.select')"
|
||||||
@click.stop="$emit('select-query', note.note)"
|
@click.stop="$emit('select-query', note.note)"
|
||||||
>
|
>
|
||||||
<BaseIcon
|
<BaseIcon icon-name="mdiOpenInApp" :size="22" />
|
||||||
icon-name="mdiOpenInApp"
|
|
||||||
class="pr-1"
|
|
||||||
:size="22"
|
|
||||||
/> {{ t('general.select') }}
|
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
v-if="note.type === 'query'"
|
v-if="note.type === 'query'"
|
||||||
class="btn btn-link pl-1"
|
class="btn btn-dark tooltip tooltip-left"
|
||||||
|
:data-tooltip="t('general.copy')"
|
||||||
@click.stop="copyText(note.note)"
|
@click.stop="copyText(note.note)"
|
||||||
>
|
>
|
||||||
<BaseIcon
|
<BaseIcon icon-name="mdiContentCopy" :size="18" />
|
||||||
icon-name="mdiContentCopy"
|
|
||||||
class="pr-1"
|
|
||||||
:size="22"
|
|
||||||
/> {{ t('general.copy') }}
|
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
v-if=" !note.isArchived"
|
v-if=" !note.isArchived"
|
||||||
class="btn btn-link pl-1"
|
class="btn btn-dark tooltip tooltip-left"
|
||||||
|
:data-tooltip="t('general.edit')"
|
||||||
@click.stop="$emit('edit-note')"
|
@click.stop="$emit('edit-note')"
|
||||||
>
|
>
|
||||||
<BaseIcon
|
<BaseIcon icon-name="mdiPencil" :size="22" />
|
||||||
icon-name="mdiPencil"
|
|
||||||
class="pr-1"
|
|
||||||
:size="22"
|
|
||||||
/> {{ t('general.edit') }}
|
|
||||||
</button>
|
</button>
|
||||||
<button class="btn btn-link pl-1" @click.stop="$emit('delete-note', note.uid)">
|
<button
|
||||||
<BaseIcon
|
class="btn btn-dark tooltip tooltip-left"
|
||||||
icon-name="mdiDeleteForever"
|
:data-tooltip="t('general.delete')"
|
||||||
class="pr-1"
|
@click.stop="$emit('delete-note', note.uid)"
|
||||||
:size="22"
|
>
|
||||||
/> {{ t('general.delete') }}
|
<BaseIcon icon-name="mdiDeleteForever" :size="22" />
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -278,11 +263,14 @@ const highlightWord = (string: string) => {
|
|||||||
|
|
||||||
button {
|
button {
|
||||||
font-size: 0.7rem;
|
font-size: 0.7rem;
|
||||||
height: 1rem;
|
|
||||||
line-height: 1rem;
|
line-height: 1rem;
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
margin: 0 5px;
|
||||||
|
padding: 0;
|
||||||
|
height: 24px;
|
||||||
|
width: 24px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -458,6 +458,8 @@ const getFieldsData = async () => {
|
|||||||
addNotification({ status: 'error', message: err.stack });
|
addNotification({ status: 'error', message: err.stack });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isLoading.value = false;
|
||||||
|
|
||||||
if (workspace.value.customizations.tableCheck) {
|
if (workspace.value.customizations.tableCheck) {
|
||||||
try { // Table checks
|
try { // Table checks
|
||||||
const { status, response } = await Tables.getTableChecks(params);
|
const { status, response } = await Tables.getTableChecks(params);
|
||||||
@@ -478,8 +480,6 @@ const getFieldsData = async () => {
|
|||||||
addNotification({ status: 'error', message: err.stack });
|
addNotification({ status: 'error', message: err.stack });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
isLoading.value = false;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const saveChanges = async () => {
|
const saveChanges = async () => {
|
||||||
|
@@ -538,7 +538,7 @@ const closeContext = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const showDeleteConfirmModal = (e: any) => {
|
const showDeleteConfirmModal = (e: any) => {
|
||||||
if (e.code !== 'Delete') return;
|
if (e && e.code !== 'Delete') return;
|
||||||
if (e && e.path && ['INPUT', 'TEXTAREA', 'SELECT'].includes(e.path[0].tagName))
|
if (e && e.path && ['INPUT', 'TEXTAREA', 'SELECT'].includes(e.path[0].tagName))
|
||||||
return;
|
return;
|
||||||
if (selectedRows.value.length === 0) return;
|
if (selectedRows.value.length === 0) return;
|
||||||
@@ -563,6 +563,7 @@ const deleteSelected = () => {
|
|||||||
table: getTable(resultsetIndex.value),
|
table: getTable(resultsetIndex.value),
|
||||||
rows
|
rows
|
||||||
};
|
};
|
||||||
|
console.log(params);
|
||||||
emit('delete-selected', params);
|
emit('delete-selected', params);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -440,7 +440,7 @@ const editON = async (field: string) => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (BLOB.includes(type)) {
|
if (BLOB.includes(type) && props.fields[field].key !== 'pri') {
|
||||||
isBlobEditor.value = true;
|
isBlobEditor.value = true;
|
||||||
editingContent.value = content || '';
|
editingContent.value = content || '';
|
||||||
fileToUpload.value = null;
|
fileToUpload.value = null;
|
||||||
@@ -458,9 +458,12 @@ const editON = async (field: string) => {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
emit('start-editing', field);
|
emit('start-editing', field);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else if (BLOB.includes(type) && props.fields[field].key === 'pri')// Disable edit on BLOB primary until we are sure it's not problematic
|
||||||
|
return;
|
||||||
|
|
||||||
// Inline editable fields
|
// Inline editable fields
|
||||||
editingContent.value = originalContent.value;
|
editingContent.value = originalContent.value;
|
||||||
|
@@ -56,10 +56,10 @@ export function useResultTables (uid: string, reloadTable: () => void) {
|
|||||||
if (status === 'success')
|
if (status === 'success')
|
||||||
reloadTable();
|
reloadTable();
|
||||||
else
|
else
|
||||||
this.addNotification({ status: 'error', message: response });
|
addNotification({ status: 'error', message: response });
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch (err) {
|
||||||
this.addNotification({ status: 'error', message: err.stack });
|
addNotification({ status: 'error', message: err.stack });
|
||||||
isQuering.value = false;
|
isQuering.value = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,8 +1,7 @@
|
|||||||
const path = require('path');
|
const path = require('path');
|
||||||
const webpack = require('webpack');
|
|
||||||
const ProgressPlugin = require('progress-webpack-plugin');
|
const ProgressPlugin = require('progress-webpack-plugin');
|
||||||
|
|
||||||
const { dependencies, devDependencies, version } = require('./package.json');
|
const { dependencies, devDependencies } = require('./package.json');
|
||||||
|
|
||||||
const externals = Object.keys(dependencies).concat(Object.keys(devDependencies));
|
const externals = Object.keys(dependencies).concat(Object.keys(devDependencies));
|
||||||
const isDevMode = process.env.NODE_ENV === 'development';
|
const isDevMode = process.env.NODE_ENV === 'development';
|
||||||
@@ -48,13 +47,7 @@ module.exports = { // Main
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
new ProgressPlugin(true),
|
new ProgressPlugin(true)
|
||||||
new webpack.DefinePlugin({
|
|
||||||
'process.env': {
|
|
||||||
PACKAGE_VERSION: `"${version}"`,
|
|
||||||
DISTRIBUTION: `"${process.env.DISTRIBUTION || 'none'}"`
|
|
||||||
}
|
|
||||||
})
|
|
||||||
],
|
],
|
||||||
module: {
|
module: {
|
||||||
rules: [
|
rules: [
|
||||||
|
Reference in New Issue
Block a user