yavsc/src/Yavsc.Org/Views/Command/Create.cshtml

114 lines
4.4 KiB
Text
Raw Normal View History

2019-09-01 01:31:55 +01:00
@model RdvQuery
@section header {
2019-01-01 16:28:47 +00:00
<style>
2019-09-01 01:31:55 +01:00
#map {
width: 100%;
height: 250px;
}
2019-01-01 16:28:47 +00:00
</style>
refac: separate front assets into esbuild bundles Sort ~50 Mo de libs tierces hors du repo et regroupe le code front en 6 bundles thématiques + 2 assets statiques. Bundles produits par esbuild : - core.bundle.min.js : jQuery + jQuery UI + Bootstrap 4 + validation + tout le code applicatif 'core' (site, signout, signin, input-lib, md-helpers, audiovideoinput, parallax, google.geocode, google-geoloc). Chargé par _Layout.cshtml. - chat.bundle.min.js : core subset (sans Bootstrap) + chat.js + comment.js (SignalR client chargé séparément, voir plus bas) - dropzone.bundle.min.js : jQuery + dropzone + yavsc-remote-fs - datetime.bundle.min.js : jQuery + jQuery UI + eonasdan datetimepicker + jquery-timepicker - timepicker.bundle.min.js : jQuery + jQuery UI + jquery-timepicker - quill.bundle.min.js : Quill rich text editor Assets statiques (non bundlés, copiés depuis node_modules) : - signalr.min.js : client SignalR 2.x (legacy server) - moment-with-locales.min.js : moment + 137 locales (require dynamique non résolvable statiquement par esbuild) CSS vendor copiées comme assets statiques vers wwwroot/css/ : bootstrap.min.css, jquery-ui.min.css, dropzone.min.css, dropzone-basic.min.css, bootstrap-datetimepicker.min.css, jquery.timepicker.css Exception gitignore : jonthornton-Datepair/jquery.datepair.min.js n'est pas sur npm, conservé comme asset statique sous wwwroot/lib/jonthornton-Datepair/ (téléchargé depuis upstream). Vues Razor mises à jour (15 fichiers) pour pointer vers les bundles et les CSS vendor. Suppression de la majorité de wwwroot/lib/ (1300+ fichiers). Suppression des jquery*.js, quill.js, showdown.js, to-markdown.js, jquery.signalR-2.2.1.js, dropzone.js et de leurs .min.js associés. 'jquery-datepair' et 'jquery-ui-map' non publiés sur npm : - jquery-ui-map n'est utilisé nulle part dans le repo (vérifié), la dépendance est purement historique. - datepair reste en static sous wwwroot/lib/jonthornton-Datepair/.
2026-06-14 14:11:33 +01:00
<script type="text/javascript" src="~/js/moment-with-locales.min.js"></script>
<script src="~/js/datetime.bundle.min.js" asp-append-version="true"></script>
2026-06-14 15:47:28 +01:00
<link rel="stylesheet" href="~/css/main/bootstrap-datetimepicker.min.css" asp-append-version="true"/>
2019-01-01 16:28:47 +00:00
}
2026-06-04 12:13:37 +01:00
@{ ViewBag.Title = $"Proposition de rendez-vous à {Model.PerformerProfile.Performer.UserName} [{ViewBag.Activity.Name}]"; }
<h2>@ViewBag.Title</h2>
2019-01-01 16:28:47 +00:00
<form asp-action="Create" method="post">
<div class="form-horizontal">
<h4>Saisissez votre demande de rendez-vous</h4>
<hr />
2023-03-20 09:13:16 +00:00
<div asp-validation-summary="All" class="text-danger"></div>
2019-01-01 16:28:47 +00:00
<div class="form-group" has-feedback>
<fieldset>
2019-09-01 01:31:55 +01:00
<legend>La date de votre évennement</legend>
2019-01-01 16:28:47 +00:00
<label for="EventDate" class="col-md-2 control-label">
Date de l'évennement
</label>
<div class="col-md-10">
<div class="container">
<div class="row">
<div class='col-sm-6'>
<div class='input-group date' id='datetimepicker2'>
<input class="form-control" name="EventDate" />
<span class="input-group-addon">
2019-09-01 01:31:55 +01:00
<span class="glyphicon glyphicon-calendar"></span>
2019-01-01 16:28:47 +00:00
</span>
</div>
</div>
2019-09-01 01:31:55 +01:00
<span asp-validation-for="EventDate" class="text-danger">
</span>
</div>
</div>
</div>
</fieldset>
2019-01-01 16:28:47 +00:00
</div>
2019-09-01 01:31:55 +01:00
<div class="form-group">
<fieldset>
2023-03-20 09:13:16 +00:00
<label asp-for="Location.Address" class="col-md-2 control-label">Address</label>
2019-09-01 01:31:55 +01:00
<div class="col-md-10">
<input asp-for="Location.Address" class="form-control" type="text" data-val-required="Spécifier un lieu" />
<span id="AddressError" asp-validation-for="Location.Address" class="text-danger"></span>
<ul id="LocationCombo" >
</ul>
<div id="map"></div>
</div>
</fieldset>
2019-01-01 16:28:47 +00:00
</div>
2019-09-01 01:31:55 +01:00
<div class="form-group">
<fieldset>
<label asp-for="Reason" class="col-md-2 control-label">
Donnez ici une raison à cette demande
</label>
2019-01-01 16:28:47 +00:00
<div class="col-md-10">
<div class="container">
<div class="row">
<div class='col-sm-6'>
<div id='reason1'>
2019-09-01 01:31:55 +01:00
<textarea rows="15" asp-for="Reason" type="text" name="Reason" id="Reason" maxlength="4096" class="form-control"></textarea>
<span asp-validation-for="Reason" class="text-danger"></span>
</div>
</div>
</div>
</div>
</div>
</fieldset>
2019-01-01 16:28:47 +00:00
</div>
2019-09-01 01:31:55 +01:00
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
2025-07-12 19:00:30 +01:00
<input type="submit" class="btn btn-primary" value="Créer" />
2019-09-01 01:31:55 +01:00
</div>
2019-01-01 16:28:47 +00:00
</div>
2019-09-01 01:31:55 +01:00
</div>
@Html.HiddenFor(model=>model.ClientId)
@Html.HiddenFor(model=>model.PerformerId)
@Html.HiddenFor(model=>model.ActivityCode)
@Html.HiddenFor(model=>model.Location.Latitude)
@Html.Hidden("Location.Longitude")
2019-01-01 16:28:47 +00:00
</form>
2019-09-01 01:31:55 +01:00
@section scripts {
2019-01-01 16:28:47 +00:00
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
@{ await Html.RenderPartialAsync("_MapScriptsPartial"); }
2019-09-01 01:31:55 +01:00
<script>
$(document).ready(function(){
$("#Location_Address").googlegeocode({
culture: '@System.Globalization.CultureInfo.CurrentCulture.Name',
2024-02-25 18:05:10 +00:00
mapsApiKey: '@Config.GoogleSettings.BrowserApiKey',
2019-09-01 01:31:55 +01:00
mapId: 'map',
longId: 'Location_Longitude',
latId: 'Location_Latitude',
addrValidationId: 'AddressError',
formValidId: 'ValidationSummary',
locComboId: 'LocationCombo'});
2019-01-01 16:28:47 +00:00
2019-09-01 01:31:55 +01:00
$('#datetimepicker2').datetimepicker({
locale: 'fr',
format: "YYYY/MM/DD HH:mm"
});
})
</script>
2023-03-20 09:13:16 +00:00
}