forked from trent_larson/crowd-funder-for-time-pwa
Documentation added
This commit is contained in:
@@ -112,10 +112,25 @@ import { accessToken } from "@/libs/crypto";
|
|||||||
import { IIdentifier } from "@veramo/core";
|
import { IIdentifier } from "@veramo/core";
|
||||||
import InfiniteScroll from "@/components/InfiniteScroll";
|
import InfiniteScroll from "@/components/InfiniteScroll";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents data about a project
|
||||||
|
**/
|
||||||
interface ProjectData {
|
interface ProjectData {
|
||||||
|
/**
|
||||||
|
* Name of the project
|
||||||
|
**/
|
||||||
name: string;
|
name: string;
|
||||||
|
/**
|
||||||
|
* Description of the project
|
||||||
|
**/
|
||||||
description: string;
|
description: string;
|
||||||
|
/**
|
||||||
|
* URL referencing information about the project
|
||||||
|
**/
|
||||||
handleId: string;
|
handleId: string;
|
||||||
|
/**
|
||||||
|
* The Identier of the project
|
||||||
|
**/
|
||||||
jwtId: string;
|
jwtId: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,6 +147,11 @@ export default class ProjectsView extends Vue {
|
|||||||
}[] = [];
|
}[] = [];
|
||||||
current: IIdentifier;
|
current: IIdentifier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Core project data loader
|
||||||
|
* @param url the url used to fetch the data
|
||||||
|
* @param token Authorization token
|
||||||
|
**/
|
||||||
async dataLoader(url: string, token: string) {
|
async dataLoader(url: string, token: string) {
|
||||||
const headers: { [key: string]: string } = {
|
const headers: { [key: string]: string } = {
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
@@ -152,9 +172,11 @@ export default class ProjectsView extends Vue {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Data loader used by infinite scroller
|
||||||
|
* @param payload is the flag from the InfiniteScroll indicating if it should load
|
||||||
|
**/
|
||||||
async loadMoreData(payload: boolean) {
|
async loadMoreData(payload: boolean) {
|
||||||
console.log("loadMoreData");
|
|
||||||
console.log(payload);
|
|
||||||
if (this.projects.length > 0) {
|
if (this.projects.length > 0) {
|
||||||
const latestProject = this.projects[this.projects.length - 1];
|
const latestProject = this.projects[this.projects.length - 1];
|
||||||
const url = `${this.apiServer}/api/v2/report/plansByIssuer?beforeId=${latestProject.jwtId}`;
|
const url = `${this.apiServer}/api/v2/report/plansByIssuer?beforeId=${latestProject.jwtId}`;
|
||||||
@@ -163,6 +185,10 @@ export default class ProjectsView extends Vue {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle clicking on a project entry found in the list
|
||||||
|
* @param id of the project
|
||||||
|
**?
|
||||||
onClickLoadProject(id: string) {
|
onClickLoadProject(id: string) {
|
||||||
localStorage.setItem("projectId", id);
|
localStorage.setItem("projectId", id);
|
||||||
const route = {
|
const route = {
|
||||||
@@ -171,6 +197,10 @@ export default class ProjectsView extends Vue {
|
|||||||
this.$router.push(route);
|
this.$router.push(route);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load projects initially
|
||||||
|
* @param identity of the user
|
||||||
|
**/
|
||||||
async LoadProjects(identity: IIdentifier) {
|
async LoadProjects(identity: IIdentifier) {
|
||||||
console.log("LoadProjects");
|
console.log("LoadProjects");
|
||||||
const url = `${this.apiServer}/api/v2/report/plansByIssuer`;
|
const url = `${this.apiServer}/api/v2/report/plansByIssuer`;
|
||||||
@@ -178,7 +208,9 @@ export default class ProjectsView extends Vue {
|
|||||||
await this.dataLoader(url, token);
|
await this.dataLoader(url, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 'created' hook runs when the Vue instance is first created
|
/**
|
||||||
|
* 'created' hook runs when the Vue instance is first created
|
||||||
|
**/
|
||||||
async created() {
|
async created() {
|
||||||
await db.open();
|
await db.open();
|
||||||
const settings = await db.settings.get(MASTER_SETTINGS_KEY);
|
const settings = await db.settings.get(MASTER_SETTINGS_KEY);
|
||||||
@@ -198,6 +230,9 @@ export default class ProjectsView extends Vue {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handling clicking on the new project button
|
||||||
|
**/
|
||||||
onClickNewProject(): void {
|
onClickNewProject(): void {
|
||||||
localStorage.removeItem("projectId");
|
localStorage.removeItem("projectId");
|
||||||
const route = {
|
const route = {
|
||||||
|
|||||||
Reference in New Issue
Block a user