Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: resolves #233 & #234 #235

Open
wants to merge 7 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
174 changes: 173 additions & 1 deletion .github/workflows/starter.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
else
echo "environment=review/${{ github.ref_name }}"
echo "environment=review/${{ github.ref_name }}" >> $GITHUB_OUTPUT
echo "environment_short=$(echo -n ${{ github.ref_name }} | sed 's/feat\(ure\)\{0,1\}[_/]//' | tr '_' '-' | tr '[:upper:]' '[:lower:]' | cut -c -63 )" >> $GITHUB_OUTPUT
echo "environment_short=$(echo -n ${{ github.ref_name }} | sed 's/\(feat\(ure\)\{0,1\}\|fix\|chore\|perf\|refactor\|style\|test\)[_/]//' | tr '_' '-' | tr '[:upper:]' '[:lower:]' | cut -c -48 )" >> $GITHUB_OUTPUT
fi
generate_workflow_vars:
needs: [setup_workflow_env]
Expand All @@ -59,6 +59,49 @@ jobs:
then public_url=https://${{ needs.setup_workflow_env.outputs.environment_short }}.${kube_ingress_base_domain}
fi
echo "public_url=$public_url" >> $GITHUB_OUTPUT
- name: Populate environment variables from template environment
id: populate_env_vars
if: ${{ github.ref_name != 'main' }}
# A fine grained personal access token needs to be set on repository level
# This token needs to have the following permissions:
# - "Variables" repository permissions (write)
# - "Environments" repository permissions (write)
env:
GH_PROMPT_DISABLED: "true"
GH_TOKEN: ${{ secrets.ENVIRONMENT_WRITE_TOKEN}}
ref_name: ${{ github.ref_name }}
template_ref_name: develop
run: |
# This was refactored using CoPilot
fetch_gh_env_vars() {
local environment=$1
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/${{ github.repository }}/environments/${environment}/variables \
-q '.variables[]|select(.name|startswith("SERVICE_ID") or startswith("K8S_SECRET_"))|delpaths([["created_at"],["updated_at"]])'
}
post_var_as_json_to_env() {
local var=$1
local environment=$2
echo -n $var | gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/${{ github.repository }}/environments/${environment}/variables \
--input -
}
if [ "$GH_TOKEN"x != 'x' ]
then
VARS_TEMPLATE=$(fetch_gh_env_vars "review%2F${{ env.template_ref_name}}")
if [ "$(fetch_gh_env_vars "review%2F${{ env.ref_name }}")"x = "x" ]
then
for var in $VARS_TEMPLATE
do
post_var_as_json_to_env "$var" "review%2F${{ env.ref_name }}"
done
fi
fi
outputs:
environment: ${{ needs.setup_workflow_env.outputs.environment }}
environment_short: ${{ needs.setup_workflow_env.outputs.environment_short }}
Expand All @@ -79,6 +122,49 @@ jobs:
then public_url=https://shawi-${{ needs.setup_workflow_env.outputs.environment_short }}.${kube_ingress_base_domain}
fi
echo "public_url=$public_url" >> $GITHUB_OUTPUT
- name: Populate environment variables from template environment
id: populate_env_vars
if: ${{ github.ref_name != 'main' }}
# A fine grained personal access token needs to be set on repository level
# This token needs to have the following permissions:
# - "Variables" repository permissions (write)
# - "Environments" repository permissions (write)
env:
GH_PROMPT_DISABLED: "true"
GH_TOKEN: ${{ secrets.ENVIRONMENT_WRITE_TOKEN}}
ref_name: ${{ github.ref_name }}-shawi
template_ref_name: develop-shawi
run: |
# This was refactored using CoPilot
fetch_gh_env_vars() {
local environment=$1
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/${{ github.repository }}/environments/${environment}/variables \
-q '.variables[]|select(.name|startswith("SERVICE_ID") or startswith("K8S_SECRET_"))|delpaths([["created_at"],["updated_at"]])'
}
post_var_as_json_to_env() {
local var=$1
local environment=$2
echo -n $var | gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/${{ github.repository }}/environments/${environment}/variables \
--input -
}
if [ "$GH_TOKEN"x != 'x' ]
then
VARS_TEMPLATE=$(fetch_gh_env_vars "review%2F${{ env.template_ref_name}}")
if [ "$(fetch_gh_env_vars "review%2F${{ env.ref_name }}")"x = "x" ]
then
for var in $VARS_TEMPLATE
do
post_var_as_json_to_env "$var" "review%2F${{ env.ref_name }}"
done
fi
fi
outputs:
environment: ${{ needs.setup_workflow_env.outputs.environment }}-shawi
environment_short: shawi-${{ needs.setup_workflow_env.outputs.environment_short }}
Expand All @@ -99,6 +185,49 @@ jobs:
then public_url=https://tunocent-${{ needs.setup_workflow_env.outputs.environment_short }}.${kube_ingress_base_domain}
fi
echo "public_url=$public_url" >> $GITHUB_OUTPUT
- name: Populate environment variables from template environment
id: populate_env_vars
if: ${{ github.ref_name != 'main' }}
# A fine grained personal access token needs to be set on repository level
# This token needs to have the following permissions:
# - "Variables" repository permissions (write)
# - "Environments" repository permissions (write)
env:
GH_PROMPT_DISABLED: "true"
GH_TOKEN: ${{ secrets.ENVIRONMENT_WRITE_TOKEN}}
ref_name: ${{ github.ref_name }}-tunocent
template_ref_name: develop-tunocent
run: |
# This was refactored using CoPilot
fetch_gh_env_vars() {
local environment=$1
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/${{ github.repository }}/environments/${environment}/variables \
-q '.variables[]|select(.name|startswith("SERVICE_ID") or startswith("K8S_SECRET_"))|delpaths([["created_at"],["updated_at"]])'
}
post_var_as_json_to_env() {
local var=$1
local environment=$2
echo -n $var | gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/${{ github.repository }}/environments/${environment}/variables \
--input -
}
if [ "$GH_TOKEN"x != 'x' ]
then
VARS_TEMPLATE=$(fetch_gh_env_vars "review%2F${{ env.template_ref_name}}")
if [ "$(fetch_gh_env_vars "review%2F${{ env.ref_name }}")"x = "x" ]
then
for var in $VARS_TEMPLATE
do
post_var_as_json_to_env "$var" "review%2F${{ env.ref_name }}"
done
fi
fi
outputs:
environment: ${{ needs.setup_workflow_env.outputs.environment }}-tunocent
environment_short: tunocent-${{ needs.setup_workflow_env.outputs.environment_short }}
Expand All @@ -119,6 +248,49 @@ jobs:
then public_url=https://wibarab-${{ needs.setup_workflow_env.outputs.environment_short }}.${kube_ingress_base_domain}
fi
echo "public_url=$public_url" >> $GITHUB_OUTPUT
- name: Populate environment variables from template environment
id: populate_env_vars
if: ${{ github.ref_name != 'main' }}
# A fine grained personal access token needs to be set on repository level
# This token needs to have the following permissions:
# - "Variables" repository permissions (write)
# - "Environments" repository permissions (write)
env:
GH_PROMPT_DISABLED: "true"
GH_TOKEN: ${{ secrets.ENVIRONMENT_WRITE_TOKEN}}
ref_name: ${{ github.ref_name }}-wibarab
template_ref_name: develop-wibarab
run: |
# This was refactored using CoPilot
fetch_gh_env_vars() {
local environment=$1
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/${{ github.repository }}/environments/${environment}/variables \
-q '.variables[]|select(.name|startswith("SERVICE_ID") or startswith("K8S_SECRET_"))|delpaths([["created_at"],["updated_at"]])'
}
post_var_as_json_to_env() {
local var=$1
local environment=$2
echo -n $var | gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/${{ github.repository }}/environments/${environment}/variables \
--input -
}
if [ "$GH_TOKEN"x != 'x' ]
then
VARS_TEMPLATE=$(fetch_gh_env_vars "review%2F${{ env.template_ref_name}}")
if [ "$(fetch_gh_env_vars "review%2F${{ env.ref_name }}")"x = "x" ]
then
for var in $VARS_TEMPLATE
do
post_var_as_json_to_env "$var" "review%2F${{ env.ref_name }}"
done
fi
fi
outputs:
environment: ${{ needs.setup_workflow_env.outputs.environment }}-wibarab
environment_short: wibarab-${{ needs.setup_workflow_env.outputs.environment_short }}
Expand Down
59 changes: 18 additions & 41 deletions components/biblio-entries-window-content.vue
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,12 @@ const isMapQuery: Ref<boolean> = ref(false);

const isFormOpen = ref(queryString.value === "");

function submitNewQuery(): void {
function submitNewQuery(map: boolean): void {
if (queryString.value === "") return;
if (!isTextQuery.value && !isMapQuery.value) isTextQuery.value = true;
params.value.queryString = queryString.value;
if (isTextQuery.value) {
emit("updateQueryParam", queryString.value);
}
if (isMapQuery.value) {
emit("updateQueryParam", queryString.value);
if (map) {
addWindow({
targetType: "WMap",
params: {
Expand All @@ -43,6 +41,13 @@ function submitNewQuery(): void {
title: `Bibl. Locations for "${queryString.value}"`,
});
}
isFormOpen.value = false;
}

function submitNewQueryKeyup(event: KeyboardEvent): void {
if (event.key === "Enter") {
submitNewQuery(false);
}
}
</script>

Expand Down Expand Up @@ -105,53 +110,25 @@ function submitNewQuery(): void {
class="block w-full rounded border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder:text-gray-400 dark:focus:border-blue-500 dark:focus:ring-blue-500"
placeholder="Search in bibliographies&hellip;"
type="text"
@keyup.enter="submitNewQuery"
@keyup.enter="submitNewQueryKeyup"
/>
</div>
<div class="my-3">
<button class="biblQueryBtn" :disabled="!queryString" @click="submitNewQuery">
Query
<button class="biblQueryBtn" :disabled="!queryString" @click="submitNewQuery(false)">
Query as List
</button>
</div>
<div class="mb-5 mt-2 flex">
<div class="flex flex-1 items-start">
<div class="flex h-5 items-center">
<input
id="isTextQuery"
v-model="isTextQuery"
class="focus:ring-3 size-4 rounded border border-gray-300 bg-gray-50 focus:ring-blue-300 dark:border-gray-600 dark:bg-gray-700 dark:ring-offset-gray-800 dark:focus:ring-blue-600 dark:focus:ring-offset-gray-800"
type="checkbox"
/>
</div>
<label
class="ms-2 text-sm font-medium text-gray-900 dark:text-gray-300"
for="isTextQuery"
>
Display as text
</label>
</div>
<div class="flex flex-1 items-start">
<div class="flex h-5 items-center">
<input
id="isMapQuery"
v-model="isMapQuery"
class="focus:ring-3 size-4 rounded border border-gray-300 bg-gray-50 focus:ring-blue-300 dark:border-gray-600 dark:bg-gray-700 dark:ring-offset-gray-800 dark:focus:ring-primary dark:focus:ring-offset-gray-800"
type="checkbox"
/>
</div>
<label
class="ms-2 text-sm font-medium text-gray-900 dark:text-gray-300"
for="isMapQuery"
>
Display on map
</label>
</div>
<div class="my-3">
<button class="biblQueryBtn" :disabled="!queryString" @click="submitNewQuery(true)">
Query as List & Map
</button>
</div>
<div class="pb-4">
<p>
For details as to how to formulate meaningful queries in the bibliography
<a
class="aVicText"
data-label="Bibliography (Details)"
data-target-type="Text"
data-text-id="li_vicavExplanationBibliography"
href="/"
Expand Down
Loading