Compare commits
71 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 70f70fc5ba | |||
| f5225b2a14 | |||
| e6b5de5ceb | |||
| b52de35e41 | |||
| 2aeda792cd | |||
| f719bdb22a | |||
| b679d8da4e | |||
| 1b84a2e325 | |||
| 5cdae01434 | |||
| c803ccf1a6 | |||
| 3f1aa9e26d | |||
| 9588d09046 | |||
| 811586ce48 | |||
| 102bd0cf3e | |||
| 2ca7525781 | |||
| 7034fdcf03 | |||
| b39352f373 | |||
| 8c5a07de6f | |||
| b7257ab43b | |||
| ccff088508 | |||
| e823b58a3e | |||
| b3d0a2bcb2 | |||
| 33d5afd4e3 | |||
| 18eadfd8f2 | |||
| 2af2e1edaf | |||
| bbc477cf6c | |||
| f01359fbd9 | |||
| 2e0281fd56 | |||
| f7597762bb | |||
| cc4593912f | |||
| be2e967ba9 | |||
| 28fdde2955 | |||
| 805cb3321e | |||
| b0c8c5ddda | |||
| 26304ba711 | |||
| bf3969cf5e | |||
| 8a0f0aee3e | |||
| 1fa79e396c | |||
| 17d5431e93 | |||
| fa42649374 | |||
| 03e7c78b97 | |||
| 56d92e929c | |||
| b8edad32b2 | |||
| 868c51b18d | |||
| b954b39cbf | |||
| 3687de3f94 | |||
| 4f1e7da206 | |||
| d8a646dbf9 | |||
| 8e8fabaea9 | |||
| ca0466f30a | |||
| 41690f4609 | |||
| 97e28dcced | |||
| f7979137e9 | |||
| f10132ee7f | |||
| 2589eaad34 | |||
| 8b9b080912 | |||
| c3bc2d1cea | |||
| f35d3c8815 | |||
| c82907fadb | |||
| 737dba03ff | |||
| 9995a3ad8f | |||
| c8252a34e0 | |||
| 88cf7b12ff | |||
| 69d0e792e8 | |||
| 2e72037508 | |||
| f225c2105a | |||
| 9bf679dda9 | |||
| d7e163a851 | |||
| 3f79a2cca4 | |||
| ceec3427ec | |||
| 792933bfa3 |
+2
-1
@@ -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'
|
||||
|
||||
Vendored
-325
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 > 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 > 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 > 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
|
||||
}
|
||||
}
|
||||
@@ -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">
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
+2
-2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+70
-1
@@ -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
+2
-2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+86
-115
@@ -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
Vendored
+2
-2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+90
-115
@@ -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
+2
-2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+103
-56
@@ -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">
|
||||
|
||||
@@ -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
@@ -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
+2
-2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+107
-109
@@ -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
+2
-2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+108
-110
@@ -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
Vendored
+2
-2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+948
-1125
File diff suppressed because it is too large
Load Diff
+2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+930
-1107
File diff suppressed because it is too large
Load Diff
+2
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -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
@@ -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="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"/>
|
||||
<!--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-->
|
||||
@@ -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" />
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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,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="..." />
|
||||
| <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>
|
||||
|
||||
@@ -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" />
|
||||
|
||||
<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" />
|
||||
|
||||
<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
Reference in New Issue
Block a user