diff --git a/myBlazorApp/Minecraft.Crafting.Api/Data/inventory.json b/myBlazorApp/Minecraft.Crafting.Api/Data/inventory.json index 559c0cc..18adab9 100644 --- a/myBlazorApp/Minecraft.Crafting.Api/Data/inventory.json +++ b/myBlazorApp/Minecraft.Crafting.Api/Data/inventory.json @@ -19,10 +19,6 @@ "itemName": "null", "position": 5 }, - { - "itemName": "null", - "position": 6 - }, { "itemName": "null", "position": 7 diff --git a/myBlazorApp/myBlazorApp/.drone.yml b/myBlazorApp/myBlazorApp/.drone.yml deleted file mode 100644 index e390d08..0000000 --- a/myBlazorApp/myBlazorApp/.drone.yml +++ /dev/null @@ -1,76 +0,0 @@ -kind: pipeline -type: docker - - -#steps : - -# - name: build -# image: mcr.microsoft.com/dotnet/sdk:6.0 -# commands: -# - cd myBlazorApp/ -# - dotnet restore myBlazorApp.sln -# - dotnet build myBlazorApp.sln -c Release --no-restore - - -# - name: tests -# image: mcr.microsoft.com/dotnet/sdk:6.0 -# commands: -# - cd myBlazorApp/ -# - dotnet restore myBlazorApp.sln -# - dotnet test myBlazorApp.sln --no-restore -# depends_on: [build] - -# - name: code-analysis -# image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dronesonarplugin-dotnet6 -# commands: -# - cd myBlazorApp/ -# - dotnet restore myBlazorApp.sln -# - dotnet sonarscanner begin /k:$REPO_NAME /d:sonar.host.url=$$$${PLUGIN_SONAR_HOST} /d:sonar.coverageReportPaths="coveragereport/SonarQube.xml" /d:sonar.coverage.exclusions="Tests/**" /d:sonar.login=$$$${PLUGIN_SONAR_TOKEN} -# - dotnet build myBlazorApp.sln -c Release --no-restore -# - dotnet test myBlazorApp.sln --logger trx --no-restore /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura --collect "XPlat Code Coverage" -# - reportgenerator -reports:"**/coverage.cobertura.xml" -reporttypes:SonarQube -targetdir:"coveragereport" -# - dotnet publish myBlazorApp.sln -c Release --no-restore -o $CI_PROJECT_DIR/build/release -# - dotnet sonarscanner end /d:sonar.login=$$$${PLUGIN_SONAR_TOKEN} -# secrets: [ SECRET_SONAR_LOGIN ] -# settings: -# # accessible en ligne de commande par $${PLUGIN_SONAR_HOST} -# sonar_host: https://codefirst.iut.uca.fr/sonar/ -# # accessible en ligne de commande par $${PLUGIN_SONAR_TOKEN} -# sonar_token: -# from_secret: SECRET_SONAR_LOGIN -# depends_on: [tests] - - -## - name: generate-and-deploy-docs -## image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-docdeployer -## failure: ignore -## volumes: -## - name: docs -## path: /docs -## commands: -## - /entrypoint.sh -## when: -## branch: -## - master -## depends_on: [ build ] - -### The volumes declaration appear at the end of the file, after all steps -##volumes: -##- name: docs -## temp: {} - - -# - name: docker-build -# image: plugins/docker -# settings: -# dockerfile: myBlazorApp/myBlazorApp/Dockerfile -# context: . -# registry: hub.codefirst.iut.uca.fr -# repo: hub.codefirst.iut.uca.fr/lucie.bedouret/blazorCourse -# username: -# from_secret: SECRET_REGISTRY_USERNAME -# password: -# from_secret: SECRET_REGISTRY_PASSWORD -# when: -# branch: -# - master \ No newline at end of file diff --git a/myBlazorApp/myBlazorApp/Components/MyInventory.razor.cs b/myBlazorApp/myBlazorApp/Components/MyInventory.razor.cs index 2d9989e..0a331a9 100644 --- a/myBlazorApp/myBlazorApp/Components/MyInventory.razor.cs +++ b/myBlazorApp/myBlazorApp/Components/MyInventory.razor.cs @@ -9,7 +9,9 @@ using Microsoft.AspNetCore.Components; using Microsoft.Extensions.Localization; using Microsoft.JSInterop; using myBlazorApp.Models; +using myBlazorApp.Pages; using myBlazorApp.Services; +using Syncfusion.Blazor.Data; using Syncfusion.Blazor.Grids; namespace myBlazorApp.Components @@ -56,6 +58,17 @@ namespace myBlazorApp.Components ///-------- LIST PART -------- /// + /* + * items: my default list, containing alll the items printed 10 by 10 + * full: another list, loading all the items on one page + * currentPage: current page of the list + * pageSize: numper of items on the page + * choix: list binded on the datagrid that will change when needed + * isSorted: boolean turning true when we click on sort + * searchText: String binded on the search bar input + * totalItem : total number of items in the list + */ + private List items = new List(); private List full = new List(); @@ -132,9 +145,10 @@ namespace myBlazorApp.Components /// /// Read data from the data service to display them in the inventory and in the data grid + /// Set up all the variables depending on what we want. /// /// Datagrid of items - /// + /// Task private async Task OnReadData(DataGridReadDataEventArgs e) { @@ -174,16 +188,26 @@ namespace myBlazorApp.Components } } + + /* + * Name: choseList + * Function: change the list choix when we type something in the search bar + */ private List choseList() { + // If the search bar is empty, we don't need to use a special list, we use the default one if (SearchText.IsNullOrEmpty()) { choix = items; totalItem = full.Count(); NavigationManager.NavigateTo("inventory", false); } + + // Else, we change the list choix and we filter the items using the Filtered list else { + // This line allows us to adapt pageSize depending on the number of items on it. + // If there is only 7 items, we don't want to print 10 on our page if (Filtered.Count() < (currentPage - 1) * 10 + pageSize) { pageSize = Filtered.Count() - (currentPage - 1) * 10; @@ -196,13 +220,23 @@ namespace myBlazorApp.Components return choix; } + /* + * Name: inputValue + * Function: When we type on the search bar, this function is called to initialize the Filtered list and call our function + */ private void inputValue() { + // We filter the items with the search bar if their name contain what we are typing Filtered = full.Where( itm => itm.DisplayName.ToLower().Contains(SearchText.ToLower())).ToList(); choseList(); } + + /* + * Name: OnPress + * Function: This function is binded on the Sort button. It changes our boolean value and call our SortList function + */ private void OnPress() { if (isSorted == true) @@ -213,13 +247,24 @@ namespace myBlazorApp.Components SortList(); } + + /* + * Name: SortList + * Function: When we press the sort button, this function will hange the items in the list choix + */ private List SortList() { + // If our boolean is false, it means that the list was sorted and we pressed the button to unsort it. + // So, it takes the default list for our dataGrid + // The navigateTo allows to be on the first page of the list when we unsort it if (isSorted == false) { choix = items; NavigationManager.NavigateTo("inventory", true); } + + // Else, we put the full list into the Sorted one, and we sort the items by name. + // We check for the number of items in the page and we give the Sorted list to choix with the pageSize we want else { if (Sorted.IsNullOrEmpty()) diff --git a/myBlazorApp/myBlazorApp/Dockerfile b/myBlazorApp/myBlazorApp/Dockerfile deleted file mode 100644 index af5bca8..0000000 --- a/myBlazorApp/myBlazorApp/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -##See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. -# -##Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed. -##For more information, please see https://aka.ms/containercompat -# -#FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base -#WORKDIR /app -#EXPOSE 80 -#EXPOSE 443 -# -#FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build -#WORKDIR /src -#COPY ["nuget.config", "."] -#COPY ["myBlazorApp/myBlazorApp.csproj", "myBlazorApp/"] -#RUN dotnet restore "myBlazorApp/myBlazorApp.csproj" -#COPY . . -#WORKDIR "/src/myBlazorApp" -#RUN dotnet build "myBlazorApp.csproj" -c Release -o /app/build -# -#FROM build AS publish -#RUN dotnet publish "myBlazorApp.csproj" -c Release -o /app/publish -# -#FROM base AS final -#WORKDIR /app -#COPY --from=publish /app/publish . -#ENTRYPOINT ["dotnet", "myBlazorApp.dll"] \ No newline at end of file diff --git a/myBlazorApp/myBlazorApp/myBlazorApp.csproj b/myBlazorApp/myBlazorApp/myBlazorApp.csproj index a37021c..28142bc 100644 --- a/myBlazorApp/myBlazorApp/myBlazorApp.csproj +++ b/myBlazorApp/myBlazorApp/myBlazorApp.csproj @@ -5,7 +5,7 @@ enable enable 57709e34-c352-46a7-8d9f-219f603ebc3d - Windows + Linux