Skip to content
Snippets Groups Projects
Commit f6ca4a16 authored by Tormod Mork Müller's avatar Tormod Mork Müller :computer:
Browse files

Merge branch 'main' of https://git.gvk.idi.ntnu.no/aleksaab/stillastracker into Tormod

parents c8ba4b94 08d2e4fb
No related branches found
No related tags found
1 merge request!118Fixed bug where the project list always loaded over again on entering view...
......@@ -50,11 +50,11 @@ export function UserAuthContextProvider({ children }) {
}
//todo kommenter
/**
* Function will set the current user, logged into the system.
*/
useEffect(() => {
const unsubscribe = onAuthStateChanged(auth, (currentuser) => {
console.log("Auth", currentuser);
setUser(currentuser);
});
return () => {
......
......@@ -6,7 +6,7 @@ import Tab from './Tab';
/**
* Class to handle tabs
*
* Code aquired from https://www.digitalocean.com/community/tutorials/react-tabs-component
* Code acquired from https://www.digitalocean.com/community/tutorials/react-tabs-component
*/
class Tabs extends Component {
static propTypes = {
......
import React from 'react'
import fetchModel from "./fetchData";
import { useQuery } from 'react-query'
......
export const PROJECTS_WITH_SCAFFOLDING_URL = "project?scaffolding=true"
export const BASE_URL = "http://10.212.138.205:8080/stillastracking/v1/api/"
export const SCAFFOLDING_URL = "unit"
export const STORAGE_URL = "storage"
export const USER_URL = "user"
export const PROJECTS_URL = "project"
export const PROJECTS_URL_WITH_SCAFFOLDING = "project?scaffolding=true"
export const PROJECTS_URL_WITH_ID = "project?id="
export const WITH_SCAFFOLDING_URL = "&scaffolding=true"
export const MAP_STYLE_V11 = "mapbox://styles/mapbox/streets-v11"
export const TRANSFER_SCAFFOLDING = "project/scaffolding"
......@@ -145,7 +145,7 @@ export function MapClass(props) {
/>
Legger til
</Button> :
<button className={"confirm-btn"} disabled={!ok || !props.valid} onClick={AddProjectRequest}>Add Project</button>}
<button className={"confirm-btn"} disabled={!ok || !props.valid} onClick={AddProjectRequest}>Legg til prosjekt</button>}
......
......@@ -115,3 +115,5 @@ function AddScaffolding() {
}
export default AddScaffolding
......@@ -26,6 +26,8 @@ class ScaffoldingClass extends React.Component {
/**
* Function that will count numbers of occurrences different types of scaffolding.
*
* Code acquired from https://www.geeksforgeeks.org/how-to-count-number-of-occurrences-of-repeated-names-in-an-array-of-objects-in-javascript/
*
* @param arr is the array we are iterating.
* @param key is the field we want to count.
* @returns {*[]}
......
......@@ -54,7 +54,6 @@ function App() {
<Route path={USERINFO_URL} exact={true} element={<ProtectedRoute> <UserInfo/></ProtectedRoute>}/>
<Route path={NOTFOUND} element={<NotFound/>}/>
</Routes>
<ReactQueryDevtools initialIsOpen={true}/>
</QueryClientProvider>
</UserAuthContextProvider>
......
......@@ -13,7 +13,6 @@ import {MapBoxAPIKey} from "../../Config/firebaseConfig";
export default function AddProjectFunc() {
//Access token to the mapbox api.
const mapAccess = {
// Thanks to SomeSoftwareTeam (https://github.com/SomeSoftwareTeam/some-react-app/blob/acd17860b8b1f51edefa4e18486cc1fb07afff70/src/components/SomeComponent.js)
mapboxApiAccessToken: MapBoxAPIKey
};
......@@ -203,7 +202,9 @@ export default function AddProjectFunc() {
place_type: "address"
};
/**
/**
* Function that will fetch data of a spesific longitude and latitude, to set address/poi, postcode, county and municipality
*
* @param lat latitude of the place we would like to get information
......@@ -218,18 +219,19 @@ export default function AddProjectFunc() {
.then(res => {
let validStreet, validZip, validCounty, validMunicipality
for (const re of res.features) {
console.log(re)
console.log((re.place_type[0]))
switch (re.place_type[0]) {
case "address": {
street = re.text
if ((re.text.length > 3)) {
if ((re.text.length !== undefined)) {
validStreet = true
}
}
break;
case "poi": {
street = re.text
if ((re.text.length > 3)) {
if ((re.text.length !== undefined)) {
validStreet = true
}
......@@ -246,6 +248,10 @@ export default function AddProjectFunc() {
case ("region"): {
region = re.text
if ((re.text.length !== undefined)) {
if (re.place_type.indexOf("place")){
validMunicipality = true
}
validCounty = true
}
}
......@@ -259,11 +265,10 @@ export default function AddProjectFunc() {
}
break;
default:
console.log("Ikke validert")
}
}
console.log(validStreet, validZip, validCounty, validMunicipality)
if (validStreet && validZip && validCounty && validMunicipality) {
setValid({
...valid,
......@@ -366,16 +371,16 @@ export default function AddProjectFunc() {
const contactInformation = () => {
return (
<div>
<h3>Contact Information</h3>
<h3>Kontakt Informasjon</h3>
<hr/>
<div className={"input-with-text"}>
<p className={"input-field-text"}>Name</p>
<p className={"input-field-text"}>Navn</p>
<input
className={"form-control"}
type={"text"}
required
name={"name"}
placeholder={"Enter Customer Name"}
placeholder={"Legg til navn"}
onChange={handleUserInputCustomer}
/>
<p className={"error-message"}>
......@@ -384,7 +389,7 @@ export default function AddProjectFunc() {
</p>
</div>
<div className={"input-with-text"}>
<p className={"input-field-text"}>Number</p>
<p className={"input-field-text"}>Nummer</p>
<input
className={"form-control"}
......@@ -392,7 +397,7 @@ export default function AddProjectFunc() {
min={0}
required
name={"number"}
placeholder={"Enter Customer Number"}
placeholder={"Legg til telefonnummer"}
onChange={handleUserInputCustomer}
/>
<p className={"error-message"}>
......@@ -408,7 +413,7 @@ export default function AddProjectFunc() {
type={"email"}
required
name={"email"}
placeholder={"Enter Customer Email"}
placeholder={"Legg til email"}
onChange={handleUserInputCustomer}
/>
<p className={"error-message"}>
......@@ -432,13 +437,13 @@ export default function AddProjectFunc() {
<div className={"test"}>
<div className={"address-name"}>
<div className={"input-with-text"}>
<p className={"input-field-text"}>Project Name </p>
<p className={"input-field-text"}>Prosjekt navn </p>
<input
className={"form-control name"}
type={"text"}
required
name={"projectName"}
placeholder={"Project Name"}
placeholder={"Prosjekt navn"}
onChange={handleUserInputProjectDetails}
/>
<p className={"error-message"}>
......@@ -449,12 +454,12 @@ export default function AddProjectFunc() {
</div>
<div className={"input-with-text"}>
<p className={"input-field-text"}>Project size</p>
<p className={"input-field-text"}>Prosjekt størrelse</p>
<input type={"number"}
min={0}
required
name={"size"}
placeholder={"Size"}
placeholder={"Størrelse"}
className={"form-control number"}
onChange={handleUserInputProjectDetails}/>
<p className={"error-message"}>
......@@ -469,7 +474,7 @@ export default function AddProjectFunc() {
<div className={"date-add-project"}>
<div className="row">
<div className="col">
<p className={"input-field-text"}>Start date</p>
<p className={"input-field-text"}>Start dato</p>
<input type={"date"}
required
name={"startDate"}
......@@ -484,7 +489,7 @@ export default function AddProjectFunc() {
</div>
<div className="col">
<p className={"input-field-text"}>End date</p>
<p className={"input-field-text"}>Slutt dato</p>
<input type={"date"}
required
name={"endDate"}
......@@ -519,14 +524,14 @@ export default function AddProjectFunc() {
</div>
<div className="col">
<div className={"input-with-text"}>
<p className={"input-field-text"}>Address</p>
<p className={"input-field-text"}>Adresse</p>
<MapboxAutocomplete
inputClass='form-control address'
publicKey={mapAccess.mapboxApiAccessToken}
onSuggestionSelect={_suggestionSelect}
resetSearch={false}
country = "no"
placeholder="Search Address..."
placeholder="Søk på adresse"
queryParams={queryParams}
/>
......@@ -551,6 +556,3 @@ export default function AddProjectFunc() {
}
......@@ -18,14 +18,13 @@ import DeleteIcon from "@material-ui/icons/Delete";
*/
function CardElement(props) {
const queryClient = useQueryClient()
/**
* Function that will delete an existing project.
*
* @returns {Promise<void>}
*/
const DeleteProject = async () => {
if (window.confirm("Er du sikker på at du vil slette? " + props.name + "?")) {
if (window.confirm("Er du sikker på at du vil slette " + props.name + "?")) {
const deleteBody =
[
{
......@@ -109,3 +108,4 @@ function CardElement(props) {
}
export default CardElement
......@@ -106,8 +106,6 @@ export default function InfoModalFunc(props) {
* @returns {Promise<void>}
*/
const AddScaffold = async () => {
JSON.stringify(move)
try {
setButtonPressed(true)
await putModel(TRANSFER_SCAFFOLDING, JSON.stringify(move))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment