dev3
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Edit board";
|
ViewData["Title"] = "Edit board";
|
||||||
Layout = "~/Pages/Shared/_Layout.cshtml";
|
Layout = "~/Pages/Layouts/_Layout.cshtml";
|
||||||
}
|
}
|
||||||
|
|
||||||
<!-- Editor -->
|
<!-- Editor -->
|
||||||
|
|||||||
@@ -3,20 +3,11 @@
|
|||||||
|
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Oglasne deske - Pregled";
|
ViewData["Title"] = "Oglasne deske - Pregled";
|
||||||
Layout = "~/Pages/Shared/_Layout.cshtml";
|
Layout = "~/Pages/Layouts/_Layout.cshtml";
|
||||||
}
|
}
|
||||||
|
|
||||||
@section Styles {
|
@section Styles {
|
||||||
<link rel="stylesheet" href="~/vendor/libs/bootstrap-material-datetimepicker/bootstrap-material-datetimepicker.css">
|
<link rel="stylesheet" href="~/css/boards/index.css" asp-append-version="true" />
|
||||||
|
|
||||||
<style type="text/css">
|
|
||||||
.table > tbody > tr > td:nth-child(2),
|
|
||||||
.table > thead > tr > th:nth-child(2),
|
|
||||||
.table > tbody > tr > td:nth-child(3),
|
|
||||||
.table > thead > tr > th:nth-child(3) {
|
|
||||||
width: 100px
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
}
|
}
|
||||||
|
|
||||||
<h4 class="d-flex justify-content-between align-items-center w-100 font-weight-bold py-1 mb-4">
|
<h4 class="d-flex justify-content-between align-items-center w-100 font-weight-bold py-1 mb-4">
|
||||||
@@ -27,43 +18,59 @@
|
|||||||
</span>
|
</span>
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 mb-2 text-right">
|
||||||
|
<div class="btn-group">
|
||||||
|
<input id="inpSearchBoard" class="form-control" type="text" value="" placeholder="Iskanje..." autocomplete="off">
|
||||||
|
<button id="btnRefresh" type="submit" class="btn btn-secondary" aria-label="Osveži" title="Osveži">
|
||||||
|
<i class="opacity-75 ion ion-md-refresh"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h6 class="card-header">
|
<h6 class="card-header">
|
||||||
Seznam oglasnih desk
|
Seznam oglasnih desk
|
||||||
</h6>
|
</h6>
|
||||||
<table class="table card-table">
|
<div class="div-boards">
|
||||||
<thead>
|
<table class="table card-table table-hover">
|
||||||
<tr>
|
<thead>
|
||||||
<th>
|
|
||||||
@Html.DisplayNameFor(model => model.Boards[0].Name)
|
|
||||||
</th>
|
|
||||||
<th>
|
|
||||||
@Html.DisplayNameFor(model => model.Boards[0].Ratio)
|
|
||||||
</th>
|
|
||||||
<th></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
@foreach (var item in Model.Boards)
|
|
||||||
{
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<th>
|
||||||
@Html.DisplayFor(modelItem => item.Name)
|
@Html.DisplayNameFor(model => model.Boards[0].Name)
|
||||||
</td>
|
</th>
|
||||||
<td>
|
<th>
|
||||||
@Html.DisplayFor(modelItem => item.Ratio)
|
@Html.DisplayNameFor(model => model.Boards[0].Ratio)
|
||||||
</td>
|
</th>
|
||||||
<td>
|
<th></th>
|
||||||
<a class="btn btn-xs icon-btn btn-outline-secondary borderless" asp-page="AddEdit" asp-route-guid="@item.Guid" data-toggle="tooltip" data-placement="top" title="Urejanje" data-state="secondary"><i class="fas fa-pencil-alt"></i></a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
}
|
</thead>
|
||||||
</tbody>
|
<tbody>
|
||||||
</table>
|
@foreach (var item in Model.Boards)
|
||||||
|
{
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
@Html.DisplayFor(modelItem => item.Name)
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
@Html.DisplayFor(modelItem => item.Ratio)
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a class="btn btn-xs icon-btn btn-outline-success borderless" asp-page="View" asp-route-guid="@item.Guid" data-toggle="tooltip" data-placement="top" title="Urejanje" data-state="secondary"><i class="fas fa-external-link"></i></a>
|
||||||
|
<a class="btn btn-xs icon-btn btn-outline-secondary borderless" asp-page="AddEdit" asp-route-guid="@item.Guid" data-toggle="tooltip" data-placement="top" title="Urejanje" data-state="secondary"><i class="fas fa-pencil-alt"></i></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
<div class="card-footer py-3 text-right">
|
<div class="card-footer py-3 text-right">
|
||||||
<a asp-page="AddEdit" class="btn btn-primary">Dodaj novo</a>
|
<a asp-page="AddEdit" class="btn btn-primary">Dodaj novo</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@section Scripts {
|
@section Scripts {
|
||||||
|
<script src="~/js/boards/index.js" asp-append-version="true"></script>
|
||||||
|
|
||||||
}
|
}
|
||||||
26
ZpcBulletinBoard/Pages/Boards/View.cshtml
Normal file
26
ZpcBulletinBoard/Pages/Boards/View.cshtml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
@page "{handler?}"
|
||||||
|
@model ZpcBulletinBoard.Pages.Boards.ViewModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "Board view";
|
||||||
|
Layout = "~/Pages/Layouts/_LayoutBlank.cshtml";
|
||||||
|
}
|
||||||
|
|
||||||
|
@section Styles {
|
||||||
|
<link rel="stylesheet" href="~/css/boards/view.css" asp-append-version="true" />
|
||||||
|
}
|
||||||
|
|
||||||
|
<input id="inpGuidBoard" type="hidden" asp-for="Guid"/>
|
||||||
|
|
||||||
|
<div class="div-placeholder">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="div-no-pages">
|
||||||
|
<i class="fal fa-exclamation-triangle fa-10x text-danger"></i>
|
||||||
|
<h2>Ni prosojnic za @Model.Guid</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@section Scripts {
|
||||||
|
<script src="~/js/boards/view.js" asp-append-version="true"></script>
|
||||||
|
}
|
||||||
40
ZpcBulletinBoard/Pages/Boards/View.cshtml.cs
Normal file
40
ZpcBulletinBoard/Pages/Boards/View.cshtml.cs
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
using Microsoft.AspNetCore.Identity;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||||
|
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using ZpcBulletinBoard.Data;
|
||||||
|
using ZpcBulletinBoard.Models;
|
||||||
|
using ZpcBulletinBoard.Models.Editor;
|
||||||
|
|
||||||
|
namespace ZpcBulletinBoard.Pages.Boards
|
||||||
|
|
||||||
|
{
|
||||||
|
[AllowAnonymous]
|
||||||
|
public class ViewModel(ApplicationDbContext context)
|
||||||
|
: PageModel
|
||||||
|
{
|
||||||
|
[BindProperty] public string Guid { get; set; } = "";
|
||||||
|
public IActionResult OnGet(string? guid)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(guid))
|
||||||
|
{
|
||||||
|
return NotFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
Guid = guid;
|
||||||
|
|
||||||
|
return Page();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Oglasne deske - Povezave";
|
ViewData["Title"] = "Oglasne deske - Povezave";
|
||||||
Layout = "~/Pages/Shared/_Layout.cshtml";
|
Layout = "~/Pages/Layouts/_Layout.cshtml";
|
||||||
}
|
}
|
||||||
|
|
||||||
@section Styles
|
@section Styles
|
||||||
@@ -20,13 +20,13 @@
|
|||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="header">
|
||||||
<div class="div-content">
|
<div class="div-content">
|
||||||
<div class="div-content-boards">
|
<div class="div-content-boards">
|
||||||
<h6>Oglasne deske</h6>
|
<input id="inpSearchBoard" class="form-control form-control-sm" placeholder="Iskanje oglasnik desk..." />
|
||||||
</div>
|
</div>
|
||||||
<div class="div-content-pages">
|
<div class="div-content-pages">
|
||||||
<h6>Strani</h6>
|
<input id="inpSearchPage" class="form-control form-control-sm" placeholder="Iskanje strani..." />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -48,7 +48,15 @@
|
|||||||
@foreach (var tmpPage in Model.Pages)
|
@foreach (var tmpPage in Model.Pages)
|
||||||
{
|
{
|
||||||
<div class="div-page available-page" draggable="true" ondragstart="dragPage(event, this)" data-id="@tmpPage.IdBulletinBoardPage">
|
<div class="div-page available-page" draggable="true" ondragstart="dragPage(event, this)" data-id="@tmpPage.IdBulletinBoardPage">
|
||||||
<img class="img-thumbnail rounded" src="/bulletin-board-images/pages/@tmpPage.Image" alt="page image" />
|
@if ((int)tmpPage.Type == 3)
|
||||||
|
{
|
||||||
|
<div class='img-link'><i class="fas fa-link fa-5x"></i></div>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<img class="img-thumbnail rounded" src="/bulletin-board-images/pages/@tmpPage.Image" onerror="this.src='/img/imgNotExists.jpg'" alt="page image" />
|
||||||
|
|
||||||
|
}
|
||||||
<small>@tmpPage.Name</small>
|
<small>@tmpPage.Name</small>
|
||||||
<div class="tools">
|
<div class="tools">
|
||||||
@* <a href="javascript:;" class="btn btn-xs icon-btn btn-outline-primary borderless"><i class="fas fa-reply"></i></a> *@
|
@* <a href="javascript:;" class="btn btn-xs icon-btn btn-outline-primary borderless"><i class="fas fa-reply"></i></a> *@
|
||||||
|
|||||||
@@ -4,12 +4,9 @@
|
|||||||
|
|
||||||
<div class="app-brand demo">
|
<div class="app-brand demo">
|
||||||
<span class="app-brand-logo demo bg-secondary">
|
<span class="app-brand-logo demo bg-secondary">
|
||||||
<i class="fas fa-draw-circle text-white"></i>
|
<i class="fas fa-thumbtack text-white"></i>
|
||||||
</span>
|
</span>
|
||||||
<a href="/" class="app-brand-text demo sidenav-text font-weight-normal ml-2">Bulletin board</a>
|
<a href="/" class="app-brand-text demo sidenav-text font-weight-normal ml-2">ZPC Bulletin board</a>
|
||||||
<a href="javascript:void(0)" class="layout-sidenav-toggle sidenav-link text-large ml-auto">
|
|
||||||
<i class="ion ion-md-menu align-middle"></i>
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sidenav-divider mt-0"></div>
|
<div class="sidenav-divider mt-0"></div>
|
||||||
@@ -24,5 +21,14 @@
|
|||||||
<li class="sidenav-item@(currentPage.StartsWith("/BoardsLinks/") ? " active" : "")">
|
<li class="sidenav-item@(currentPage.StartsWith("/BoardsLinks/") ? " active" : "")">
|
||||||
<a asp-page="/BoardsLinks/Index" class="sidenav-link"><i class="sidenav-icon fas fa-link"></i><div>Povezave</div></a>
|
<a asp-page="/BoardsLinks/Index" class="sidenav-link"><i class="sidenav-icon fas fa-link"></i><div>Povezave</div></a>
|
||||||
</li>
|
</li>
|
||||||
|
@if (User.IsInRole("Administrator") || User.IsInRole("TransportThingUser"))
|
||||||
|
{
|
||||||
|
<li class="sidenav-divider mb-1"></li>
|
||||||
|
<li class="sidenav-header small font-weight-semibold">ADMINISTRACIJA</li>
|
||||||
|
|
||||||
|
<li class="sidenav-item@(currentPage.StartsWith("/TransportLoadingOrder/") ? " active" : "")">
|
||||||
|
<a asp-page="/TransportLoadingOrder/Index" class="sidenav-link"><i class="sidenav-icon far fa-u"></i><div>Uporabniki</div></a>
|
||||||
|
</li>
|
||||||
|
}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -7,7 +7,8 @@
|
|||||||
<meta name="description" content="" />
|
<meta name="description" content="" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" />
|
||||||
|
|
||||||
<title>ZPC-BB - @ViewData["Title"]</title>
|
<title>ZPC BB - @ViewData["Title"]</title>
|
||||||
|
<link rel="icon" type="image/x-icon" href="/pin.ico">
|
||||||
|
|
||||||
<!-- Fonts -->
|
<!-- Fonts -->
|
||||||
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i,900" rel="stylesheet" crossorigin="anonymous" />
|
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i,900" rel="stylesheet" crossorigin="anonymous" />
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
@{
|
@{
|
||||||
Layout = "Shared/_Application";
|
Layout = "Layouts/_Application";
|
||||||
}
|
}
|
||||||
|
|
||||||
@section Styles {
|
@section Styles {
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
@{
|
@{
|
||||||
Layout = "Shared/_Application";
|
Layout = "Layouts/_Application";
|
||||||
}
|
}
|
||||||
|
|
||||||
@section Styles {
|
@section Styles {
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Strani - Pregled";
|
ViewData["Title"] = "Strani - Pregled";
|
||||||
Layout = "~/Pages/Shared/_Layout.cshtml";
|
Layout = "~/Pages/Layouts/_Layout.cshtml";
|
||||||
}
|
}
|
||||||
|
|
||||||
@section Styles {
|
@section Styles {
|
||||||
@@ -19,6 +19,17 @@
|
|||||||
</span>
|
</span>
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 mb-2 text-right">
|
||||||
|
<div class="btn-group">
|
||||||
|
<input id="inpSearchPage" class="form-control" type="text" value="" placeholder="Iskanje..." autocomplete="off">
|
||||||
|
<button id="btnRefresh" type="submit" class="btn btn-secondary" aria-label="Osveži" title="Osveži">
|
||||||
|
<i class="opacity-75 ion ion-md-refresh"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h6 class="card-header">
|
<h6 class="card-header">
|
||||||
Strani
|
Strani
|
||||||
|
|||||||
@@ -99,7 +99,25 @@ namespace ZpcBulletinBoard.Pages.Pages
|
|||||||
tmpPage.Image = imageName;
|
tmpPage.Image = imageName;
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
|
|
||||||
return new JsonResult(new { successful = true, error = $"" });
|
return new JsonResult(new { successful = true, error = $"", page = tmpPage });
|
||||||
|
}
|
||||||
|
|
||||||
|
//Delete
|
||||||
|
public IActionResult OnDeleteBoardPage(int idPage)
|
||||||
|
{
|
||||||
|
var tmpPage = context.BulletinBoardPage
|
||||||
|
.Include(x => x.Links)
|
||||||
|
.FirstOrDefault(x => x.IdBulletinBoardPage == idPage);
|
||||||
|
if (tmpPage == null)
|
||||||
|
return new JsonResult(new { successful = false, error = $"Page with ID {idPage} not exists!"});
|
||||||
|
|
||||||
|
if (tmpPage.Links.Any())
|
||||||
|
return new JsonResult(new { successful = false, error = $"Stran je v uporabi!\nBrisanje ni možno!" });
|
||||||
|
|
||||||
|
context.BulletinBoardPage.Remove(tmpPage);
|
||||||
|
context.SaveChanges();
|
||||||
|
|
||||||
|
return new JsonResult(new { successful = true, error = "" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,5 +2,5 @@
|
|||||||
@model ZpcBulletinBoard.Pages.SetupNew.SetupModel
|
@model ZpcBulletinBoard.Pages.SetupNew.SetupModel
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "SetupNew";
|
ViewData["Title"] = "SetupNew";
|
||||||
Layout = "~/Pages/Shared/_LayoutBlank.cshtml";
|
Layout = "~/Pages/Layouts/_LayoutBlank.cshtml";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
@model ZpcBulletinBoard.Pages.User.LoginModel
|
@model ZpcBulletinBoard.Pages.User.LoginModel
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Prijava";
|
ViewData["Title"] = "Prijava";
|
||||||
Layout = "~/Pages/Shared/_LayoutBlank.cshtml";
|
Layout = "~/Pages/Layouts/_LayoutBlank.cshtml";
|
||||||
}
|
}
|
||||||
|
|
||||||
@section Styles {
|
@section Styles {
|
||||||
|
|||||||
@@ -2,5 +2,5 @@
|
|||||||
@model ZpcBulletinBoard.Pages.User.LogoutModel
|
@model ZpcBulletinBoard.Pages.User.LogoutModel
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Odjava";
|
ViewData["Title"] = "Odjava";
|
||||||
Layout = "~/Pages/Shared/_Layout.cshtml";
|
Layout = "~/Pages/Layouts/_Layout.cshtml";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
@{
|
@{
|
||||||
Layout = "_Layout";
|
Layout = "~/Pages/Layouts/_Layout.cshtml";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
<Folder Include="Properties\PublishProfiles\" />
|
<Folder Include="Properties\PublishProfiles\" />
|
||||||
<Folder Include="wwwroot\bulletin-board-images\notes\" />
|
<Folder Include="wwwroot\bulletin-board-images\notes\" />
|
||||||
<Folder Include="wwwroot\bulletin-board-images\pages\" />
|
<Folder Include="wwwroot\bulletin-board-images\pages\" />
|
||||||
|
<Folder Include="wwwroot\img\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 84 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 84 KiB |
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 22 MiB |
@@ -96,3 +96,26 @@
|
|||||||
margin-left: 15px;
|
margin-left: 15px;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.img-link{
|
||||||
|
height: 170px;
|
||||||
|
width: 170px;
|
||||||
|
margin-left: 15px;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding-top: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#inpSearchBoard{
|
||||||
|
width: 40%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header{
|
||||||
|
padding: 5px 5px 5px 5px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
border-bottom: 1px solid rgba(24, 28, 33, 0.06);
|
||||||
|
}
|
||||||
|
|
||||||
|
.div-boards{
|
||||||
|
height: 63vh;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
14
ZpcBulletinBoard/wwwroot/css/boards/index.css
Normal file
14
ZpcBulletinBoard/wwwroot/css/boards/index.css
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
.table > tbody > tr > td:nth-child(2),
|
||||||
|
.table > thead > tr > th:nth-child(2) {
|
||||||
|
width: 100px
|
||||||
|
}
|
||||||
|
.table > tbody > tr > td:nth-child(3),
|
||||||
|
.table > thead > tr > th:nth-child(3) {
|
||||||
|
width: 100px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div-boards {
|
||||||
|
height: 63vh;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
13
ZpcBulletinBoard/wwwroot/css/boards/view.css
Normal file
13
ZpcBulletinBoard/wwwroot/css/boards/view.css
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
.div-placeholder{
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div-no-pages{
|
||||||
|
padding: 20%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div-no-pages > h2{
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
@@ -11,7 +11,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.div-page:hover {
|
.div-page:hover {
|
||||||
cursor: grab;
|
|
||||||
/* background-color: rgba(24, 28, 33, 0.06); */
|
/* background-color: rgba(24, 28, 33, 0.06); */
|
||||||
border-color: blue;
|
border-color: blue;
|
||||||
}
|
}
|
||||||
@@ -36,3 +35,16 @@
|
|||||||
margin-left: 15px;
|
margin-left: 15px;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.img-link{
|
||||||
|
height: 170px;
|
||||||
|
width: 170px;
|
||||||
|
margin-left: 15px;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding-top: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div-pages{
|
||||||
|
height: 63vh;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.3 KiB |
BIN
ZpcBulletinBoard/wwwroot/img/imgNotExists.jpg
Normal file
BIN
ZpcBulletinBoard/wwwroot/img/imgNotExists.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
@@ -1,7 +1,43 @@
|
|||||||
$(function(){
|
$(function(){
|
||||||
|
$('#inpSearchBoard').on('keyup', function(){
|
||||||
|
searchBoards();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#inpSearchPage').on('keyup', function(){
|
||||||
|
searchPages();
|
||||||
|
});
|
||||||
|
|
||||||
loadBoards();
|
loadBoards();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function searchBoards(){
|
||||||
|
let value = $('#inpSearchBoard').val().toLowerCase();
|
||||||
|
|
||||||
|
$(".div-board").each(function(i, e) {
|
||||||
|
let boardText = $(e).find('h5').text().toLowerCase();
|
||||||
|
if (boardText.indexOf(value) < 0){
|
||||||
|
$(e).hide();
|
||||||
|
$(e).next().hide();
|
||||||
|
} else {
|
||||||
|
$(e).show();
|
||||||
|
$(e).next().show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function searchPages(){
|
||||||
|
let value = $('#inpSearchPage').val().toLowerCase();
|
||||||
|
|
||||||
|
$(".available-page").each(function(i, e) {
|
||||||
|
let pageText = $(e).find('small').text().toLowerCase();
|
||||||
|
if (pageText.indexOf(value) < 0){
|
||||||
|
$(e).hide();
|
||||||
|
} else {
|
||||||
|
$(e).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function loadBoards(){
|
function loadBoards(){
|
||||||
$.blockUI();
|
$.blockUI();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
@@ -112,8 +148,15 @@ function addPageToAllBoards(el){
|
|||||||
function addPageToBoard(idBoard, link){
|
function addPageToBoard(idBoard, link){
|
||||||
let div = $('.div-pages[data-idboard="' + idBoard + '"]');
|
let div = $('.div-pages[data-idboard="' + idBoard + '"]');
|
||||||
|
|
||||||
|
let preview;
|
||||||
|
if (link.bulletinBoardPage.type == 3){
|
||||||
|
preview = `<div class='img-link'><i class="fas fa-link fa-5x"></i></div>`;
|
||||||
|
} else {
|
||||||
|
preview = `<img class="img-thumbnail rounded" src="/bulletin-board-images/pages/${link.bulletinBoardPage.image}" onerror="this.src='/img/imgNotExists.jpg'" alt="page image" />`
|
||||||
|
}
|
||||||
|
|
||||||
div.append(`<div class="div-page" data-id="${link.idLink}" data-idPage='${link.bulletinBoardPage.idBulletinBoardPage}' data-duration='${link.duration}'>
|
div.append(`<div class="div-page" data-id="${link.idLink}" data-idPage='${link.bulletinBoardPage.idBulletinBoardPage}' data-duration='${link.duration}'>
|
||||||
<img class="img-thumbnail rounded" src="/bulletin-board-images/pages/${link.bulletinBoardPage.image}" alt="page image" />
|
${preview}
|
||||||
<small>${link.bulletinBoardPage.name}</small>
|
<small>${link.bulletinBoardPage.name}</small>
|
||||||
<div class="tools">
|
<div class="tools">
|
||||||
<a href="javascript:;" class="btn btn-xs icon-btn btn-outline-primary borderless" onclick="moveLink(this, -1)"><i class="fas fa-chevron-left"></i></a>
|
<a href="javascript:;" class="btn btn-xs icon-btn btn-outline-primary borderless" onclick="moveLink(this, -1)"><i class="fas fa-chevron-left"></i></a>
|
||||||
|
|||||||
18
ZpcBulletinBoard/wwwroot/js/boards/index.js
Normal file
18
ZpcBulletinBoard/wwwroot/js/boards/index.js
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
$(function(){
|
||||||
|
$('#inpSearchBoard').on('keyup', function(){
|
||||||
|
searchBoards();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function searchBoards(){
|
||||||
|
let value = $('#inpSearchBoard').val().toLowerCase();
|
||||||
|
|
||||||
|
$("table > tbody > tr").each(function(i, e) {
|
||||||
|
let boardText = $(e).find('td:first').text().toLowerCase();
|
||||||
|
if (boardText.indexOf(value) < 0){
|
||||||
|
$(e).hide();
|
||||||
|
} else {
|
||||||
|
$(e).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
0
ZpcBulletinBoard/wwwroot/js/boards/view.js
Normal file
0
ZpcBulletinBoard/wwwroot/js/boards/view.js
Normal file
@@ -1,12 +1,24 @@
|
|||||||
$(function(){
|
$(function(){
|
||||||
let openEditorForPage = parseInt($('#inpOpenEditorForPage').val());
|
$('#inpSearchPage').on('keyup', function(){
|
||||||
if (!isNaN(openEditorForPage) && openEditorForPage > 0){
|
searchPages();
|
||||||
$('#inpOpenEditorForPage').val(0);
|
});
|
||||||
openEditor(openEditorForPage);
|
|
||||||
}
|
|
||||||
loadPages();
|
loadPages();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function searchPages(){
|
||||||
|
let value = $('#inpSearchPage').val().toLowerCase();
|
||||||
|
|
||||||
|
$(".div-page").each(function(i, e) {
|
||||||
|
let pageText = $(e).find('small').text().toLowerCase();
|
||||||
|
if (pageText.indexOf(value) < 0){
|
||||||
|
$(e).hide();
|
||||||
|
} else {
|
||||||
|
$(e).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function loadPages(){
|
function loadPages(){
|
||||||
$.blockUI();
|
$.blockUI();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
@@ -39,8 +51,14 @@ function loadPages(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
function addPageToDiv(page){
|
function addPageToDiv(page){
|
||||||
|
let preview;
|
||||||
|
if (page.type == 3){
|
||||||
|
preview = `<div class='img-link'><i class="fas fa-link fa-5x"></i></div>`;
|
||||||
|
} else {
|
||||||
|
preview = `<img class="img-thumbnail rounded" src="/bulletin-board-images/pages/${page.image}" onerror="this.src='/img/imgNotExists.jpg'" alt="page image" />`
|
||||||
|
}
|
||||||
let element = $(`<div class="div-page" data-id="${page.idBulletinBoardPage}">
|
let element = $(`<div class="div-page" data-id="${page.idBulletinBoardPage}">
|
||||||
<img class="img-thumbnail rounded" src="/bulletin-board-images/pages/${page.image}" alt="page image" />
|
${preview}
|
||||||
<small>${page.name}</small>
|
<small>${page.name}</small>
|
||||||
<div class="tools">
|
<div class="tools">
|
||||||
<a href="javascript:;" class="btn btn-xs icon-btn btn-outline-primary borderless" onclick="pageOpenEditor(this);" data-toggle="tooltip" data-placement="top" title="Urejevalnik" data-state="secondary"><i class="far fa-edit"></i></a>
|
<a href="javascript:;" class="btn btn-xs icon-btn btn-outline-primary borderless" onclick="pageOpenEditor(this);" data-toggle="tooltip" data-placement="top" title="Urejevalnik" data-state="secondary"><i class="far fa-edit"></i></a>
|
||||||
@@ -129,14 +147,12 @@ function saveModalAddEditPage(){
|
|||||||
}},
|
}},
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
if (data.successful){
|
if (data.successful){
|
||||||
$('#divModalAddEditPage').modal('hide');
|
if (idBulletinBoardPage <= 0){
|
||||||
if (idBulletinBoardPage > 0){
|
//Ce je nova dodam in odprem editor
|
||||||
//Ce je edit ne odprem editorja
|
addPageToDiv(data.page);
|
||||||
$('#inpOpenEditorForPage').val(0);
|
openEditor(data.page.idBulletinBoardPage);
|
||||||
} else {
|
|
||||||
$('#inpOpenEditorForPage').val(data.page.idBulletinBoardPage);
|
|
||||||
}
|
}
|
||||||
$('#btnRefresh').trigger('click');
|
$('#divModalAddEditPage').modal('hide');
|
||||||
} else {
|
} else {
|
||||||
Swal.fire('Napaka', data.error, 'error');
|
Swal.fire('Napaka', data.error, 'error');
|
||||||
console.log(data);
|
console.log(data);
|
||||||
@@ -208,8 +224,7 @@ function saveModalPageEditorLink(){
|
|||||||
data: { idPage, link},
|
data: { idPage, link},
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
if (data.successful){
|
if (data.successful){
|
||||||
$('#divModalAddEditPage').modal('hide');
|
$('#divModalPageEditorLink').modal('hide');
|
||||||
$('#btnRefresh').trigger('click');
|
|
||||||
} else {
|
} else {
|
||||||
Swal.fire('Napaka', data.error, 'error');
|
Swal.fire('Napaka', data.error, 'error');
|
||||||
console.log(data);
|
console.log(data);
|
||||||
@@ -245,8 +260,39 @@ function saveModalPageEditorPicture(){
|
|||||||
processData: false,
|
processData: false,
|
||||||
success: function(data) {
|
success: function(data) {
|
||||||
if (data.successful){
|
if (data.successful){
|
||||||
|
let date = new Date();
|
||||||
|
$('.div-page[data-id="' + idPage + '"] > img').attr('src', '/bulletin-board-images/pages/' + data.page.image + '?' + date.getTime());
|
||||||
$('#divModalPageEditorPicture').modal('hide');
|
$('#divModalPageEditorPicture').modal('hide');
|
||||||
$('#btnRefresh').trigger('click');
|
$.unblockUI();
|
||||||
|
} else {
|
||||||
|
Swal.fire('Napaka', data.error, 'error');
|
||||||
|
console.log(data);
|
||||||
|
}
|
||||||
|
$.unblockUI();
|
||||||
|
},
|
||||||
|
error: function (xhr, ajaxOptions, thrownError) {
|
||||||
|
alert(xhr.responseText);
|
||||||
|
$.unblockUI();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function deletePage(el){
|
||||||
|
let idPage = parseInt($(el).parent().parent().attr('data-id'));
|
||||||
|
$.blockUI();
|
||||||
|
$.ajax({
|
||||||
|
type: "DELETE",
|
||||||
|
beforeSend: function(xhr) {
|
||||||
|
xhr.setRequestHeader("XSRF-TOKEN",
|
||||||
|
$('input:hidden[name="__RequestVerificationToken"]').val());
|
||||||
|
},
|
||||||
|
url: "/Pages/Index/?handler=BoardPage",
|
||||||
|
data: {
|
||||||
|
idPage
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
if (data.successful){
|
||||||
|
$(el).parent().parent().remove();
|
||||||
} else {
|
} else {
|
||||||
Swal.fire('Napaka', data.error, 'error');
|
Swal.fire('Napaka', data.error, 'error');
|
||||||
console.log(data);
|
console.log(data);
|
||||||
|
|||||||
BIN
ZpcBulletinBoard/wwwroot/pin.ico
Normal file
BIN
ZpcBulletinBoard/wwwroot/pin.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 100 KiB |
Reference in New Issue
Block a user