Skip to content
This repository has been archived by the owner on Feb 23, 2022. It is now read-only.

Commit

Permalink
Merge pull request #304 from multinet-app/sample-views
Browse files Browse the repository at this point in the history
Sample views
  • Loading branch information
waxlamp committed Feb 7, 2020
2 parents 90bcc1c + 58ebc98 commit 5d9e79c
Show file tree
Hide file tree
Showing 8 changed files with 282 additions and 132 deletions.
Binary file added client/src/assets/Ulogo_100px.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added client/src/assets/boston.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added client/src/assets/kw_logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added client/src/assets/miserables.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added client/src/assets/nsf_logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
136 changes: 83 additions & 53 deletions client/src/components/WorkspaceDialog.vue
Original file line number Diff line number Diff line change
@@ -1,64 +1,93 @@
<template>
<v-dialog
class="ws-dialogue"
v-model="dialog"
width="500"
<v-menu
class="get-started"
:close-on-content-click="false"
max-width="275"
offset-x
origin="center center"
transition="scale-transition"
v-model="popover"
>
<template v-slot:activator="{ on }">
<v-btn
class="ws-btn ma-0 px-4 py-5"
block
color="grey darken-3"
dark
depressed
large
v-on="on"
id="add-workspace"
<v-dialog
class="ws-dialogue"
v-model="dialog"
width="500"
>
New Workspace
<v-spacer />
<v-icon
right
dark
size="20px"
>add_circle</v-icon>
</v-btn>
</template>
<template v-slot:activator="{ on }">
<v-btn
class="ws-btn ma-0 px-4 py-5"
block
color="grey darken-3"
dark
depressed
large
v-on="on"
id="add-workspace"
>
New Workspace
<v-spacer />
<v-icon
right
dark
size="20px"
>add_circle</v-icon>
</v-btn>
</template>

<v-card>
<v-card-title
class="headline pb-0 pt-3"
primary-title
>
Create Workspace
</v-card-title>
<v-card>
<v-card-title
class="headline pb-0 pt-3"
primary-title
>
Create Workspace
</v-card-title>

<v-card-text class="px-4 pt-4 pb-1">
<v-text-field
id="workspace-name"
autofocus
filled
label="Workspace name"
v-model="newWorkspace"
/>
</v-card-text>
<v-card-text class="px-4 pt-4 pb-1">
<v-text-field
id="workspace-name"
autofocus
filled
label="Workspace name"
v-model="newWorkspace"
/>
</v-card-text>

<v-divider></v-divider>
<v-divider></v-divider>

<v-card-actions class="px-4 py-3">
<v-spacer></v-spacer>
<v-card-actions class="px-4 py-3">
<v-spacer></v-spacer>
<v-btn
id="create-workspace"
color="grey darken-3"
dark
depressed
@click="create"
>
Create Workspace
</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</template>
<v-card>
<v-card-title class="get-started-title pb-2">Getting Started</v-card-title>
<v-card-text class="pb-5">
Click <strong>NEW WORKSPACE</strong> to create a workspace or select an existing one from the Workpaces list.
</v-card-text>
<v-divider />
<v-card-actions>
<v-spacer />
<v-btn
id="create-workspace"
color="grey darken-3"
dark
depressed
@click="create"
color="primary"
@click="popover = false"
small
>
Create Workspace
Got it!
</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</v-menu>
</template>

<script lang="ts">
Expand All @@ -74,6 +103,7 @@ export default Vue.extend({
return {
dialog,
newWorkspace,
popover: true,
};
},
methods: {
Expand All @@ -94,13 +124,13 @@ export default Vue.extend({
</script>

<style scoped>
.v-dialog__container.ws-dialogue {
/* dialog adds weird space above button. Positioning absolutely pulls it out of the layout
so that it does not push the button down */
position: absolute;
}
.v-btn.ws-btn {
border-radius: 0;
height: auto !important;
}
.get-started {
position: relative;
}
</style>
176 changes: 142 additions & 34 deletions client/src/views/FrontPage.vue
Original file line number Diff line number Diff line change
@@ -1,45 +1,153 @@
<template>
<v-container
fill-height
fluid
>
<v-container class="pa-0" fluid>
<v-content>
<div class="getting-started">
<v-icon
class="gs-icon"
color="grey lighten-2"
>
outlined_flag
</v-icon>
<div class="gs-content">
<h1 class="gs-title">Getting Started...</h1>
<p class="gs-text">Use the sidebar to the left to create a workspace or select an existing one.</p>
</div>
</div>
<!-- BANNER -->
<v-responsive
class="mb-5 pt-5"
>
<v-container class="d-flex align-center">
<v-sheet
class="d-flex pa-5"
color="primary"
dark
flat
height="100%"
>
<v-card
class="pr-5"
color="transparent"
flat
width="66%"
>
<v-card-title>Welcome to Multinet!</v-card-title>
<v-divider />
<v-card-text>
Check out the featured datasets and visualizations below! You
can also create your own workspace and upload your own data with
the <strong>New Workspace</strong> button to the left, or
explore data others have uploaded.
</v-card-text>

<v-card-text>
This project is a joint research and development effort between
the University of Utah and Kitware Inc., funded by the National
Science Foundation.
</v-card-text>
</v-card>
<v-card
class="d-flex align-center"
light
width="33%"
>
<v-card-text>
<v-row class="px-4">
<v-col
class="align-center d-flex py-1"
cols="4"
:key="collab.logo"
v-for="collab in collabs"
>
<img :src="collab.logo" alt="" width="100%" height="auto">
</v-col>
</v-row>
</v-card-text>
</v-card>
</v-sheet>
</v-container>
</v-responsive>

<!-- COLUMNS -->
<v-container>
<v-row>
<v-col
cols="4"
v-for="sample in samples"
:key="sample.title"
>
<v-hover>
<template v-slot:default="{ hover }">
<v-card>
<v-img
class="align-end"
height="250px"
:src="sample.image"
>
<v-card-title class="box-shadow-title">
{{ sample.title }}
</v-card-title>
</v-img>
<v-fade-transition>
<v-overlay
v-if="hover"
absolute
opacity=".85"
>
<div class="overlay-text">
<p>{{ sample.text }}</p>
<v-btn
color="primary"
:href="sample.href"
target="_blank"
>
Open in New Window
</v-btn>
</div>
</v-overlay>
</v-fade-transition>
</v-card>
</template>
</v-hover>
</v-col>
</v-row>
</v-container>

</v-content>
</v-container>
</template>

<style>
.getting-started {
align-items: flex-start;
display: flex;
justify-content: center;
margin: 0 auto 100px;
max-width: 600px;
}
<script lang="ts">
import Vue from 'vue';
.v-icon.gs-icon {
font-size: 86px;
margin-right: 15px;
}
export default Vue.extend ({
data() {
return {
collabs: [
{
logo: require('../assets/Ulogo_100px.png'),
},
{
logo: require('../assets/kw_logo.png'),
},
{
logo: require('../assets/nsf_logo.png'),
},
],
samples: [
{
title: 'Paul Revere - Node Link Diagram',
image: require('../assets/boston.jpg'),
text: 'Explore the Paul Revere dataset using an interactive and beautiful node-link diagram. Discover the figures coordinating a pivotal event in history!',
href: '/nodelink/?workspace=boston&graph=boston',
},
{
title: 'Les Miserables - Adjacency Matrix',
image: require('../assets/miserables.jpg'),
text: 'Explore the Les Miserables dataset using an interactive adjacency matrix. See the factions and relationships for yourself!',
href: '/adjmatrix/?workspace=miserables&graph=miserables',
},
],
};
},
});
</script>

.gs-title {
color: #d2d2d2;
font-size: 36px;
<style>
.box-shadow-title {
box-shadow: inset 0px -230px 70px -120px white;
padding-bottom: 8px;
padding-top: 210px;
}
.gs-text {
font-size: 20px;
.overlay-text {
padding: 48px;
}
</style>

0 comments on commit 5d9e79c

Please sign in to comment.