Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
eeda856
FEAT(Migration): Migrating Dynamfit and parameterized queries
tholulomo Oct 6, 2025
8c022bb
FEAT(Migration): Updating compose to use new app directory
tholulomo Oct 6, 2025
3df9270
Merge branch 'develop' into MigrationBranch
tholulomo Oct 6, 2025
7ec0066
FEAT(Migration): Portal, gallery, dynamfit, curation page fixes
tholulomo Oct 13, 2025
e4a1fcc
Merge branch 'MigrationBranch' of github-dukematsci:Duke-MatSci/mater…
tholulomo Oct 13, 2025
bed6f90
FEAT(Migration): Linter fixes
tholulomo Oct 13, 2025
4fccba3
FEAT(Migration): CSV plotter page migration and gallery page fixes
tholulomo Oct 14, 2025
d5d44b2
FEAT(Migration): Filename error fixes
tholulomo Oct 14, 2025
ec6ccaa
FEAT(Migration): Filename error fixes
tholulomo Oct 14, 2025
7596ff2
FEAT(Migration): Filename error fixes
tholulomo Oct 14, 2025
894aa58
FEAT(Migration): Fixing File name error on CI
tholulomo Oct 14, 2025
fb835d4
FEAT(Migration): Adding vue-i18n, updating curation submission to KG …
tholulomo Nov 11, 2025
b872d80
FEAT(Migration): Refactoring text reduce to support two way text redu…
tholulomo Dec 17, 2025
297acdd
FEAT(ETL): Upgrading dev to node 18
tholulomo Dec 17, 2025
0ecb7bb
FEAT(ETL): Temporary test config adjustment
tholulomo Dec 17, 2025
f2325d9
FEAT(ETL): Upgrading to node 18 and adding required openjdk for xml d…
tholulomo Dec 17, 2025
4978bbf
FEAT(ETL): Upgrading to node 18 and adding required openjdk for xml d…
tholulomo Dec 17, 2025
c01e75e
FEAT(ETL): Adding ETL connectors and standardized unit IRI
tholulomo Dec 17, 2025
a89f379
FEAT(ETL): Packages update
tholulomo Dec 17, 2025
903fef8
FEAT(ETL): Swagger documentation for ETL endpoints
tholulomo Dec 17, 2025
c4cfbb5
FEAT(ETL): ETL pipelines and pipeline utils
tholulomo Dec 17, 2025
d22a74f
FEAT(ETL): Adding ontology management, shacl validation, and Fuseki C…
tholulomo Dec 17, 2025
8df8dbb
FEAT(ETL): Adding predefined jsonld context
tholulomo Dec 17, 2025
d2df65c
Added "hybrid" shift function
nfinan Dec 29, 2025
e797b43
fixed small errors. commented out prints.
nfinan Dec 30, 2025
42b8ccf
FEAT(Dynamfit): CSS styles for manual file upload on UI
tholulomo Jan 4, 2026
1148f51
FEAT(Dynamfit): TTSP transformation feature implementation
tholulomo Jan 4, 2026
1d3eade
FEAT(Dynamfit): Linter Fixes
tholulomo Jan 4, 2026
a018365
FEAT(ETL): Adding Fuseki as knowledge graph into Compose
tholulomo Jan 4, 2026
1db76a8
FEAT(Dynamfit): TTSP transformation logic bug fixes
tholulomo Jan 4, 2026
668296d
FEAT(ETL): Adding Fuseki config to dev environment
tholulomo Jan 4, 2026
a77ef8b
FEAT(ETL): Adding XSD Schema for ETL pipeline
tholulomo Jan 4, 2026
6cc8685
FEAT(ETL): Switching knowledge graph port
tholulomo Jan 11, 2026
b3a81dc
FEAT(ETL): Adding missing curl package to restful service
tholulomo Jan 11, 2026
5e98f5d
FIX(Dynamfit): Fixing syntax errors
tholulomo Jan 11, 2026
a5c5629
TTSP WIP
nfinan Jan 12, 2026
0941476
Merge branch 'MigrationBranch' of https://github.com/Duke-MatSci/mate…
nfinan Jan 12, 2026
73e6402
fixes to domain handling
nfinan Jan 14, 2026
01209b5
FIX(Dynamfit): Adding the missing required backend params
tholulomo Jan 14, 2026
c1f5077
Merge branch 'MigrationBranch' of github-dukematsci:Duke-MatSci/mater…
tholulomo Jan 14, 2026
81a11c4
allow plain shift_file type
nfinan Jan 14, 2026
ca4c32c
Merge branch 'MigrationBranch' of https://github.com/Duke-MatSci/mate…
nfinan Jan 14, 2026
33276ed
lowercase standardization for manual
nfinan Jan 14, 2026
cda790c
add manual and hybrid options
nfinan Jan 14, 2026
dbc2270
FEAT(ETL): Refactoring generated json-ld structure
tholulomo Jan 15, 2026
eb04529
fixes to manual upload
nfinan Jan 16, 2026
036ca7f
added sorting of incoming uploaded viscoelastic and shift data
nfinan Jan 16, 2026
affdfb6
FEAT(ETL): Adding filler composition extraction pipeline
tholulomo Jan 22, 2026
7d3f40b
FEAT(ETL): Adding filler component and processing extraction pipeline
tholulomo Jan 23, 2026
67940f7
FIX(ETL): Fixing SPARQL query rendering error on the UI
tholulomo Jan 25, 2026
bfa1bef
FEAT(ETL): Retiring Whyis old parameterized query
tholulomo Jan 25, 2026
cdac035
FEAT(ETL): Enabling parameterized query for the new KG system
tholulomo Jan 25, 2026
47cc2e3
FEAT(ETL): Expanding ETL pipeline to pull Properties leaf nodes
tholulomo Jan 25, 2026
fe9e1dc
FEAT(ETL): Re-configuring Fuseki URL for local dev
tholulomo Jan 25, 2026
5adcce8
FIX(ETL): Fixing typo error on ontology meta data
tholulomo Jan 25, 2026
b5fedac
CHORES(ETL): Configuring debugger
tholulomo Jan 25, 2026
9133f08
Merge branch 'MigrationBranch' of github-dukematsci:Duke-MatSci/mater…
tholulomo Jan 25, 2026
30e8801
FEAT(Dynamfit): Adding update button to submit ttsp changes
tholulomo Jan 25, 2026
4eb13e7
FEAT(ETL): Re-routing sparql query calls to the new KG
tholulomo Jan 26, 2026
61e7efe
FEAT(ETL): Skipping unused test and linter fixes
tholulomo Jan 26, 2026
01cb65d
FIX(ETL): Fix linting error
tholulomo Jan 26, 2026
9ada01d
FEAT(ETL): Connecting curation publishing endpoint to frontend store
tholulomo Jan 26, 2026
e64a9e5
FIX(ETL): Fixing XML gallery filter bug
tholulomo Jan 26, 2026
528b748
FIX(ETL): Expanding parameterized query options to include thermal de…
tholulomo Jan 28, 2026
0861e74
FIX(ETL): Fixing xml gallery filter bugs and adding dialog box on xml…
tholulomo Jan 28, 2026
3f3e8d3
FIX(DatasetPage): Serving dataset page from cached response due to Wh…
tholulomo Apr 1, 2026
2437993
FIX(DatasetPage): Linter fixes
tholulomo Apr 1, 2026
4649daf
FIX(DatasetPage): Removing undefined key causing typeError
tholulomo Apr 1, 2026
31d3dca
FIX(DatasetPage): Fixing navigation issues and meta data rendering
tholulomo Apr 1, 2026
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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ mockDB/es/

#Min.io
mockDB/minio/
mockDB/data/

#Whyis && Managed Services
**/**/__pycache__/
Expand All @@ -73,3 +74,5 @@ __pycache__/
sparqlqueries.html

trash

resfulservice/schemas/
17 changes: 17 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Attach to API",
"address": "localhost",
"port": 9229,
"localRoot": "${workspaceFolder}/resfulservice",
"remoteRoot": "/app"
}
]
}
30 changes: 30 additions & 0 deletions app/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Dependencies
node_modules/
.pnpm-store/

# Build outputs
dist/
build/
.cache/

# Config files
*.config.js
*.config.ts

# Logs
*.log
npm-debug.log*
pnpm-debug.log*

# Environment
.env
.env.local
.env.*.local

# IDE
.vscode/
.idea/

# Other
coverage/
.nyc_output/
10 changes: 10 additions & 0 deletions app/.eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ module.exports = {
env: {
node: true,
},
ignorePatterns: [
'node_modules/',
'dist/',
'*.config.js',
'.eslintrc.js',
],
parser: 'vue-eslint-parser',
parserOptions: {
parser: '@typescript-eslint/parser',
Expand All @@ -25,6 +31,10 @@ module.exports = {
'vue/multi-word-component-names': 'off',
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'import/named': 'off',
'import/default': 'off',
'import/no-named-as-default': 'off',
'import/no-named-as-default-member': 'off',
},
overrides: [
{
Expand Down
4 changes: 3 additions & 1 deletion app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
},
"dependencies": {
"@apollo/client": "^3.8.0",
"@duke-matsci/vue-materials": "^0.0.401",
"@duke-matsci/vue-materials": "^0.0.840",
"@rdfjs/data-model": "^1.3.4",
"@triply/yasgui": "^4.2.21",
"@vue/apollo-composable": "^4.0.0-alpha.15",
Expand Down Expand Up @@ -54,6 +54,7 @@
"vega-lite5": "npm:vega-lite@^5.1.1",
"vue": "^3.2.13",
"vue-advanced-cropper": "^1.10.1",
"vue-i18n": "^11.1.12",
"vue-json-csv": "^1.2.12",
"vue-mathjax": "^0.0.11",
"vue-router": "^4.0.3",
Expand All @@ -63,6 +64,7 @@
"devDependencies": {
"@types/d3": "^7.4.3",
"@types/jest": "^27.5.2",
"@types/jsoneditor": "^9.9.6",
"@types/n3": "^1.26.0",
"@types/prismjs": "^1.26.5",
"@types/uuid": "^10.0.0",
Expand Down
2,041 changes: 1,055 additions & 986 deletions app/pnpm-lock.yaml

Large diffs are not rendered by default.

5 changes: 2 additions & 3 deletions app/src/assets/css/modules/_navigation.scss
Original file line number Diff line number Diff line change
Expand Up @@ -87,15 +87,14 @@
&--siblings-mm {
padding: 0.3rem 0;
position: absolute;
top: 4.3rem !important;
top: 3.5rem !important;
left: 0;
line-height: 2.5;
min-width: 20rem;
background-color: #ffffff;
border-bottom-left-radius: 0.5rem !important;
border-bottom-right-radius: 0.5rem !important;
box-shadow: 0 2px 4px -1px rgb($primary-black, 20%),
0 4px 5px 0 rgb($primary-black, 14%);
box-shadow: 0 2px 4px -1px rgb($primary-black, 20%), 0 4px 5px 0 rgb($primary-black, 14%);
display: none;
visibility: hidden;
z-index: 10;
Expand Down
63 changes: 43 additions & 20 deletions app/src/assets/css/modules/_tools.scss
Original file line number Diff line number Diff line change
Expand Up @@ -106,12 +106,7 @@
left: 0;
width: 100vw;
height: 100vh;
background-color: rgba(
0,
0,
0,
0.3
); /* dims the entire screen to make the modal stand out */
background-color: rgba(0, 0, 0, 0.3); /* dims the entire screen to make the modal stand out */
// display: flex; //Added with a utility class on element
flex-direction: column;
justify-content: center;
Expand Down Expand Up @@ -344,22 +339,50 @@
}
}

.dynamfit-note {
position: absolute !important;
bottom: 1rem;
right: 1rem;
border: $primary-black 0.1rem solid;
padding: 0.2rem 0.4rem;
font-size: 1rem;
z-index: 1000;
color: $primary;
max-width: 20rem;
.dynamfit {
&-note {
position: absolute !important;
bottom: 1rem;
right: 1rem;
border: $primary-black 0.1rem solid;
padding: 0.2rem 0.4rem;
font-size: 1rem;
z-index: 1000;
color: $primary;
max-width: 20rem;

@include respond(tab-land) {
max-width: 14rem;
}

@include respond(tab-land) {
max-width: 14rem;
@include respond(tab-port) {
max-width: calc(100% - 2rem);
}
}

@include respond(tab-port) {
max-width: calc(100% - 2rem);
&-file-uploader {
border: 5px dashed #777777;
min-height: 58.5vh;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;

@include respond(laptop) {
min-height: 55.5vh;
}

@include respond(tab-land) {
min-height: 66vh;
}

@include respond(tab-port) {
min-height: 40vh;
}

@include respond(phone) {
min-height: 20vh;
}
}
}
17 changes: 15 additions & 2 deletions app/src/components/ChartGallery.vue
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@
</div>
</template>
<template #actions>
<MdButton v-if="dialog.type == 'delete'" @click="deleteChart">Delete</MdButton>
<MdButton v-if="dialog.type == 'delete'" @click="deleteChart(dialog.chart)">Delete</MdButton>
<MdButton @click="closeDialog">Cancel</MdButton>
</template>
</Dialog>
Expand Down Expand Up @@ -141,7 +141,16 @@ const router = useRouter();

// Composables
const { reduceDescription } = useReduce();
const { loadParams, loadPrevNextImage } = useExplorerQueryParams();

// Local search method for query params composable
const localSearchMethod = async (): Promise<void> => {
await loadItems(pageNumber.value);
};

const { pageNumber, pageSize, loadParams, loadPrevNextImage } = useExplorerQueryParams({
localSearchMethod,
hasPageSize: true
});

// Reactive data
const loading = ref(false);
Expand Down Expand Up @@ -199,6 +208,10 @@ const toggleDialogBox = () => {
store.commit('setDialogBox');
};

const closeDialog = () => {
toggleDialogBox();
};

const deleteChart = async (chart: any, retry = false) => {
try {
if (!isAdmin.value) return; // temporary safeguard
Expand Down
42 changes: 23 additions & 19 deletions app/src/components/Dialog.vue
Original file line number Diff line number Diff line change
@@ -1,34 +1,33 @@
<template>
<div>
<MdDialog
<md-dialog
:class="['dialog-box', dialogSizeClass]"
:md-active="active"
v-model:md-active="isActive"
:md-click-outside-to-close="false"
@update:md-active="$emit('update:active', $event)"
>
<div class="dialog-box_header">
<MdDialogTitle>
<slot name="title"></slot>
</MdDialogTitle>
<MdButton
<md-dialog-title>
<slot name="title"> </slot>
</md-dialog-title>
<md-button
v-if="!disableClose"
class="md-icon-button dialog-box_close facet-content_container u_margin-right-small"
@click="toggleDialogBox()"
>
<MdIcon class="utility-navfonticon u--font-emph-xl">close</MdIcon>
</MdButton>
<md-icon class="utility-navfonticon u--font-emph-xl">close</md-icon>
</md-button>
</div>
<div class="dialog-box_content">
<MdDialogContent>
<slot name="content"></slot>
</MdDialogContent>
<md-dialog-content>
<slot name="content"> </slot>
</md-dialog-content>
</div>
<div class="dialog-box_actions md-button-lightbg">
<MdDialogActions>
<slot name="actions"></slot>
</MdDialogActions>
<md-dialog-actions>
<slot name="actions"> </slot>
</md-dialog-actions>
</div>
</MdDialog>
</md-dialog>
</div>
</template>

Expand All @@ -38,12 +37,12 @@ import { useStore } from 'vuex';

// Component name for debugging
defineOptions({
name: 'AppDialog',
name: 'DialogBox',
});

// Props
interface Props {
active: boolean;
active?: boolean;
minWidth?: number;
disableClose?: boolean;
}
Expand All @@ -56,13 +55,18 @@ const props = withDefaults(defineProps<Props>(), {

// Emits
const emit = defineEmits<{
'update:active': [value: boolean];
(e: 'update:active', value: boolean): void;
}>();

// Store
const store = useStore();

// Computed properties
const isActive = computed({
get: () => props.active,
set: (value: boolean) => emit('update:active', value),
});

const dialogSizeClass = computed(() => {
const sizeMap: Record<number, string> = {
40: 'dialog-box_size-sm',
Expand Down
5 changes: 2 additions & 3 deletions app/src/components/Drawer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<div
class="md-app-internal-drawer u--layout-flex u--layout-flex-column u--layout-flex-justify-sb"
>
<md-list md-expand-single="true" class="utility-transparentbg">
<md-list :md-expand-single="true" class="utility-transparentbg">
<md-toolbar class="md-transparent u--font-emph-l u_toggle-display-off" md-elevation="0"
><small>App Navigation</small></md-toolbar
>
Expand Down Expand Up @@ -186,7 +186,7 @@
</md-list-item>
</md-list>
</div>
</template>
</template>

<script setup lang="ts">
import { computed } from 'vue';
Expand All @@ -213,4 +213,3 @@ defineOptions({
name: 'Drawers',
});
</script>

Loading
Loading