73 Commits

Author SHA1 Message Date
Samuele Locatelli 75c0ea10bf Update conf x email 2025-04-30 09:21:46 +02:00
Samuele Locatelli a1a4a12fe5 Merge tag 'FixUserConnString_01' into develop
Fix stringhe connessione DB
2024-08-19 10:15:25 +02:00
Samuele Locatelli 70f70fc5ba Merge branch 'release/FixUserConnString_01' 2024-08-19 10:15:15 +02:00
Samuele Locatelli f5225b2a14 Update stringhe di conneessione 2024-08-19 10:14:36 +02:00
Samuele Locatelli e6b5de5ceb Pulizia file inutilizzati (jenkins) 2024-08-19 10:13:23 +02:00
Samuele Locatelli b52de35e41 refresh grafico 2024-08-05 19:30:54 +02:00
Samuele Locatelli 2aeda792cd Merge tag 'FixCloneGroupAssign01' into develop
Clone group assign completata
2024-06-24 19:41:01 +02:00
Samuele Locatelli f719bdb22a Merge branch 'release/FixCloneGroupAssign01' 2024-06-24 19:40:46 +02:00
Samuele Locatelli b679d8da4e Aggiunto cloning gruppi dipendenti 2024-06-24 19:40:21 +02:00
Samuele Locatelli 1b84a2e325 Merge tag 'FixToggleCore01' into develop
Fix preselezione toggle Core x smart device
2024-06-24 14:45:34 +02:00
Samuele Locatelli 5cdae01434 Merge branch 'release/FixToggleCore01' 2024-06-24 14:44:49 +02:00
Samuele Locatelli c803ccf1a6 Fix checkCore: di default mostra quello x SMART 2024-06-24 14:44:23 +02:00
Samuele Locatelli 3f1aa9e26d Merge tag 'FixIdxRespDroDown01' into develop
Fix nome dl x recupero dropdown del resp utente
2024-06-24 11:23:58 +02:00
Samuele Locatelli 9588d09046 Merge branch 'release/FixIdxRespDroDown01' 2024-06-24 11:23:41 +02:00
Samuele Locatelli 811586ce48 Fix gedstione inserimento nuovo dip: codice idxResp non mappato correttamente 2024-06-24 11:23:15 +02:00
Samuele Locatelli 102bd0cf3e Merge tag 'AddIdxResp02' into develop
Aggiunta gestione invio email al resp su eventi approvazione
permessi/ferie
2024-06-14 19:01:42 +02:00
Samuele Locatelli 2ca7525781 Merge branch 'release/AddIdxResp02' 2024-06-14 19:01:28 +02:00
Samuele Locatelli 7034fdcf03 Fix invio email al resp su modifiche task 2024-06-14 19:01:15 +02:00
Samuele Locatelli b39352f373 Merge tag 'AddIdxResp01' into develop
Add gestione resp gerarchico x permessi
2024-06-14 18:24:36 +02:00
Samuele Locatelli 8c5a07de6f Merge branch 'release/AddIdxResp01' 2024-06-14 18:23:14 +02:00
Samuele Locatelli b7257ab43b Aggiunta gestione campo responsabile x gestione email notifica richieste permessi 2024-06-14 18:09:54 +02:00
Samuele Locatelli ccff088508 Merge tag 'FixRicalcoloGiustMissing01' into develop
Fix ricalcolo giustificativi missing
2024-04-15 12:19:23 +02:00
Samuele Locatelli e823b58a3e Merge branch 'release/FixRicalcoloGiustMissing01' 2024-04-15 12:19:16 +02:00
Samuele Locatelli b3d0a2bcb2 Fix ricalcolo giustificativi mancanti 2024-04-15 12:18:41 +02:00
Samuele Locatelli 33d5afd4e3 Merge tag 'AddMassApproveTimbr' into develop
Aggiunta approvazione massiva timb
2024-03-25 18:54:50 +01:00
Samuele Locatelli 18eadfd8f2 Merge branch 'release/AddMassApproveTimbr' 2024-03-25 18:52:55 +01:00
Samuele Locatelli 2af2e1edaf Aggiunto mass editing approvazione timb 2024-03-25 18:51:00 +01:00
Samuele Locatelli bbc477cf6c Merge tag 'FixDdlClass' into develop
Fix display dropdown list class
2024-03-21 10:56:34 +01:00
Samuele Locatelli f01359fbd9 Merge branch 'release/FixDdlClass' 2024-03-21 10:56:24 +01:00
Samuele Locatelli 2e0281fd56 Fix grafico ddlist 2024-03-21 10:55:54 +01:00
Samuele Locatelli f7597762bb Merge tag 'AddEditAnagFase' into develop
Aggiunto editing tag anag fasi
2024-03-21 09:52:54 +01:00
Samuele Locatelli cc4593912f Merge branch 'release/AddEditAnagFase' 2024-03-21 09:52:34 +01:00
Samuele Locatelli be2e967ba9 Update x gestione editing tagFasi 2024-03-21 09:52:12 +01:00
Samuele Locatelli 28fdde2955 Merge tag 'AddTagFasi01' into develop
Aggiunta preliminare gestione tagFasi
2024-03-20 19:17:47 +01:00
Samuele Locatelli 805cb3321e Merge branch 'release/AddTagFasi01' 2024-03-20 19:17:24 +01:00
Samuele Locatelli b0c8c5ddda Completo aggiunta gestione AnagTagFasi 2024-03-20 19:17:01 +01:00
Samuele Locatelli 26304ba711 Continuo fix AnagTagFasi 2024-03-20 18:55:57 +01:00
Samuele Locatelli bf3969cf5e Fix iniziale DB x SQL2019 + add AnagFasi (DS) 2024-03-20 17:44:54 +01:00
Samuele Locatelli 8a0f0aee3e Merge tag 'UpdateRedisSentinel02' into develop
Fix trasfprmazione web.config
2024-03-18 15:38:47 +01:00
Samuele Locatelli 1fa79e396c Merge branch 'release/UpdateRedisSentinel02' 2024-03-18 15:34:54 +01:00
Samuele Locatelli 17d5431e93 COmpleto update gestione redis devel/prod x GPW classic 2024-03-18 15:34:38 +01:00
Samuele Locatelli fa42649374 Merge tag 'UpdateRedisSentinel01' into develop
Update x impiego redis sentinel
2024-03-18 11:45:14 +01:00
Samuele Locatelli 03e7c78b97 Merge branch 'release/UpdateRedisSentinel01' 2024-03-18 11:44:33 +01:00
Samuele Locatelli 56d92e929c redisUpdate conf redis x sentinel 2024-03-18 11:44:08 +01:00
Samuele Locatelli b8edad32b2 Merge tag 'UpdateNuget01' into develop
Completo i vari udpate nuget...
2024-03-01 14:22:11 +01:00
Samuele Locatelli 868c51b18d Merge branch 'release/UpdateNuget01' 2024-03-01 14:22:02 +01:00
Samuele Locatelli b954b39cbf Update nuget totale 2024-03-01 14:21:50 +01:00
Samuele Locatelli 3687de3f94 Completata review ADMIn e COmmesse 2024-03-01 11:30:29 +01:00
Samuele Locatelli 4f1e7da206 fix elmah removal BCode 2024-03-01 11:18:15 +01:00
Samuele Locatelli d8a646dbf9 Cleanup and update BARCODE 2024-03-01 11:17:15 +01:00
Samuele Locatelli 8e8fabaea9 Fix build x SMART e Barcode 2024-03-01 10:49:40 +01:00
Samuele Locatelli ca0466f30a fIX smart & cOMMESSE 2024-03-01 10:48:08 +01:00
Samuele Locatelli 41690f4609 Cleanup + update nuget globali 2024-03-01 09:20:00 +01:00
Samuele Locatelli 97e28dcced SMART
- refresh con HOME su IIS01
- fix jqueryUI 1.13.2
2024-02-29 16:57:24 +01:00
Samuele Locatelli f7979137e9 Ancora refresh smart 2024-02-29 16:55:52 +01:00
Samuele Locatelli f10132ee7f FIX GPW Smart x versione 4.8.0 2024-02-29 16:55:45 +01:00
Samuele Locatelli 2589eaad34 Refresh vari 2024-02-29 15:57:51 +01:00
Samuele Locatelli 8b9b080912 HOME
- fix bootstrap
- fix 4.8.0
2024-02-29 15:57:47 +01:00
Samuele Locatelli c3bc2d1cea Commesse
Fix bootstrap5
2024-02-29 15:57:33 +01:00
Samuele Locatelli f35d3c8815 refresh nuget vari 2024-02-29 15:03:24 +01:00
Samuele Locatelli c82907fadb Update smart x versione Bootstrap5 2024-02-29 15:03:16 +01:00
Samuele Locatelli 737dba03ff Update + consolidamento nuget vari 2024-02-28 18:38:10 +01:00
Samuele Locatelli 9995a3ad8f Fix preliminare bootstrap 8da testare...) 2024-02-28 18:29:23 +01:00
Samuele Locatelli c8252a34e0 Fix restsharp 2024-02-28 18:22:42 +01:00
Samuele Locatelli 88cf7b12ff fix nuget AWS token 2024-02-28 18:20:46 +01:00
Samuele Locatelli 69d0e792e8 update ref nuget libmongocrypt 2024-02-28 18:18:10 +01:00
Samuele Locatelli 2e72037508 Agglinta Microsoft.Extensions.Logging.Abstractions x tutti 2024-02-28 18:15:44 +01:00
Samuele Locatelli f225c2105a Aggiunto logging x ADM 2024-02-28 18:14:20 +01:00
Samuele Locatelli 9bf679dda9 test deploy con VS2022 al posto di 2019 2024-02-28 18:12:38 +01:00
Samuele Locatelli d7e163a851 ADM:
- update bootstrap
- update script
- update nuget vari
2024-02-28 18:05:48 +01:00
Samuele Locatelli 3f79a2cca4 Merge tag 'FixAdmB5_01' into develop
Update x classi Bootstrap5 x ADM
2024-02-28 17:18:21 +01:00
Samuele Locatelli ceec3427ec Merge branch 'release/FixAdmB5_01' 2024-02-28 17:17:59 +01:00
Samuele Locatelli 792933bfa3 Fix allineamento progetti GPW/ADM 2024-02-28 17:17:16 +01:00
500 changed files with 242380 additions and 103233 deletions
+2 -1
View File
@@ -1,6 +1,7 @@
variables:
NUGET_PATH: 'C:\Tools\nuget.exe'
MSBUILD_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe'
# MSBUILD_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe'
MSBUILD_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe'
ASPNET_MERGE_PATH: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools'
EXE_RELEASE_FOLDER: 'c:\Projetcs\Compiled\GPW\Release'
DEPLOY_FOLDER: 'c:\Projects\Deploy\GPW\Builds'
-325
View File
@@ -1,325 +0,0 @@
pipeline {
agent none
environment {
enableIIS02 = 'Y'
enableIIS03 = 'Y'
}
stages {
stage('Checkout') {
agent any
steps {
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
script {
withEnv(['NEXT_BUILD_NUMBER=4158']) {
// env.versionNumber = VersionNumber(versionNumberString : '2.7.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true)
env.versionNumber = VersionNumber(versionNumberString : '2.7.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
env.APP_NAME = 'GPW'
}
}
script {
currentBuild.displayName = "${env.versionNumber}"
if (env.BRANCH_NAME == "master") {
currentBuild.description = "BUILD ${env.versionNumber}"
}
else {
currentBuild.description = "TEST ${env.versionNumber}"
}
}
/* CAMBIO numero versione in file sorgente!!! */
bat "e:\\fart.exe VersGen\\GPW.cs 0.0.0.0 ${env.versionNumber} || EXIT /B 0"
fixNuget("${WORKSPACE}\\GPW.sln")
}
}
stage('Build') {
agent any
steps {
parallel (
ALL: {
// ADM
bat "\"${tool 'MSBuild-16.0'}\" /p:m=8 GPW_Admin\\GPW_Admin.csproj -target:Build /p:Configuration=Release /p:Platform=\"Any CPU\" /p:OutputPath=bin/ /m"
// BCODE
bat "\"${tool 'MSBuild-16.0'}\" /p:m=8 GPW_Barcode\\GPW_Barcode.csproj -target:Build /p:Configuration=Release /p:Platform=\"Any CPU\" /p:OutputPath=bin/ /m"
// COMMESSE
bat "\"${tool 'MSBuild-16.0'}\" /p:m=8 GPW_Commesse\\GPW_Commesse.csproj -target:Build /p:Configuration=Release /p:Platform=\"Any CPU\" /p:OutputPath=bin/ /m"
// HOME
bat "\"${tool 'MSBuild-16.0'}\" /p:m=8 HOME\\HOME.csproj -target:Build /p:Configuration=Release /p:Platform=\"Any CPU\" /p:OutputPath=bin/ /m"
// SMART
bat "\"${tool 'MSBuild-16.0'}\" /p:m=8 GPW_Smart\\GPW_Smart.csproj -target:Build /p:Configuration=Release /p:Platform=\"Any CPU\" /p:OutputPath=bin/ /m"
},
failFast: false)
}
}
stage('Test') {
steps {
echo 'Testing.. 2 be done...'
}
}
stage('Deploy') {
agent any
steps {
script {
if (env.BRANCH_NAME == "develop") {
/* CAMBIO numero versione in file sorgente!!! */
bat "e:\\fart.exe VersGen\\GPW.cs 0.0.0.0 ${env.versionNumber} || EXIT /B 0"
fixNuget("${WORKSPACE}\\GPW.sln")
parallel (
ALL: {
//ADMIN: {
// sleep 6
bat "\"${tool 'MSBuild-16.0'}\" \"/p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS01.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS01 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ GPW_Admin/GPW_Admin.csproj"
// },
// SMART: {
// sleep 4
bat "\"${tool 'MSBuild-16.0'}\" \"/p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS01.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS01 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ GPW_Smart/GPW_Smart.csproj"
// },
// COMM: {
// sleep 2
bat "\"${tool 'MSBuild-16.0'}\" \"/p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS01.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS01 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ GPW_Commesse/GPW_Commesse.csproj"
// },
// BCODE: {
// sleep 1
bat "\"${tool 'MSBuild-16.0'}\" \"/p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS01.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS01 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ GPW_Barcode/GPW_Barcode.csproj"
// },
// HOME: {
bat "\"${tool 'MSBuild-16.0'}\" \"/p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS01.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS01 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ HOME/HOME.csproj"
},
failFast: false)
}
else if (env.BRANCH_NAME == "master") {
/* CAMBIO numero versione in file sorgente!!! */
bat "e:\\fart.exe VersGen\\GPW.cs 0.0.0.0 ${env.versionNumber} || EXIT /B 0"
fixNuget("${WORKSPACE}\\GPW.sln")
parallel (
ALL: {
// ADMIN: {
if(env.enableIIS03 == "Y")
{
// sleep 4
bat "\"${tool 'MSBuild-16.0'}\" \"/p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS03.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS02 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ GPW_Admin/GPW_Admin.csproj"
}
if(env.enableIIS02 == "Y")
{
// sleep 4
bat "\"${tool 'MSBuild-16.0'}\" \"/p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS02.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS02 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ GPW_Admin/GPW_Admin.csproj"
}
// },
// BCODE: {
if(env.enableIIS02 == "Y")
{
// sleep 8
bat "\"${tool 'MSBuild-16.0'}\" \"/p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS02.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS02 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ GPW_Barcode/GPW_Barcode.csproj"
}
if(env.enableIIS03 == "Y")
{
// sleep 8
bat "\"${tool 'MSBuild-16.0'}\" \"/p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS03.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS02 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ GPW_Barcode/GPW_Barcode.csproj"
}
// },
// COMM: {
if(env.enableIIS03 == "Y")
{
bat "\"${tool 'MSBuild-16.0'}\" \"/p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS03.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS02 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ GPW_Commesse/GPW_Commesse.csproj"
}
if(env.enableIIS02 == "Y")
{
bat "\"${tool 'MSBuild-16.0'}\" \"/p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS02.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS02 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ GPW_Commesse/GPW_Commesse.csproj"
}
// },
// HOME: {
if(env.enableIIS02 == "Y")
{
// sleep 6
bat "\"${tool 'MSBuild-16.0'}\" \"/p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS02.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS02 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ HOME/HOME.csproj"
}
if(env.enableIIS03 == "Y")
{
// sleep 6
bat "\"${tool 'MSBuild-16.0'}\" \"/p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS03.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS02 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ HOME/HOME.csproj"
}
// },
// SMART: {
if(env.enableIIS02 == "Y")
{
// sleep 2
bat "\"${tool 'MSBuild-16.0'}\" \"/p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS02.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS02 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ GPW_Smart/GPW_Smart.csproj"
}
if(env.enableIIS03 == "Y")
{
// sleep 2
bat "\"${tool 'MSBuild-16.0'}\" \"/p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS03.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS02 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ GPW_Smart/GPW_Smart.csproj"
}
},
failFast: false)
}
else {
echo 'Nothing to deploy...'
}
}
}
}
stage('Installers') {
agent any
steps {
script {
/* compilo installers in base al BRANCH del cliente... */
if (env.BRANCH_NAME == "SPS") {
/* CAMBIO numero versione in file sorgente!!! */
bat "e:\\fart.exe VersGen\\GPW.cs 0.0.0.0 ${env.versionNumber} || EXIT /B 0"
fixNuget("${WORKSPACE}\\GPW.sln")
parallel (
HOME: {
bat "\"${tool 'MSBuild-16.0'}\" /p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /T:Package /P:Configuration=SPS /p:PublishProfile=SPS.pubxml /p:RunCodeAnalysis=false /p:PackageLocation=ReleaseClienti/SPS_PROD/${env.versionNumber}/HOME.zip /p:DeployIisAppPath=\"Default Web Site/GPW/HOME\" /p:PackageAsSingleFile=True /p:OutputPath=bin/ HOME/HOME.csproj"
/*echo 'Copia SPS'*/
bat "E:\\Jenkins\\exportDropbox.bat \"${WORKSPACE}\\HOME\\ReleaseClienti\" \"E:\\Staging\\byProd\\GPW\\SPS\\HOME\" "
},
ADMIN: {
sleep 1
bat "\"${tool 'MSBuild-16.0'}\" /p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /T:Package /P:Configuration=SPS /p:PublishProfile=SPS.pubxml /p:RunCodeAnalysis=false /p:PackageLocation=ReleaseClienti/SPS_PROD/${env.versionNumber}/GPW_Admin.zip /p:DeployIisAppPath=\"Default Web Site/GPW/ADMIN\" /p:PackageAsSingleFile=True /p:OutputPath=bin/ /p:TargetConnectionString=\"Data Source=W2012FS\\SQLEXPRESS;Initial Catalog=SPS_GPW;Persist Security Info=True;User ID=sa;Password=steamware\" GPW_Admin/GPW_Admin.csproj"
/*echo 'Copia SPS'*/
bat "E:\\Jenkins\\exportDropbox.bat \"${WORKSPACE}\\GPW_Admin\\ReleaseClienti\" \"E:\\Staging\\byProd\\GPW\\SPS\\ADMIN\" "
},
BCODE: {
bat "\"${tool 'MSBuild-16.0'}\" /p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /T:Package /P:Configuration=SPS /p:PublishProfile=SPS.pubxml /p:RunCodeAnalysis=false /p:PackageLocation=ReleaseClienti/SPS_PROD/${env.versionNumber}/GPW_Barcode.zip /p:DeployIisAppPath=\"Default Web Site/GPW/BCODE\" /p:PackageAsSingleFile=True /p:OutputPath=bin/ /p:TargetConnectionString=\"Data Source=W2012FS\\SQLEXPRESS;Initial Catalog=SPS_GPW;Persist Security Info=True;User ID=sa;Password=steamware\" GPW_Barcode/GPW_Barcode.csproj"
/*echo 'Copia SPS'*/
bat "E:\\Jenkins\\exportDropbox.bat \"${WORKSPACE}\\GPW_Barcode\\ReleaseClienti\" \"E:\\Staging\\byProd\\GPW\\SPS\\BCODE\" "
},
COMM: {
bat "\"${tool 'MSBuild-16.0'}\" /p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /T:Package /P:Configuration=SPS /p:PublishProfile=SPS.pubxml /p:RunCodeAnalysis=false /p:PackageLocation=ReleaseClienti/SPS_PROD/${env.versionNumber}/GPW_Commesse.zip /p:DeployIisAppPath=\"Default Web Site/GPW/WRKLG\" /p:PackageAsSingleFile=True /p:OutputPath=bin/ /p:TargetConnectionString=\"Data Source=W2012FS\\SQLEXPRESS;Initial Catalog=SPS_GPW;Persist Security Info=True;User ID=sa;Password=steamware\" GPW_Commesse/GPW_Commesse.csproj"
/*echo 'Copia SPS'*/
bat "E:\\Jenkins\\exportDropbox.bat \"${WORKSPACE}\\GPW_Commesse\\ReleaseClienti\" \"E:\\Staging\\byProd\\GPW\\SPS\\COMM\" "
},
SMART: {
sleep 1
bat "\"${tool 'MSBuild-16.0'}\" /p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /T:Package /P:Configuration=SPS /p:PublishProfile=SPS.pubxml /p:RunCodeAnalysis=false /p:PackageLocation=ReleaseClienti/SPS_PROD/${env.versionNumber}/GPW_Smart.zip /p:DeployIisAppPath=\"Default Web Site/GPW/SMART\" /p:PackageAsSingleFile=True /p:OutputPath=bin/ /p:TargetConnectionString=\"Data Source=W2012FS\\SQLEXPRESS;Initial Catalog=SPS_GPW;Persist Security Info=True;User ID=sa;Password=steamware\" GPW_Smart/GPW_Smart.csproj"
/*echo 'Copia SPS'*/
bat "E:\\Jenkins\\exportDropbox.bat \"${WORKSPACE}\\GPW_Smart\\ReleaseClienti\" \"E:\\Staging\\byProd\\GPW\\SPS\\SMART\" "
},
failFast: false)
}
else if (env.BRANCH_NAME == "ETS") {
/* CAMBIO numero versione in file sorgente!!! */
bat "e:\\fart.exe VersGen\\GPW.cs 0.0.0.0 ${env.versionNumber} || EXIT /B 0"
parallel (
HOME: {
// sleep 4
bat "\"${tool 'MSBuild-16.0'}\" /p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /T:Package /P:Configuration=ETS /p:PublishProfile=ETS.pubxml /p:RunCodeAnalysis=false /p:PackageLocation=ReleaseClienti/ETS_PROD/${env.versionNumber}/HOME.zip /p:DeployIisAppPath=\"Default Web Site/GPW/HOME\" /p:PackageAsSingleFile=True /p:OutputPath=bin/ HOME/HOME.csproj"
/*echo 'Copia ETS'*/
bat "E:\\Jenkins\\exportDropbox.bat \"${WORKSPACE}\\HOME\\ReleaseClienti\" \"E:\\Staging\\byProd\\GPW\\ETS\\HOME\" "
},
ADMIN: {
sleep 2
bat "\"${tool 'MSBuild-16.0'}\" /p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /T:Package /P:Configuration=ETS /p:PublishProfile=ETS.pubxml /p:RunCodeAnalysis=false /p:PackageLocation=ReleaseClienti/ETS_PROD/${env.versionNumber}/GPW_Admin.zip /p:DeployIisAppPath=\"Default Web Site/GPW/ADMIN\" /p:PackageAsSingleFile=True /p:OutputPath=bin/ /p:TargetConnectionString=\"Data Source=W2012FS\\SQLEXPRESS;Initial Catalog=ETS_GPW;Persist Security Info=True;User ID=sa;Password=steamware\" GPW_Admin/GPW_Admin.csproj"
/*echo 'Copia ETS'*/
bat "E:\\Jenkins\\exportDropbox.bat \"${WORKSPACE}\\GPW_Admin\\ReleaseClienti\" \"E:\\Staging\\byProd\\GPW\\ETS\\ADMIN\" "
},
BCODE: {
// sleep 3
bat "\"${tool 'MSBuild-16.0'}\" /p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /T:Package /P:Configuration=ETS /p:PublishProfile=ETS.pubxml /p:RunCodeAnalysis=false /p:PackageLocation=ReleaseClienti/ETS_PROD/${env.versionNumber}/GPW_Barcode.zip /p:DeployIisAppPath=\"Default Web Site/GPW/BCODE\" /p:PackageAsSingleFile=True /p:OutputPath=bin/ /p:TargetConnectionString=\"Data Source=W2012FS\\SQLEXPRESS;Initial Catalog=ETS_GPW;Persist Security Info=True;User ID=sa;Password=steamware\" GPW_Barcode/GPW_Barcode.csproj"
/*echo 'Copia ETS'*/
bat "E:\\Jenkins\\exportDropbox.bat \"${WORKSPACE}\\GPW_Barcode\\ReleaseClienti\" \"E:\\Staging\\byProd\\GPW\\ETS\\BCODE\" "
},
COMM: {
bat "\"${tool 'MSBuild-16.0'}\" /p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /T:Package /P:Configuration=ETS /p:PublishProfile=ETS.pubxml /p:RunCodeAnalysis=false /p:PackageLocation=ReleaseClienti/ETS_PROD/${env.versionNumber}/GPW_Commesse.zip /p:DeployIisAppPath=\"Default Web Site/GPW/WRKLG\" /p:PackageAsSingleFile=True /p:OutputPath=bin/ /p:TargetConnectionString=\"Data Source=W2012FS\\SQLEXPRESS;Initial Catalog=ETS_GPW;Persist Security Info=True;User ID=sa;Password=steamware\" GPW_Commesse/GPW_Commesse.csproj"
/*echo 'Copia ETS'*/
bat "E:\\Jenkins\\exportDropbox.bat \"${WORKSPACE}\\GPW_Commesse\\ReleaseClienti\" \"E:\\Staging\\byProd\\GPW\\ETS\\COMM\" "
},
SMART: {
sleep 1
bat "\"${tool 'MSBuild-16.0'}\" /p:m=8 /p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /T:Package /P:Configuration=ETS /p:PublishProfile=ETS.pubxml /p:RunCodeAnalysis=false /p:PackageLocation=ReleaseClienti/ETS_PROD/${env.versionNumber}/GPW_Smart.zip /p:DeployIisAppPath=\"Default Web Site/GPW/SMART\" /p:PackageAsSingleFile=True /p:OutputPath=bin/ /p:TargetConnectionString=\"Data Source=W2012FS\\SQLEXPRESS;Initial Catalog=ETS_GPW;Persist Security Info=True;User ID=sa;Password=steamware\" GPW_Smart/GPW_Smart.csproj"
/*echo 'Copia ETS'*/
bat "E:\\Jenkins\\exportDropbox.bat \"${WORKSPACE}\\GPW_Smart\\ReleaseClienti\" \"E:\\Staging\\byProd\\GPW\\ETS\\SMART\" "
},
failFast: false)
}
else{
echo 'Questo BRANCH non necessita di installer...'
}
}
}
}
}
post {
success {
sendSlack("Successful", "good")
}
failure {
sendSlack("Failed", "danger")
}
unstable {
sendSlack("Unstable", "warning")
}
}
}
// Funzione x pubblicazione su server IIS di deploy
def publishToDeployServer(prjPath, iisPath, packName) {
echo "Richiesto esecuzione publishToDeployServer con parametri: " + prjPath + " | " + iisPath + " | " + packName
// inizio copiando files di base da area VersGen...
bat "xcopy /y VersGen\\ChangeLog.html " + prjPath + "Resources\\ChangeLog.html "
bat "xcopy /y VersGen\\logoSteamware.png " + prjPath + "Resources\\logoSteamware.png "
bat "xcopy /y VersGen\\manifest.xml " + prjPath + "Resources\\manifest.xml "
// manifest.xml: aggiorno versNumber ed URL del branch di update...
bat "e:\\fart.exe " + prjPath + "Resources\\manifest.xml 0.0.0.0 ${env.versionNumber} || EXIT /B 0"
bat "e:\\fart.exe " + prjPath + "Resources\\manifest.xml {{BRANCHNAME}} ${env.BRANCH_NAME} || EXIT /B 0"
bat "e:\\fart.exe " + prjPath + "Resources\\manifest.xml {{PACKNAME}} " + packName + " || EXIT /B 0"
bat "e:\\fart.exe " + prjPath + "Resources\\ChangeLog.html {{CURRENT-REL}} ${env.versionNumber} || EXIT /B 0"
writeFile file: prjPath + 'changeLog.log', text: "${getChangeString()}"
powershell '(Get-Content ' + prjPath + 'Resources\\ChangeLog.html) | ForEach-Object { $_ -replace \"{{LAST-CHANGES}}\", \"${getChangeString()}\" } | Set-Content ' + prjPath + 'Resources\\ChangeLog.html'
// copio ed esporto in IIS02 i vari files .xml, .html, .zip
bat "xcopy /y " + prjPath + "Resources\\manifest.xml " + iisPath + packName + "\\${env.BRANCH_NAME}\\ "
bat "xcopy /y " + prjPath + "Resources\\ChangeLog.html " + iisPath + packName + "\\${env.BRANCH_NAME}\\ "
bat "xcopy /y " + prjPath + "Resources\\logoSteamware.png " + iisPath + packName + "\\${env.BRANCH_NAME}\\ "
// salvo copia della versione...
bat "xcopy /y " + prjPath + "\\ReleaseClienti\\${env.BRANCH_NAME}\\* E:\\Staging\\byProd\\MP\\${env.BRANCH_NAME}\\" + packName + "\\${env.versionNumber}\\ "
// copio x AutoUpdate deploy
bat "xcopy /y " + prjPath + "\\ReleaseClienti\\${env.BRANCH_NAME}\\" + packName + ".zip " + iisPath + packName + "\\${env.BRANCH_NAME}\\ "
}
@NonCPS
// Funzione x recupero changeLog
def getChangeString() {
MAX_MSG_LEN = 100
def changeString = ""
echo "Gathering SCM changes"
def changeLogSets = currentBuild.changeSets
for (int i = 0; i < changeLogSets.size(); i++) {
def entries = changeLogSets[i].items
for (int j = 0; j < entries.length; j++) {
def entry = entries[j]
truncated_msg = entry.msg.take(MAX_MSG_LEN)
changeString += " - ${truncated_msg} [${entry.author}]\n"
}
}
if (!changeString) {
changeString = " - Nessuna Modifica"
}
return changeString
}
// Funzione x invio slack
def sendSlack(status, colorCode) {
slackSend (
color: colorCode,
channel: "#GPW-dev",
failOnError: false,
message: "${env.JOB_NAME} ${env.versionNumber} | " + status + ": Build ${env.BUILD_NUMBER}\n\n" +
"Modifiche:\n " + getChangeString() + "\n\n Verifica build: <${env.BUILD_URL}|Apri>" + "\n"
)
}
// funzione x fix pacchetti nuget da NOSTRO repo Nexus con proxy
def fixNuget(solutionFile) {
// bat "e:\\nuget setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source http://nexus.steamware.net/repository/nuget-group"
// solo la prima volta va aggiunta...
hasSource = bat "e:\\nuget sources list | find \"Steamware\" /C"
if (hasSource == "0")
{
bat "e:\\nuget sources Add -Name \"Steamware Nexus\" -Source http://nexus.steamware.net/repository/nuget-group -username \"nugetUser\" -password \"viaDante16\""
}
else
{
bat "e:\\nuget sources Update -Name \"Steamware Nexus\" -Source http://nexus.steamware.net/repository/nuget-group -username \"nugetUser\" -password \"viaDante16\""
}
bat "e:\\nuget.exe restore ${solutionFile}"
}
+2 -48
View File
@@ -1,14 +1,12 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
# Visual Studio Version 17
VisualStudioVersion = 17.9.34607.119
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GPW_Data", "GPW_Data\GPW_Data.csproj", "{7BEA5D99-8486-4592-B01D-FE2C76EB66CF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersGen", "VersGen\VersGen.csproj", "{A8543046-1C1B-4810-BC08-9AA7F9814BB0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SteamWare", "..\..\Steamware\SteamWareLib\SteamWare.csproj", "{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GPW_Admin", "GPW_Admin\GPW_Admin.csproj", "{A74E74E3-77BC-45D3-BC54-8693313542E2}"
EndProject
Global
@@ -125,50 +123,6 @@ Global
{A8543046-1C1B-4810-BC08-9AA7F9814BB0}.Steamware|Any CPU.Build.0 = Release|Any CPU
{A8543046-1C1B-4810-BC08-9AA7F9814BB0}.WinLab|Any CPU.ActiveCfg = Release|Any CPU
{A8543046-1C1B-4810-BC08-9AA7F9814BB0}.WinLab|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.218_SP|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.218_SP|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.218_test|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.218_test|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.Alumat|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.Alumat|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.CMS|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.CMS|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.DEMO|Any CPU.ActiveCfg = Debug|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.DEMO|Any CPU.Build.0 = Debug|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.deploy|Any CPU.ActiveCfg = Debug|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.deploy|Any CPU.Build.0 = Debug|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.EQUA|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.EQUA|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.ETS|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.ETS|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.ETS-218|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.ETS-218|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.IIS|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.IIS|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.IIS01_SP|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.IIS01_SP|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.IIS01_TK|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.IIS01_TK|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.IIS01|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.IIS01|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.IIS02_SP|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.IIS02_SP|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.IIS02_TK|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.IIS02_TK|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.IIS02|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.IIS02|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.MoonProDemo-OVH|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.MoonProDemo-OVH|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.Release|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.SomaschiniUSA|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.SomaschiniUSA|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.Steamware|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.Steamware|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.WinLab|Any CPU.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.WinLab|Any CPU.Build.0 = Release|Any CPU
{A74E74E3-77BC-45D3-BC54-8693313542E2}.218_SP|Any CPU.ActiveCfg = Release|Any CPU
{A74E74E3-77BC-45D3-BC54-8693313542E2}.218_SP|Any CPU.Build.0 = Release|Any CPU
{A74E74E3-77BC-45D3-BC54-8693313542E2}.218_test|Any CPU.ActiveCfg = Release|Any CPU
-15
View File
@@ -1,15 +0,0 @@
A new HTTP handler has been configured in your application for consulting the
error log and its feeds. It is reachable at elmah.axd under your application
root. If, for example, your application is deployed at http://www.example.com,
the URL for ELMAH would be http://www.example.com/elmah.axd. You can, of
course, change this path in your application's configuration file.
ELMAH is also set up to be secure such that it can only be accessed locally.
You can enable remote access but then it is paramount that you secure access
to authorized users or/and roles only. This can be done using standard
authorization rules and configuration already built into ASP.NET. For more
information, see http://code.google.com/p/elmah/wiki/SecuringErrorLogPages on
the project site.
Please review the commented out authorization section under
<location path="elmah.axd"> and make the appropriate changes.
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<connectionStrings>
<add name="SteamWare.Properties.Settings.loggerConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=Flamma_SC;Persist Security Info=True;User ID=sa;Password=keyhammer16;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.SteamWare_VocabolarioConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=SteamWare_Vocabolario;Persist Security Info=True;User ID=sa;Password=keyhammer16;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.DS_AuthConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=SteamWare_Anagrafica;Persist Security Info=True;User ID=sa;Password=keyhammer16;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.AnagraficaBremboConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=AnagraficaBrembo;Persist Security Info=True;User ID=sa;Password=keyhammer16;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.SteamWare_BremboConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=SteamWare_Brembo;Persist Security Info=True;User ID=sa;Password=keyhammer16;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.Flamma_AnagraficaConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=Flamma_Anagrafica;Persist Security Info=True;User ID=sa;Password=keyhammer16;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.AnagraficaConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=SteamWare_Anagrafica;Persist Security Info=True;User ID=sa;Password=keyhammer16;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.loggerConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=Flamma_SC;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.SteamWare_VocabolarioConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=SteamWare_Vocabolario;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.DS_AuthConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=SteamWare_Anagrafica;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.AnagraficaBremboConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=AnagraficaBrembo;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.SteamWare_BremboConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=SteamWare_Brembo;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.Flamma_AnagraficaConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=Flamma_Anagrafica;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.AnagraficaConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=SteamWare_Anagrafica;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.SEL_fatture_SteamWareConnectionString" connectionString="Data Source=SQLSTEAM;Initial Catalog=SEL_fatture_SteamWare;User ID=sa;Password=keyhammer;Encrypt=False;TrustServerCertificate=True" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.Equa_AnagraficaConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=Equa_Anagrafica;Persist Security Info=True;User ID=sa;Password=keyhammer16;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.GMWConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=GMW;Persist Security Info=True;User ID=sa;Password=keyhammer16;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.MoonProConnectionString" connectionString="Data Source=SQL2016DEV;Initial Catalog=MoonPro;Persist Security Info=True;User ID=sa;Password=keyhammer16" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.DbConfConnectionString" connectionString="Data Source=SQL2016DEV;Initial Catalog=MoonPro;Persist Security Info=True;User ID=sa;Password=keyhammer16" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.Equa_AnagraficaConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=Equa_Anagrafica;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.GMWConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=GMW;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77;" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.MoonProConnectionString" connectionString="Data Source=SQL2016DEV;Initial Catalog=MoonPro;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77" providerName="System.Data.SqlClient" />
<add name="SteamWare.Properties.Settings.DbConfConnectionString" connectionString="Data Source=SQL2016DEV;Initial Catalog=MoonPro;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
@@ -2,8 +2,10 @@
_adminEmail samuele@steamware.net,info@steamware.net samuele@steamware.net,info@steamware.net info@steamware.net
_allowForceUser true true abilita login forzato
_commonPages menu menu pagina comune
_emailPwd drmfsls16 drmfsls16 drmfsls16
_emailUser steamwarebot@gmail.com steamwarebot@gmail.com steamwarebot@gmail.com
_emailPwd siamoInViaNazionale93 siamoInViaNazionale93 siamoInViaNazionale93
_emailUser steamwarebot@outlook.it steamwarebot@outlook.it steamwarebot@outlook.it
_smtpCli smtp-mail.outlook.com smtp-mail.outlook.com smtp-mail.outlook.com
_fromEmail steamwarebot@outlook.it steamwarebot@outlook.it steamwarebot@outlook.it
_enableSSL true true true
_fromEmail webmaster@admodelling.org webmaster@admodelling.org email mittente eventuali msg
_righeDataGrid 30 30 Num righe datagrid std
+61 -38
View File
@@ -1,6 +1,7 @@
using GPW_data;
using SteamWare;
using System;
using System.Linq;
namespace GPW_Admin
{
@@ -39,39 +40,10 @@ namespace GPW_Admin
#endregion Public Properties
#region Private Methods
/// <summary>
/// controllo stato licenze!
/// </summary>
private bool doChkLicOk()
{
return (licenzeGPW.checkLicenze && licenzeGPW.checkPayload);
}
#endregion Private Methods
#region Protected Methods
/// <summary>
/// salva in variabile pagina il nome della pagina corrente
/// </summary>
protected void PagCorrente()
{
Uri MyUrl = Request.Url;
string delimStr = "/";
char[] delimiter = delimStr.ToCharArray();
string[] finalUrl = MyUrl.LocalPath.ToString().Split(delimiter);
int n = finalUrl.Length;
_paginaCorrente = finalUrl[n - 1].ToString();
}
#endregion Protected Methods
#region Public Methods
/// <summary>
/// Verifica se il valore sia > limitValue
/// Verifica se il valore sia &gt; limitValue
/// </summary>
/// <param name="_valore"></param>
/// <param name="minVal"></param>
@@ -90,7 +62,7 @@ namespace GPW_Admin
}
/// <summary>
/// Verifica se il valore sia > limitValue
/// Verifica se il valore sia &gt; limitValue
/// </summary>
/// <param name="_valore"></param>
/// <param name="maxVal"></param>
@@ -108,7 +80,7 @@ namespace GPW_Admin
}
/// <summary>
/// Verifica se il valore sia > 0
/// Verifica se il valore sia &gt; 0
/// </summary>
/// <param name="_valore"></param>
/// <returns></returns>
@@ -139,12 +111,8 @@ namespace GPW_Admin
return answ;
}
/// <summary>
/// Verifica se il valore sia < minVal
/// </summary>
/// <param name="_valore"></param>
/// <param name="minVal"></param>
/// <returns></returns>
/// <summary> Verifica se il valore sia < minVal </summary> <param name="_valore"></param>
/// <param name="minVal"></param> <returns></returns>
public bool ltVal(object _valore, double minVal)
{
bool answ = false;
@@ -239,5 +207,60 @@ namespace GPW_Admin
}
#endregion Public Methods
#region Protected Properties
protected DS_Applicazione.DipendentiDataTable listaDip { get; set; }
#endregion Protected Properties
#region Protected Methods
/// <summary>
/// Calcola email del responsabile dato idx
/// </summary>
/// <param name="idxResp"></param>
/// <returns></returns>
protected string emailResp(int idxResp)
{
string answ = "";
// recupero email resp...
if (idxResp > 0)
{
var recResp = listaDip.FirstOrDefault(x => x.idxDipendente == idxResp);
if (recResp != null)
{
answ = $"{recResp.email}";
}
}
return answ;
}
/// <summary>
/// salva in variabile pagina il nome della pagina corrente
/// </summary>
protected void PagCorrente()
{
Uri MyUrl = Request.Url;
string delimStr = "/";
char[] delimiter = delimStr.ToCharArray();
string[] finalUrl = MyUrl.LocalPath.ToString().Split(delimiter);
int n = finalUrl.Length;
_paginaCorrente = finalUrl[n - 1].ToString();
}
#endregion Protected Methods
#region Private Methods
/// <summary>
/// controllo stato licenze!
/// </summary>
private bool doChkLicOk()
{
return (licenzeGPW.checkLicenze && licenzeGPW.checkPayload);
}
#endregion Private Methods
}
}
+1 -1
View File
@@ -7,7 +7,7 @@
</div>
<div class="card-body">
<div class="row">
<div class="col-6 text-left">
<div class="col-6 text-start">
<asp:Image runat="server" CssClass="img-fluid" Height="192" ImageUrl="~/Images/LogoSteamware.png" />
</div>
<div class="col-6 text-end">
+3
View File
@@ -20,6 +20,9 @@ body {
.textBig {
font-size: 1.5em;
}
.text-strike {
text-decoration: line-through;
}
.table-sm th,
.table-sm td {
padding: 0.2rem;
+8 -7
View File
@@ -25,6 +25,10 @@ body {
font-size: 1.5em;
}
.text-strike {
text-decoration: line-through;
}
.table-sm th, .table-sm td {
padding: .2rem;
}
@@ -38,6 +42,7 @@ body {
background-color: #AAFFCD;
color: #000000;
}
.gPerConf {
background-color: #9966DE;
color: #DEDEDE;
@@ -47,6 +52,7 @@ body {
background-color: #CDAAFF;
color: #000000;
}
.g104Conf {
background-color: #DE00AB;
color: #DEDEDE;
@@ -56,7 +62,6 @@ body {
background-color: #FFAACD;
color: #000000;
}
/*------------------------------------------------------------------
[ Shortcuts / .shortcuts ]
*/
@@ -188,7 +193,6 @@ textarea {
.body-content {
padding: 0;
}
/* Set widths on the form inputs since otherwise they're 100% wide */
input,
select,
@@ -229,9 +233,6 @@ textarea {
border-bottom: 1px solid #3AC0F2;*/
font-weight: bold;
}
/* calendar white */
.calendar_white_main {
@@ -350,7 +351,7 @@ textarea {
.calendar_white_event_inner {
color: @calGray1;
background: @calGray2;
/* background: -moz-linear-gradient( top, #ffffff 0%, #eee);
/* background: -moz-linear-gradient( top, #ffffff 0%, #eee);
background: -webkit-gradient( linear, left top, left bottom, from(#ffffff), to(#eee));
filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr="#ffffff", endColorStr="#eeeeee");*/
border: 1px solid #999;
@@ -406,4 +407,4 @@ textarea {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap Grid v5.2.0 (https://getbootstrap.com/)
* Bootstrap Grid v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap Grid v5.2.0 (https://getbootstrap.com/)
* Bootstrap Grid v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap Grid v5.2.0 (https://getbootstrap.com/)
* Bootstrap Grid v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap Grid v5.2.0 (https://getbootstrap.com/)
* Bootstrap Grid v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap Reboot v5.2.0 (https://getbootstrap.com/)
* Bootstrap Reboot v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap Reboot v5.2.0 (https://getbootstrap.com/)
* Bootstrap Reboot v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap Reboot v5.2.0 (https://getbootstrap.com/)
* Bootstrap Reboot v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap Reboot v5.2.0 (https://getbootstrap.com/)
* Bootstrap Reboot v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
File diff suppressed because one or more lines are too long
+70 -1
View File
@@ -1,9 +1,78 @@
/*!
* Bootstrap Utilities v5.2.0 (https://getbootstrap.com/)
* Bootstrap Utilities v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
:root {
--bs-blue: #0d6efd;
--bs-indigo: #6610f2;
--bs-purple: #6f42c1;
--bs-pink: #d63384;
--bs-red: #dc3545;
--bs-orange: #fd7e14;
--bs-yellow: #ffc107;
--bs-green: #198754;
--bs-teal: #20c997;
--bs-cyan: #0dcaf0;
--bs-black: #000;
--bs-white: #fff;
--bs-gray: #6c757d;
--bs-gray-dark: #343a40;
--bs-gray-100: #f8f9fa;
--bs-gray-200: #e9ecef;
--bs-gray-300: #dee2e6;
--bs-gray-400: #ced4da;
--bs-gray-500: #adb5bd;
--bs-gray-600: #6c757d;
--bs-gray-700: #495057;
--bs-gray-800: #343a40;
--bs-gray-900: #212529;
--bs-primary: #0d6efd;
--bs-secondary: #6c757d;
--bs-success: #198754;
--bs-info: #0dcaf0;
--bs-warning: #ffc107;
--bs-danger: #dc3545;
--bs-light: #f8f9fa;
--bs-dark: #212529;
--bs-primary-rgb: 13, 110, 253;
--bs-secondary-rgb: 108, 117, 125;
--bs-success-rgb: 25, 135, 84;
--bs-info-rgb: 13, 202, 240;
--bs-warning-rgb: 255, 193, 7;
--bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41;
--bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg-rgb: 255, 255, 255;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
--bs-body-font-family: var(--bs-font-sans-serif);
--bs-body-font-size: 1rem;
--bs-body-font-weight: 400;
--bs-body-line-height: 1.5;
--bs-body-color: #212529;
--bs-body-bg: #fff;
--bs-border-width: 1px;
--bs-border-style: solid;
--bs-border-color: #dee2e6;
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
--bs-border-radius: 0.375rem;
--bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem;
--bs-border-radius-2xl: 2rem;
--bs-border-radius-pill: 50rem;
--bs-link-color: #0d6efd;
--bs-link-hover-color: #0a58ca;
--bs-code-color: #d63384;
--bs-highlight-bg: #fff3cd;
}
.clearfix::after {
display: block;
clear: both;
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+70 -1
View File
@@ -1,9 +1,78 @@
/*!
* Bootstrap Utilities v5.2.0 (https://getbootstrap.com/)
* Bootstrap Utilities v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
:root {
--bs-blue: #0d6efd;
--bs-indigo: #6610f2;
--bs-purple: #6f42c1;
--bs-pink: #d63384;
--bs-red: #dc3545;
--bs-orange: #fd7e14;
--bs-yellow: #ffc107;
--bs-green: #198754;
--bs-teal: #20c997;
--bs-cyan: #0dcaf0;
--bs-black: #000;
--bs-white: #fff;
--bs-gray: #6c757d;
--bs-gray-dark: #343a40;
--bs-gray-100: #f8f9fa;
--bs-gray-200: #e9ecef;
--bs-gray-300: #dee2e6;
--bs-gray-400: #ced4da;
--bs-gray-500: #adb5bd;
--bs-gray-600: #6c757d;
--bs-gray-700: #495057;
--bs-gray-800: #343a40;
--bs-gray-900: #212529;
--bs-primary: #0d6efd;
--bs-secondary: #6c757d;
--bs-success: #198754;
--bs-info: #0dcaf0;
--bs-warning: #ffc107;
--bs-danger: #dc3545;
--bs-light: #f8f9fa;
--bs-dark: #212529;
--bs-primary-rgb: 13, 110, 253;
--bs-secondary-rgb: 108, 117, 125;
--bs-success-rgb: 25, 135, 84;
--bs-info-rgb: 13, 202, 240;
--bs-warning-rgb: 255, 193, 7;
--bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41;
--bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg-rgb: 255, 255, 255;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
--bs-body-font-family: var(--bs-font-sans-serif);
--bs-body-font-size: 1rem;
--bs-body-font-weight: 400;
--bs-body-line-height: 1.5;
--bs-body-color: #212529;
--bs-body-bg: #fff;
--bs-border-width: 1px;
--bs-border-style: solid;
--bs-border-color: #dee2e6;
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
--bs-border-radius: 0.375rem;
--bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem;
--bs-border-radius-2xl: 2rem;
--bs-border-radius-pill: 50rem;
--bs-link-color: #0d6efd;
--bs-link-hover-color: #0a58ca;
--bs-code-color: #d63384;
--bs-highlight-bg: #fff3cd;
}
.clearfix::after {
display: block;
clear: both;
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+86 -115
View File
@@ -1,6 +1,6 @@
@charset "UTF-8";
/*!
* Bootstrap v5.2.0 (https://getbootstrap.com/)
* Bootstrap v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@@ -1827,7 +1827,7 @@ progress {
border-color: var(--bs-table-border-color);
}
.bg-secondary bg-opacity-50 bg-gradient {
.table-secondary {
--bs-table-color: #000;
--bs-table-bg: #e2e3e5;
--bs-table-border-color: #cbccce;
@@ -2468,6 +2468,7 @@ textarea.form-control-lg {
height: 100%;
padding: 1rem 0.75rem;
overflow: hidden;
text-align: start;
text-overflow: ellipsis;
white-space: nowrap;
pointer-events: none;
@@ -2547,14 +2548,14 @@ textarea.form-control-lg {
.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
z-index: 3;
z-index: 5;
}
.input-group .btn {
position: relative;
z-index: 2;
}
.input-group .btn:focus {
z-index: 3;
z-index: 5;
}
.input-group-text {
@@ -2609,10 +2610,13 @@ textarea.form-control-lg {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.form-floating):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback),
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
margin-left: -1px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
margin-left: -1px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
@@ -2699,14 +2703,11 @@ textarea.form-control-lg {
margin-left: 0.5em;
}
.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid,
.was-validated .input-group .form-select:valid,
.input-group .form-select.is-valid {
z-index: 1;
}
.was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus,
.was-validated .input-group .form-select:valid:focus,
.input-group .form-select.is-valid:focus {
.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
z-index: 3;
}
@@ -2792,15 +2793,12 @@ textarea.form-control-lg {
margin-left: 0.5em;
}
.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid,
.was-validated .input-group .form-select:invalid,
.input-group .form-select.is-invalid {
z-index: 2;
}
.was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus,
.was-validated .input-group .form-select:invalid:focus,
.input-group .form-select.is-invalid:focus {
z-index: 3;
.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
z-index: 4;
}
.btn {
@@ -2815,6 +2813,7 @@ textarea.form-control-lg {
--bs-btn-border-width: 1px;
--bs-btn-border-color: transparent;
--bs-btn-border-radius: 0.375rem;
--bs-btn-hover-border-color: transparent;
--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
--bs-btn-disabled-opacity: 0.65;
--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
@@ -2847,19 +2846,29 @@ textarea.form-control-lg {
background-color: var(--bs-btn-hover-bg);
border-color: var(--bs-btn-hover-border-color);
}
.btn-check:focus + .btn, .btn:focus {
.btn-check + .btn:hover {
color: var(--bs-btn-color);
background-color: var(--bs-btn-bg);
border-color: var(--bs-btn-border-color);
}
.btn:focus-visible {
color: var(--bs-btn-hover-color);
background-color: var(--bs-btn-hover-bg);
border-color: var(--bs-btn-hover-border-color);
outline: 0;
box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, .btn-check:active + .btn, .btn:active, .btn.active, .btn.show {
.btn-check:focus-visible + .btn {
border-color: var(--bs-btn-hover-border-color);
outline: 0;
box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
color: var(--bs-btn-active-color);
background-color: var(--bs-btn-active-bg);
border-color: var(--bs-btn-active-border-color);
}
.btn-check:checked + .btn:focus, .btn-check:active + .btn:focus, .btn:active:focus, .btn.active:focus, .btn.show:focus {
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
@@ -3157,7 +3166,7 @@ textarea.form-control-lg {
--bs-btn-focus-shadow-rgb: 49, 132, 253;
text-decoration: underline;
}
.btn-link:focus {
.btn-link:focus-visible {
color: var(--bs-btn-color);
}
.btn-link:hover {
@@ -3242,6 +3251,7 @@ textarea.form-control-lg {
}
.dropdown-menu {
--bs-dropdown-zindex: 1000;
--bs-dropdown-min-width: 10rem;
--bs-dropdown-padding-x: 0;
--bs-dropdown-padding-y: 0.5rem;
@@ -3268,7 +3278,7 @@ textarea.form-control-lg {
--bs-dropdown-header-padding-x: 1rem;
--bs-dropdown-header-padding-y: 0.5rem;
position: absolute;
z-index: 1000;
z-index: var(--bs-dropdown-zindex);
display: none;
min-width: var(--bs-dropdown-min-width);
padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
@@ -3568,7 +3578,7 @@ textarea.form-control-lg {
.btn-group {
border-radius: 0.375rem;
}
.btn-group > .btn:not(:first-child),
.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
margin-left: -1px;
}
@@ -3678,7 +3688,7 @@ textarea.form-control-lg {
border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
margin-bottom: calc(var(--bs-nav-tabs-border-width) * -1);
margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
background: none;
border: var(--bs-nav-tabs-border-width) solid transparent;
border-top-left-radius: var(--bs-nav-tabs-border-radius);
@@ -3700,7 +3710,7 @@ textarea.form-control-lg {
border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
margin-top: calc(var(--bs-nav-tabs-border-width) * -1);
margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
border-top-left-radius: 0;
border-top-right-radius: 0;
}
@@ -4357,7 +4367,7 @@ textarea.form-control-lg {
}
.accordion {
--bs-accordion-color: #000;
--bs-accordion-color: #212529;
--bs-accordion-bg: #fff;
--bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
--bs-accordion-border-color: var(--bs-border-color);
@@ -4366,9 +4376,9 @@ textarea.form-control-lg {
--bs-accordion-inner-border-radius: calc(0.375rem - 1px);
--bs-accordion-btn-padding-x: 1.25rem;
--bs-accordion-btn-padding-y: 1rem;
--bs-accordion-btn-color: var(--bs-body-color);
--bs-accordion-btn-color: #212529;
--bs-accordion-btn-bg: var(--bs-accordion-bg);
--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--bs-body-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
--bs-accordion-btn-icon-width: 1.25rem;
--bs-accordion-btn-icon-transform: rotate(-180deg);
--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
@@ -4404,7 +4414,7 @@ textarea.form-control-lg {
.accordion-button:not(.collapsed) {
color: var(--bs-accordion-active-color);
background-color: var(--bs-accordion-active-bg);
box-shadow: inset 0 calc(var(--bs-accordion-border-width) * -1) 0 var(--bs-accordion-border-color);
box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
background-image: var(--bs-accordion-btn-active-icon);
@@ -4487,7 +4497,7 @@ textarea.form-control-lg {
.accordion-flush .accordion-item:last-child {
border-bottom: 0;
}
.accordion-flush .accordion-item .accordion-button {
.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {
border-radius: 0;
}
@@ -4753,12 +4763,6 @@ textarea.form-control-lg {
color: #101214;
}
@-webkit-keyframes progress-bar-stripes {
0% {
background-position-x: 1rem;
}
}
@keyframes progress-bar-stripes {
0% {
background-position-x: 1rem;
@@ -4804,12 +4808,10 @@ textarea.form-control-lg {
}
.progress-bar-animated {
-webkit-animation: 1s linear infinite progress-bar-stripes;
animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
.progress-bar-animated {
-webkit-animation: none;
animation: none;
}
}
@@ -4896,18 +4898,18 @@ textarea.form-control-lg {
border-top-width: 0;
}
.list-group-item + .list-group-item.active {
margin-top: calc(var(--bs-list-group-border-width) * -1);
margin-top: calc(-1 * var(--bs-list-group-border-width));
border-top-width: var(--bs-list-group-border-width);
}
.list-group-horizontal {
flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child {
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
border-bottom-left-radius: var(--bs-list-group-border-radius);
border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child {
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
border-top-right-radius: var(--bs-list-group-border-radius);
border-bottom-left-radius: 0;
}
@@ -4919,7 +4921,7 @@ textarea.form-control-lg {
border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
margin-left: calc(var(--bs-list-group-border-width) * -1);
margin-left: calc(-1 * var(--bs-list-group-border-width));
border-left-width: var(--bs-list-group-border-width);
}
@@ -4927,11 +4929,11 @@ textarea.form-control-lg {
.list-group-horizontal-sm {
flex-direction: row;
}
.list-group-horizontal-sm > .list-group-item:first-child {
.list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
border-bottom-left-radius: var(--bs-list-group-border-radius);
border-top-right-radius: 0;
}
.list-group-horizontal-sm > .list-group-item:last-child {
.list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
border-top-right-radius: var(--bs-list-group-border-radius);
border-bottom-left-radius: 0;
}
@@ -4943,7 +4945,7 @@ textarea.form-control-lg {
border-left-width: 0;
}
.list-group-horizontal-sm > .list-group-item + .list-group-item.active {
margin-left: calc(var(--bs-list-group-border-width) * -1);
margin-left: calc(-1 * var(--bs-list-group-border-width));
border-left-width: var(--bs-list-group-border-width);
}
}
@@ -4951,11 +4953,11 @@ textarea.form-control-lg {
.list-group-horizontal-md {
flex-direction: row;
}
.list-group-horizontal-md > .list-group-item:first-child {
.list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
border-bottom-left-radius: var(--bs-list-group-border-radius);
border-top-right-radius: 0;
}
.list-group-horizontal-md > .list-group-item:last-child {
.list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
border-top-right-radius: var(--bs-list-group-border-radius);
border-bottom-left-radius: 0;
}
@@ -4967,7 +4969,7 @@ textarea.form-control-lg {
border-left-width: 0;
}
.list-group-horizontal-md > .list-group-item + .list-group-item.active {
margin-left: calc(var(--bs-list-group-border-width) * -1);
margin-left: calc(-1 * var(--bs-list-group-border-width));
border-left-width: var(--bs-list-group-border-width);
}
}
@@ -4975,11 +4977,11 @@ textarea.form-control-lg {
.list-group-horizontal-lg {
flex-direction: row;
}
.list-group-horizontal-lg > .list-group-item:first-child {
.list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
border-bottom-left-radius: var(--bs-list-group-border-radius);
border-top-right-radius: 0;
}
.list-group-horizontal-lg > .list-group-item:last-child {
.list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
border-top-right-radius: var(--bs-list-group-border-radius);
border-bottom-left-radius: 0;
}
@@ -4991,7 +4993,7 @@ textarea.form-control-lg {
border-left-width: 0;
}
.list-group-horizontal-lg > .list-group-item + .list-group-item.active {
margin-left: calc(var(--bs-list-group-border-width) * -1);
margin-left: calc(-1 * var(--bs-list-group-border-width));
border-left-width: var(--bs-list-group-border-width);
}
}
@@ -4999,11 +5001,11 @@ textarea.form-control-lg {
.list-group-horizontal-xl {
flex-direction: row;
}
.list-group-horizontal-xl > .list-group-item:first-child {
.list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
border-bottom-left-radius: var(--bs-list-group-border-radius);
border-top-right-radius: 0;
}
.list-group-horizontal-xl > .list-group-item:last-child {
.list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
border-top-right-radius: var(--bs-list-group-border-radius);
border-bottom-left-radius: 0;
}
@@ -5015,7 +5017,7 @@ textarea.form-control-lg {
border-left-width: 0;
}
.list-group-horizontal-xl > .list-group-item + .list-group-item.active {
margin-left: calc(var(--bs-list-group-border-width) * -1);
margin-left: calc(-1 * var(--bs-list-group-border-width));
border-left-width: var(--bs-list-group-border-width);
}
}
@@ -5023,11 +5025,11 @@ textarea.form-control-lg {
.list-group-horizontal-xxl {
flex-direction: row;
}
.list-group-horizontal-xxl > .list-group-item:first-child {
.list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
border-bottom-left-radius: var(--bs-list-group-border-radius);
border-top-right-radius: 0;
}
.list-group-horizontal-xxl > .list-group-item:last-child {
.list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
border-top-right-radius: var(--bs-list-group-border-radius);
border-bottom-left-radius: 0;
}
@@ -5039,7 +5041,7 @@ textarea.form-control-lg {
border-left-width: 0;
}
.list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
margin-left: calc(var(--bs-list-group-border-width) * -1);
margin-left: calc(-1 * var(--bs-list-group-border-width));
border-left-width: var(--bs-list-group-border-width);
}
}
@@ -5199,6 +5201,7 @@ textarea.form-control-lg {
}
.toast {
--bs-toast-zindex: 1090;
--bs-toast-padding-x: 0.75rem;
--bs-toast-padding-y: 0.5rem;
--bs-toast-spacing: 1.5rem;
@@ -5232,8 +5235,9 @@ textarea.form-control-lg {
}
.toast-container {
--bs-toast-zindex: 1090;
position: absolute;
z-index: 1090;
z-index: var(--bs-toast-zindex);
width: -webkit-max-content;
width: -moz-max-content;
width: max-content;
@@ -5256,7 +5260,7 @@ textarea.form-control-lg {
border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
}
.toast-header .btn-close {
margin-right: calc(var(--bs-toast-padding-x) * -0.5);
margin-right: calc(-0.5 * var(--bs-toast-padding-x));
margin-left: var(--bs-toast-padding-x);
}
@@ -5383,7 +5387,7 @@ textarea.form-control-lg {
}
.modal-header .btn-close {
padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
margin: calc(var(--bs-modal-header-padding-y) * -0.5) calc(var(--bs-modal-header-padding-x) * -0.5) calc(var(--bs-modal-header-padding-y) * -0.5) auto;
margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;
}
.modal-title {
@@ -5673,7 +5677,7 @@ textarea.form-control-lg {
--bs-popover-header-padding-x: 1rem;
--bs-popover-header-padding-y: 0.5rem;
--bs-popover-header-font-size: 1rem;
--bs-popover-header-color: var(--bs-heading-color);
--bs-popover-header-color: ;
--bs-popover-header-bg: #f0f0f0;
--bs-popover-body-padding-x: 1rem;
--bs-popover-body-padding-y: 1rem;
@@ -5720,7 +5724,7 @@ textarea.form-control-lg {
}
.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
bottom: calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width));
bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
@@ -5736,7 +5740,7 @@ textarea.form-control-lg {
/* rtl:begin:ignore */
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
left: calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width));
left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
width: var(--bs-popover-arrow-height);
height: var(--bs-popover-arrow-width);
}
@@ -5754,7 +5758,7 @@ textarea.form-control-lg {
/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
top: calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width));
top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
@@ -5773,14 +5777,14 @@ textarea.form-control-lg {
left: 50%;
display: block;
width: var(--bs-popover-arrow-width);
margin-left: calc(var(--bs-popover-arrow-width) * -0.5);
margin-left: calc(-0.5 * var(--bs-popover-arrow-width));
content: "";
border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
}
/* rtl:begin:ignore */
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
right: calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width));
right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
width: var(--bs-popover-arrow-height);
height: var(--bs-popover-arrow-width);
}
@@ -5857,7 +5861,6 @@ textarea.form-control-lg {
display: block;
}
/* rtl:begin:ignore */
.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
transform: translateX(100%);
@@ -5868,7 +5871,6 @@ textarea.form-control-lg {
transform: translateX(-100%);
}
/* rtl:end:ignore */
.carousel-fade .carousel-item {
opacity: 0;
transition-property: opacity;
@@ -6030,16 +6032,9 @@ textarea.form-control-lg {
height: var(--bs-spinner-height);
vertical-align: var(--bs-spinner-vertical-align);
border-radius: 50%;
-webkit-animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}
@-webkit-keyframes spinner-border {
to {
transform: rotate(360deg) /* rtl:ignore */;
}
}
@keyframes spinner-border {
to {
transform: rotate(360deg) /* rtl:ignore */;
@@ -6062,16 +6057,6 @@ textarea.form-control-lg {
--bs-spinner-border-width: 0.2em;
}
@-webkit-keyframes spinner-grow {
0% {
transform: scale(0);
}
50% {
opacity: 1;
transform: none;
}
}
@keyframes spinner-grow {
0% {
transform: scale(0);
@@ -6103,6 +6088,7 @@ textarea.form-control-lg {
}
}
.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
--bs-offcanvas-zindex: 1045;
--bs-offcanvas-width: 400px;
--bs-offcanvas-height: 30vh;
--bs-offcanvas-padding-x: 1rem;
@@ -6118,7 +6104,7 @@ textarea.form-control-lg {
.offcanvas-sm {
position: fixed;
bottom: 0;
z-index: 1045;
z-index: var(--bs-offcanvas-zindex);
display: flex;
flex-direction: column;
max-width: 100%;
@@ -6206,7 +6192,7 @@ textarea.form-control-lg {
.offcanvas-md {
position: fixed;
bottom: 0;
z-index: 1045;
z-index: var(--bs-offcanvas-zindex);
display: flex;
flex-direction: column;
max-width: 100%;
@@ -6294,7 +6280,7 @@ textarea.form-control-lg {
.offcanvas-lg {
position: fixed;
bottom: 0;
z-index: 1045;
z-index: var(--bs-offcanvas-zindex);
display: flex;
flex-direction: column;
max-width: 100%;
@@ -6382,7 +6368,7 @@ textarea.form-control-lg {
.offcanvas-xl {
position: fixed;
bottom: 0;
z-index: 1045;
z-index: var(--bs-offcanvas-zindex);
display: flex;
flex-direction: column;
max-width: 100%;
@@ -6470,7 +6456,7 @@ textarea.form-control-lg {
.offcanvas-xxl {
position: fixed;
bottom: 0;
z-index: 1045;
z-index: var(--bs-offcanvas-zindex);
display: flex;
flex-direction: column;
max-width: 100%;
@@ -6557,7 +6543,7 @@ textarea.form-control-lg {
.offcanvas {
position: fixed;
bottom: 0;
z-index: 1045;
z-index: var(--bs-offcanvas-zindex);
display: flex;
flex-direction: column;
max-width: 100%;
@@ -6635,9 +6621,9 @@ textarea.form-control-lg {
}
.offcanvas-header .btn-close {
padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
margin-top: calc(var(--bs-offcanvas-padding-y) * -0.5);
margin-right: calc(var(--bs-offcanvas-padding-x) * -0.5);
margin-bottom: calc(var(--bs-offcanvas-padding-y) * -0.5);
margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
}
.offcanvas-title {
@@ -6677,16 +6663,9 @@ textarea.form-control-lg {
}
.placeholder-glow .placeholder {
-webkit-animation: placeholder-glow 2s ease-in-out infinite;
animation: placeholder-glow 2s ease-in-out infinite;
}
@-webkit-keyframes placeholder-glow {
50% {
opacity: 0.2;
}
}
@keyframes placeholder-glow {
50% {
opacity: 0.2;
@@ -6697,17 +6676,9 @@ textarea.form-control-lg {
mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
-webkit-mask-size: 200% 100%;
mask-size: 200% 100%;
-webkit-animation: placeholder-wave 2s linear infinite;
animation: placeholder-wave 2s linear infinite;
}
@-webkit-keyframes placeholder-wave {
100% {
-webkit-mask-position: -200% 0%;
mask-position: -200% 0%;
}
}
@keyframes placeholder-wave {
100% {
-webkit-mask-position: -200% 0%;
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+90 -115
View File
@@ -1,6 +1,6 @@
@charset "UTF-8";
/*!
* Bootstrap v5.2.0 (https://getbootstrap.com/)
* Bootstrap v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@@ -1825,7 +1825,7 @@ progress {
border-color: var(--bs-table-border-color);
}
.bg-secondary bg-opacity-50 bg-gradient {
.table-secondary {
--bs-table-color: #000;
--bs-table-bg: #e2e3e5;
--bs-table-border-color: #cbccce;
@@ -2466,6 +2466,7 @@ textarea.form-control-lg {
height: 100%;
padding: 1rem 0.75rem;
overflow: hidden;
text-align: start;
text-overflow: ellipsis;
white-space: nowrap;
pointer-events: none;
@@ -2545,14 +2546,14 @@ textarea.form-control-lg {
.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
z-index: 3;
z-index: 5;
}
.input-group .btn {
position: relative;
z-index: 2;
}
.input-group .btn:focus {
z-index: 3;
z-index: 5;
}
.input-group-text {
@@ -2607,10 +2608,13 @@ textarea.form-control-lg {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.form-floating):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback),
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
margin-right: -1px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
margin-right: -1px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
@@ -2697,14 +2701,11 @@ textarea.form-control-lg {
margin-right: 0.5em;
}
.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid,
.was-validated .input-group .form-select:valid,
.input-group .form-select.is-valid {
z-index: 1;
}
.was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus,
.was-validated .input-group .form-select:valid:focus,
.input-group .form-select.is-valid:focus {
.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
z-index: 3;
}
@@ -2790,15 +2791,12 @@ textarea.form-control-lg {
margin-right: 0.5em;
}
.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid,
.was-validated .input-group .form-select:invalid,
.input-group .form-select.is-invalid {
z-index: 2;
}
.was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus,
.was-validated .input-group .form-select:invalid:focus,
.input-group .form-select.is-invalid:focus {
z-index: 3;
.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
z-index: 4;
}
.btn {
@@ -2813,6 +2811,7 @@ textarea.form-control-lg {
--bs-btn-border-width: 1px;
--bs-btn-border-color: transparent;
--bs-btn-border-radius: 0.375rem;
--bs-btn-hover-border-color: transparent;
--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
--bs-btn-disabled-opacity: 0.65;
--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
@@ -2845,19 +2844,29 @@ textarea.form-control-lg {
background-color: var(--bs-btn-hover-bg);
border-color: var(--bs-btn-hover-border-color);
}
.btn-check:focus + .btn, .btn:focus {
.btn-check + .btn:hover {
color: var(--bs-btn-color);
background-color: var(--bs-btn-bg);
border-color: var(--bs-btn-border-color);
}
.btn:focus-visible {
color: var(--bs-btn-hover-color);
background-color: var(--bs-btn-hover-bg);
border-color: var(--bs-btn-hover-border-color);
outline: 0;
box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, .btn-check:active + .btn, .btn:active, .btn.active, .btn.show {
.btn-check:focus-visible + .btn {
border-color: var(--bs-btn-hover-border-color);
outline: 0;
box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
color: var(--bs-btn-active-color);
background-color: var(--bs-btn-active-bg);
border-color: var(--bs-btn-active-border-color);
}
.btn-check:checked + .btn:focus, .btn-check:active + .btn:focus, .btn:active:focus, .btn.active:focus, .btn.show:focus {
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
@@ -3155,7 +3164,7 @@ textarea.form-control-lg {
--bs-btn-focus-shadow-rgb: 49, 132, 253;
text-decoration: underline;
}
.btn-link:focus {
.btn-link:focus-visible {
color: var(--bs-btn-color);
}
.btn-link:hover {
@@ -3240,6 +3249,7 @@ textarea.form-control-lg {
}
.dropdown-menu {
--bs-dropdown-zindex: 1000;
--bs-dropdown-min-width: 10rem;
--bs-dropdown-padding-x: 0;
--bs-dropdown-padding-y: 0.5rem;
@@ -3266,7 +3276,7 @@ textarea.form-control-lg {
--bs-dropdown-header-padding-x: 1rem;
--bs-dropdown-header-padding-y: 0.5rem;
position: absolute;
z-index: 1000;
z-index: var(--bs-dropdown-zindex);
display: none;
min-width: var(--bs-dropdown-min-width);
padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
@@ -3566,7 +3576,7 @@ textarea.form-control-lg {
.btn-group {
border-radius: 0.375rem;
}
.btn-group > .btn:not(:first-child),
.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
margin-right: -1px;
}
@@ -3676,7 +3686,7 @@ textarea.form-control-lg {
border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
margin-bottom: calc(var(--bs-nav-tabs-border-width) * -1);
margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
background: none;
border: var(--bs-nav-tabs-border-width) solid transparent;
border-top-right-radius: var(--bs-nav-tabs-border-radius);
@@ -3698,7 +3708,7 @@ textarea.form-control-lg {
border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
margin-top: calc(var(--bs-nav-tabs-border-width) * -1);
margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
border-top-right-radius: 0;
border-top-left-radius: 0;
}
@@ -4355,7 +4365,7 @@ textarea.form-control-lg {
}
.accordion {
--bs-accordion-color: #000;
--bs-accordion-color: #212529;
--bs-accordion-bg: #fff;
--bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
--bs-accordion-border-color: var(--bs-border-color);
@@ -4364,9 +4374,9 @@ textarea.form-control-lg {
--bs-accordion-inner-border-radius: calc(0.375rem - 1px);
--bs-accordion-btn-padding-x: 1.25rem;
--bs-accordion-btn-padding-y: 1rem;
--bs-accordion-btn-color: var(--bs-body-color);
--bs-accordion-btn-color: #212529;
--bs-accordion-btn-bg: var(--bs-accordion-bg);
--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--bs-body-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
--bs-accordion-btn-icon-width: 1.25rem;
--bs-accordion-btn-icon-transform: rotate(-180deg);
--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
@@ -4402,7 +4412,7 @@ textarea.form-control-lg {
.accordion-button:not(.collapsed) {
color: var(--bs-accordion-active-color);
background-color: var(--bs-accordion-active-bg);
box-shadow: inset 0 calc(var(--bs-accordion-border-width) * -1) 0 var(--bs-accordion-border-color);
box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
background-image: var(--bs-accordion-btn-active-icon);
@@ -4485,7 +4495,7 @@ textarea.form-control-lg {
.accordion-flush .accordion-item:last-child {
border-bottom: 0;
}
.accordion-flush .accordion-item .accordion-button {
.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {
border-radius: 0;
}
@@ -4751,12 +4761,6 @@ textarea.form-control-lg {
color: #101214;
}
@-webkit-keyframes progress-bar-stripes {
0% {
background-position-x: 1rem;
}
}
@keyframes progress-bar-stripes {
0% {
background-position-x: 1rem;
@@ -4802,12 +4806,10 @@ textarea.form-control-lg {
}
.progress-bar-animated {
-webkit-animation: 1s linear infinite progress-bar-stripes;
animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
.progress-bar-animated {
-webkit-animation: none;
animation: none;
}
}
@@ -4894,18 +4896,18 @@ textarea.form-control-lg {
border-top-width: 0;
}
.list-group-item + .list-group-item.active {
margin-top: calc(var(--bs-list-group-border-width) * -1);
margin-top: calc(-1 * var(--bs-list-group-border-width));
border-top-width: var(--bs-list-group-border-width);
}
.list-group-horizontal {
flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child {
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
border-bottom-right-radius: var(--bs-list-group-border-radius);
border-top-left-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child {
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
border-top-left-radius: var(--bs-list-group-border-radius);
border-bottom-right-radius: 0;
}
@@ -4917,7 +4919,7 @@ textarea.form-control-lg {
border-right-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
margin-right: calc(var(--bs-list-group-border-width) * -1);
margin-right: calc(-1 * var(--bs-list-group-border-width));
border-right-width: var(--bs-list-group-border-width);
}
@@ -4925,11 +4927,11 @@ textarea.form-control-lg {
.list-group-horizontal-sm {
flex-direction: row;
}
.list-group-horizontal-sm > .list-group-item:first-child {
.list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
border-bottom-right-radius: var(--bs-list-group-border-radius);
border-top-left-radius: 0;
}
.list-group-horizontal-sm > .list-group-item:last-child {
.list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
border-top-left-radius: var(--bs-list-group-border-radius);
border-bottom-right-radius: 0;
}
@@ -4941,7 +4943,7 @@ textarea.form-control-lg {
border-right-width: 0;
}
.list-group-horizontal-sm > .list-group-item + .list-group-item.active {
margin-right: calc(var(--bs-list-group-border-width) * -1);
margin-right: calc(-1 * var(--bs-list-group-border-width));
border-right-width: var(--bs-list-group-border-width);
}
}
@@ -4949,11 +4951,11 @@ textarea.form-control-lg {
.list-group-horizontal-md {
flex-direction: row;
}
.list-group-horizontal-md > .list-group-item:first-child {
.list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
border-bottom-right-radius: var(--bs-list-group-border-radius);
border-top-left-radius: 0;
}
.list-group-horizontal-md > .list-group-item:last-child {
.list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
border-top-left-radius: var(--bs-list-group-border-radius);
border-bottom-right-radius: 0;
}
@@ -4965,7 +4967,7 @@ textarea.form-control-lg {
border-right-width: 0;
}
.list-group-horizontal-md > .list-group-item + .list-group-item.active {
margin-right: calc(var(--bs-list-group-border-width) * -1);
margin-right: calc(-1 * var(--bs-list-group-border-width));
border-right-width: var(--bs-list-group-border-width);
}
}
@@ -4973,11 +4975,11 @@ textarea.form-control-lg {
.list-group-horizontal-lg {
flex-direction: row;
}
.list-group-horizontal-lg > .list-group-item:first-child {
.list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
border-bottom-right-radius: var(--bs-list-group-border-radius);
border-top-left-radius: 0;
}
.list-group-horizontal-lg > .list-group-item:last-child {
.list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
border-top-left-radius: var(--bs-list-group-border-radius);
border-bottom-right-radius: 0;
}
@@ -4989,7 +4991,7 @@ textarea.form-control-lg {
border-right-width: 0;
}
.list-group-horizontal-lg > .list-group-item + .list-group-item.active {
margin-right: calc(var(--bs-list-group-border-width) * -1);
margin-right: calc(-1 * var(--bs-list-group-border-width));
border-right-width: var(--bs-list-group-border-width);
}
}
@@ -4997,11 +4999,11 @@ textarea.form-control-lg {
.list-group-horizontal-xl {
flex-direction: row;
}
.list-group-horizontal-xl > .list-group-item:first-child {
.list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
border-bottom-right-radius: var(--bs-list-group-border-radius);
border-top-left-radius: 0;
}
.list-group-horizontal-xl > .list-group-item:last-child {
.list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
border-top-left-radius: var(--bs-list-group-border-radius);
border-bottom-right-radius: 0;
}
@@ -5013,7 +5015,7 @@ textarea.form-control-lg {
border-right-width: 0;
}
.list-group-horizontal-xl > .list-group-item + .list-group-item.active {
margin-right: calc(var(--bs-list-group-border-width) * -1);
margin-right: calc(-1 * var(--bs-list-group-border-width));
border-right-width: var(--bs-list-group-border-width);
}
}
@@ -5021,11 +5023,11 @@ textarea.form-control-lg {
.list-group-horizontal-xxl {
flex-direction: row;
}
.list-group-horizontal-xxl > .list-group-item:first-child {
.list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
border-bottom-right-radius: var(--bs-list-group-border-radius);
border-top-left-radius: 0;
}
.list-group-horizontal-xxl > .list-group-item:last-child {
.list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
border-top-left-radius: var(--bs-list-group-border-radius);
border-bottom-right-radius: 0;
}
@@ -5037,7 +5039,7 @@ textarea.form-control-lg {
border-right-width: 0;
}
.list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
margin-right: calc(var(--bs-list-group-border-width) * -1);
margin-right: calc(-1 * var(--bs-list-group-border-width));
border-right-width: var(--bs-list-group-border-width);
}
}
@@ -5197,6 +5199,7 @@ textarea.form-control-lg {
}
.toast {
--bs-toast-zindex: 1090;
--bs-toast-padding-x: 0.75rem;
--bs-toast-padding-y: 0.5rem;
--bs-toast-spacing: 1.5rem;
@@ -5230,8 +5233,9 @@ textarea.form-control-lg {
}
.toast-container {
--bs-toast-zindex: 1090;
position: absolute;
z-index: 1090;
z-index: var(--bs-toast-zindex);
width: -webkit-max-content;
width: -moz-max-content;
width: max-content;
@@ -5254,7 +5258,7 @@ textarea.form-control-lg {
border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
}
.toast-header .btn-close {
margin-left: calc(var(--bs-toast-padding-x) * -0.5);
margin-left: calc(-0.5 * var(--bs-toast-padding-x));
margin-right: var(--bs-toast-padding-x);
}
@@ -5381,7 +5385,7 @@ textarea.form-control-lg {
}
.modal-header .btn-close {
padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
margin: calc(var(--bs-modal-header-padding-y) * -0.5) auto calc(var(--bs-modal-header-padding-y) * -0.5) calc(var(--bs-modal-header-padding-x) * -0.5);
margin: calc(-0.5 * var(--bs-modal-header-padding-y)) auto calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x));
}
.modal-title {
@@ -5663,7 +5667,7 @@ textarea.form-control-lg {
--bs-popover-header-padding-x: 1rem;
--bs-popover-header-padding-y: 0.5rem;
--bs-popover-header-font-size: 1rem;
--bs-popover-header-color: var(--bs-heading-color);
--bs-popover-header-color: ;
--bs-popover-header-bg: #f0f0f0;
--bs-popover-body-padding-x: 1rem;
--bs-popover-body-padding-y: 1rem;
@@ -5710,7 +5714,7 @@ textarea.form-control-lg {
}
.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
bottom: calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width));
bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
@@ -5724,7 +5728,7 @@ textarea.form-control-lg {
border-top-color: var(--bs-popover-bg);
}
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
left: calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width));
left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
width: var(--bs-popover-arrow-height);
height: var(--bs-popover-arrow-width);
}
@@ -5740,7 +5744,7 @@ textarea.form-control-lg {
border-right-color: var(--bs-popover-bg);
}
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
top: calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width));
top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
@@ -5759,12 +5763,12 @@ textarea.form-control-lg {
right: 50%;
display: block;
width: var(--bs-popover-arrow-width);
margin-right: calc(var(--bs-popover-arrow-width) * -0.5);
margin-right: calc(-0.5 * var(--bs-popover-arrow-width));
content: "";
border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
}
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
right: calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width));
right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
width: var(--bs-popover-arrow-height);
height: var(--bs-popover-arrow-width);
}
@@ -5838,15 +5842,17 @@ textarea.form-control-lg {
.carousel-item-prev {
display: block;
}
.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
transform: translateX(100%);
transform: translateX(-100%);
}
.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
transform: translateX(-100%);
transform: translateX(100%);
}
.carousel-fade .carousel-item {
opacity: 0;
transition-property: opacity;
@@ -5999,16 +6005,9 @@ textarea.form-control-lg {
height: var(--bs-spinner-height);
vertical-align: var(--bs-spinner-vertical-align);
border-radius: 50%;
-webkit-animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}
@-webkit-keyframes spinner-border {
to {
transform: rotate(360deg) ;
}
}
@keyframes spinner-border {
to {
transform: rotate(360deg) ;
@@ -6031,16 +6030,6 @@ textarea.form-control-lg {
--bs-spinner-border-width: 0.2em;
}
@-webkit-keyframes spinner-grow {
0% {
transform: scale(0);
}
50% {
opacity: 1;
transform: none;
}
}
@keyframes spinner-grow {
0% {
transform: scale(0);
@@ -6072,6 +6061,7 @@ textarea.form-control-lg {
}
}
.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
--bs-offcanvas-zindex: 1045;
--bs-offcanvas-width: 400px;
--bs-offcanvas-height: 30vh;
--bs-offcanvas-padding-x: 1rem;
@@ -6087,7 +6077,7 @@ textarea.form-control-lg {
.offcanvas-sm {
position: fixed;
bottom: 0;
z-index: 1045;
z-index: var(--bs-offcanvas-zindex);
display: flex;
flex-direction: column;
max-width: 100%;
@@ -6175,7 +6165,7 @@ textarea.form-control-lg {
.offcanvas-md {
position: fixed;
bottom: 0;
z-index: 1045;
z-index: var(--bs-offcanvas-zindex);
display: flex;
flex-direction: column;
max-width: 100%;
@@ -6263,7 +6253,7 @@ textarea.form-control-lg {
.offcanvas-lg {
position: fixed;
bottom: 0;
z-index: 1045;
z-index: var(--bs-offcanvas-zindex);
display: flex;
flex-direction: column;
max-width: 100%;
@@ -6351,7 +6341,7 @@ textarea.form-control-lg {
.offcanvas-xl {
position: fixed;
bottom: 0;
z-index: 1045;
z-index: var(--bs-offcanvas-zindex);
display: flex;
flex-direction: column;
max-width: 100%;
@@ -6439,7 +6429,7 @@ textarea.form-control-lg {
.offcanvas-xxl {
position: fixed;
bottom: 0;
z-index: 1045;
z-index: var(--bs-offcanvas-zindex);
display: flex;
flex-direction: column;
max-width: 100%;
@@ -6526,7 +6516,7 @@ textarea.form-control-lg {
.offcanvas {
position: fixed;
bottom: 0;
z-index: 1045;
z-index: var(--bs-offcanvas-zindex);
display: flex;
flex-direction: column;
max-width: 100%;
@@ -6604,9 +6594,9 @@ textarea.form-control-lg {
}
.offcanvas-header .btn-close {
padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
margin-top: calc(var(--bs-offcanvas-padding-y) * -0.5);
margin-left: calc(var(--bs-offcanvas-padding-x) * -0.5);
margin-bottom: calc(var(--bs-offcanvas-padding-y) * -0.5);
margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
margin-left: calc(-0.5 * var(--bs-offcanvas-padding-x));
margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
}
.offcanvas-title {
@@ -6646,16 +6636,9 @@ textarea.form-control-lg {
}
.placeholder-glow .placeholder {
-webkit-animation: placeholder-glow 2s ease-in-out infinite;
animation: placeholder-glow 2s ease-in-out infinite;
}
@-webkit-keyframes placeholder-glow {
50% {
opacity: 0.2;
}
}
@keyframes placeholder-glow {
50% {
opacity: 0.2;
@@ -6666,17 +6649,9 @@ textarea.form-control-lg {
mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
-webkit-mask-size: 200% 100%;
mask-size: 200% 100%;
-webkit-animation: placeholder-wave 2s linear infinite;
animation: placeholder-wave 2s linear infinite;
}
@-webkit-keyframes placeholder-wave {
100% {
-webkit-mask-position: -200% 0%;
mask-position: -200% 0%;
}
}
@keyframes placeholder-wave {
100% {
-webkit-mask-position: -200% 0%;
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+103 -56
View File
@@ -15,7 +15,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>GPW_Admin</RootNamespace>
<AssemblyName>GPW_Admin</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication>disabled</IISExpressAnonymousAuthentication>
@@ -26,6 +26,7 @@
</NuGetPackageImportStamp>
<Use64BitIISExpress />
<TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -55,8 +56,14 @@
<Reference Include="AspNet.ScriptManager.bootstrap, Version=5.2.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AspNet.ScriptManager.bootstrap.5.2.3\lib\net45\AspNet.ScriptManager.bootstrap.dll</HintPath>
</Reference>
<Reference Include="AspNet.ScriptManager.jQuery, Version=3.6.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AspNet.ScriptManager.jQuery.3.6.0\lib\net45\AspNet.ScriptManager.jQuery.dll</HintPath>
<Reference Include="AspNet.ScriptManager.jQuery, Version=3.7.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AspNet.ScriptManager.jQuery.3.7.0\lib\net45\AspNet.ScriptManager.jQuery.dll</HintPath>
</Reference>
<Reference Include="AWSSDK.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604, processorArchitecture=MSIL">
<HintPath>..\packages\AWSSDK.Core.3.7.302.14\lib\net45\AWSSDK.Core.dll</HintPath>
</Reference>
<Reference Include="AWSSDK.SecurityToken, Version=3.3.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604, processorArchitecture=MSIL">
<HintPath>..\packages\AWSSDK.SecurityToken.3.7.100.14\lib\net45\AWSSDK.SecurityToken.dll</HintPath>
</Reference>
<Reference Include="DayPilot, Version=5.0.303.0, Culture=neutral, PublicKeyToken=ce5d34538e20ef65, processorArchitecture=MSIL">
<HintPath>..\packages\DayPilot.5.0.303\lib\DayPilot.dll</HintPath>
@@ -64,40 +71,39 @@
<Reference Include="DnsClient, Version=1.6.1.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.6.1\lib\net45\DnsClient.dll</HintPath>
</Reference>
<Reference Include="Elmah, Version=1.2.14706.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\elmah.corelibrary.1.2.2\lib\Elmah.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.3.3.11, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.3.3\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AspNet.SessionState.SessionStateModule, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.SessionState.SessionStateModule.1.1.0\lib\Net462\Microsoft.AspNet.SessionState.SessionStateModule.dll</HintPath>
<Reference Include="Microsoft.AspNet.SessionState.SessionStateModule, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.SessionState.SessionStateModule.2.0.0\lib\Net462\Microsoft.AspNet.SessionState.SessionStateModule.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Web.Infrastructure, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.Infrastructure.2.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.6.0.0\lib\net461\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Web.RedisSessionStateProvider, Version=4.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.RedisSessionStateProvider.4.0.1\lib\net462\Microsoft.Web.RedisSessionStateProvider.dll</HintPath>
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Bson, Version=2.17.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.17.1\lib\netstandard2.0\MongoDB.Bson.dll</HintPath>
<Reference Include="Microsoft.Web.RedisSessionStateProvider, Version=5.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.RedisSessionStateProvider.5.0.4\lib\net472\Microsoft.Web.RedisSessionStateProvider.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver, Version=2.16.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.16.1\lib\netstandard2.0\MongoDB.Driver.dll</HintPath>
<Reference Include="MongoDB.Bson, Version=2.24.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.24.0\lib\netstandard2.0\MongoDB.Bson.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.17.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.17.1\lib\netstandard2.0\MongoDB.Driver.Core.dll</HintPath>
<Reference Include="MongoDB.Driver, Version=2.24.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.24.0\lib\netstandard2.0\MongoDB.Driver.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Libmongocrypt, Version=1.5.5.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.5.5\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath>
<Reference Include="MongoDB.Driver.Core, Version=2.24.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.24.0\lib\netstandard2.0\MongoDB.Driver.Core.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Libmongocrypt, Version=1.8.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.8.2\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.2.8\lib\net46\NLog.dll</HintPath>
@@ -109,28 +115,37 @@
<HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.Charting.dll</HintPath>
</Reference>
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.2\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<Reference Include="SharpCompress, Version=0.32.1.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.32.1\lib\net461\SharpCompress.dll</HintPath>
<Reference Include="SharpCompress, Version=0.36.0.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.36.0\lib\net462\SharpCompress.dll</HintPath>
</Reference>
<Reference Include="Snappier, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a1b25124e6e13a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Snappier.1.0.0\lib\netstandard2.0\Snappier.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.6.48\lib\net461\StackExchange.Redis.dll</HintPath>
<HintPath>..\packages\StackExchange.Redis.2.7.27\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="SteamWare, Version=5.2.2206.1310, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.2.2206.1310\lib\net462\SteamWare.dll</HintPath>
<Reference Include="StackExchange.Redis.StrongName, Version=1.0.316.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.StrongName.1.0.333\lib\net45\StackExchange.Redis.StrongName.dll</HintPath>
</Reference>
<Reference Include="SteamWare.Logger, Version=5.2.2206.1310, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.5.2.2206.1310\lib\net462\SteamWare.Logger.dll</HintPath>
<Reference Include="SteamWare, Version=5.3.2311.2908, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.3.2311.2908\lib\net462\SteamWare.dll</HintPath>
</Reference>
<Reference Include="SteamWare.Logger, Version=5.3.2311.2908, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.5.3.2311.2908\lib\net462\SteamWare.Logger.dll</HintPath>
</Reference>
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System" />
<Reference Include="System.Configuration.ConfigurationManager, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Configuration.ConfigurationManager.6.0.0\lib\net461\System.Configuration.ConfigurationManager.dll</HintPath>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data.OracleClient" />
<Reference Include="System.Diagnostics.PerformanceCounter, Version=6.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.6.0.1\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
</Reference>
@@ -141,6 +156,7 @@
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net" />
<!-- <Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
<Private>True</Private>
@@ -162,6 +178,9 @@
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" />
<Reference Include="System.Security.AccessControl, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.AccessControl.6.0.0\lib\net461\System.Security.AccessControl.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath>
<Private>True</Private>
@@ -181,9 +200,16 @@
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Permissions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Permissions.6.0.0\lib\net461\System.Security.Permissions.dll</HintPath>
</Reference>
<Reference Include="System.Security.Principal.Windows, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Principal.Windows.5.0.0\lib\net461\System.Security.Principal.Windows.dll</HintPath>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.Text.Encoding.CodePages, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encoding.CodePages.6.0.0\lib\net461\System.Text.Encoding.CodePages.dll</HintPath>
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Text.Encoding.CodePages, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encoding.CodePages.8.0.0\lib\net462\System.Text.Encoding.CodePages.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Channels, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.6.0.0\lib\net461\System.Threading.Channels.dll</HintPath>
@@ -195,10 +221,9 @@
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
@@ -222,10 +247,15 @@
<Reference Include="Microsoft.AspNet.FriendlyUrls">
<HintPath>..\packages\Microsoft.AspNet.FriendlyUrls.Core.1.0.2\lib\net45\Microsoft.AspNet.FriendlyUrls.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="WebGrease, Version=1.6.5135.21930, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\WebGrease.1.6.0\lib\WebGrease.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="WindowsBase" />
<Reference Include="ZstdSharp, Version=0.7.5.0, Culture=neutral, PublicKeyToken=8d151af33a4ad5cf, processorArchitecture=MSIL">
<HintPath>..\packages\ZstdSharp.Port.0.7.5\lib\net462\ZstdSharp.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Folder Include="App_Data\" />
@@ -233,7 +263,6 @@
<ItemGroup>
<Content Include="About.aspx" />
<Content Include="approvTimbrature.aspx" />
<Content Include="App_Readme\Elmah.txt" />
<Content Include="App_Readme\README_SteamWare.txt" />
<Content Include="App_Readme\SteamWare_demo\example-config-table.txt" />
<Content Include="App_Readme\SteamWare_demo\example-favicon.ico" />
@@ -331,9 +360,6 @@
<Content Include="Content\themes\base\tabs.css" />
<Content Include="Content\themes\base\theme.css" />
<Content Include="Content\themes\base\tooltip.css" />
<Content Include="Core\Compression\Snappy\lib\win\snappy32.dll" />
<Content Include="Core\Compression\Snappy\lib\win\snappy64.dll" />
<Content Include="Core\Compression\Zstandard\lib\win\libzstd.dll" />
<Content Include="dipendenti.aspx" />
<Content Include="ExportCommesse.aspx" />
<Content Include="ExportTimbZucchetti.aspx" />
@@ -575,10 +601,6 @@
<Content Include="Content\bootstrap-grid.rtl.css.map" />
<Content Include="Content\bootstrap-grid.min.css.map" />
<Content Include="Content\bootstrap-grid.css.map" />
<Content Include="Core\Compression\Zstandard\lib\osx\libzstd.dylib" />
<Content Include="Core\Compression\Zstandard\lib\linux\libzstd.so" />
<Content Include="Core\Compression\Snappy\lib\osx\libsnappy64.dylib" />
<Content Include="Core\Compression\Snappy\lib\linux\libsnappy64.so" />
<None Include="Properties\PublishProfiles\IIS-PROD.pubxml" />
<None Include="Properties\PublishProfiles\IIS03.pubxml" />
<Content Include="Scripts\bootstrap.min.js.map" />
@@ -587,11 +609,11 @@
<Content Include="Scripts\bootstrap.esm.js.map" />
<Content Include="Scripts\bootstrap.bundle.min.js.map" />
<Content Include="Scripts\bootstrap.bundle.js.map" />
<None Include="Scripts\jquery-3.6.0.intellisense.js" />
<Content Include="Scripts\jquery-3.6.0.js" />
<Content Include="Scripts\jquery-3.6.0.min.js" />
<Content Include="Scripts\jquery-3.6.0.slim.js" />
<Content Include="Scripts\jquery-3.6.0.slim.min.js" />
<None Include="Scripts\jquery-3.7.0.intellisense.js" />
<Content Include="Scripts\jquery-3.7.0.js" />
<Content Include="Scripts\jquery-3.7.0.min.js" />
<Content Include="Scripts\jquery-3.7.0.slim.js" />
<Content Include="Scripts\jquery-3.7.0.slim.min.js" />
<Content Include="Scripts\jquery-ui-1.13.1.js" />
<Content Include="Scripts\jquery-ui-1.13.1.min.js" />
<Content Include="Scripts\moment-with-locales.js" />
@@ -670,6 +692,7 @@
<Content Include="Scripts\umd\popper.js" />
<Content Include="Scripts\umd\popper.min.js" />
<Content Include="tagMensili.aspx" />
<Content Include="tags.aspx" />
<Content Include="Test.aspx" />
<Content Include="Test2.aspx" />
<Content Include="Vocabolario.aspx" />
@@ -681,6 +704,8 @@
<Content Include="WebUserControls\cmp_footer.ascx" />
<Content Include="WebUserControls\cmp_gestMalattia.ascx" />
<Content Include="WebUserControls\cmp_gestRichDip.ascx" />
<Content Include="WebUserControls\cmp_gestTagFasi.ascx" />
<Content Include="WebUserControls\cmp_groupAssignClone.ascx" />
<Content Include="WebUserControls\cmp_homeButtons.ascx" />
<Content Include="WebUserControls\cmp_lemmiVocab.ascx" />
<Content Include="WebUserControls\cmp_menuTop.ascx" />
@@ -786,10 +811,10 @@
<Content Include="Scripts\popper.js.map" />
<Content Include="Scripts\popper-utils.min.js.map" />
<Content Include="Scripts\popper-utils.js.map" />
<Content Include="Scripts\jquery-3.6.0.slim.min.map" />
<Content Include="Scripts\jquery-3.6.0.min.map" />
<Content Include="Scripts\moment.min.js.map" />
<Content Include="Scripts\moment-with-locales.min.js.map" />
<Content Include="Scripts\jquery-3.7.0.slim.min.map" />
<Content Include="Scripts\jquery-3.7.0.min.map" />
<None Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</None>
@@ -997,6 +1022,13 @@
<Compile Include="tagMensili.aspx.designer.cs">
<DependentUpon>tagMensili.aspx</DependentUpon>
</Compile>
<Compile Include="tags.aspx.cs">
<DependentUpon>tags.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="tags.aspx.designer.cs">
<DependentUpon>tags.aspx</DependentUpon>
</Compile>
<Compile Include="Test.aspx.cs">
<DependentUpon>Test.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1099,6 +1131,20 @@
<Compile Include="WebUserControls\cmp_gestRichDip.ascx.designer.cs">
<DependentUpon>cmp_gestRichDip.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_gestTagFasi.ascx.cs">
<DependentUpon>cmp_gestTagFasi.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_gestTagFasi.ascx.designer.cs">
<DependentUpon>cmp_gestTagFasi.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_groupAssignClone.ascx.cs">
<DependentUpon>cmp_groupAssignClone.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_groupAssignClone.ascx.designer.cs">
<DependentUpon>cmp_groupAssignClone.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_homeButtons.ascx.cs">
<DependentUpon>cmp_homeButtons.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1403,6 +1449,7 @@
<TypeScriptCompile Include="Scripts\index.d.ts" />
</ItemGroup>
<ItemGroup>
<Analyzer Include="..\packages\AWSSDK.SecurityToken.3.7.100.14\analyzers\dotnet\cs\AWSSDK.SecurityToken.CodeAnalysis.dll" />
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll" />
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.NetAnalyzers.dll" />
</ItemGroup>
@@ -1475,13 +1522,13 @@
<Error Condition="!Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\build\Microsoft.CodeAnalysis.NetAnalyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\build\Microsoft.CodeAnalysis.NetAnalyzers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\build\Microsoft.CodeAnalysis.NetAnalyzers.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\build\Microsoft.CodeAnalysis.NetAnalyzers.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.5.5\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.5.5\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.17.1\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.17.1\build\MongoDB.Driver.Core.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.Extensions.Logging.Abstractions.6.0.0\build\Microsoft.Extensions.Logging.Abstractions.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Extensions.Logging.Abstractions.6.0.0\build\Microsoft.Extensions.Logging.Abstractions.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.8.2\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.8.2\build\MongoDB.Libmongocrypt.targets'))" />
</Target>
<Import Project="..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" />
<Import Project="..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\build\Microsoft.CodeAnalysis.NetAnalyzers.targets" Condition="Exists('..\packages\Microsoft.CodeAnalysis.NetAnalyzers.6.0.0\build\Microsoft.CodeAnalysis.NetAnalyzers.targets')" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.5.5\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.5.5\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\MongoDB.Driver.Core.2.17.1\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.17.1\build\MongoDB.Driver.Core.targets')" />
<Import Project="..\packages\Microsoft.Extensions.Logging.Abstractions.6.0.0\build\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('..\packages\Microsoft.Extensions.Logging.Abstractions.6.0.0\build\Microsoft.Extensions.Logging.Abstractions.targets')" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.8.2\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.8.2\build\MongoDB.Libmongocrypt.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
+2 -2
View File
@@ -1,5 +1,5 @@
/// <reference path="jquery-ui-1.13.1.js" />
/// <reference path="jquery-3.6.0.js" />
/// <reference path="jquery-3.7.0.js" />
/// <reference path="jquery-ui-1.13.1.js" />
/// <autosync enabled="true" />
/// <reference path="bootstrap.js" />
/// <reference path="jquery-3.1.1.min.js" />
+167 -158
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap v5.2.0 (https://getbootstrap.com/)
* Bootstrap v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -11,7 +11,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/index.js
* Bootstrap (v5.2.3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -326,7 +326,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): dom/event-handler.js
* Bootstrap (v5.2.3): dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -595,7 +595,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): dom/data.js
* Bootstrap (v5.2.3): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -647,7 +647,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): dom/manipulator.js
* Bootstrap (v5.2.3): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -717,7 +717,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/config.js
* Bootstrap (v5.2.3): util/config.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -778,7 +778,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): base-component.js
* Bootstrap (v5.2.3): base-component.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -786,7 +786,7 @@
* Constants
*/
const VERSION = '5.2.0';
const VERSION = '5.2.3';
/**
* Class definition
*/
@@ -857,7 +857,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/component-functions.js
* Bootstrap (v5.2.3): util/component-functions.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -883,7 +883,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): alert.js
* Bootstrap (v5.2.3): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -963,7 +963,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): button.js
* Bootstrap (v5.2.3): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1025,7 +1025,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): dom/selector-engine.js
* Bootstrap (v5.2.3): dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1096,7 +1096,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/swipe.js
* Bootstrap (v5.2.3): util/swipe.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1232,7 +1232,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): carousel.js
* Bootstrap (v5.2.3): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1680,7 +1680,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): collapse.js
* Bootstrap (v5.2.3): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2128,38 +2128,57 @@
var min = Math.min;
var round = Math.round;
function getBoundingClientRect(element, includeScale) {
function getUAString() {
var uaData = navigator.userAgentData;
if (uaData != null && uaData.brands) {
return uaData.brands.map(function (item) {
return item.brand + "/" + item.version;
}).join(' ');
}
return navigator.userAgent;
}
function isLayoutViewport() {
return !/^((?!chrome|android).)*safari/i.test(getUAString());
}
function getBoundingClientRect(element, includeScale, isFixedStrategy) {
if (includeScale === void 0) {
includeScale = false;
}
var rect = element.getBoundingClientRect();
if (isFixedStrategy === void 0) {
isFixedStrategy = false;
}
var clientRect = element.getBoundingClientRect();
var scaleX = 1;
var scaleY = 1;
if (isHTMLElement(element) && includeScale) {
var offsetHeight = element.offsetHeight;
var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
// Fallback to 1 in case both values are `0`
if (offsetWidth > 0) {
scaleX = round(rect.width) / offsetWidth || 1;
}
if (offsetHeight > 0) {
scaleY = round(rect.height) / offsetHeight || 1;
}
if (includeScale && isHTMLElement(element)) {
scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;
scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;
}
var _ref = isElement(element) ? getWindow(element) : window,
visualViewport = _ref.visualViewport;
var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
var width = clientRect.width / scaleX;
var height = clientRect.height / scaleY;
return {
width: rect.width / scaleX,
height: rect.height / scaleY,
top: rect.top / scaleY,
right: rect.right / scaleX,
bottom: rect.bottom / scaleY,
left: rect.left / scaleX,
x: rect.left / scaleX,
y: rect.top / scaleY
width: width,
height: height,
top: y,
right: x + width,
bottom: y + height,
left: x,
x: x,
y: y
};
}
@@ -2254,8 +2273,8 @@
function getContainingBlock(element) {
var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;
var isIE = navigator.userAgent.indexOf('Trident') !== -1;
var isFirefox = /firefox/i.test(getUAString());
var isIE = /Trident/i.test(getUAString());
if (isIE && isHTMLElement(element)) {
// In IE 9, 10 and 11 fixed elements containing block is always established by the viewport
@@ -2676,31 +2695,21 @@
return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
}
function getViewportRect(element) {
function getViewportRect(element, strategy) {
var win = getWindow(element);
var html = getDocumentElement(element);
var visualViewport = win.visualViewport;
var width = html.clientWidth;
var height = html.clientHeight;
var x = 0;
var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper
// can be obscured underneath it.
// Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even
// if it isn't open, so if this isn't available, the popper will be detected
// to overflow the bottom of the screen too early.
var y = 0;
if (visualViewport) {
width = visualViewport.width;
height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)
// In Chrome, it returns a value very close to 0 (+/-) but contains rounding
// errors due to floating point numbers, so we need to check precision.
// Safari returns a number <= 0, usually < -1 when pinch-zoomed
// Feature detection fails in mobile emulation mode in Chrome.
// Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <
// 0.001
// Fallback here: "Not Safari" userAgent
height = visualViewport.height;
var layoutViewport = isLayoutViewport();
if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {
if (layoutViewport || !layoutViewport && strategy === 'fixed') {
x = visualViewport.offsetLeft;
y = visualViewport.offsetTop;
}
@@ -2794,8 +2803,8 @@
});
}
function getInnerBoundingClientRect(element) {
var rect = getBoundingClientRect(element);
function getInnerBoundingClientRect(element, strategy) {
var rect = getBoundingClientRect(element, false, strategy === 'fixed');
rect.top = rect.top + element.clientTop;
rect.left = rect.left + element.clientLeft;
rect.bottom = rect.top + element.clientHeight;
@@ -2807,8 +2816,8 @@
return rect;
}
function getClientRectFromMixedType(element, clippingParent) {
return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
function getClientRectFromMixedType(element, clippingParent, strategy) {
return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
} // A "clipping parent" is an overflowable container with the characteristic of
// clipping (or hiding) overflowing elements with a position different from
// `initial`
@@ -2831,18 +2840,18 @@
// clipping parents
function getClippingRect(element, boundary, rootBoundary) {
function getClippingRect(element, boundary, rootBoundary, strategy) {
var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);
var clippingParents = [].concat(mainClippingParents, [rootBoundary]);
var firstClippingParent = clippingParents[0];
var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {
var rect = getClientRectFromMixedType(element, clippingParent);
var rect = getClientRectFromMixedType(element, clippingParent, strategy);
accRect.top = max(rect.top, accRect.top);
accRect.right = min(rect.right, accRect.right);
accRect.bottom = min(rect.bottom, accRect.bottom);
accRect.left = max(rect.left, accRect.left);
return accRect;
}, getClientRectFromMixedType(element, firstClippingParent));
}, getClientRectFromMixedType(element, firstClippingParent, strategy));
clippingRect.width = clippingRect.right - clippingRect.left;
clippingRect.height = clippingRect.bottom - clippingRect.top;
clippingRect.x = clippingRect.left;
@@ -2923,6 +2932,8 @@
var _options = options,
_options$placement = _options.placement,
placement = _options$placement === void 0 ? state.placement : _options$placement,
_options$strategy = _options.strategy,
strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,
_options$boundary = _options.boundary,
boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,
_options$rootBoundary = _options.rootBoundary,
@@ -2937,7 +2948,7 @@
var altContext = elementContext === popper ? reference : popper;
var popperRect = state.rects.popper;
var element = state.elements[altBoundary ? altContext : elementContext];
var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);
var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);
var referenceClientRect = getBoundingClientRect(state.elements.reference);
var popperOffsets = computeOffsets({
reference: referenceClientRect,
@@ -3451,7 +3462,7 @@
var isOffsetParentAnElement = isHTMLElement(offsetParent);
var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
var documentElement = getDocumentElement(offsetParent);
var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);
var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);
var scroll = {
scrollLeft: 0,
scrollTop: 0
@@ -3805,7 +3816,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): dropdown.js
* Bootstrap (v5.2.3): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -3875,8 +3886,9 @@
super(element, config);
this._popper = null;
this._parent = this._element.parentNode; // dropdown wrapper
// todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
this._menu = SelectorEngine.findOne(SELECTOR_MENU, this._parent);
this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
this._inNavbar = this._detectNavbar();
} // Getters
@@ -4192,8 +4204,9 @@
return;
}
event.preventDefault();
const getToggleButton = SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);
event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);
const instance = Dropdown.getOrCreateInstance(getToggleButton);
if (isUpOrDownEvent) {
@@ -4235,7 +4248,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/scrollBar.js
* Bootstrap (v5.2.3): util/scrollBar.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -4354,7 +4367,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/backdrop.js
* Bootstrap (v5.2.3): util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -4500,7 +4513,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/focustrap.js
* Bootstrap (v5.2.3): util/focustrap.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -4609,7 +4622,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): modal.js
* Bootstrap (v5.2.3): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -4628,6 +4641,7 @@
const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;
const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;
const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;
const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
@@ -4820,20 +4834,22 @@
}
});
EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
if (event.target !== event.currentTarget) {
// click is inside modal-dialog
return;
}
// a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks
EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {
if (this._element !== event.target || this._element !== event2.target) {
return;
}
if (this._config.backdrop === 'static') {
this._triggerBackdropTransition();
if (this._config.backdrop === 'static') {
this._triggerBackdropTransition();
return;
}
return;
}
if (this._config.backdrop) {
this.hide();
}
if (this._config.backdrop) {
this.hide();
}
});
});
}
@@ -4982,7 +4998,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): offcanvas.js
* Bootstrap (v5.2.3): offcanvas.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -5256,7 +5272,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/sanitizer.js
* Bootstrap (v5.2.3): util/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -5361,7 +5377,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/template-factory.js
* Bootstrap (v5.2.3): util/template-factory.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -5519,7 +5535,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): tooltip.js
* Bootstrap (v5.2.3): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -5608,7 +5624,7 @@
this._isEnabled = true;
this._timeout = 0;
this._isHovered = false;
this._isHovered = null;
this._activeTrigger = {};
this._popper = null;
this._templateFactory = null;
@@ -5617,6 +5633,10 @@
this.tip = null;
this._setListeners();
if (!this._config.selector) {
this._fixTitle();
}
} // Getters
@@ -5645,24 +5665,12 @@
this._isEnabled = !this._isEnabled;
}
toggle(event) {
toggle() {
if (!this._isEnabled) {
return;
}
if (event) {
const context = this._initializeOnDelegatedTarget(event);
context._activeTrigger.click = !context._activeTrigger.click;
if (context._isWithActiveTrigger()) {
context._enter();
} else {
context._leave();
}
return;
}
this._activeTrigger.click = !this._activeTrigger.click;
if (this._isShown()) {
this._leave();
@@ -5677,8 +5685,8 @@
clearTimeout(this._timeout);
EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
if (this.tip) {
this.tip.remove();
if (this._element.getAttribute('data-bs-original-title')) {
this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));
}
this._disposePopper();
@@ -5705,10 +5713,7 @@
} // todo v6 remove this OR make it optional
if (this.tip) {
this.tip.remove();
this.tip = null;
}
this._disposePopper();
const tip = this._getTipElement();
@@ -5723,12 +5728,7 @@
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));
}
if (this._popper) {
this._popper.update();
} else {
this._popper = this._createPopper(tip);
}
this._popper = this._createPopper(tip);
tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra
// empty mouseover listeners to the body's immediate children;
// only needed because of broken event delegation on iOS
@@ -5741,13 +5741,13 @@
}
const complete = () => {
const previousHoverState = this._isHovered;
this._isHovered = false;
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));
if (previousHoverState) {
if (this._isHovered === false) {
this._leave();
}
this._isHovered = false;
};
this._queueCallback(complete, this.tip, this._isAnimated());
@@ -5778,7 +5778,7 @@
this._activeTrigger[TRIGGER_CLICK] = false;
this._activeTrigger[TRIGGER_FOCUS] = false;
this._activeTrigger[TRIGGER_HOVER] = false;
this._isHovered = false;
this._isHovered = null; // it is a trick to support manual triggering
const complete = () => {
if (this._isWithActiveTrigger()) {
@@ -5786,14 +5786,12 @@
}
if (!this._isHovered) {
tip.remove();
this._disposePopper();
}
this._element.removeAttribute('aria-describedby');
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2));
this._disposePopper();
};
this._queueCallback(complete, this.tip, this._isAnimated());
@@ -5871,7 +5869,7 @@
}
_getTitle() {
return this._resolvePossibleFunction(this._config.title) || this._config.originalTitle;
return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');
} // Private
@@ -5957,7 +5955,11 @@
for (const trigger of triggers) {
if (trigger === 'click') {
EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => this.toggle(event));
EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {
const context = this._initializeOnDelegatedTarget(event);
context.toggle();
});
} else if (trigger !== TRIGGER_MANUAL) {
const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);
const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);
@@ -5985,19 +5987,10 @@
};
EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
if (this._config.selector) {
this._config = { ...this._config,
trigger: 'manual',
selector: ''
};
} else {
this._fixTitle();
}
}
_fixTitle() {
const title = this._config.originalTitle;
const title = this._element.getAttribute('title');
if (!title) {
return;
@@ -6007,6 +6000,9 @@
this._element.setAttribute('aria-label', title);
}
this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility
this._element.removeAttribute('title');
}
@@ -6078,8 +6074,6 @@
};
}
config.originalTitle = this._element.getAttribute('title') || '';
if (typeof config.title === 'number') {
config.title = config.title.toString();
}
@@ -6098,11 +6092,13 @@
if (this.constructor.Default[key] !== this._config[key]) {
config[key] = this._config[key];
}
} // In the future can be replaced with:
}
config.selector = false;
config.trigger = 'manual'; // In the future can be replaced with:
// const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])
// `Object.fromEntries(keysWithDifferentValues)`
return config;
}
@@ -6112,6 +6108,11 @@
this._popper = null;
}
if (this.tip) {
this.tip.remove();
this.tip = null;
}
} // Static
@@ -6141,7 +6142,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): popover.js
* Bootstrap (v5.2.3): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -6224,7 +6225,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): scrollspy.js
* Bootstrap (v5.2.3): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -6255,14 +6256,16 @@
// TODO: v6 @deprecated, keep it for backwards compatibility reasons
rootMargin: '0px 0px -25%',
smoothScroll: false,
target: null
target: null,
threshold: [0.1, 0.5, 1]
};
const DefaultType$1 = {
offset: '(number|null)',
// TODO v6 @deprecated, keep it for backwards compatibility reasons
rootMargin: 'string',
smoothScroll: 'boolean',
target: 'element'
target: 'element',
threshold: 'array'
};
/**
* Class definition
@@ -6323,7 +6326,14 @@
_configAfterMerge(config) {
// TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case
config.target = getElement(config.target) || document.body;
config.target = getElement(config.target) || document.body; // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;
if (typeof config.threshold === 'string') {
config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));
}
return config;
}
@@ -6359,8 +6369,8 @@
_getNewObserver() {
const options = {
root: this._rootElement,
threshold: [0.1, 0.5, 1],
rootMargin: this._getRootMargin()
threshold: this._config.threshold,
rootMargin: this._config.rootMargin
};
return new IntersectionObserver(entries => this._observerCallback(entries), options);
} // The logic of selection
@@ -6405,11 +6415,6 @@
activate(entry);
}
}
} // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
_getRootMargin() {
return this._config.offset ? `${this._config.offset}px 0px -30%` : this._config.rootMargin;
}
_initializeTargetsAndObservables() {
@@ -6511,7 +6516,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): tab.js
* Bootstrap (v5.2.3): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -6539,7 +6544,6 @@
const CLASS_DROPDOWN = 'dropdown';
const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
const SELECTOR_DROPDOWN_MENU = '.dropdown-menu';
const SELECTOR_DROPDOWN_ITEM = '.dropdown-item';
const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)';
const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]';
const SELECTOR_OUTER = '.nav-item, .list-group-item';
@@ -6618,7 +6622,6 @@
return;
}
element.focus();
element.removeAttribute('tabindex');
element.setAttribute('aria-selected', true);
@@ -6674,6 +6677,9 @@
const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true);
if (nextActiveElement) {
nextActiveElement.focus({
preventScroll: true
});
Tab.getOrCreateInstance(nextActiveElement).show();
}
}
@@ -6749,7 +6755,6 @@
toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE);
toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1);
toggle(SELECTOR_DROPDOWN_ITEM, CLASS_NAME_ACTIVE);
outerElem.setAttribute('aria-expanded', open);
}
@@ -6824,7 +6829,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): toast.js
* Bootstrap (v5.2.3): toast.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -6975,13 +6980,17 @@
switch (event.type) {
case 'mouseover':
case 'mouseout':
this._hasMouseInteraction = isInteracting;
break;
{
this._hasMouseInteraction = isInteracting;
break;
}
case 'focusin':
case 'focusout':
this._hasKeyboardInteraction = isInteracting;
break;
{
this._hasKeyboardInteraction = isInteracting;
break;
}
}
if (isInteracting) {
@@ -7041,7 +7050,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): index.umd.js
* Bootstrap (v5.2.3): index.umd.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+107 -109
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap v5.2.0 (https://getbootstrap.com/)
* Bootstrap v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -7,7 +7,7 @@ import * as Popper from '@popperjs/core';
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/index.js
* Bootstrap (v5.2.3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -322,7 +322,7 @@ const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): dom/event-handler.js
* Bootstrap (v5.2.3): dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -591,7 +591,7 @@ function hydrateObj(obj, meta) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): dom/data.js
* Bootstrap (v5.2.3): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -643,7 +643,7 @@ const Data = {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): dom/manipulator.js
* Bootstrap (v5.2.3): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -713,7 +713,7 @@ const Manipulator = {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/config.js
* Bootstrap (v5.2.3): util/config.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -774,7 +774,7 @@ class Config {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): base-component.js
* Bootstrap (v5.2.3): base-component.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -782,7 +782,7 @@ class Config {
* Constants
*/
const VERSION = '5.2.0';
const VERSION = '5.2.3';
/**
* Class definition
*/
@@ -853,7 +853,7 @@ class BaseComponent extends Config {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/component-functions.js
* Bootstrap (v5.2.3): util/component-functions.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -879,7 +879,7 @@ const enableDismissTrigger = (component, method = 'hide') => {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): alert.js
* Bootstrap (v5.2.3): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -959,7 +959,7 @@ defineJQueryPlugin(Alert);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): button.js
* Bootstrap (v5.2.3): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1021,7 +1021,7 @@ defineJQueryPlugin(Button);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): dom/selector-engine.js
* Bootstrap (v5.2.3): dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1092,7 +1092,7 @@ const SelectorEngine = {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/swipe.js
* Bootstrap (v5.2.3): util/swipe.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1228,7 +1228,7 @@ class Swipe extends Config {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): carousel.js
* Bootstrap (v5.2.3): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1676,7 +1676,7 @@ defineJQueryPlugin(Carousel);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): collapse.js
* Bootstrap (v5.2.3): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1966,7 +1966,7 @@ defineJQueryPlugin(Collapse);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): dropdown.js
* Bootstrap (v5.2.3): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2036,8 +2036,9 @@ class Dropdown extends BaseComponent {
super(element, config);
this._popper = null;
this._parent = this._element.parentNode; // dropdown wrapper
// todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
this._menu = SelectorEngine.findOne(SELECTOR_MENU, this._parent);
this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
this._inNavbar = this._detectNavbar();
} // Getters
@@ -2353,8 +2354,9 @@ class Dropdown extends BaseComponent {
return;
}
event.preventDefault();
const getToggleButton = SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);
event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);
const instance = Dropdown.getOrCreateInstance(getToggleButton);
if (isUpOrDownEvent) {
@@ -2396,7 +2398,7 @@ defineJQueryPlugin(Dropdown);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/scrollBar.js
* Bootstrap (v5.2.3): util/scrollBar.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2515,7 +2517,7 @@ class ScrollBarHelper {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/backdrop.js
* Bootstrap (v5.2.3): util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2661,7 +2663,7 @@ class Backdrop extends Config {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/focustrap.js
* Bootstrap (v5.2.3): util/focustrap.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2770,7 +2772,7 @@ class FocusTrap extends Config {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): modal.js
* Bootstrap (v5.2.3): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2789,6 +2791,7 @@ const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;
const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;
const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;
const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;
const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
@@ -2981,20 +2984,22 @@ class Modal extends BaseComponent {
}
});
EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
if (event.target !== event.currentTarget) {
// click is inside modal-dialog
return;
}
// a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks
EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {
if (this._element !== event.target || this._element !== event2.target) {
return;
}
if (this._config.backdrop === 'static') {
this._triggerBackdropTransition();
if (this._config.backdrop === 'static') {
this._triggerBackdropTransition();
return;
}
return;
}
if (this._config.backdrop) {
this.hide();
}
if (this._config.backdrop) {
this.hide();
}
});
});
}
@@ -3143,7 +3148,7 @@ defineJQueryPlugin(Modal);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): offcanvas.js
* Bootstrap (v5.2.3): offcanvas.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -3417,7 +3422,7 @@ defineJQueryPlugin(Offcanvas);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/sanitizer.js
* Bootstrap (v5.2.3): util/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -3522,7 +3527,7 @@ function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/template-factory.js
* Bootstrap (v5.2.3): util/template-factory.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -3680,7 +3685,7 @@ class TemplateFactory extends Config {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): tooltip.js
* Bootstrap (v5.2.3): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -3769,7 +3774,7 @@ class Tooltip extends BaseComponent {
this._isEnabled = true;
this._timeout = 0;
this._isHovered = false;
this._isHovered = null;
this._activeTrigger = {};
this._popper = null;
this._templateFactory = null;
@@ -3778,6 +3783,10 @@ class Tooltip extends BaseComponent {
this.tip = null;
this._setListeners();
if (!this._config.selector) {
this._fixTitle();
}
} // Getters
@@ -3806,24 +3815,12 @@ class Tooltip extends BaseComponent {
this._isEnabled = !this._isEnabled;
}
toggle(event) {
toggle() {
if (!this._isEnabled) {
return;
}
if (event) {
const context = this._initializeOnDelegatedTarget(event);
context._activeTrigger.click = !context._activeTrigger.click;
if (context._isWithActiveTrigger()) {
context._enter();
} else {
context._leave();
}
return;
}
this._activeTrigger.click = !this._activeTrigger.click;
if (this._isShown()) {
this._leave();
@@ -3838,8 +3835,8 @@ class Tooltip extends BaseComponent {
clearTimeout(this._timeout);
EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
if (this.tip) {
this.tip.remove();
if (this._element.getAttribute('data-bs-original-title')) {
this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));
}
this._disposePopper();
@@ -3866,10 +3863,7 @@ class Tooltip extends BaseComponent {
} // todo v6 remove this OR make it optional
if (this.tip) {
this.tip.remove();
this.tip = null;
}
this._disposePopper();
const tip = this._getTipElement();
@@ -3884,12 +3878,7 @@ class Tooltip extends BaseComponent {
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));
}
if (this._popper) {
this._popper.update();
} else {
this._popper = this._createPopper(tip);
}
this._popper = this._createPopper(tip);
tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra
// empty mouseover listeners to the body's immediate children;
// only needed because of broken event delegation on iOS
@@ -3902,13 +3891,13 @@ class Tooltip extends BaseComponent {
}
const complete = () => {
const previousHoverState = this._isHovered;
this._isHovered = false;
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));
if (previousHoverState) {
if (this._isHovered === false) {
this._leave();
}
this._isHovered = false;
};
this._queueCallback(complete, this.tip, this._isAnimated());
@@ -3939,7 +3928,7 @@ class Tooltip extends BaseComponent {
this._activeTrigger[TRIGGER_CLICK] = false;
this._activeTrigger[TRIGGER_FOCUS] = false;
this._activeTrigger[TRIGGER_HOVER] = false;
this._isHovered = false;
this._isHovered = null; // it is a trick to support manual triggering
const complete = () => {
if (this._isWithActiveTrigger()) {
@@ -3947,14 +3936,12 @@ class Tooltip extends BaseComponent {
}
if (!this._isHovered) {
tip.remove();
this._disposePopper();
}
this._element.removeAttribute('aria-describedby');
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2));
this._disposePopper();
};
this._queueCallback(complete, this.tip, this._isAnimated());
@@ -4032,7 +4019,7 @@ class Tooltip extends BaseComponent {
}
_getTitle() {
return this._resolvePossibleFunction(this._config.title) || this._config.originalTitle;
return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');
} // Private
@@ -4118,7 +4105,11 @@ class Tooltip extends BaseComponent {
for (const trigger of triggers) {
if (trigger === 'click') {
EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => this.toggle(event));
EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {
const context = this._initializeOnDelegatedTarget(event);
context.toggle();
});
} else if (trigger !== TRIGGER_MANUAL) {
const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);
const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);
@@ -4146,19 +4137,10 @@ class Tooltip extends BaseComponent {
};
EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
if (this._config.selector) {
this._config = { ...this._config,
trigger: 'manual',
selector: ''
};
} else {
this._fixTitle();
}
}
_fixTitle() {
const title = this._config.originalTitle;
const title = this._element.getAttribute('title');
if (!title) {
return;
@@ -4168,6 +4150,9 @@ class Tooltip extends BaseComponent {
this._element.setAttribute('aria-label', title);
}
this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility
this._element.removeAttribute('title');
}
@@ -4239,8 +4224,6 @@ class Tooltip extends BaseComponent {
};
}
config.originalTitle = this._element.getAttribute('title') || '';
if (typeof config.title === 'number') {
config.title = config.title.toString();
}
@@ -4259,11 +4242,13 @@ class Tooltip extends BaseComponent {
if (this.constructor.Default[key] !== this._config[key]) {
config[key] = this._config[key];
}
} // In the future can be replaced with:
}
config.selector = false;
config.trigger = 'manual'; // In the future can be replaced with:
// const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])
// `Object.fromEntries(keysWithDifferentValues)`
return config;
}
@@ -4273,6 +4258,11 @@ class Tooltip extends BaseComponent {
this._popper = null;
}
if (this.tip) {
this.tip.remove();
this.tip = null;
}
} // Static
@@ -4302,7 +4292,7 @@ defineJQueryPlugin(Tooltip);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): popover.js
* Bootstrap (v5.2.3): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -4385,7 +4375,7 @@ defineJQueryPlugin(Popover);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): scrollspy.js
* Bootstrap (v5.2.3): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -4416,14 +4406,16 @@ const Default$1 = {
// TODO: v6 @deprecated, keep it for backwards compatibility reasons
rootMargin: '0px 0px -25%',
smoothScroll: false,
target: null
target: null,
threshold: [0.1, 0.5, 1]
};
const DefaultType$1 = {
offset: '(number|null)',
// TODO v6 @deprecated, keep it for backwards compatibility reasons
rootMargin: 'string',
smoothScroll: 'boolean',
target: 'element'
target: 'element',
threshold: 'array'
};
/**
* Class definition
@@ -4484,7 +4476,14 @@ class ScrollSpy extends BaseComponent {
_configAfterMerge(config) {
// TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case
config.target = getElement(config.target) || document.body;
config.target = getElement(config.target) || document.body; // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;
if (typeof config.threshold === 'string') {
config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));
}
return config;
}
@@ -4520,8 +4519,8 @@ class ScrollSpy extends BaseComponent {
_getNewObserver() {
const options = {
root: this._rootElement,
threshold: [0.1, 0.5, 1],
rootMargin: this._getRootMargin()
threshold: this._config.threshold,
rootMargin: this._config.rootMargin
};
return new IntersectionObserver(entries => this._observerCallback(entries), options);
} // The logic of selection
@@ -4566,11 +4565,6 @@ class ScrollSpy extends BaseComponent {
activate(entry);
}
}
} // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
_getRootMargin() {
return this._config.offset ? `${this._config.offset}px 0px -30%` : this._config.rootMargin;
}
_initializeTargetsAndObservables() {
@@ -4672,7 +4666,7 @@ defineJQueryPlugin(ScrollSpy);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): tab.js
* Bootstrap (v5.2.3): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -4700,7 +4694,6 @@ const CLASS_NAME_SHOW$1 = 'show';
const CLASS_DROPDOWN = 'dropdown';
const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
const SELECTOR_DROPDOWN_MENU = '.dropdown-menu';
const SELECTOR_DROPDOWN_ITEM = '.dropdown-item';
const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)';
const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]';
const SELECTOR_OUTER = '.nav-item, .list-group-item';
@@ -4779,7 +4772,6 @@ class Tab extends BaseComponent {
return;
}
element.focus();
element.removeAttribute('tabindex');
element.setAttribute('aria-selected', true);
@@ -4835,6 +4827,9 @@ class Tab extends BaseComponent {
const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true);
if (nextActiveElement) {
nextActiveElement.focus({
preventScroll: true
});
Tab.getOrCreateInstance(nextActiveElement).show();
}
}
@@ -4910,7 +4905,6 @@ class Tab extends BaseComponent {
toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE);
toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1);
toggle(SELECTOR_DROPDOWN_ITEM, CLASS_NAME_ACTIVE);
outerElem.setAttribute('aria-expanded', open);
}
@@ -4985,7 +4979,7 @@ defineJQueryPlugin(Tab);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): toast.js
* Bootstrap (v5.2.3): toast.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -5136,13 +5130,17 @@ class Toast extends BaseComponent {
switch (event.type) {
case 'mouseover':
case 'mouseout':
this._hasMouseInteraction = isInteracting;
break;
{
this._hasMouseInteraction = isInteracting;
break;
}
case 'focusin':
case 'focusout':
this._hasKeyboardInteraction = isInteracting;
break;
{
this._hasKeyboardInteraction = isInteracting;
break;
}
}
if (isInteracting) {
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+108 -110
View File
@@ -1,5 +1,5 @@
/*!
* Bootstrap v5.2.0 (https://getbootstrap.com/)
* Bootstrap v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -31,7 +31,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/index.js
* Bootstrap (v5.2.3): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -346,7 +346,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): dom/event-handler.js
* Bootstrap (v5.2.3): dom/event-handler.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -615,7 +615,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): dom/data.js
* Bootstrap (v5.2.3): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -667,7 +667,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): dom/manipulator.js
* Bootstrap (v5.2.3): dom/manipulator.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -737,7 +737,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/config.js
* Bootstrap (v5.2.3): util/config.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -798,7 +798,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): base-component.js
* Bootstrap (v5.2.3): base-component.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -806,7 +806,7 @@
* Constants
*/
const VERSION = '5.2.0';
const VERSION = '5.2.3';
/**
* Class definition
*/
@@ -877,7 +877,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/component-functions.js
* Bootstrap (v5.2.3): util/component-functions.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -903,7 +903,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): alert.js
* Bootstrap (v5.2.3): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -983,7 +983,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): button.js
* Bootstrap (v5.2.3): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1045,7 +1045,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): dom/selector-engine.js
* Bootstrap (v5.2.3): dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1116,7 +1116,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/swipe.js
* Bootstrap (v5.2.3): util/swipe.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1252,7 +1252,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): carousel.js
* Bootstrap (v5.2.3): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1700,7 +1700,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): collapse.js
* Bootstrap (v5.2.3): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1990,7 +1990,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): dropdown.js
* Bootstrap (v5.2.3): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2060,8 +2060,9 @@
super(element, config);
this._popper = null;
this._parent = this._element.parentNode; // dropdown wrapper
// todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
this._menu = SelectorEngine.findOne(SELECTOR_MENU, this._parent);
this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
this._inNavbar = this._detectNavbar();
} // Getters
@@ -2377,8 +2378,9 @@
return;
}
event.preventDefault();
const getToggleButton = SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);
event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);
const instance = Dropdown.getOrCreateInstance(getToggleButton);
if (isUpOrDownEvent) {
@@ -2420,7 +2422,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/scrollBar.js
* Bootstrap (v5.2.3): util/scrollBar.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2539,7 +2541,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/backdrop.js
* Bootstrap (v5.2.3): util/backdrop.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2685,7 +2687,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/focustrap.js
* Bootstrap (v5.2.3): util/focustrap.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2794,7 +2796,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): modal.js
* Bootstrap (v5.2.3): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2813,6 +2815,7 @@
const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;
const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;
const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;
const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
@@ -3005,20 +3008,22 @@
}
});
EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
if (event.target !== event.currentTarget) {
// click is inside modal-dialog
return;
}
// a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks
EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {
if (this._element !== event.target || this._element !== event2.target) {
return;
}
if (this._config.backdrop === 'static') {
this._triggerBackdropTransition();
if (this._config.backdrop === 'static') {
this._triggerBackdropTransition();
return;
}
return;
}
if (this._config.backdrop) {
this.hide();
}
if (this._config.backdrop) {
this.hide();
}
});
});
}
@@ -3167,7 +3172,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): offcanvas.js
* Bootstrap (v5.2.3): offcanvas.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -3441,7 +3446,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/sanitizer.js
* Bootstrap (v5.2.3): util/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -3546,7 +3551,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): util/template-factory.js
* Bootstrap (v5.2.3): util/template-factory.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -3704,7 +3709,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): tooltip.js
* Bootstrap (v5.2.3): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -3793,7 +3798,7 @@
this._isEnabled = true;
this._timeout = 0;
this._isHovered = false;
this._isHovered = null;
this._activeTrigger = {};
this._popper = null;
this._templateFactory = null;
@@ -3802,6 +3807,10 @@
this.tip = null;
this._setListeners();
if (!this._config.selector) {
this._fixTitle();
}
} // Getters
@@ -3830,24 +3839,12 @@
this._isEnabled = !this._isEnabled;
}
toggle(event) {
toggle() {
if (!this._isEnabled) {
return;
}
if (event) {
const context = this._initializeOnDelegatedTarget(event);
context._activeTrigger.click = !context._activeTrigger.click;
if (context._isWithActiveTrigger()) {
context._enter();
} else {
context._leave();
}
return;
}
this._activeTrigger.click = !this._activeTrigger.click;
if (this._isShown()) {
this._leave();
@@ -3862,8 +3859,8 @@
clearTimeout(this._timeout);
EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
if (this.tip) {
this.tip.remove();
if (this._element.getAttribute('data-bs-original-title')) {
this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));
}
this._disposePopper();
@@ -3890,10 +3887,7 @@
} // todo v6 remove this OR make it optional
if (this.tip) {
this.tip.remove();
this.tip = null;
}
this._disposePopper();
const tip = this._getTipElement();
@@ -3908,12 +3902,7 @@
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));
}
if (this._popper) {
this._popper.update();
} else {
this._popper = this._createPopper(tip);
}
this._popper = this._createPopper(tip);
tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra
// empty mouseover listeners to the body's immediate children;
// only needed because of broken event delegation on iOS
@@ -3926,13 +3915,13 @@
}
const complete = () => {
const previousHoverState = this._isHovered;
this._isHovered = false;
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));
if (previousHoverState) {
if (this._isHovered === false) {
this._leave();
}
this._isHovered = false;
};
this._queueCallback(complete, this.tip, this._isAnimated());
@@ -3963,7 +3952,7 @@
this._activeTrigger[TRIGGER_CLICK] = false;
this._activeTrigger[TRIGGER_FOCUS] = false;
this._activeTrigger[TRIGGER_HOVER] = false;
this._isHovered = false;
this._isHovered = null; // it is a trick to support manual triggering
const complete = () => {
if (this._isWithActiveTrigger()) {
@@ -3971,14 +3960,12 @@
}
if (!this._isHovered) {
tip.remove();
this._disposePopper();
}
this._element.removeAttribute('aria-describedby');
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2));
this._disposePopper();
};
this._queueCallback(complete, this.tip, this._isAnimated());
@@ -4056,7 +4043,7 @@
}
_getTitle() {
return this._resolvePossibleFunction(this._config.title) || this._config.originalTitle;
return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');
} // Private
@@ -4142,7 +4129,11 @@
for (const trigger of triggers) {
if (trigger === 'click') {
EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => this.toggle(event));
EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {
const context = this._initializeOnDelegatedTarget(event);
context.toggle();
});
} else if (trigger !== TRIGGER_MANUAL) {
const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);
const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);
@@ -4170,19 +4161,10 @@
};
EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
if (this._config.selector) {
this._config = { ...this._config,
trigger: 'manual',
selector: ''
};
} else {
this._fixTitle();
}
}
_fixTitle() {
const title = this._config.originalTitle;
const title = this._element.getAttribute('title');
if (!title) {
return;
@@ -4192,6 +4174,9 @@
this._element.setAttribute('aria-label', title);
}
this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility
this._element.removeAttribute('title');
}
@@ -4263,8 +4248,6 @@
};
}
config.originalTitle = this._element.getAttribute('title') || '';
if (typeof config.title === 'number') {
config.title = config.title.toString();
}
@@ -4283,11 +4266,13 @@
if (this.constructor.Default[key] !== this._config[key]) {
config[key] = this._config[key];
}
} // In the future can be replaced with:
}
config.selector = false;
config.trigger = 'manual'; // In the future can be replaced with:
// const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])
// `Object.fromEntries(keysWithDifferentValues)`
return config;
}
@@ -4297,6 +4282,11 @@
this._popper = null;
}
if (this.tip) {
this.tip.remove();
this.tip = null;
}
} // Static
@@ -4326,7 +4316,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): popover.js
* Bootstrap (v5.2.3): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -4409,7 +4399,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): scrollspy.js
* Bootstrap (v5.2.3): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -4440,14 +4430,16 @@
// TODO: v6 @deprecated, keep it for backwards compatibility reasons
rootMargin: '0px 0px -25%',
smoothScroll: false,
target: null
target: null,
threshold: [0.1, 0.5, 1]
};
const DefaultType$1 = {
offset: '(number|null)',
// TODO v6 @deprecated, keep it for backwards compatibility reasons
rootMargin: 'string',
smoothScroll: 'boolean',
target: 'element'
target: 'element',
threshold: 'array'
};
/**
* Class definition
@@ -4508,7 +4500,14 @@
_configAfterMerge(config) {
// TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case
config.target = getElement(config.target) || document.body;
config.target = getElement(config.target) || document.body; // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;
if (typeof config.threshold === 'string') {
config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));
}
return config;
}
@@ -4544,8 +4543,8 @@
_getNewObserver() {
const options = {
root: this._rootElement,
threshold: [0.1, 0.5, 1],
rootMargin: this._getRootMargin()
threshold: this._config.threshold,
rootMargin: this._config.rootMargin
};
return new IntersectionObserver(entries => this._observerCallback(entries), options);
} // The logic of selection
@@ -4590,11 +4589,6 @@
activate(entry);
}
}
} // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
_getRootMargin() {
return this._config.offset ? `${this._config.offset}px 0px -30%` : this._config.rootMargin;
}
_initializeTargetsAndObservables() {
@@ -4696,7 +4690,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): tab.js
* Bootstrap (v5.2.3): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -4724,7 +4718,6 @@
const CLASS_DROPDOWN = 'dropdown';
const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
const SELECTOR_DROPDOWN_MENU = '.dropdown-menu';
const SELECTOR_DROPDOWN_ITEM = '.dropdown-item';
const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)';
const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]';
const SELECTOR_OUTER = '.nav-item, .list-group-item';
@@ -4803,7 +4796,6 @@
return;
}
element.focus();
element.removeAttribute('tabindex');
element.setAttribute('aria-selected', true);
@@ -4859,6 +4851,9 @@
const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true);
if (nextActiveElement) {
nextActiveElement.focus({
preventScroll: true
});
Tab.getOrCreateInstance(nextActiveElement).show();
}
}
@@ -4934,7 +4929,6 @@
toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE);
toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1);
toggle(SELECTOR_DROPDOWN_ITEM, CLASS_NAME_ACTIVE);
outerElem.setAttribute('aria-expanded', open);
}
@@ -5009,7 +5003,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): toast.js
* Bootstrap (v5.2.3): toast.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -5160,13 +5154,17 @@
switch (event.type) {
case 'mouseover':
case 'mouseout':
this._hasMouseInteraction = isInteracting;
break;
{
this._hasMouseInteraction = isInteracting;
break;
}
case 'focusin':
case 'focusout':
this._hasKeyboardInteraction = isInteracting;
break;
{
this._hasKeyboardInteraction = isInteracting;
break;
}
}
if (isInteracting) {
@@ -5226,7 +5224,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.0): index.umd.js
* Bootstrap (v5.2.3): index.umd.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
File diff suppressed because one or more lines are too long
+2 -2
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+16 -5
View File
@@ -3,7 +3,7 @@
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
<!--
In the example below, the "SetAttributes" transform will change the value of
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
finds an attribute "name" that has a value of "MyDB".
@@ -14,9 +14,15 @@
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
-->
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<!--
<appSettings>
<add key="RedisConn" value="localhost:26379, serviceName=prod, DefaultDatabase=1, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false, password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="RedisConnAdmin" value="localhost:26379, serviceName=prod, DefaultDatabase=1, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false, password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG, allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="urlRedirRich" value="https://office.egalware.com/GPW/ADMIN/richiesteDip" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="urlRedirMal" value="https://office.egalware.com/GPW/ADMIN/malattia" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<!--
In the example below, the "Replace" transform will replace the entire
<customErrors> section of your web.config file.
Note that because there is only one customErrors section under the
@@ -27,5 +33,10 @@
<error statusCode="500" redirect="InternalError.htm"/>
</customErrors>
-->
</system.web>
<sessionState>
<providers>
<add name="MySessionStateStore" connectionString="localhost:26379, serviceName=prod, DefaultDatabase=1, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false, password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG" xdt:Transform="SetAttributes(connectionString)" xdt:Locator="Match(name)" />
</providers>
</sessionState>
</system.web>
</configuration>
+135 -380
View File
@@ -1,82 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<configSections>
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
</sectionGroup>
</configSections>
<!--
For a description of web.config changes see http://go.microsoft.com/fwlink/?LinkId=235367.
The following attributes can be set on the <httpRuntime> tag.
<system.Web>
<httpRuntime targetFramework="4.8" />
</system.Web>
-->
<system.web>
<compilation targetFramework="4.6.2" debug="true" />
<httpRuntime targetFramework="4.6.2" />
<compilation targetFramework="4.8" debug="true">
<assemblies>
<add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
<httpRuntime targetFramework="4.6.2"/>
<pages>
<namespaces>
<add namespace="System.Web.Optimization" />
<add namespace="System.Web.Optimization"/>
</namespaces>
<controls>
<add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
<add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt"/>
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit"/>
</controls>
</pages>
<customErrors mode="Off" />
<globalization culture="it-IT" enableClientBasedCulture="true" uiCulture="it" />
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
</httpModules>
<sessionState mode="Custom" customProvider="MySessionStateStore">
<customErrors mode="Off"/>
<globalization culture="it-IT" enableClientBasedCulture="true" uiCulture="it"/>
<sessionState>
<providers>
<add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="127.0.0.1" accessKey="" ssl="false" applicationName="GPW_ADM" />
<add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" connectionString="localhost:26379, serviceName=devel, DefaultDatabase=1, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false" applicationName="GPW_ADM"/>
</providers>
</sessionState>
</system.web>
<appSettings>
<!--Impostazione gestione serializzazione variabili in sessione (es per Redis)-->
<add key="serializeSession" value="true" />
<add key="serializeSession" value="true"/>
<add key="RedisConn" value="localhost:26379, serviceName=devel, DefaultDatabase=1, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false"/>
<add key="RedisConnAdmin" value="localhost:26379, serviceName=devel, DefaultDatabase=1, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false, allowAdmin=true"/>
<!--Conf generale-->
<add key="appName" value="GPW" />
<add key="titleApp" value="GPW" />
<add key="welcomeApp" value="GPW_welcome" />
<add key="SiteName" value="Steamware" />
<add key="copyRight" value="SteamWare" />
<add key="CodModulo" value="GPW" />
<add key="_safePages" value="unauthorized#forceUser#login#login.aspx#test#Test.aspx" />
<add key="appName" value="GPW"/>
<add key="titleApp" value="GPW"/>
<add key="welcomeApp" value="GPW_welcome"/>
<add key="SiteName" value="Steamware"/>
<add key="copyRight" value="SteamWare"/>
<add key="CodModulo" value="GPW"/>
<add key="_safePages" value="unauthorized#forceUser#login#login.aspx#test#Test.aspx"/>
<add key="adminRole" value="GPW_admin"/>
<!--Gestione forzatura priam timbratura ad entrata-->
<add key="firstIsIN" value="true" />
<add key="firstIsIN" value="true"/>
<!--Gestione notifiche anomalie-->
<add key="adminAnomalieEmail" value="samuele@steamware.net" />
<add key="adminContinuatoEmail" value="samuele@steamware.net" />
<add key="adminOreLavEmail" value="samuele@steamware.net" />
<add key="adminRichDip" value="samuele.locatelli@egalware.com,mara.baroni@egalware.com" />
<add key="urlRedirRich" value="https://iis03.egalware.com/GPW/ADMIN/richiesteDip" />
<add key="urlRedirMal" value="https://iis03.egalware.com/GPW/ADMIN/malattia" />
<add key="gg2Chk" value="60" />
<add key="gg2ChkCont" value="30" />
<add key="gg2ChkOreCaricate" value="30" />
<add key="checkAnomTimb" value="true" />
<add key="checkAnomAppr" value="true" />
<add key="checkAnomOreLav" value="true" />
<add key="checkAnomOreLavComm" value="true" />
<add key="checkAnomContinuato" value="true" />
<add key="sendEmailToUser" value="true" />
<add key="firstHour2Check" value="6" />
<add key="enableDailyCheck" value="true" />
<add key="imgLogoPath" value="../images/LogoSteamware.png" />
<add key="adminAnomalieEmail" value="samuele@steamware.net"/>
<add key="adminContinuatoEmail" value="samuele@steamware.net"/>
<add key="adminOreLavEmail" value="samuele@steamware.net"/>
<add key="adminRichDip" value="samuele.locatelli@egalware.com,mara.baroni@egalware.com"/>
<add key="urlRedirRich" value="https://iis01.egalware.com/GPW/ADMIN/richiesteDip"/>
<add key="urlRedirMal" value="https://iis01.egalware.com/GPW/ADMIN/malattia"/>
<add key="gg2Chk" value="60"/>
<add key="gg2ChkCont" value="30"/>
<add key="gg2ChkOreCaricate" value="30"/>
<add key="checkAnomTimb" value="true"/>
<add key="checkAnomAppr" value="true"/>
<add key="checkAnomOreLav" value="true"/>
<add key="checkAnomOreLavComm" value="true"/>
<add key="checkAnomContinuato" value="true"/>
<add key="sendEmailToUser" value="true"/>
<add key="firstHour2Check" value="6"/>
<add key="enableDailyCheck" value="true"/>
<add key="imgLogoPath" value="../images/LogoSteamware.png"/>
<!--veto ricalcolo progetti-->
<add key="vetoRicalcProj" value="60" />
<add key="vetoRicalcProj" value="60"/>
<!--fix menù-->
<add key="fixPreUrlMenu" value="false" />
<add key="fixPreUrlMenu" value="false"/>
<!--Timeout vari-->
<add key="intUpdatePagina_ms" value="120000" />
<add key="intUpdateFooter_ms" value="1000" />
<add key="maxRefreshToReload" value="30" />
<add key="intUpdatePagina_ms" value="120000"/>
<add key="intUpdateFooter_ms" value="1000"/>
<add key="maxRefreshToReload" value="30"/>
<!--Gestione Barcode-->
<!--<add key="secTimeoutBCode" value="8" />
<add key="prefComandi" value="CMD" />
@@ -88,383 +91,135 @@
<add key="ipv4StazBCode" value="*" />
<add key="showNameAfterCmd" value="true" />-->
<!--ricerca autocomplete-->
<add key="maxNumSuggest" value="30" />
<add key="maxNumSuggest" value="30"/>
<!--Logging-->
<add key="_logDir" value="~/logs/" />
<add key="doShrinkFolder" value="true" />
<add key="_logLevel" value="6" />
<add key="_logMaxMb" value="30" />
<add key="_logDir" value="~/logs/"/>
<add key="doShrinkFolder" value="true"/>
<add key="_logLevel" value="6"/>
<add key="_logMaxMb" value="30"/>
<!--Definizione default x registrazione commesse-->
<add key="defRegAttMin" value="60" />
<add key="maxErr" value="30" />
<add key="maxErrMin" value="-30" />
<add key="maxErrPlus" value="91" />
<add key="defRegAttMin" value="60"/>
<add key="maxErr" value="30"/>
<add key="maxErrMin" value="-30"/>
<add key="maxErrPlus" value="91"/>
<!--default visualizzazione timbrature-->
<add key="reviewShowCN" value="true" />
<add key="reviewShowOreMin" value="false" />
<add key="reviewShowStraord" value="true" />
<add key="reviewShowCN" value="true"/>
<add key="reviewShowOreMin" value="false"/>
<add key="reviewShowStraord" value="true"/>
<!--gestione warning x calcolo real/budget-->
<add key="warningRatioPerc" value="80" />
<add key="warningRatioPerc" value="80"/>
<!--Definizione URL e rete locale-->
<add key="localNet" value="10.74" />
<add key="dhcpLeaseTime" value="15" />
<add key="localNet" value="10.74"/>
<add key="dhcpLeaseTime" value="15"/>
<!--Conf x grafici a barre-->
<add key="maxBarplotLargh" value="1000" />
<add key="maxBarplotLargh" value="1000"/>
<!--Conf attivazione funzionalità opzionali-->
<add key="barcodeAutoApprove" value="true" />
<add key="regAttEnabled" value="true" />
<add key="barcodeAutoApprove" value="true"/>
<add key="regAttEnabled" value="true"/>
<!--Gestione selettore periodo-->
<add key="defDayFrom" value="-30" />
<add key="mostraSelOra" value="false" />
<add key="defDayFrom" value="-30"/>
<add key="mostraSelOra" value="false"/>
<!--Timbratrice x Zucchetti-->
<add key="codTimbra" value="90" />
<add key="codTimbra" value="90"/>
<!--Gestione email-->
<add key="_fromEmail" value="steamwarebot@outlook.it" />
<add key="_smtpCli" value="smtp-mail.outlook.com" />
<add key="_emailUser" value="steamwarebot@outlook.it" />
<add key="_emailPwd" value="siamoInViaNazionale93!" />
<add key="_enableSSL" value="true" />
<add key="_fromEmail" value="services@steamware.net"/>
<add key="_smtpCli" value="smtp.gmail.com"/>
<add key="_emailUser" value="services@steamware.net"/>
<add key="_emailPwd" value="ruejpcwgycvbmmsr"/>
<add key="_enableSSL" value="true"/>
<!--gestione tac cloud-->
<add key="TagCloudMode" value="elenco" />
<add key="TagCloudMode" value="elenco"/>
<!--Gestione auth dispositivi mobile-->
<add key="authKey" value="keyhammer" />
<add key="baseUrl" value="http://iis02/GPW/" />
<add key="baseWebUrl" value="http://seriate.steamware.net:8083/GPW/" />
<add key="GpwSmartUrl" value="../../GPW-Smart" />
<add key="GpwBCodeUrl" value="../../GPW-BCode" />
<add key="authKey" value="keyhammer"/>
<add key="baseUrl" value="http://iis02/GPW/"/>
<add key="baseWebUrl" value="http://seriate.steamware.net:8083/GPW/"/>
<add key="GpwSmartUrl" value="../../GPW-Smart"/>
<add key="GpwBCodeUrl" value="../../GPW-BCode"/>
<!--Gestione SSRS-->
<add key="reportBaseUrl" value="http://W2019-SQL-STEAM/ReportServer?/Steamware/" />
<add key="reportBaseUrl" value="http://W2019-SQL-STEAM/ReportServer?/Steamware/"/>
<!--CONF DB-->
<add key="PermessiConnectionString" value="Data Source=W2019-SQL-STEAM;Initial Catalog=GPW;Persist Security Info=True;User ID=sa;Password=keyhammer16" />
<add key="UtenteCdcConnectionString" value="Data Source=W2019-SQL-STEAM;Initial Catalog=Steamware_Anagrafica;Persist Security Info=True;User ID=sa;Password=keyhammer16" />
<add key="VocabolarioConnectionString" value="Data Source=W2019-SQL-STEAM;Initial Catalog=GPW_vocabolario;Persist Security Info=True;User ID=sa;Password=keyhammer16" />
<add key="GPWConnectionString" value="Data Source=W2019-SQL-STEAM;Initial Catalog=GPW;Persist Security Info=True;User ID=sa;Password=keyhammer16" />
<add key="DbConfConnectionString" value="Data Source=W2019-SQL-STEAM;Initial Catalog=GPW;Persist Security Info=True;User ID=sa;Password=keyhammer16" />
<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />
<add key="PermessiConnectionString" value="Data Source=W2019-SQL-STEAM;Initial Catalog=GPW;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77"/>
<add key="UtenteCdcConnectionString" value="Data Source=W2019-SQL-STEAM;Initial Catalog=Steamware_Anagrafica;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77"/>
<add key="VocabolarioConnectionString" value="Data Source=W2019-SQL-STEAM;Initial Catalog=GPW_vocabolario;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77"/>
<add key="GPWConnectionString" value="Data Source=W2019-SQL-STEAM;Initial Catalog=GPW;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77"/>
<add key="DbConfConnectionString" value="Data Source=W2019-SQL-STEAM;Initial Catalog=GPW;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77"/>
<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;"/>
</appSettings>
<connectionStrings>
<add name="GPW_data.Properties.Settings.GPWConnectionString" connectionString="Data Source=W2019-SQL-STEAM;Initial Catalog=GPW;Persist Security Info=True;User ID=sa;Password=keyhammer16" providerName="System.Data.SqlClient" />
<add name="ErrorLog" connectionString="Data Source=SQL2016DEV;Initial Catalog=Elmah;Persist Security Info=True;User ID=sa;Password=keyhammer16;" providerName="System.Data.SqlClient" />
<add name="GPW_data.Properties.Settings.GPWConnectionString" connectionString="Data Source=W2019-SQL-STEAM;Initial Catalog=GPW;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77" providerName="System.Data.SqlClient"/>
<add name="ErrorLog" connectionString="Data Source=SQL2016DEV;Initial Catalog=Elmah;Persist Security Info=True;User ID=UserGPW; Password=Us3rGpw!75x93$77;" providerName="System.Data.SqlClient"/>
</connectionStrings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XmlSerializer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-0.36.0.0" newVersion="0.36.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Timer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
<assemblyIdentity name="ZstdSharp" publicKeyToken="8d151af33a4ad5cf" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-0.7.5.0" newVersion="0.7.5.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.0.0.3" newVersion="6.0.0.3"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Overlapped" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.RegularExpressions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.SecureString" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.0.0.9" newVersion="6.0.0.9"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Principal" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Xml" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Json" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Numerics" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Resources.ResourceManager" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ObjectModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Sockets" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Requests" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.NetworkInformation" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Queryable" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Expressions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="B77A5C561934E089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Globalization.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Globalization" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Dynamic.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Tracing" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Tools" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Debug" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Contracts" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Data.Common" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ComponentModel.EventBasedAsync" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ComponentModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Concurrent" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="CC7B13FFCD2DDD51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Pkcs" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.3" newVersion="6.0.0.3" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.3.3.11" newVersion="1.3.3.11" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DnsClient" publicKeyToken="4574bb5573c51424" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.6.1.0" newVersion="1.6.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-0.32.1.0" newVersion="0.32.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Web.Infrastructure" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.5" newVersion="6.0.0.5" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
<remove name="Session" />
<add name="Session" type="Microsoft.AspNet.SessionState.SessionStateModuleAsync, Microsoft.AspNet.SessionState.SessionStateModule, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode" />
</modules>
<staticContent>
<remove fileExtension=".json" />
<remove fileExtension=".svg" />
<remove fileExtension=".woff" />
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".json" mimeType="application/json" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
<mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2" />
<remove fileExtension=".json"/>
<remove fileExtension=".svg"/>
<remove fileExtension=".woff"/>
<remove fileExtension=".woff2"/>
<mimeMap fileExtension=".json" mimeType="application/json"/>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml"/>
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>
<mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2"/>
</staticContent>
</system.webServer>
<elmah>
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="ErrorLog" />
<security allowRemoteAccess="false" />
</elmah>
<location path="elmah.axd" inheritInChildApplications="false">
<system.web>
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" />
</handlers>
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: A74E74E3-77BC-45D3-BC54-8693313542E2-->
-2
View File
@@ -46,8 +46,6 @@
<%--To learn more about bundling scripts in ScriptManager see https://go.microsoft.com/fwlink/?LinkID=301884 --%>
<%--Framework Scripts--%>
<asp:ScriptReference Name="MsAjaxBundle" />
<asp:ScriptReference Name="jquery" />
<%--<asp:ScriptReference Name="bootstrap" />--%>
<asp:ScriptReference Name="WebForms.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebForms.js" />
<asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebUIValidation.js" />
<asp:ScriptReference Name="MenuStandards.js" Assembly="System.Web" Path="~/Scripts/WebForms/MenuStandards.js" />
+1 -1
View File
@@ -12,7 +12,7 @@
<div class="input-group-prepend">
<span class="input-group-text">Filtro visualizzazione</span>
</div>
<asp:DropDownList runat="server" ID="ddlDip" CssClass="form-control" DataSourceID="odsDip" DataTextField="label" DataValueField="value" AutoPostBack="true">
<asp:DropDownList runat="server" ID="ddlDip" CssClass="form-select-sm" DataSourceID="odsDip" DataTextField="label" DataValueField="value" AutoPostBack="true">
</asp:DropDownList>
<asp:ObjectDataSource runat="server" ID="odsDip" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="GPW_data.DS_UtilityTableAdapters.v_selDipendentiTableAdapter" />
</div>
+17 -6
View File
@@ -2,8 +2,8 @@
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<div class="input-group mb-3" runat="server" id="divAddNew">
<%--<asp:TextBox runat="server" ID="txtSearch" type="text" class="form-control" placeholder="Search"></asp:TextBox>--%>
<asp:DropDownList runat="server" ID="ddlDip" class="form-control" DataSourceID="odsAvail" DataTextField="label" DataValueField="value"></asp:DropDownList>
<asp:Label runat="server" ID="lblAdd" CssClass="input-group-text">Aggiungi</asp:Label>
<asp:DropDownList runat="server" ID="ddlDip" class="form-select" DataSourceID="odsAvail" DataTextField="label" DataValueField="value"></asp:DropDownList>
<asp:ObjectDataSource ID="odsAvail" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByGruppo" TypeName="GPW_data.DS_UtilityTableAdapters.v_selDipendentiTableAdapter" FilterExpression=" conditio = 1 ">
<SelectParameters>
<asp:ControlParameter ControlID="hfGruppo" DefaultValue="###" Name="gruppo" PropertyName="Value" Type="String" />
@@ -18,18 +18,29 @@
<asp:GridView runat="server" ID="grView" DataSourceID="ods" AutoGenerateColumns="False" DataKeyNames="value" CssClass="table table-striped table-sm">
<EmptyDataTemplate>No record</EmptyDataTemplate>
<Columns>
<asp:BoundField DataField="label" HeaderText="Dipendente" SortExpression="label" ReadOnly="True" />
<asp:TemplateField SortExpression="label">
<HeaderTemplate>
<b>Dipendente</b>
</HeaderTemplate>
<ItemTemplate>
<asp:Label runat="server" ID="lblDip" Text='<%# Eval("label") %>' CssClass=' <%# cssByDip(Eval("value")) %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
</EditItemTemplate>
<ItemStyle HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<asp:LinkButton runat="server" ID="lbtDelete" CssClass="btn btn-sm btn-danger" CausesValidation="False" CommandName="Delete" ToolTip='<%# traduci("Delete") %>'><i class="fa fa-trash" aria-hidden="true"></i></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtDelete" CssClass="btn btn-sm btn-danger" CausesValidation="False" CommandName="Delete" ToolTip='<%# traduci("Delete") %>'><i class="fa fa-ban" aria-hidden="true"></i></asp:LinkButton>
<asp:ConfirmButtonExtender ID="cbeDelete" runat="server" ConfirmText='<%# traduci("confermaDel")%>' TargetControlID="lbtDelete"></asp:ConfirmButtonExtender>
</ItemTemplate>
<EditItemTemplate>
</EditItemTemplate>
<ItemStyle HorizontalAlign="Center" />
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Right" />
<HeaderStyle HorizontalAlign="Right" />
</asp:TemplateField>
</Columns>
</asp:GridView>
@@ -1,24 +1,14 @@
using GPW_data;
using GPW_data.DS_UtilityTableAdapters;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace GPW_Admin.WebUserControls
{
public partial class cmp_dip2gruppi : BaseUserControl
{
#region Protected Properties
protected int idxDipSel
{
get
{
int answ = 0;
int.TryParse(ddlDip.SelectedValue, out answ);
return answ;
}
}
#endregion Protected Properties
#region Public Properties
public string gruppoSel
@@ -33,8 +23,55 @@ namespace GPW_Admin.WebUserControls
#endregion Public Properties
#region Public Methods
public string cssByDip(object idxDip)
{
int IdxDip = 0;
int.TryParse($"{idxDip}", out IdxDip);
bool attivo = false;
if (listActive == null || listActive.Count == 0)
{
reloadDip();
}
if (IdxDip > 0)
{
attivo = listActive.Where(x => x.value == IdxDip).Count() > 0;
}
// colore da stato attivo
string answ = attivo ? "text-dark" : "text-secondary text-strike";
return answ;
}
#endregion Public Methods
#region Protected Fields
protected List<DS_Utility.v_selDipendentiRow> listActive = new List<DS_Utility.v_selDipendentiRow>();
#endregion Protected Fields
#region Protected Properties
protected int idxDipSel
{
get
{
int answ = 0;
int.TryParse(ddlDip.SelectedValue, out answ);
return answ;
}
}
#endregion Protected Properties
#region Protected Methods
/// <summary>
/// aggiunge dipendente al gruppo selezionato
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtAdd_Click(object sender, EventArgs e)
{
// eseguo inserimento valore in schema
@@ -46,6 +83,16 @@ namespace GPW_Admin.WebUserControls
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
reloadDip();
}
}
protected void reloadDip()
{
var rawTab = DataProxy.DP.taVSD.getByConditio(true).OfType<DS_Utility.v_selDipendentiRow>().ToList();
listActive = rawTab.Where(x => x.conditio == 1).ToList();
}
#endregion Protected Methods
@@ -23,6 +23,15 @@ namespace GPW_Admin.WebUserControls
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divAddNew;
/// <summary>
/// lblAdd control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblAdd;
/// <summary>
/// ddlDip control.
/// </summary>
+1 -1
View File
@@ -1,7 +1,7 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_footer.ascx.cs" Inherits="GPW_Admin.WebUserControls.cmp_footer" %>
<footer class="fixed-bottom bg-dark text-light textCondens px-2">
<div class="row" runat="server" id="divFooter">
<div class="col-6 text-left">
<div class="col-6 text-start">
<asp:Label ID="lblDateTime" runat="server" Text="..." />
&nbsp;|&nbsp;<asp:Label ID="lblCodOperatore" runat="server" Text="-" />
</div>
@@ -90,7 +90,6 @@ namespace GPW_Admin.WebUserControls
}
}
protected DS_Applicazione.DipendentiDataTable listaDip { get; set; }
protected List<DS_Applicazione.RegistroMalattieRow> listRM { get; set; }
#endregion Protected Properties
@@ -164,7 +163,16 @@ namespace GPW_Admin.WebUserControls
var currUser = listaDip.Where(x => x.idxDipendente == richDip.IdxDipendente).FirstOrDefault();
string destEmail = currUser.email;
string fromEmail = memLayer.ML.CRS("_fromEmail");
string adminRichDip = memLayer.ML.CRS("adminRichDip");
string adminEmail = memLayer.ML.CRS("adminRichDip");
// calcolo il responsabile
if (currUser.idxResp > 0)
{
string mailResp = emailResp(currUser.idxResp);
if (!string.IsNullOrEmpty(mailResp) && !adminEmail.Contains(mailResp))
{
adminEmail += $",{mailResp}";
}
}
string subjMess = $"ELIMINAZIONE richiesta Malattia n.{IdxRegMal}";
DateTime adesso = DateTime.Now;
StringBuilder sbMain = new StringBuilder();
@@ -190,7 +198,7 @@ namespace GPW_Admin.WebUserControls
// invio email!
gestEmail.geAuth.mandaEmail(fromEmail, destEmail, subjMess, bodyMess);
// ora sistemo x admin
var adminList = adminRichDip.Split(',');
var adminList = adminEmail.Split(',');
string urlRedir = memLayer.ML.CRS("urlRedirMal");
bodyMess += $"<hr/><br/>Cliccare sul <a href=\"{urlRedir}\">seguente link</a> per accedere alla pagina di gestione";
foreach (var dest in adminList)
@@ -247,7 +255,16 @@ namespace GPW_Admin.WebUserControls
var currUser = listaDip.Where(x => x.idxDipendente == richDip.IdxDipendente).FirstOrDefault();
string destEmail = currUser.email;
string fromEmail = memLayer.ML.CRS("_fromEmail");
string adminRichDip = memLayer.ML.CRS("adminRichDip");
string adminEmail = memLayer.ML.CRS("adminRichDip");
// calcolo il responsabile
if (currUser.idxResp > 0)
{
string mailResp = emailResp(currUser.idxResp);
if (!string.IsNullOrEmpty(mailResp) && !adminEmail.Contains(mailResp))
{
adminEmail += $",{mailResp}";
}
}
string subjMess = $"Aggiornamento richiesta Malattia n.{IdxRegMal}";
DateTime adesso = DateTime.Now;
StringBuilder sbMain = new StringBuilder();
@@ -273,7 +290,7 @@ namespace GPW_Admin.WebUserControls
// invio email!
gestEmail.geAuth.mandaEmail(fromEmail, destEmail, subjMess, bodyMess);
// ora sistemo x admin
var adminList = adminRichDip.Split(',');
var adminList = adminEmail.Split(',');
string urlRedir = memLayer.ML.CRS("urlRedirMal");
bodyMess += $"<hr/><br/>Cliccare sul <a href=\"{urlRedir}\">seguente link</a> per accedere alla pagina di gestione";
foreach (var dest in adminList)
@@ -66,7 +66,7 @@
</asp:TemplateField>
<asp:TemplateField HeaderText="Giust" SortExpression="CodGiust">
<EditItemTemplate>
<asp:DropDownList runat="server" ID="ddlCodGiust" SelectedValue='<%# Bind("CodGiust") %>'>
<asp:DropDownList runat="server" ID="ddlCodGiust" SelectedValue='<%# Bind("CodGiust") %>' CssClass="form-select-sm">
<asp:ListItem Value="104" Text="104"></asp:ListItem>
<asp:ListItem Value="FER" Text="FERIE"></asp:ListItem>
<asp:ListItem Value="PERM" Text="PERMESSO"></asp:ListItem>
@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI;
using System.Web.UI.WebControls;
@@ -91,7 +92,6 @@ namespace GPW_Admin.WebUserControls
}
}
protected DS_Applicazione.DipendentiDataTable listaDip { get; set; }
protected List<DS_Applicazione.RegistroRichiesteRow> listRR { get; set; }
#endregion Protected Properties
@@ -198,7 +198,16 @@ namespace GPW_Admin.WebUserControls
var currUser = listaDip.Where(x => x.idxDipendente == richDip.IdxDipendente).FirstOrDefault();
string destEmail = currUser.email;
string fromEmail = memLayer.ML.CRS("_fromEmail");
string adminRichDip = memLayer.ML.CRS("adminRichDip");
string adminEmail = memLayer.ML.CRS("adminRichDip");
// calcolo il responsabile
if (currUser.idxResp > 0)
{
string mailResp = emailResp(currUser.idxResp);
if (!string.IsNullOrEmpty(mailResp) && !adminEmail.Contains(mailResp))
{
adminEmail += $",{mailResp}";
}
}
string subjMess = $"ELIMINAZIONE richiesta n.{IdxRegRich}";
DateTime adesso = DateTime.Now;
StringBuilder sbMain = new StringBuilder();
@@ -222,7 +231,7 @@ namespace GPW_Admin.WebUserControls
// invio email!
gestEmail.geAuth.mandaEmail(fromEmail, destEmail, subjMess, bodyMess);
// ora sistemo x admin
var adminList = adminRichDip.Split(',');
var adminList = adminEmail.Split(',');
string urlRedir = memLayer.ML.CRS("urlRedirRich");
bodyMess += $"<hr/><br/>Cliccare sul <a href=\"{urlRedir}\">seguente link</a> per accedere alla pagina di gestione";
foreach (var dest in adminList)
@@ -261,7 +270,7 @@ namespace GPW_Admin.WebUserControls
{
// sistemo note (eventualmente) se fossero vuote...
var rawNote = e.InputParameters["Note"];
if(string.IsNullOrEmpty($"{rawNote}"))
if (string.IsNullOrEmpty($"{rawNote}"))
{
e.InputParameters["Note"] = "-";
}
@@ -281,7 +290,7 @@ namespace GPW_Admin.WebUserControls
// se non trovato provo anno +1...
if (listRR == null || listRR.Count == 0)
{
listRR = RRListByAnno(anno+1);
listRR = RRListByAnno(anno + 1);
}
var richDip = listRR.Where(x => x.IdxRegRich == IdxRegRich).FirstOrDefault();
if (richDip != null)
@@ -290,7 +299,16 @@ namespace GPW_Admin.WebUserControls
var currUser = listaDip.Where(x => x.idxDipendente == richDip.IdxDipendente).FirstOrDefault();
string destEmail = currUser.email;
string fromEmail = memLayer.ML.CRS("_fromEmail");
string adminRichDip = memLayer.ML.CRS("adminRichDip");
string adminEmail = memLayer.ML.CRS("adminRichDip");
// calcolo il responsabile
if (currUser.idxResp > 0)
{
string mailResp = emailResp(currUser.idxResp);
if (!string.IsNullOrEmpty(mailResp) && !adminEmail.Contains(mailResp))
{
adminEmail += $",{mailResp}";
}
}
string subjMess = $"Aggiornamento richiesta n.{IdxRegRich}";
DateTime adesso = DateTime.Now;
StringBuilder sbMain = new StringBuilder();
@@ -314,7 +332,7 @@ namespace GPW_Admin.WebUserControls
// invio email!
gestEmail.geAuth.mandaEmail(fromEmail, destEmail, subjMess, bodyMess);
// ora sistemo x admin
var adminList = adminRichDip.Split(',');
var adminList = adminEmail.Split(',');
string urlRedir = memLayer.ML.CRS("urlRedirRich");
bodyMess += $"<hr/><br/>Cliccare sul <a href=\"{urlRedir}\">seguente link</a> per accedere alla pagina di gestione";
foreach (var dest in adminList)
@@ -0,0 +1,68 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_gestTagFasi.ascx.cs" Inherits="GPW_Admin.WebUserControls.cmp_gestTagFasi" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<div class="row small">
<div class="col-12">
<asp:GridView runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="CodTagFase" DataSourceID="ods" CssClass="table table-striped table-sm table-bordered small" ID="grView" OnDataBound="grView_DataBound" OnSelectedIndexChanged="grView_SelectedIndexChanged">
<EditRowStyle CssClass="table-primary" />
<SelectedRowStyle CssClass="table-info" />
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:LinkButton ID="lbtReset" runat="server" CssClass="btn btn-sm btn-info" ToolTip='<%# traduci("Reset") %>' CausesValidation="False" OnClick="btnReset_Click" Visible="true"><i class="fa fa-refresh" aria-hidden="true"></i></asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<div class="text-nowrap">
<asp:LinkButton runat="server" ID="lbtSelect" CssClass="btn btn-sm btn-info" CausesValidation="False" CommandName="Select" ToolTip='<%# traduci("Select") %>'><i class="fa fa-search" aria-hidden="true"></i></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtEdit" CssClass="btn btn-sm btn-primary" CausesValidation="False" CommandName="Edit" ToolTip='<%# traduci("Edit") %>' Visible='<%# chkLicOk %>'><i class="fa fa-edit" aria-hidden="true"></i></asp:LinkButton>
</div>
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton runat="server" ID="lbtUpdate" CssClass="btn btn-sm btn-success" CausesValidation="False" CommandName="Update" ToolTip='<%# traduci("Update") %>'><i class="fa fa-check" aria-hidden="true"></i></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtCancel" CssClass="btn btn-sm btn-warning" CausesValidation="False" CommandName="Cancel" ToolTip='<%# traduci("Cancel") %>'><i class="fa fa-ban" aria-hidden="true"></i></asp:LinkButton>
</EditItemTemplate>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
</asp:TemplateField>
<asp:BoundField DataField="CodTagFase" HeaderText="CodTagFase" SortExpression="CodTagFase" />
<asp:BoundField DataField="CodGruppo" HeaderText="CodGruppo" SortExpression="CodGruppo" />
<asp:BoundField DataField="Descrizione" HeaderText="Descrizione" SortExpression="Descrizione" />
<asp:CheckBoxField DataField="Enabled" HeaderText="Enabled" SortExpression="Enabled" />
<asp:BoundField DataField="NumFasi" HeaderText="NumFasi" SortExpression="NumFasi" ReadOnly="true" />
<asp:TemplateField>
<HeaderTemplate>
<asp:LinkButton runat="server" ID="lbt" CssClass="btn btn-sm btn-success" OnClick="btnNew_Click" ToolTip='<%# traduci("New") %>' Visible='<%# chkLicOk %>'><i class="fa fa-plus" aria-hidden="true"></i></asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:LinkButton runat="server" ID="lbtDelete" CssClass="btn btn-sm btn-danger" CausesValidation="False" CommandArgument='<%# Eval("CodTagFase") %>' CommandName="Delete" ToolTip='<%# traduci("Delete") %>' Visible='<%# Eval("NumFasi").ToString() == "0" %>'><i class="fa fa-trash" aria-hidden="true"></i></asp:LinkButton>
<asp:ConfirmButtonExtender ID="cbeDelete" runat="server" ConfirmText='<%# traduci("confermaDel")%>' TargetControlID="lbtDelete"></asp:ConfirmButtonExtender>
</ItemTemplate>
<EditItemTemplate>
</EditItemTemplate>
<ItemStyle HorizontalAlign="Center" />
<HeaderStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource runat="server" ID="ods" OldValuesParameterFormatString="Original_{0}" SelectMethod="GetData" TypeName="GPW_data.DS_ApplicazioneTableAdapters.AnagTagFasiTableAdapter" OnUpdating="ods_Updating" DeleteMethod="deleteQuery" InsertMethod="insertQuery" UpdateMethod="updateQuery">
<DeleteParameters>
<asp:Parameter Name="Original_CodTagFase" Type="String"></asp:Parameter>
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="CodTagFase" Type="String"></asp:Parameter>
<asp:Parameter Name="Descrizione" Type="String"></asp:Parameter>
<asp:Parameter Name="Enabled" Type="Boolean"></asp:Parameter>
<asp:Parameter Name="CodGruppo" Type="String"></asp:Parameter>
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="CodTagFase" Type="String"></asp:Parameter>
<asp:Parameter Name="Descrizione" Type="String"></asp:Parameter>
<asp:Parameter Name="Enabled" Type="Boolean"></asp:Parameter>
<asp:Parameter Name="CodGruppo" Type="String"></asp:Parameter>
<asp:Parameter Name="Original_CodTagFase" Type="String"></asp:Parameter>
</UpdateParameters>
</asp:ObjectDataSource>
<asp:Label ID="lblNumRec" runat="server" CssClass="txtMini" />
</div>
</div>
@@ -0,0 +1,156 @@
using GPW_data;
using SteamWare;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace GPW_Admin.WebUserControls
{
public partial class cmp_gestTagFasi : BaseUserControl
{
#region Public Methods
public void doUpdate()
{
grView.PageSize = utils.pageSize;
grView.DataBind();
}
/// <summary>
/// resetta la selezione dei valori in caso di modifiche su altri controlli
/// </summary>
public void resetSelezione()
{
grView.SelectedIndex = -1;
grView.DataBind();
raiseReset();
}
#endregion Public Methods
#region Protected Methods
/// <summary>
/// gestione evento richiesta nuovo valore (mostra footer, ...)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
DataProxy.DP.taATF.insertQuery("NEW TAG", "Descrizione", true, "");
resetSelezione();
}
/// <summary>
/// reset della selezione
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnReset_Click(object sender, EventArgs e)
{
resetSelezione();
}
/// <summary>
/// elenco colonne del datagrid
/// </summary>
/// <returns></returns>
protected DataColumnCollection colonneObj()
{
DataColumnCollection colonne = null;
using (
DS_Applicazione.AnagClientiDataTable tabella = new DS_Applicazione.AnagClientiDataTable())
{
colonne = tabella.Columns;
}
return colonne;
}
/// <summary>
/// traduce gli header delle colonne
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void grView_DataBound(object sender, EventArgs e)
{
if (grView.Rows.Count > 0)
{
LinkButton lb;
// aggiorno gli headers
foreach (TableCell cella in grView.HeaderRow.Cells)
{
try
{
lb = (LinkButton)cella.Controls[0];
lb.Text = traduci(lb.Text);
}
catch
{ }
}
int totRecord = grView.Rows.Count + grView.PageSize * (grView.PageCount - 1);
lblNumRec.Text = string.Format("{0} records of ~ {1}", grView.Rows.Count, totRecord);
}
else
{
lblNumRec.Text = "";
}
}
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
{
raiseEvent();
}
/// <summary>
/// annulla inserimento nuovo valore da footer
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lblCanc_click(object sender, EventArgs e)
{
// annullo inserimento: nascondo footer, bind controlli...
grView.FooterRow.Visible = false;
}
/// <summary>
/// inserisce nuovo valore da footer
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lblIns_click(object sender, EventArgs e)
{
// click su inserimento, chiamo il metodo insert dell'ObjectDataSource
ods.Insert();
}
/// <summary>
/// check licenze in fase di update...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ods_Updating(object sender, ObjectDataSourceMethodEventArgs e)
{
if (!licenzeGPW.checkLicenze)
{
if (e != null)
{
// annullo insert se licenze sforate...
e.Cancel = true;
grView.EditIndex = -1;
grView.DataBind();
}
}
}
protected void Page_Load(object sender, EventArgs e)
{
grView.PageSize = utils.pageSize;
}
#endregion Protected Methods
}
}
@@ -0,0 +1,44 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace GPW_Admin.WebUserControls
{
public partial class cmp_gestTagFasi
{
/// <summary>
/// grView control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.GridView grView;
/// <summary>
/// ods control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
/// <summary>
/// lblNumRec control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumRec;
}
}
@@ -0,0 +1,21 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_groupAssignClone.ascx.cs" Inherits="GPW_Admin.WebUserControls.cmp_groupAssignClone" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<div class="input-group mb-3" runat="server" id="divClone">
<asp:Label runat="server" ID="lblClona" CssClass="input-group-text">Clona</asp:Label>
<asp:DropDownList runat="server" ID="ddlFrom" class="form-select" DataSourceID="odsFrom" DataTextField="label" DataValueField="value"></asp:DropDownList>
<asp:ObjectDataSource ID="odsFrom" runat="server" SelectMethod="getByConditio" TypeName="GPW_data.DS_UtilityTableAdapters.v_selDipendentiTableAdapter" FilterExpression=" value > 0 ">
<SelectParameters>
<asp:Parameter Type="Boolean" Name="Conditio" DefaultValue="true" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:LinkButton runat="server" ID="lbtClona" CssClass="btn btn-success" OnClick="lbtClona_Click"><i class="fa fa-angle-double-right px-3" aria-hidden="true" title="Clona Assegnazioni"></i></asp:LinkButton>
<asp:ConfirmButtonExtender ID="cbeClone" runat="server" ConfirmText='<%# traduci("confirmClone")%>' TargetControlID="lbtClona"></asp:ConfirmButtonExtender>
<asp:DropDownList runat="server" ID="ddlTo" class="form-select" DataSourceID="odsTo" DataTextField="label" DataValueField="value"></asp:DropDownList>
<asp:ObjectDataSource ID="odsTo" runat="server" SelectMethod="getByConditio" TypeName="GPW_data.DS_UtilityTableAdapters.v_selDipendentiTableAdapter" FilterExpression=" value > 0 ">
<SelectParameters>
<asp:Parameter Type="Boolean" Name="Conditio" DefaultValue="false" />
</SelectParameters>
</asp:ObjectDataSource>
</div>
@@ -0,0 +1,59 @@
using GPW_data;
using System;
namespace GPW_Admin.WebUserControls
{
public partial class cmp_groupAssignClone : BaseUserControl
{
#region Protected Properties
protected int idxDipFrom
{
get
{
int answ = 0;
int.TryParse(ddlFrom.SelectedValue, out answ);
return answ;
}
}
protected int idxDipTo
{
get
{
int answ = 0;
int.TryParse(ddlTo.SelectedValue, out answ);
return answ;
}
}
#endregion Protected Properties
#region Protected Methods
/// <summary>
/// Clona assegnazioni dip FROM a dipendente TO
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtClona_Click(object sender, EventArgs e)
{
// eseguo cloning assegnazioni dip a nuovo (deve essere attivo)
if (idxDipFrom > 0 && idxDipTo > 0)
{
DataProxy.DP.taDip2Gruppi.cloneDip(idxDipFrom, idxDipTo);
}
raiseAddNew();
}
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
cbeClone.DataBind();
}
}
#endregion Protected Methods
}
}
@@ -0,0 +1,89 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace GPW_Admin.WebUserControls
{
public partial class cmp_groupAssignClone
{
/// <summary>
/// divClone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divClone;
/// <summary>
/// lblClona control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblClona;
/// <summary>
/// ddlFrom control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList ddlFrom;
/// <summary>
/// odsFrom control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsFrom;
/// <summary>
/// lbtClona control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtClona;
/// <summary>
/// cbeClone control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::AjaxControlToolkit.ConfirmButtonExtender cbeClone;
/// <summary>
/// ddlTo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList ddlTo;
/// <summary>
/// odsTo control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsTo;
}
}
@@ -33,7 +33,7 @@
});
</script>
<div runat="server" id="divGroup" class='<%# controlStyle %>'>
<asp:DropDownList ID="ddlSelPeriodo" runat="server" AutoPostBack="True" class="input-group-text" OnSelectedIndexChanged="ddlSelPeriodo_SelectedIndexChanged" DataSourceID="ods_ddlSelPeriodo" DataTextField="label" DataValueField="value">
<asp:DropDownList ID="ddlSelPeriodo" runat="server" AutoPostBack="True" class="form-select-sm" OnSelectedIndexChanged="ddlSelPeriodo_SelectedIndexChanged" DataSourceID="ods_ddlSelPeriodo" DataTextField="label" DataValueField="value">
</asp:DropDownList>
<asp:ObjectDataSource ID="ods_ddlSelPeriodo" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByTableField" TypeName="GPW_Data.DS_UtilityTableAdapters.v_selListValTableAdapter">
<SelectParameters>
@@ -1,7 +1,7 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_selettoreMesi.ascx.cs" Inherits="GPW_Admin.WebUserControls.cmp_selettoreMesi" %>
<div runat="server" id="divGroup" class='<%# controlStyle %>'>
<asp:DropDownList ID="ddlSelPeriodo" runat="server" AutoPostBack="True" class="input-group-text text-left" OnSelectedIndexChanged="ddlSelPeriodo_SelectedIndexChanged" DataSourceID="ods_ddlSelPeriodo" DataTextField="label" DataValueField="value">
<asp:DropDownList ID="ddlSelPeriodo" runat="server" AutoPostBack="True" class="form-select-sm text-start" OnSelectedIndexChanged="ddlSelPeriodo_SelectedIndexChanged" DataSourceID="ods_ddlSelPeriodo" DataTextField="label" DataValueField="value">
</asp:DropDownList>
<asp:ObjectDataSource ID="ods_ddlSelPeriodo" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByTableField" TypeName="GPW_Data.DS_UtilityTableAdapters.v_selListValTableAdapter">
<SelectParameters>
@@ -97,7 +97,7 @@ namespace GPW_Admin.WebUserControls
{
string urlName = showExt ? "smartBaseUrlExt" : "smartBaseUrlInt";
// se vuole modalità core --> sostituisco
if(linkCore)
if (linkCore)
{
urlName += "Core";
}
@@ -107,9 +107,14 @@ namespace GPW_Admin.WebUserControls
string baseUrl = $"{memLayer.ML.CRS("UrlQRCodeGen")}/HOME/QR_site/{memLayer.ML.CRS("UrlQuery")}";
string urlEncoded = memLayer.ML.CRS(urlName) + HttpUtility.UrlEncode("jumper?idxDipendente={0}&UserAuthkey={1}");
#if false
if (linkCore)
{
urlEncoded = memLayer.ML.CRS(urlName) + HttpUtility.UrlEncode("jumper?idxDipendente={0}&authKey={1}");
}
//string rawUrl = memLayer.ML.CRS(urlName) + "jumper?idxDipendente={0}&UserAuthkey={1}";
//string urlEncoded = HttpUtility.UrlEncode(rawUrl);
//string urlEncoded = HttpUtility.UrlEncode(rawUrl);
#endif
qrPayload currPayload = new qrPayload()
{
@@ -95,11 +95,11 @@
<asp:Label ID="lblcodOrario" runat="server" Text='<%# Eval("codOrario") %>' />
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList runat="server" ID="dlCodOrario" SelectedValue='<%# Bind("codOrario") %>' DataSourceID="odsOrario" DataTextField="label"
<asp:DropDownList runat="server" ID="dlCodOrario" CssClass="form-select-sm" SelectedValue='<%# Bind("codOrario") %>' DataSourceID="odsOrario" DataTextField="label"
DataValueField="value" />
</EditItemTemplate>
<FooterTemplate>
<asp:DropDownList runat="server" ID="dlCodOrario" SelectedValue='<%# Bind("codOrario") %>' DataSourceID="odsOrario" DataTextField="label"
<asp:DropDownList runat="server" ID="dlCodOrario" CssClass="form-select-sm" SelectedValue='<%# Bind("codOrario") %>' DataSourceID="odsOrario" DataTextField="label"
DataValueField="value" />
</FooterTemplate>
</asp:TemplateField>
@@ -227,12 +227,10 @@
<asp:Label ID="lblgruppo" runat="server" Text='<%# Eval("gruppo") %>' /></b>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList runat="server" ID="dlgruppo" SelectedValue='<%# Bind("gruppo") %>' DataSourceID="odsGruppi" DataTextField="label"
DataValueField="value" />
<asp:DropDownList runat="server" ID="dlgruppo" CssClass="form-select-sm" SelectedValue='<%# Bind("gruppo") %>' DataSourceID="odsGruppi" DataTextField="label" DataValueField="value" Width="150" />
</EditItemTemplate>
<FooterTemplate>
<asp:DropDownList runat="server" ID="dlgruppo" SelectedValue='<%# Bind("gruppo") %>' DataSourceID="odsGruppi" DataTextField="label"
DataValueField="value" />
<asp:DropDownList runat="server" ID="dlgruppo" CssClass="form-select-sm" SelectedValue='<%# Bind("gruppo") %>' DataSourceID="odsGruppi" DataTextField="label" DataValueField="value" Width="150" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left" HeaderStyle-HorizontalAlign="Left" HeaderText="StatoLicenza" SortExpression="attivo">
@@ -271,6 +269,17 @@
<asp:CheckBox ID="chkattivo" runat="server" Checked='<%# Bind("attivo") %>' Enabled="false" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right" HeaderStyle-HorizontalAlign="Right" HeaderText="Responsabile" SortExpression="idxDesp">
<ItemTemplate>
<asp:DropDownList runat="server" ID="dlidxResp" DataSourceID="odsDip" CssClass="form-select-sm" SelectedValue='<%# Bind("idxResp") %>' DataValueField="value" DataTextField="label" Enabled="false"></asp:DropDownList>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList runat="server" ID="dlidxResp" DataSourceID="odsDip" CssClass="form-select-sm" SelectedValue='<%# Bind("idxResp") %>' DataValueField="value" DataTextField="label"></asp:DropDownList>
</EditItemTemplate>
<FooterTemplate>
<asp:DropDownList runat="server" ID="dlidxResp" DataSourceID="odsDip" CssClass="form-select-sm" SelectedValue='<%# Bind("idxResp") %>' DataValueField="value" DataTextField="label"></asp:DropDownList>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField ShowHeader="False">
<HeaderTemplate>
<asp:LinkButton runat="server" ID="lbtNew" CssClass="btn btn-sm btn-success" OnClick="btnNew_Click" ToolTip='<%# traduci("New") %>' Visible='<%# chkLicOk %>'><i class="fa fa-plus" aria-hidden="true"></i></asp:LinkButton>
@@ -285,7 +294,7 @@
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ods" runat="server" OnInserting="recuperaFooter" DeleteMethod="deleteQuery" InsertMethod="insertQuery" OldValuesParameterFormatString="original_{0}" SelectMethod="getAttivi" TypeName="GPW_data.DS_ApplicazioneTableAdapters.DipendentiTableAdapter" UpdateMethod="updateQuery" FilterExpression=" (Cognome like '%{0}%') OR (Nome like '%{0}%') OR (CF like '%{0}%') OR (matricola like '%{0}%') OR (email like '%{0}%') " OnUpdating="ods_Updating" OnDeleting="ods_Deleting">
<asp:ObjectDataSource ID="ods" runat="server" OnInserting="recuperaFooter" DeleteMethod="deleteQuery" InsertMethod="insertQuery" OldValuesParameterFormatString="Original_{0}" SelectMethod="getAttivi" TypeName="GPW_data.DS_ApplicazioneTableAdapters.DipendentiTableAdapter" UpdateMethod="updateQuery" FilterExpression=" (Cognome like '%{0}%') OR (Nome like '%{0}%') OR (CF like '%{0}%') OR (matricola like '%{0}%') OR (email like '%{0}%') " OnUpdating="ods_Updating" OnDeleting="ods_Deleting">
<FilterParameters>
<asp:SessionParameter SessionField="valoreSearch" Type="String" />
</FilterParameters>
@@ -309,6 +318,7 @@
<asp:Parameter Name="gruppo" Type="String" />
<asp:Parameter Name="authKey" Type="String" />
<asp:Parameter Name="attivo" Type="Boolean" DefaultValue="false" />
<asp:Parameter Name="idxResp" Type="Int32" />
</InsertParameters>
<SelectParameters>
<asp:ControlParameter ControlID="chkshowAll" DefaultValue="false" Name="showAll" PropertyName="Checked" Type="Boolean" />
@@ -331,9 +341,15 @@
<asp:Parameter Name="gruppo" Type="String" />
<asp:Parameter Name="dataAssunzione" Type="DateTime" />
<asp:Parameter Name="dataCessazione" Type="DateTime" />
<asp:Parameter Name="idxResp" Type="Int32" />
<asp:Parameter Name="Original_idxDipendente" Type="Int32" />
</UpdateParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="odsDip" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByRuolo" TypeName="GPW_data.DS_UtilityTableAdapters.v_selDipendentiTableAdapter">
<SelectParameters>
<asp:Parameter Name="CodRuolo" Type="String" DefaultValue="Responsabile" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:Label ID="lblNumRec" runat="server" CssClass="txtMini" />
</div>
<asp:ObjectDataSource ID="odsOrario" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData"
@@ -341,4 +357,4 @@
<asp:ObjectDataSource runat="server" ID="odsGruppi" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData"
TypeName="GPW_data.DS_UtilityTableAdapters.v_selGruppiTableAdapter"></asp:ObjectDataSource>
<asp:HiddenField runat="server" ID="hfReqTicket" />
<asp:HiddenField runat="server" ID="hfShowTickets" />
<asp:HiddenField runat="server" ID="hfShowTickets" />
@@ -505,6 +505,15 @@ namespace GPW_Admin.WebUserControls
DateTime adesso = DateTime.Now;
string md5UserAuthKey = SteamCrypto.EncryptString($"{codCF}.{adesso:yyMMddHHmmss}", "AuthGPW");
e.InputParameters["authKey"] = $"{md5UserAuthKey}";
// fix confersione dt
DateTime dtNasc = DateTime.Today;
try
{
dtNasc = DateTime.Parse($"{e.InputParameters["dataNascita"]}");
}
catch
{ }
e.InputParameters["dataNascita"] = $"{dtNasc:yyyy-MM-dd}";
}
else
{
@@ -95,6 +95,15 @@ namespace GPW_Admin.WebUserControls
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
/// <summary>
/// odsDip control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsDip;
/// <summary>
/// lblNumRec control.
/// </summary>
+67 -34
View File
@@ -11,20 +11,31 @@
<div class="col-2" runat="server" id="divReturn">
<asp:HyperLink runat="server" ID="hlReturnProj" NavigateUrl="~/progetti" CssClass="btn w-100 btn-warning"><i class="fa fa-arrow-left" aria-hidden="true"></i> Progetti</asp:HyperLink>
</div>
<div class="col-4">
<uc1:mod_filtro ID="filtroCli" runat="server" filterChekText="filtroCliente" comboWidth="150" changeCheckVisible="false" isChecked="true" />
<asp:ObjectDataSource ID="odsClienti" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData"
TypeName="GPW_data.DS_UtilityTableAdapters.v_selClientiTableAdapter"></asp:ObjectDataSource>
</div>
<div class="col-6">
<uc1:mod_filtro ID="filtroPrj" runat="server" filterChekText="filtroProgetto" comboWidth="200" changeCheckEnabled="false" changeCheckVisible="false" isChecked="true" />
<asp:ObjectDataSource ID="odsProj" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByConditio"
TypeName="GPW_data.DS_UtilityTableAdapters.v_selProgettiTableAdapter">
<SelectParameters>
<asp:ControlParameter ControlID="filtroCli" DefaultValue="0" PropertyName="valore" Name="conditio" Type="String" />
<asp:Parameter DefaultValue="false" Name="soloAttivi" Type="Boolean" />
</SelectParameters>
</asp:ObjectDataSource>
<div class="d-flex">
<div>
<uc1:mod_filtro ID="filtroCli" runat="server" filterChekText="filtroCliente" comboWidth="150" changeCheckVisible="false" isChecked="true" />
<asp:ObjectDataSource ID="odsClienti" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData"
TypeName="GPW_data.DS_UtilityTableAdapters.v_selClientiTableAdapter"></asp:ObjectDataSource>
</div>
<div>
<uc1:mod_filtro ID="filtroPrj" runat="server" filterChekText="filtroProgetto" comboWidth="200" changeCheckEnabled="false" changeCheckVisible="false" isChecked="true" />
<asp:ObjectDataSource ID="odsProj" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByConditio"
TypeName="GPW_data.DS_UtilityTableAdapters.v_selProgettiTableAdapter">
<SelectParameters>
<asp:ControlParameter ControlID="filtroCli" DefaultValue="0" PropertyName="valore" Name="conditio" Type="String" />
<asp:Parameter DefaultValue="false" Name="soloAttivi" Type="Boolean" />
</SelectParameters>
</asp:ObjectDataSource>
</div>
</div>
</div>
<div class="col-4">
<div class="input-group">
<asp:DropDownList runat="server" ID="ddlTagFaseSet" class="form-select-sm" DataSourceID="odsTagFase" DataTextField="label" DataValueField="value"></asp:DropDownList>
<asp:LinkButton runat="server" ID="lbtForceSet" CssClass="btn btn-danger" OnClick="lbtForceSet_Click"><i class="fa fa-arrow-left" aria-hidden="true" ></i> Force SET All</asp:LinkButton>
<asp:ConfirmButtonExtender ID="cbeForceSet" runat="server" ConfirmText='<%# traduci("confermaForceSet")%>' TargetControlID="lbtForceSet"></asp:ConfirmButtonExtender>
</div>
</div>
</div>
</div>
@@ -61,7 +72,7 @@
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left" HeaderText="nomeFase" SortExpression="nomeFase">
<ItemTemplate>
<div class="d-flex text-left">
<div class="d-flex text-start">
<div class="p-0">
<asp:Image runat="server" ID="imgSpaz" Width='<%# widthByCod(Eval("codFase")) %>' ImageUrl="~/images/EmptyImg.png" />
</div>
@@ -77,27 +88,40 @@
</div>
</ItemTemplate>
<EditItemTemplate>
<div class="divSx">
<asp:Image runat="server" ID="imgSpaz" Width='<%# widthByCod(Eval("codFase")) %>' ImageUrl="~/images/EmptyImg.png" />
</div>
<div class="divSx">
<asp:TextBox ID="txtnomeFase" runat="server" Text='<%# Bind("nomeFase") %>' Width="20em" />
&nbsp;
<asp:TextBox ID="txtdescrizioneFase" runat="server" Text='<%# Bind("descrizioneFase") %>' Width="20em" />
<div class="input-group input-group-sm">
<span class="input-group-text">nome:</span>
<asp:TextBox ID="txtnomeFase" CssClass="form-control" runat="server" Text='<%# Bind("nomeFase") %>' Width="20em" />
<span class="input-group-text">desc:</span>
<asp:TextBox ID="txtdescrizioneFase" CssClass="form-control" runat="server" Text='<%# Bind("descrizioneFase") %>' Width="20em" />
</div>
</EditItemTemplate>
<FooterTemplate>
<div class="divSx">
<asp:Image runat="server" ID="imgSpaz" Width='<%# widthByCod(Eval("codFase")) %>' ImageUrl="~/images/EmptyImg.png" />
</div>
<div class="divSx">
<asp:TextBox ID="txtnomeFase" runat="server" Text='<%# Bind("nomeFase") %>' Width="20em" />
&nbsp;
<asp:TextBox ID="txtdescrizioneFase" runat="server" Text='<%# Bind("descrizioneFase") %>' Width="20em" />
<div class="input-group input-group-sm">
<span class="input-group-text">nome:</span>
<asp:TextBox ID="txtnomeFase" CssClass="form-control" runat="server" Text='<%# Bind("nomeFase") %>' Width="20em" />
<span class="input-group-text">desc:</span>
<asp:TextBox ID="txtdescrizioneFase" CssClass="form-control" runat="server" Text='<%# Bind("descrizioneFase") %>' Width="20em" />
</div>
</FooterTemplate>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left" HeaderText="CodTagFase" SortExpression="CodTagFase">
<ItemTemplate>
<asp:Panel runat="server" ID="pnlTagFase" Width="14em" Visible='<%# Bind("enableTime") %>'>
<asp:DropDownList runat="server" ID="ddlTagFase" class="form-select-sm" DataSourceID="odsTagFase" DataTextField="label" DataValueField="value" Enabled="false" SelectedValue='<%# Bind("CodTagFase") %>'></asp:DropDownList>
</asp:Panel>
</ItemTemplate>
<EditItemTemplate>
<asp:Panel runat="server" ID="pnlTagFase" Width="14em">
<asp:DropDownList runat="server" ID="ddlTagFase" class="form-select-sm small" DataSourceID="odsTagFase" DataTextField="label" DataValueField="value" SelectedValue='<%# Bind("CodTagFase") %>'></asp:DropDownList>
</asp:Panel>
</EditItemTemplate>
<FooterTemplate>
<asp:Panel runat="server" ID="pnlTagFase" Width="14em">
<asp:DropDownList runat="server" ID="ddlTagFase" class="form-select-sm" DataSourceID="odsTagFase" DataTextField="label" DataValueField="value" SelectedValue='<%# Bind("CodTagFase") %>'></asp:DropDownList>
</asp:Panel>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="timeTrack" SortExpression="enableTime">
<ItemTemplate>
<ajaxToolkit:ToggleButtonExtender ID="tglTime" runat="server" TargetControlID="chkenableTime" ImageWidth="22" ImageHeight="22"
@@ -149,11 +173,15 @@
</asp:Panel>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtbudgetTime" runat="server" Text='<%# Bind("budgetTime") %>' Width="3em" />
<div class="input-group input-group-sm">
<asp:TextBox ID="txtbudgetTime" runat="server" CssClass="form-control" Text='<%# Bind("budgetTime") %>' Width="6em" />
</div>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtbudgetTime" runat="server" Text='<%# Bind("budgetTime") %>' Width="3em" />
<asp:RequiredFieldValidator runat="server" ID="rfvBudgetTime" ControlToValidate="txtbudgetTime" CssClass="text-danger" ErrorMessage="!!!" />
<div class="input-group input-group-sm">
<asp:TextBox ID="txtbudgetTime" runat="server" CssClass="form-control" Text='<%# Bind("budgetTime") %>' Width="6em" />
<asp:RequiredFieldValidator runat="server" ID="rfvBudgetTime" ControlToValidate="txtbudgetTime" CssClass="text-danger" ErrorMessage="!!!" />
</div>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="percOpen" SortExpression="percOpen" ItemStyle-HorizontalAlign="Center">
@@ -161,11 +189,15 @@
<asp:Label ID="lblpercOpen" runat="server" Text='<%# Eval("percOpen","{0:P2}") %>' Visible='<%# Eval("IdxFaseAncest").ToString() == "0" %>' />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtpercOpen" runat="server" Text='<%# Bind("percOpen") %>' Width="3em" Enabled='<%# Eval("IdxFaseAncest").ToString() == "0" %>' />
<div class="input-group input-group-sm">
<asp:TextBox ID="txtpercOpen" runat="server" CssClass="form-control" Text='<%# Bind("percOpen") %>' Width="3em" Enabled='<%# Eval("IdxFaseAncest").ToString() == "0" %>' />
</div>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtpercOpen" runat="server" Text='<%# Bind("percOpen") %>' Width="3em" />
<asp:RequiredFieldValidator runat="server" ID="rfvpercOpen" ControlToValidate="txtpercOpen" CssClass="text-danger" ErrorMessage="!!!" />
<div class="input-group input-group-sm">
<asp:TextBox ID="txtpercOpen" runat="server" CssClass="form-control" Text='<%# Bind("percOpen") %>' Width="3em" />
<asp:RequiredFieldValidator runat="server" ID="rfvpercOpen" ControlToValidate="txtpercOpen" CssClass="text-danger" ErrorMessage="!!!" />
</div>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Attivo" SortExpression="Attivo" ItemStyle-HorizontalAlign="Center">
@@ -243,6 +275,7 @@
<asp:Parameter Name="Original_idxFase" Type="Int32" />
</UpdateParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="odsTagFase" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="GPW_data.DS_UtilityTableAdapters.v_selTagFasiTableAdapter"></asp:ObjectDataSource>
<asp:Label ID="lblNumRec" runat="server" CssClass="txtMini" />
<asp:Panel runat="server" ID="pnlDetRA">
<asp:Label runat="server" ID="lblDet" Text="---" />
@@ -283,6 +283,18 @@ namespace GPW_Admin.WebUserControls
resetSelezione();
}
/// <summary>
/// Effettua mass update del CodTagFase x tutte le fasi di progetto
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtForceSet_Click(object sender, EventArgs e)
{
string codTagFase = ddlTagFaseSet.SelectedValue;
DataProxy.DP.taAF.updCodFaseByProj(idxProgetto, codTagFase);
resetSelezione();
}
/// <summary>
/// elenco colonne del datagrid
/// </summary>

Some files were not shown because too many files have changed in this diff Show More