diff --git a/.github/workflows/Build-and-deploy-linux.yml b/.github/workflows/Build-and-deploy-linux.yml deleted file mode 100644 index abbb0a1f1..000000000 --- a/.github/workflows/Build-and-deploy-linux.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Build-and-deploy-linux -run-name: ${{ github.actor }} is building a linux release for NWB GUIDE - -on: - workflow_dispatch: - -jobs: - deploy-on-linux: - runs-on: ubuntu-latest - - defaults: - run: - shell: bash -l {0} - - steps: - - uses: actions/checkout@v3 - - - uses: actions/setup-python@v4 - with: - python-version: "3.10" - - - uses: conda-incubator/setup-miniconda@v2 - with: - activate-environment: nwb-guide - environment-file: environments/environment-Linux.yml - auto-activate-base: false - - - uses: actions/setup-node@v3 - with: - node-version: "18" - - - name: Install package.json modules and their dependencies - run: npm install --ignore-scripts - - - name: Build and deploy on Linux - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: npm run deploy:linux diff --git a/README.md b/README.md index be8461127..de60726e5 100644 --- a/README.md +++ b/README.md @@ -39,26 +39,7 @@ Run the `.dmg` file and follow all instructions to move the file into your Appli ### Ubuntu -#### Graphical Interface - -Right-click the `.AppImage` file, navigate to `permissions`, and check any box which mentions 'run as executable'. - -#### Ubuntu - CLI - -From the terminal, simply type - -``` -chmod +x nwb-guide-X.Y.Z.AppImage -``` - -Where you are using version `X.Y.Z`; then execute by calling - -``` -./nwb-guide-X.Y.Z.AppImage -``` - -> **Note:** If you're running the `.AppImage` and the app window clears to a white screen within a few seconds of starting, you will need to follow the [Developer Instructions](#developer-installation) on the [linux-fix](https://github.com/neurodatawithoutborders/nwb-guide/tree/linux-fix) branch of the NWB GUIDE. - +Please follow the [Developer Instructions](#developer-installation) on the [linux-fix](https://github.com/neurodatawithoutborders/nwb-guide/tree/linux-fix) branch of the NWB GUIDE. diff --git a/package.json b/package.json index 7144bbe1e..dda8296a5 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,8 @@ "win": { "asar": false, "target": "nsis", - "icon": "src/renderer/assets/app-icon/logo-guide-draft.ico" + "icon": "src/renderer/assets/app-icon/logo-guide-draft.ico", + "requestedExecutionLevel": "requireAdministrator" }, "mac": { "asar": true, diff --git a/schemas/json/dandi/upload.json b/schemas/json/dandi/upload.json index 40f130e47..a7cfbb62a 100644 --- a/schemas/json/dandi/upload.json +++ b/schemas/json/dandi/upload.json @@ -6,6 +6,7 @@ }, "cleanup": { "type": "boolean", + "title": "Delete Local Files After Upload", "default": false } }, diff --git a/src/renderer/src/stories/JSONSchemaForm.js b/src/renderer/src/stories/JSONSchemaForm.js index 7a51344d0..195d6cbfb 100644 --- a/src/renderer/src/stories/JSONSchemaForm.js +++ b/src/renderer/src/stories/JSONSchemaForm.js @@ -349,9 +349,9 @@ export class JSONSchemaForm extends LitElement { return true; }; - #get = (path, object = this.resolved) => { + #get = (path, object = this.resolved, omitted = []) => { // path = path.slice(this.base.length); // Correct for base path - return path.reduce((acc, curr) => (acc = acc[curr]), object); + return path.reduce((acc, curr) => (acc = acc[curr] ?? acc?.[omitted.find((str) => acc[str])]?.[curr]), object); }; #checkRequiredAfterChange = async (localPath) => { @@ -375,7 +375,7 @@ export class JSONSchemaForm extends LitElement { if (indexOf !== -1) path = path.slice(indexOf + 1); } - const resolved = this.#get(path, schema); + const resolved = this.#get(path, schema, ["properties"]); if (resolved["$ref"]) return this.getSchema(resolved["$ref"].split("/").slice(1)); // NOTE: This assumes reference to the root of the schema return resolved; @@ -432,7 +432,7 @@ export class JSONSchemaForm extends LitElement { ? "conditional" : ""}" > - + ${interactiveInput}
@@ -619,7 +619,13 @@ export class JSONSchemaForm extends LitElement { } else { // For non-links, throw a basic requirement error if the property is required if (!errors.length && isRequired && !parent[name]) { - errors.push({ message: `${name} is a required property.`, type: "error", missing: true }); // Throw at least a basic error if the property is required + const schema = this.getSchema(localPath); + console.log(schema); + errors.push({ + message: `${schema.title ?? header(name)} is a required property.`, + type: "error", + missing: true, + }); // Throw at least a basic error if the property is required } } diff --git a/src/renderer/src/stories/Main.js b/src/renderer/src/stories/Main.js index cb416ce10..98320cfd0 100644 --- a/src/renderer/src/stories/Main.js +++ b/src/renderer/src/stories/Main.js @@ -89,7 +89,6 @@ export class Main extends LitElement { // Go to home screen if there is no next page if (!info.next) footer = { - next: "Back to Home Screen", exit: false, onNext: () => this.toRender.page.to("/"), }; diff --git a/src/renderer/src/stories/pages/guided-mode/GuidedFooter.js b/src/renderer/src/stories/pages/guided-mode/GuidedFooter.js index 7268708df..b49e5d1ad 100644 --- a/src/renderer/src/stories/pages/guided-mode/GuidedFooter.js +++ b/src/renderer/src/stories/pages/guided-mode/GuidedFooter.js @@ -27,7 +27,7 @@ export class GuidedFooter extends LitElement { constructor({ back = "Back", next = "Next", - exit = "Exit", + exit = "Return to Home Screen", onBack = () => this.to(-1), onNext = () => this.to(1), onExit = () => this.to("/"),