Compare commits
9 commits
alex/creat
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
8b286657b0 | ||
|
6a2fbb956b | ||
|
f9d42ad703 | ||
|
e76dbc9e89 | ||
|
883893aaab | ||
|
47c405a9f5 | ||
|
2e77f93759 | ||
|
98a132fdef | ||
|
704bd72420 |
4 changed files with 83 additions and 3 deletions
48
.github/ISSUE_TEMPLATE/bug.yaml
vendored
Normal file
48
.github/ISSUE_TEMPLATE/bug.yaml
vendored
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
name: Bug Report
|
||||||
|
description: File a bug report
|
||||||
|
title: "[Bug] "
|
||||||
|
labels: [bug]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for taking the time to fill out this bug report!
|
||||||
|
- type: textarea
|
||||||
|
id: repro
|
||||||
|
attributes:
|
||||||
|
label: Reproduction steps
|
||||||
|
description: "How do you trigger this bug? Please walk us through it step by step."
|
||||||
|
value: |
|
||||||
|
1.
|
||||||
|
2.
|
||||||
|
3.
|
||||||
|
...
|
||||||
|
render: bash
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
id: version
|
||||||
|
attributes:
|
||||||
|
label: Version
|
||||||
|
description: What version of VS Code are you using?
|
||||||
|
options:
|
||||||
|
- Stable (Default)
|
||||||
|
- Insiders
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
id: os
|
||||||
|
attributes:
|
||||||
|
label: What operating system are you seeing the problem on?
|
||||||
|
multiple: true
|
||||||
|
options:
|
||||||
|
- All
|
||||||
|
- Windows
|
||||||
|
- macOS
|
||||||
|
- Linux
|
||||||
|
- type: textarea
|
||||||
|
id: logs
|
||||||
|
attributes:
|
||||||
|
label: Relevant log output
|
||||||
|
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
|
||||||
|
render: shell
|
|
@ -6,8 +6,13 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [0.1.3] - 2021-6-17
|
||||||
## Added
|
## Added
|
||||||
Ability to set the `list`, `default` and `array` properties when creating a new collection. | [Issue #20](https://github.com/streamlux/vscode-appwrite/issues/20) | [PR #21](https://github.com/streamlux/vscode-appwrite/pull/21) | Thanks [@Maatteogekko](https://github.com/Maatteogekko)!
|
- New feature! JSON strings inside documents will now be automatically formatted as JSON when viewing documents. You can turn this feature off via the `appwrite.formatJsonStrings` setting.
|
||||||
|
|
||||||
|
## [0.1.2] - 2021-6-03
|
||||||
|
## Added
|
||||||
|
- Ability to set the `list`, `default` and `array` properties when creating a new collection. | [Issue #20](https://github.com/streamlux/vscode-appwrite/issues/20) | [PR #21](https://github.com/streamlux/vscode-appwrite/pull/21) | Thanks [@Maatteogekko](https://github.com/Maatteogekko)!
|
||||||
|
|
||||||
## [0.1.1] - 2021-5-31
|
## [0.1.1] - 2021-5-31
|
||||||
## Added
|
## Added
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "vscode-appwrite",
|
"name": "vscode-appwrite",
|
||||||
"displayName": "Appwrite",
|
"displayName": "Appwrite",
|
||||||
"description": "Manage your Appwrite resources right from VS Code!",
|
"description": "Manage your Appwrite resources right from VS Code!",
|
||||||
"version": "0.1.2",
|
"version": "0.1.3",
|
||||||
"engines": {
|
"engines": {
|
||||||
"vscode": "^1.55.0"
|
"vscode": "^1.55.0"
|
||||||
},
|
},
|
||||||
|
@ -726,6 +726,11 @@
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"default": "",
|
"default": "",
|
||||||
"markdownDescription": "Project id of the active project, see [docs](https://github.com/streamlux/vscode-appwrite/) for more information."
|
"markdownDescription": "Project id of the active project, see [docs](https://github.com/streamlux/vscode-appwrite/) for more information."
|
||||||
|
},
|
||||||
|
"appwrite.formatJsonStrings": {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true,
|
||||||
|
"markdownDescription": "Format JSON strings when viewing documents"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,30 @@
|
||||||
|
import { workspace } from "vscode";
|
||||||
import { DocumentTreeItem } from "../../tree/database/DocumentTreeItem";
|
import { DocumentTreeItem } from "../../tree/database/DocumentTreeItem";
|
||||||
import { openReadOnlyJson } from "../../ui/openReadonlyContent";
|
import { openReadOnlyJson } from "../../ui/openReadonlyContent";
|
||||||
|
|
||||||
|
function parseJSONString(str: string): { valid: boolean; value: any } {
|
||||||
|
try {
|
||||||
|
return { value: JSON.parse(str), valid: true };
|
||||||
|
} catch (e) {
|
||||||
|
return { value: str, valid: false };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export async function viewDocumentAsJson(documentTreeItem: DocumentTreeItem): Promise<void> {
|
export async function viewDocumentAsJson(documentTreeItem: DocumentTreeItem): Promise<void> {
|
||||||
const documentId = documentTreeItem.document["$id"];
|
const document = documentTreeItem.document;
|
||||||
|
const documentId = document["$id"];
|
||||||
|
|
||||||
|
const formatJsonStrings = workspace.getConfiguration("appwrite").get<Boolean>("formatJsonStrings");
|
||||||
|
|
||||||
|
if (formatJsonStrings) {
|
||||||
|
Object.entries(document).forEach(([key, value]) => {
|
||||||
|
if (typeof value === "string") {
|
||||||
|
const result = parseJSONString(value);
|
||||||
|
document[key] = result.value;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
await openReadOnlyJson(
|
await openReadOnlyJson(
|
||||||
{
|
{
|
||||||
label: documentId,
|
label: documentId,
|
||||||
|
|
Loading…
Reference in a new issue