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
|
|
|
}
|