Merge branch 'develop'
@@ -69,14 +69,14 @@
|
||||
<Reference Include="Microsoft.ReportViewer.WinForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.ReportViewer.Runtime.WinForms.12.0.2402.15\lib\Microsoft.ReportViewer.WinForms.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MongoDB.Bson, Version=2.10.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Bson.2.10.0\lib\net452\MongoDB.Bson.dll</HintPath>
|
||||
<Reference Include="MongoDB.Bson, Version=2.10.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Bson.2.10.1\lib\net452\MongoDB.Bson.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MongoDB.Driver, Version=2.10.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Driver.2.10.0\lib\net452\MongoDB.Driver.dll</HintPath>
|
||||
<Reference Include="MongoDB.Driver, Version=2.10.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Driver.2.10.1\lib\net452\MongoDB.Driver.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MongoDB.Driver.Core, Version=2.10.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Driver.Core.2.10.0\lib\net452\MongoDB.Driver.Core.dll</HintPath>
|
||||
<Reference Include="MongoDB.Driver.Core, Version=2.10.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Driver.Core.2.10.1\lib\net452\MongoDB.Driver.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MongoDB.Libmongocrypt, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Libmongocrypt.1.0.0\lib\net452\MongoDB.Libmongocrypt.dll</HintPath>
|
||||
@@ -94,7 +94,7 @@
|
||||
<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.1.0\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
|
||||
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.1.1\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SharpCompress, Version=0.24.0.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SharpCompress.0.24.0\lib\net45\SharpCompress.dll</HintPath>
|
||||
@@ -105,8 +105,8 @@
|
||||
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\StackExchange.Redis.2.0.601\lib\net461\StackExchange.Redis.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SteamWare, Version=3.5.1912.708, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.3.5.1912.708\lib\net462\SteamWare.dll</HintPath>
|
||||
<Reference Include="SteamWare, Version=3.5.2001.709, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.3.5.2001.709\lib\net462\SteamWare.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
@@ -175,6 +175,7 @@
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>DS_Report.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Enum.cs" />
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
@@ -228,6 +229,7 @@
|
||||
<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" />
|
||||
<Content Include="mongocrypt.dll" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets')" />
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
using Newtonsoft.Json;
|
||||
using MongoDB.Driver;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
using NKC_SDK;
|
||||
using SteamWare;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Web;
|
||||
|
||||
namespace AppData
|
||||
{
|
||||
@@ -12,6 +15,132 @@ namespace AppData
|
||||
/// </summary>
|
||||
public class ComLib
|
||||
{
|
||||
#region Gestione persistenza risposte via REST da NESTING
|
||||
|
||||
/// <summary>
|
||||
/// Database corrente MongoDB
|
||||
/// </summary>
|
||||
IMongoDatabase database;
|
||||
/// <summary>
|
||||
/// Init classe ComLib
|
||||
/// </summary>
|
||||
public ComLib()
|
||||
{
|
||||
database = memLayer.ML.getMongoDatabase("NKC");
|
||||
}
|
||||
/// <summary>
|
||||
/// Classe impiego sstatico ComLib...
|
||||
/// </summary>
|
||||
public static ComLib man = new ComLib();
|
||||
|
||||
/// <summary>
|
||||
/// Salva una risposta ricevuta x STIMA
|
||||
/// </summary>
|
||||
/// <param name="nestAnsw">Stringa della risposta JSON ricevuta dal nesting</param>
|
||||
/// <returns></returns>
|
||||
public bool saveEstAnsw(nestReplyBatchInitial nestAnsw)
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
// definisco filtro
|
||||
var filtBuilder = Builders<nestReplyBatchInitial>.Filter;
|
||||
var filter = filtBuilder.Eq<int>("BatchID", nestAnsw.BatchID);
|
||||
var collRawData = database.GetCollection<nestReplyBatchInitial>("EstimationArchive");
|
||||
// elimino old
|
||||
collRawData.DeleteMany(filter);
|
||||
// aggiungo
|
||||
collRawData.InsertOne(nestAnsw);
|
||||
|
||||
answ = true;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Salva una risposta ricevuta x NESTING
|
||||
/// </summary>
|
||||
/// <param name="nestAnsw">Stringa della risposta JSON ricevuta dal nesting</param>
|
||||
/// <returns></returns>
|
||||
public bool saveNestAnsw(nestReplyBatchFinal nestAnsw)
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
// definisco filtro
|
||||
var filtBuilder = Builders<nestReplyBatchFinal>.Filter;
|
||||
var filter = filtBuilder.Eq<int>("BatchID", nestAnsw.BatchID);
|
||||
var collRawData = database.GetCollection<nestReplyBatchFinal>("NestingArchive");
|
||||
// elimino old
|
||||
collRawData.DeleteMany(filter);
|
||||
// aggiungo
|
||||
collRawData.InsertOne(nestAnsw);
|
||||
answ = true;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Recupero risposta stima salvata
|
||||
/// </summary>
|
||||
/// <param name="BatchID"></param>
|
||||
/// <returns></returns>
|
||||
public nestReplyBatchInitial getEstAnsw(int BatchID)
|
||||
{
|
||||
nestReplyBatchInitial answ = null;
|
||||
try
|
||||
{
|
||||
// definisco filtro
|
||||
var filtBuilder = Builders<nestReplyBatchInitial>.Filter;
|
||||
var filter = filtBuilder.Eq<int>("BatchID", BatchID);
|
||||
var collRawData = database.GetCollection<nestReplyBatchInitial>("EstimationArchive");
|
||||
// recupero
|
||||
answ = collRawData.Find(filter).Project<nestReplyBatchInitial>("{_id: 0}").FirstOrDefault<nestReplyBatchInitial>();
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Recupero risposta nesting salvata
|
||||
/// </summary>
|
||||
/// <param name="BatchID"></param>
|
||||
/// <returns></returns>
|
||||
public nestReplyBatchFinal getNestAnsw(int BatchID)
|
||||
{
|
||||
nestReplyBatchFinal answ = null;
|
||||
try
|
||||
{
|
||||
// definisco filtro
|
||||
var filtBuilder = Builders<nestReplyBatchFinal>.Filter;
|
||||
var filter = filtBuilder.Eq<int>("BatchID", BatchID);
|
||||
FindOptions opz = new FindOptions { ShowRecordId = false };
|
||||
var collRawData = database.GetCollection<nestReplyBatchFinal>("NestingArchive");
|
||||
// recupero
|
||||
answ = collRawData.Find(filter).Project<nestReplyBatchFinal>("{_id: 0}").FirstOrDefault<nestReplyBatchFinal>();
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// restitusice ultima chiamata REST registrata su REDIS
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static string lastRestAnsw()
|
||||
{
|
||||
string answ = "";
|
||||
// recupero ultima call
|
||||
string redKey = $"{redNestAnsw}:LAST_CALL";
|
||||
answ = memLayer.ML.getRSV(redKey);
|
||||
return answ;
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Wrapper traduzione termini
|
||||
@@ -293,7 +422,7 @@ namespace AppData
|
||||
if (hasValReq)
|
||||
{
|
||||
// invia a redis una richiesta...
|
||||
ComLib.sendMaterials();
|
||||
sendMaterials();
|
||||
// recupero PRIMO batchID da validare
|
||||
int nextBatchId = 0;
|
||||
try
|
||||
@@ -305,7 +434,7 @@ namespace AppData
|
||||
if (nextBatchId > 0)
|
||||
{
|
||||
// richiedo!
|
||||
ComLib.sendBatchReq(nextBatchId, "Estimation", 1);
|
||||
sendBatchReq(nextBatchId, "Estimation", 1);
|
||||
// registro su DB nesting iniziato... QUANDO MI RISPONDE dovrò verificare che era un abtch x VALIDAZIONE
|
||||
DataLayer.man.taBL.updateStatus(nextBatchId, (int)BatchStatus.EstimationRequested, "", 0);
|
||||
answ = true;
|
||||
@@ -717,9 +846,9 @@ namespace AppData
|
||||
foreach (Part currItem in PartList)
|
||||
{
|
||||
// calcolo parametri...
|
||||
PostProcList = ComLib.getPostProcList(currItem.OptParameters);
|
||||
ProcessesReq = ComLib.getProcessesReq(currItem.OptParameters);
|
||||
pdfFilePath = ComLib.getPdfFilePath(currItem.OptParameters);
|
||||
PostProcList = getPostProcList(currItem.OptParameters);
|
||||
ProcessesReq = getProcessesReq(currItem.OptParameters);
|
||||
pdfFilePath = getPdfFilePath(currItem.OptParameters);
|
||||
DataLayer.man.taIL.updateFromNesting(currItem.PartId, currItem.MatId, PostProcList, ProcessesReq, pdfFilePath);
|
||||
}
|
||||
}
|
||||
@@ -774,7 +903,6 @@ namespace AppData
|
||||
{
|
||||
case "AssemblyCell":
|
||||
case "PaintFlag":
|
||||
case "RoundEdge":
|
||||
// se contiene YES aggiungo...
|
||||
if (currOpt.Value.ToLower() == "yes")
|
||||
{
|
||||
@@ -1126,7 +1254,7 @@ namespace AppData
|
||||
ProdSheet currPanel;
|
||||
foreach (var item in tabSheets)
|
||||
{
|
||||
// converto i workData
|
||||
// converto i workData con check null sul campo data
|
||||
WorkData wdPrint = new WorkData()
|
||||
{
|
||||
DtStart = item.IsPrntStartNull() ? null : (DateTime?)item.PrntStart,
|
||||
@@ -1279,5 +1407,400 @@ namespace AppData
|
||||
|
||||
#endregion
|
||||
|
||||
#region metodi x UNLOAD
|
||||
|
||||
/// <summary>
|
||||
/// Calcola area REDIS per FOGLIO in fase di scarico
|
||||
/// </summary>
|
||||
/// <param name="SheetID"></param>
|
||||
/// <returns></returns>
|
||||
public static string machineUnloadArea(int SheetID)
|
||||
{
|
||||
// se 0 --> tutto l'albero, sennò solo area corrente...
|
||||
string answ = "";
|
||||
if (SheetID > 0)
|
||||
{
|
||||
answ = memLayer.ML.redHash($"MachineUnload:{SheetID}");
|
||||
}
|
||||
else
|
||||
{
|
||||
answ = memLayer.ML.redHash($"MachineUnload");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Svuota elenco pezzi nella postazione di unload
|
||||
/// </summary>
|
||||
/// <param name="SheetID"></param>
|
||||
/// <returns></returns>
|
||||
public bool resetSheetUnload(int SheetID = 0)
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
memLayer.ML.redFlushKey(machineUnloadArea(SheetID));
|
||||
answ = true;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sheetID"></param>
|
||||
/// <returns></returns>
|
||||
public static string getCurrentCss(int sheetID)
|
||||
{
|
||||
// area REDIS!
|
||||
string redKeyBase = $"{machineUnloadArea(sheetID)}";
|
||||
// TTL standard
|
||||
int dataCacheTTL = memLayer.ML.cdvi("cssCacheTTL");
|
||||
dataCacheTTL = dataCacheTTL <= 0 ? 60 : dataCacheTTL;
|
||||
// files
|
||||
string filename = HttpContext.Current.Server.MapPath("~/Content/SheetColor.css");
|
||||
string answ = File.ReadAllText(filename);
|
||||
|
||||
// elenco items da foglio!!!
|
||||
var tabItems = DataLayer.man.taIL.getBySheet(sheetID);
|
||||
List<string> itemsAll = new List<string>();
|
||||
List<string> itemsDepo = new List<string>();
|
||||
List<string> itemsCart = new List<string>();
|
||||
List<string> itemsBin = new List<string>();
|
||||
List<string> itemsSecOp = new List<string>();
|
||||
|
||||
//se ho items...
|
||||
if (tabItems.Count > 0)
|
||||
{
|
||||
// ciclo!
|
||||
foreach (var item in tabItems)
|
||||
{
|
||||
// aggiungoncomunque a lista generale...
|
||||
itemsAll.Add(item.ItemDtmx);
|
||||
// controllo SE sia stato depositato... check null su campo data
|
||||
if (!item.IsOnCartDateNull())
|
||||
{
|
||||
itemsDepo.Add(item.ItemDtmx);
|
||||
}
|
||||
else if (item.ProcessesReq.Contains("PaintFlag"))
|
||||
{
|
||||
itemsBin.Add(item.ItemDtmx);
|
||||
}
|
||||
else
|
||||
{
|
||||
itemsCart.Add(item.ItemDtmx);
|
||||
}
|
||||
// controllo ANCHE postprocessing
|
||||
if (item.PostProcList != "")
|
||||
{
|
||||
itemsSecOp.Add(item.ItemDtmx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// FIX BIN
|
||||
answ = updateCssByItemList(answ, redKeyBase, "ItemsBin", itemsBin, dataCacheTTL);
|
||||
|
||||
// FIX CART
|
||||
answ = updateCssByItemList(answ, redKeyBase, "ItemsCart", itemsCart, dataCacheTTL);
|
||||
|
||||
// FIX Scaricati
|
||||
answ = updateCssByItemList(answ, redKeyBase, "ItemsDepo", itemsDepo, dataCacheTTL);
|
||||
|
||||
// FIX SEC-OP
|
||||
answ = updateCssByItemList(answ, redKeyBase, "ItemsSecOp", itemsSecOp, dataCacheTTL);
|
||||
|
||||
// FIXED SEL da array oggetti selezionati...
|
||||
answ = updateCssByPickedItems(answ, redKeyBase, "ItemsSel", dataCacheTTL);
|
||||
|
||||
|
||||
#if false
|
||||
string rawData = memLayer.ML.getRSV($"{redKeyBase}:ItemsSel");
|
||||
if (!string.IsNullOrEmpty(rawData))
|
||||
{
|
||||
string replaceVal = "";
|
||||
// deserializzo
|
||||
List<string> selArray = JsonConvert.DeserializeObject<List<string>>(rawData);
|
||||
|
||||
// ciclo x cercare x ogni chiave (sessione utente)
|
||||
foreach (var item in selArray)
|
||||
{
|
||||
replaceVal += $"#{item},";
|
||||
}
|
||||
if (replaceVal.Length > 1)
|
||||
{
|
||||
replaceVal = replaceVal.Remove(replaceVal.Length - 1);
|
||||
}
|
||||
// FIX CSS!
|
||||
answ = answ.Replace("#ItemsSel", replaceVal);
|
||||
replaceVal = "";
|
||||
}
|
||||
#endif
|
||||
|
||||
// INFINE serializzo e salvo tutti gli items trovati...
|
||||
string serVal = JsonConvert.SerializeObject(itemsAll);
|
||||
memLayer.ML.setRSV($"{redKeyBase}:ItemsAll", serVal, dataCacheTTL);
|
||||
|
||||
// salvo redis css!
|
||||
memLayer.ML.setRSV($"{redKeyBase}:Css", answ, dataCacheTTL);
|
||||
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Registra che un dato ITEM è stato prelevato in fase di scarico da ID foglio + datamatrix
|
||||
/// </summary>
|
||||
/// <param name="sheetID">ID foglio</param>
|
||||
/// <param name="deviceId">Cod del device di scarico</param>
|
||||
/// <param name="itemDtmx">Cod datamatrix ITEM</param>
|
||||
/// <returns></returns>
|
||||
public static bool saveItemPickup(int sheetID, string deviceId, string itemDtmx)
|
||||
{
|
||||
// area REDIS!
|
||||
string redKeyBase = $"{machineUnloadArea(sheetID)}";
|
||||
bool answ = false;
|
||||
string rawData = memLayer.ML.getRSV($"{redKeyBase}:ItemsSel");
|
||||
Dictionary<string, string> dictData = new Dictionary<string, string>();
|
||||
if (!string.IsNullOrEmpty(rawData))
|
||||
{
|
||||
dictData = JsonConvert.DeserializeObject<Dictionary<string, string>>(rawData);
|
||||
}
|
||||
try
|
||||
{
|
||||
// cerco chiave device...
|
||||
if (dictData.ContainsKey(deviceId))
|
||||
{
|
||||
// sostituisco
|
||||
dictData[deviceId] = itemDtmx;
|
||||
}
|
||||
else
|
||||
{
|
||||
dictData.Add(deviceId, itemDtmx);
|
||||
}
|
||||
// salvo!
|
||||
rawData = JsonConvert.SerializeObject(dictData);
|
||||
memLayer.ML.setRSV($"{redKeyBase}:ItemsSel", rawData);
|
||||
answ = true;
|
||||
// reset memoria redis del CSS x obbligare refresh...
|
||||
memLayer.ML.setRSV($"{redKeyBase}:Css", "");
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Registra che un dato ITEM è stato prelevato in fase di scarico da ID foglio + datamatrix
|
||||
/// </summary>
|
||||
/// <param name="sheetID">ID foglio</param>
|
||||
/// <param name="deviceId">Cod del device di scarico</param>
|
||||
/// <returns></returns>
|
||||
public static bool resetItemPickup(int sheetID, string deviceId)
|
||||
{
|
||||
// area REDIS!
|
||||
string redKeyBase = $"{machineUnloadArea(sheetID)}";
|
||||
bool answ = false;
|
||||
string rawData = memLayer.ML.getRSV($"{redKeyBase}:ItemsSel");
|
||||
if (!string.IsNullOrEmpty(rawData))
|
||||
{
|
||||
try
|
||||
{
|
||||
Dictionary<string, string> dictData = JsonConvert.DeserializeObject<Dictionary<string, string>>(rawData);
|
||||
// cerco chiave device...
|
||||
if (dictData.ContainsKey(deviceId))
|
||||
{
|
||||
// sostituisco
|
||||
dictData.Remove(deviceId);
|
||||
}
|
||||
answ = true;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Processa elenco items e salva in redis valori x css, elenchi, ...
|
||||
/// </summary>
|
||||
/// <param name="currCss">CSS corrente</param>
|
||||
/// <param name="redKeyBase">HASH abse x area REDIS</param>
|
||||
/// <param name="varName">nome variabile x elenco items</param>
|
||||
/// <param name="itemList">Elenco items specifici</param>
|
||||
/// <param name="dataCacheTTL">TTL della cache x salvataggio valori</param>
|
||||
/// <returns></returns>
|
||||
public static string updateCssByItemList(string currCss, string redKeyBase, string varName, List<string> itemList, int dataCacheTTL)
|
||||
{
|
||||
string replaceVal = "";
|
||||
if (itemList.Count > 0)
|
||||
{
|
||||
foreach (var item in itemList)
|
||||
{
|
||||
replaceVal += $"#{item},";
|
||||
}
|
||||
if (replaceVal.Length > 1)
|
||||
{
|
||||
replaceVal = replaceVal.Remove(replaceVal.Length - 1);
|
||||
}
|
||||
// FIX CSS!
|
||||
currCss = currCss.Replace($"#{varName}", replaceVal);
|
||||
//serializzo e salvo
|
||||
string serVal = JsonConvert.SerializeObject(itemList);
|
||||
memLayer.ML.setRSV($"{redKeyBase}:{varName}", serVal, dataCacheTTL);
|
||||
}
|
||||
return currCss;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Processa elenco items e salva in redis valori x css, elenchi, ...
|
||||
/// </summary>
|
||||
/// <param name="currCss">CSS corrente</param>
|
||||
/// <param name="redKeyBase">HASH abse x area REDIS</param>
|
||||
/// <param name="varName">nome variabile x elenco items</param>
|
||||
/// <param name="dataCacheTTL">TTL della cache x salvataggio valori</param>
|
||||
/// <returns></returns>
|
||||
public static string updateCssByPickedItems(string currCss, string redKeyBase, string varName, int dataCacheTTL)
|
||||
{
|
||||
string replaceVal = "";
|
||||
string rawData = memLayer.ML.getRSV($"{redKeyBase}:ItemsSel");
|
||||
if (!string.IsNullOrEmpty(rawData))
|
||||
{
|
||||
try
|
||||
{
|
||||
Dictionary<string, string> dictData = JsonConvert.DeserializeObject<Dictionary<string, string>>(rawData);
|
||||
// ciclo x cercare x ogni chiave (sessione utente)
|
||||
foreach (var item in dictData)
|
||||
{
|
||||
replaceVal += $"#{item.Value},";
|
||||
}
|
||||
if (replaceVal.Length > 1)
|
||||
{
|
||||
replaceVal = replaceVal.Remove(replaceVal.Length - 1);
|
||||
}
|
||||
// FIX CSS!
|
||||
currCss = currCss.Replace("#ItemsSel", replaceVal);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
|
||||
}
|
||||
return currCss;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// IP del device
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static string GetIPAddress()
|
||||
{
|
||||
HttpContext context = HttpContext.Current;
|
||||
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
|
||||
|
||||
if (!string.IsNullOrEmpty(ipAddress))
|
||||
{
|
||||
string[] addresses = ipAddress.Split(',');
|
||||
if (addresses.Length != 0)
|
||||
{
|
||||
return addresses[0];
|
||||
}
|
||||
}
|
||||
|
||||
return context.Request.ServerVariables["REMOTE_ADDR"];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Calcola area REDIS per MACCHINA
|
||||
/// </summary>
|
||||
/// <param name="SheetID"></param>
|
||||
/// <returns></returns>
|
||||
public static string machineArea(string machineCod)
|
||||
{
|
||||
string answ = memLayer.ML.redHash($"currMachineData:{machineCod}");
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Fornisce un dictionary di valori ATTUALI per una specifica macchina
|
||||
/// </summary>
|
||||
/// <param name="machineCod"></param>
|
||||
/// <returns></returns>
|
||||
public Dictionary<string, string> getCurrMachineData(string machineCod)
|
||||
{
|
||||
Dictionary<string, string> answ = new Dictionary<string, string>();
|
||||
// cerco in REDIS
|
||||
string rawData = memLayer.ML.getRSV(machineArea(machineCod));
|
||||
if (!string.IsNullOrEmpty(rawData))
|
||||
{
|
||||
answ = JsonConvert.DeserializeObject<Dictionary<string, string>>(rawData);
|
||||
}
|
||||
else
|
||||
{
|
||||
// se non trovo creo un oggetto NUOVO e vuoto x ogni oggetto... e salvo...
|
||||
answ.Add("BatchID", "0");
|
||||
answ.Add("SheetID_load", "0");
|
||||
answ.Add("SheetID_print", "0");
|
||||
answ.Add("SheetID_work", "0");
|
||||
answ.Add("SheetID_unload", "0");
|
||||
// serializzo e salvo!
|
||||
saveMachineData(machineCod, answ);
|
||||
}
|
||||
// restituisco!
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Salvataggio array dati di una macchina
|
||||
/// </summary>
|
||||
/// <param name="machineCod"></param>
|
||||
/// <param name="paramsArray"></param>
|
||||
/// <returns></returns>
|
||||
public bool saveMachineData(string machineCod, Dictionary<string, string> paramsArray)
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
// serializzo e salvo!
|
||||
string rawData = JsonConvert.SerializeObject(paramsArray);
|
||||
memLayer.ML.setRSV(machineArea(machineCod), rawData);
|
||||
answ = true;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
// restituisco!
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Fornisce un dictionary di valori ATTUALI per una specifica macchina
|
||||
/// </summary>
|
||||
/// <param name="machineCod"></param>
|
||||
/// <param name="Key"></param>
|
||||
/// <param name="Val"></param>
|
||||
/// <returns></returns>
|
||||
public bool saveMachineParam(string machineCod, string Key, string Val)
|
||||
{
|
||||
bool answ = false;
|
||||
// recupero i dati
|
||||
try
|
||||
{
|
||||
var currData = getCurrMachineData(machineCod);
|
||||
// aggiorno il record
|
||||
if (currData.ContainsKey(Key))
|
||||
{
|
||||
currData[Key] = Val;
|
||||
}
|
||||
// oppure aggiungo...
|
||||
else
|
||||
{
|
||||
currData.Add(Key, Val);
|
||||
}
|
||||
// salvo...
|
||||
saveMachineData(machineCod, currData);
|
||||
answ = true;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_deleteTree" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="deleteTree" Modifier="Public" Name="deleteTree" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy6" UserSourceName="deleteTree">
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_deleteTree" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="deleteTree" Modifier="Public" Name="deleteTree" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy2" UserSourceName="deleteTree">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
<CommandText>dbo.stp_Batch_deleteTree</CommandText>
|
||||
@@ -130,7 +130,7 @@
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_redoPartValid" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="redoPartValid" Modifier="Public" Name="redoPartValid" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy2" UserSourceName="redoPartValid">
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_redoPartValid" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="redoPartValid" Modifier="Public" Name="redoPartValid" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy3" UserSourceName="redoPartValid">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
<CommandText>dbo.stp_Batch_redoPartValid</CommandText>
|
||||
@@ -142,7 +142,7 @@
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_resetNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetNesting" Modifier="Public" Name="resetNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy3" UserSourceName="resetNesting">
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_resetNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetNesting" Modifier="Public" Name="resetNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy4" UserSourceName="resetNesting">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
<CommandText>dbo.stp_Batch_resetNesting</CommandText>
|
||||
@@ -153,7 +153,7 @@
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_resetPartUnValid" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetPartUnValid" Modifier="Public" Name="resetPartUnValid" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy4" UserSourceName="resetPartUnValid">
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_resetPartUnValid" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetPartUnValid" Modifier="Public" Name="resetPartUnValid" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy5" UserSourceName="resetPartUnValid">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
<CommandText>dbo.stp_Batch_resetPartUnValid</CommandText>
|
||||
@@ -164,7 +164,7 @@
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_updateStatus" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateStatus" Modifier="Public" Name="updateStatus" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy5" UserSourceName="updateStatus">
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_updateStatus" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateStatus" Modifier="Public" Name="updateStatus" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy6" UserSourceName="updateStatus">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
<CommandText>dbo.stp_Batch_updateStatus</CommandText>
|
||||
@@ -336,6 +336,17 @@ FROM v_SheetList</CommandText>
|
||||
<Mapping SourceColumn="T_mm" DataSetColumn="T_mm" />
|
||||
</Mappings>
|
||||
<Sources>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Sheets_AdvanceInStack" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="advanceInStack" Modifier="Public" Name="advanceInStack" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="advanceInStack">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
<CommandText>dbo.stp_Sheets_AdvanceInStack</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@StackID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Sheets_getByItemID" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getByItemID" GetMethodModifier="Public" GetMethodName="getByItemID" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getByItemID" UserSourceName="getByItemID">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
@@ -399,7 +410,7 @@ FROM v_SheetList</CommandText>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Sheets_resetPrepared" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetPrepared" Modifier="Public" Name="resetPrepared" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="resetPrepared">
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Sheets_resetPrepared" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetPrepared" Modifier="Public" Name="resetPrepared" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy1" UserSourceName="resetPrepared">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
<CommandText>dbo.stp_Sheets_resetPrepared</CommandText>
|
||||
@@ -410,7 +421,7 @@ FROM v_SheetList</CommandText>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Sheets_setPrepared" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="setPrepared" Modifier="Public" Name="setPrepared" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy1" UserSourceName="setPrepared">
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Sheets_setPrepared" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="setPrepared" Modifier="Public" Name="setPrepared" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy2" UserSourceName="setPrepared">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
<CommandText>dbo.stp_Sheets_setPrepared</CommandText>
|
||||
@@ -421,7 +432,7 @@ FROM v_SheetList</CommandText>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Sheets_updDate" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateDate" Modifier="Public" Name="updateDate" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy2" UserSourceName="updateDate">
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Sheets_updDate" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateDate" Modifier="Public" Name="updateDate" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy3" UserSourceName="updateDate">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
<CommandText>dbo.stp_Sheets_updDate</CommandText>
|
||||
@@ -782,6 +793,17 @@ SELECT ItemID, StatusID, KitID, ItemDtmx, ItemExtCode, ItemDesc, ItemNote, ItemQ
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_getBySheet" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getBySheet" GetMethodModifier="Public" GetMethodName="getBySheet" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getBySheet" UserSourceName="getBySheet">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
<CommandText>dbo.stp_IL_getBySheet</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SheetID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_getByStatus" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getByStatus" GetMethodModifier="Public" GetMethodName="getByStatus" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getByStatus" UserSourceName="getByStatus">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
@@ -976,58 +998,14 @@ SELECT MatID, MatExtCode, MatDesc, ApprovDate, ApprovUser, L_mm, W_mm, T_mm, Mat
|
||||
</TableAdapter>
|
||||
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="BinsTableAdapter" GeneratorDataComponentClassName="BinsTableAdapter" Name="Bins" UserDataComponentName="BinsTableAdapter">
|
||||
<MainSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.Bins" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
|
||||
<DeleteCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>DELETE FROM [Bins] WHERE (([BinID] = @Original_BinID) AND ([BinIndex] = @Original_BinIndex) AND ((@IsNull_BinDtmx = 1 AND [BinDtmx] IS NULL) OR ([BinDtmx] = @Original_BinDtmx)) AND ((@IsNull_BinDtmxProc = 1 AND [BinDtmxProc] IS NULL) OR ([BinDtmxProc] = @Original_BinDtmxProc)) AND ((@IsNull_CreationDate = 1 AND [CreationDate] IS NULL) OR ([CreationDate] = @Original_CreationDate)))</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_BinID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BinID" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_BinIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BinIndex" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_BinDtmx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BinDtmx" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_BinDtmx" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="BinDtmx" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_BinDtmxProc" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BinDtmxProc" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_BinDtmxProc" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="BinDtmxProc" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_CreationDate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CreationDate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_CreationDate" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="CreationDate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</DeleteCommand>
|
||||
<InsertCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>INSERT INTO [Bins] ([BinIndex], [CreationDate]) VALUES (@BinIndex, @CreationDate);
|
||||
SELECT BinID, BinIndex, BinDtmx, BinDtmxProc, CreationDate FROM Bins WHERE (BinID = SCOPE_IDENTITY())</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@BinIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BinIndex" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@CreationDate" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="CreationDate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</InsertCommand>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.v_BinDetail" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="true">
|
||||
<CommandText>SELECT *
|
||||
FROM Bins</CommandText>
|
||||
FROM v_binDetail</CommandText>
|
||||
<Parameters />
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
<UpdateCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>UPDATE [Bins] SET [BinIndex] = @BinIndex, [CreationDate] = @CreationDate WHERE (([BinID] = @Original_BinID) AND ([BinIndex] = @Original_BinIndex) AND ((@IsNull_BinDtmx = 1 AND [BinDtmx] IS NULL) OR ([BinDtmx] = @Original_BinDtmx)) AND ((@IsNull_BinDtmxProc = 1 AND [BinDtmxProc] IS NULL) OR ([BinDtmxProc] = @Original_BinDtmxProc)) AND ((@IsNull_CreationDate = 1 AND [CreationDate] IS NULL) OR ([CreationDate] = @Original_CreationDate)));
|
||||
SELECT BinID, BinIndex, BinDtmx, BinDtmxProc, CreationDate FROM Bins WHERE (BinID = @BinID)</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@BinIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BinIndex" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@CreationDate" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="CreationDate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_BinID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BinID" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_BinIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BinIndex" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_BinDtmx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BinDtmx" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_BinDtmx" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="BinDtmx" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_BinDtmxProc" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BinDtmxProc" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_BinDtmxProc" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="BinDtmxProc" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_CreationDate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CreationDate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_CreationDate" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="CreationDate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="BinID" ColumnName="BinID" DataSourceName="Sauder_NKC.dbo.Bins" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@BinID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="BinID" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</UpdateCommand>
|
||||
</DbSource>
|
||||
</MainSource>
|
||||
<Mappings>
|
||||
@@ -1036,8 +1014,22 @@ SELECT BinID, BinIndex, BinDtmx, BinDtmxProc, CreationDate FROM Bins WHERE (BinI
|
||||
<Mapping SourceColumn="BinDtmx" DataSetColumn="BinDtmx" />
|
||||
<Mapping SourceColumn="BinDtmxProc" DataSetColumn="BinDtmxProc" />
|
||||
<Mapping SourceColumn="CreationDate" DataSetColumn="CreationDate" />
|
||||
<Mapping SourceColumn="BatchID" DataSetColumn="BatchID" />
|
||||
<Mapping SourceColumn="TotItem" DataSetColumn="TotItem" />
|
||||
<Mapping SourceColumn="TotItemLoad" DataSetColumn="TotItemLoad" />
|
||||
</Mappings>
|
||||
<Sources>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_BIN_getByBatch" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getByBatch" GetMethodModifier="Public" GetMethodName="getByBatch" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getByBatch" UserSourceName="getByBatch">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
<CommandText>dbo.stp_BIN_getByBatch</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_BIN_getByItemID" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getByItemID" GetMethodModifier="Public" GetMethodName="getByItemID" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getByItemID" UserSourceName="getByItemID">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
@@ -1075,61 +1067,37 @@ SELECT BinID, BinIndex, BinDtmx, BinDtmxProc, CreationDate FROM Bins WHERE (BinI
|
||||
</TableAdapter>
|
||||
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="CartsTableAdapter" GeneratorDataComponentClassName="CartsTableAdapter" Name="Carts" UserDataComponentName="CartsTableAdapter">
|
||||
<MainSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.Carts" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
|
||||
<DeleteCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>DELETE FROM [Carts] WHERE (([CartID] = @Original_CartID) AND ([CartIndex] = @Original_CartIndex) AND ((@IsNull_CartDtmx = 1 AND [CartDtmx] IS NULL) OR ([CartDtmx] = @Original_CartDtmx)) AND ([CreationDate] = @Original_CreationDate))</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_CartID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CartID" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_CartIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CartIndex" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_CartDtmx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CartDtmx" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_CartDtmx" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="CartDtmx" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_CreationDate" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="CreationDate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</DeleteCommand>
|
||||
<InsertCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>INSERT INTO [Carts] ([CartIndex], [CreationDate]) VALUES (@CartIndex, @CreationDate);
|
||||
SELECT CartID, CartIndex, CartDtmx, CreationDate FROM Carts WHERE (CartID = SCOPE_IDENTITY())</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@CartIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CartIndex" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@CreationDate" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="CreationDate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</InsertCommand>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.v_CartDetail" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="true">
|
||||
<CommandText>SELECT *
|
||||
FROM Carts</CommandText>
|
||||
FROM v_CartDetail</CommandText>
|
||||
<Parameters />
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
<UpdateCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>UPDATE [Carts] SET [CartIndex] = @CartIndex, [CreationDate] = @CreationDate WHERE (([CartID] = @Original_CartID) AND ([CartIndex] = @Original_CartIndex) AND ((@IsNull_CartDtmx = 1 AND [CartDtmx] IS NULL) OR ([CartDtmx] = @Original_CartDtmx)) AND ([CreationDate] = @Original_CreationDate));
|
||||
SELECT CartID, CartIndex, CartDtmx, CreationDate FROM Carts WHERE (CartID = @CartID)</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@CartIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CartIndex" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@CreationDate" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="CreationDate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_CartID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CartID" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_CartIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CartIndex" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_CartDtmx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CartDtmx" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_CartDtmx" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="CartDtmx" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_CreationDate" Precision="0" ProviderType="DateTime" Scale="0" Size="0" SourceColumn="CreationDate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="CartID" ColumnName="CartID" DataSourceName="Sauder_NKC.dbo.Carts" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@CartID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="CartID" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</UpdateCommand>
|
||||
</DbSource>
|
||||
</MainSource>
|
||||
<Mappings>
|
||||
<Mapping SourceColumn="CartID" DataSetColumn="CartID" />
|
||||
<Mapping SourceColumn="BatchID" DataSetColumn="BatchID" />
|
||||
<Mapping SourceColumn="CartIndex" DataSetColumn="CartIndex" />
|
||||
<Mapping SourceColumn="CartDtmx" DataSetColumn="CartDtmx" />
|
||||
<Mapping SourceColumn="CreationDate" DataSetColumn="CreationDate" />
|
||||
<Mapping SourceColumn="TotItem" DataSetColumn="TotItem" />
|
||||
<Mapping SourceColumn="TotItemLoad" DataSetColumn="TotItemLoad" />
|
||||
</Mappings>
|
||||
<Sources>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_CART_getByBatch" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getByBatch" GetMethodModifier="Public" GetMethodName="getByBatch" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getByBatch" UserSourceName="getByBatch">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
<CommandText>dbo.stp_CART_getByBatch</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_CART_getByItemID" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getByItemID" GetMethodModifier="Public" GetMethodName="getByItemID" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getByItemID" UserSourceName="getByItemID">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
@@ -2001,6 +1969,30 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</Mappings>
|
||||
<Sources />
|
||||
</TableAdapter>
|
||||
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="UnloadStatsTableAdapter" GeneratorDataComponentClassName="UnloadStatsTableAdapter" Name="UnloadStats" UserDataComponentName="UnloadStatsTableAdapter">
|
||||
<MainSource>
|
||||
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Unload_Stat" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="false" UserGetMethodName="GetData" UserSourceName="Fill">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
|
||||
<CommandText>dbo.stp_Unload_Stat</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@StatLevel" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
</MainSource>
|
||||
<Mappings>
|
||||
<Mapping SourceColumn="Stat" DataSetColumn="Stat" />
|
||||
<Mapping SourceColumn="Total" DataSetColumn="Total" />
|
||||
<Mapping SourceColumn="Wait" DataSetColumn="Wait" />
|
||||
<Mapping SourceColumn="Wip" DataSetColumn="Wip" />
|
||||
<Mapping SourceColumn="Done" DataSetColumn="Done" />
|
||||
</Mappings>
|
||||
<Sources />
|
||||
</TableAdapter>
|
||||
</Tables>
|
||||
<Sources />
|
||||
</DataSource>
|
||||
@@ -2009,7 +2001,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
<xs:element name="DS_App" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DS_App" msprop:Generator_UserDSName="DS_App">
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="BatchList" msprop:Generator_TableClassName="BatchListDataTable" msprop:Generator_TableVarName="tableBatchList" msprop:Generator_TablePropName="BatchList" msprop:Generator_RowDeletingName="BatchListRowDeleting" msprop:Generator_RowChangingName="BatchListRowChanging" msprop:Generator_RowEvHandlerName="BatchListRowChangeEventHandler" msprop:Generator_RowDeletedName="BatchListRowDeleted" msprop:Generator_UserTableName="BatchList" msprop:Generator_RowChangedName="BatchListRowChanged" msprop:Generator_RowEvArgName="BatchListRowChangeEvent" msprop:Generator_RowClassName="BatchListRow">
|
||||
<xs:element name="BatchList" msprop:Generator_TableClassName="BatchListDataTable" msprop:Generator_TableVarName="tableBatchList" msprop:Generator_RowChangedName="BatchListRowChanged" msprop:Generator_TablePropName="BatchList" msprop:Generator_RowDeletingName="BatchListRowDeleting" msprop:Generator_RowChangingName="BatchListRowChanging" msprop:Generator_RowEvHandlerName="BatchListRowChangeEventHandler" msprop:Generator_RowDeletedName="BatchListRowDeleted" msprop:Generator_RowClassName="BatchListRow" msprop:Generator_UserTableName="BatchList" msprop:Generator_RowEvArgName="BatchListRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="BatchID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnBatchID" msprop:Generator_ColumnPropNameInRow="BatchID" msprop:Generator_ColumnPropNameInTable="BatchIDColumn" msprop:Generator_UserColumnName="BatchID" type="xs:int" />
|
||||
@@ -2057,7 +2049,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="StackList" msprop:Generator_TableClassName="StackListDataTable" msprop:Generator_TableVarName="tableStackList" msprop:Generator_TablePropName="StackList" msprop:Generator_RowDeletingName="StackListRowDeleting" msprop:Generator_RowChangingName="StackListRowChanging" msprop:Generator_RowEvHandlerName="StackListRowChangeEventHandler" msprop:Generator_RowDeletedName="StackListRowDeleted" msprop:Generator_UserTableName="StackList" msprop:Generator_RowChangedName="StackListRowChanged" msprop:Generator_RowEvArgName="StackListRowChangeEvent" msprop:Generator_RowClassName="StackListRow">
|
||||
<xs:element name="StackList" msprop:Generator_TableClassName="StackListDataTable" msprop:Generator_TableVarName="tableStackList" msprop:Generator_RowChangedName="StackListRowChanged" msprop:Generator_TablePropName="StackList" msprop:Generator_RowDeletingName="StackListRowDeleting" msprop:Generator_RowChangingName="StackListRowChanging" msprop:Generator_RowEvHandlerName="StackListRowChangeEventHandler" msprop:Generator_RowDeletedName="StackListRowDeleted" msprop:Generator_RowClassName="StackListRow" msprop:Generator_UserTableName="StackList" msprop:Generator_RowEvArgName="StackListRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="StackID" msprop:Generator_ColumnVarNameInTable="columnStackID" msprop:Generator_ColumnPropNameInRow="StackID" msprop:Generator_ColumnPropNameInTable="StackIDColumn" msprop:Generator_UserColumnName="StackID" type="xs:int" />
|
||||
@@ -2079,7 +2071,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SheetList" msprop:Generator_TableClassName="SheetListDataTable" msprop:Generator_TableVarName="tableSheetList" msprop:Generator_TablePropName="SheetList" msprop:Generator_RowDeletingName="SheetListRowDeleting" msprop:Generator_RowChangingName="SheetListRowChanging" msprop:Generator_RowEvHandlerName="SheetListRowChangeEventHandler" msprop:Generator_RowDeletedName="SheetListRowDeleted" msprop:Generator_UserTableName="SheetList" msprop:Generator_RowChangedName="SheetListRowChanged" msprop:Generator_RowEvArgName="SheetListRowChangeEvent" msprop:Generator_RowClassName="SheetListRow">
|
||||
<xs:element name="SheetList" msprop:Generator_TableClassName="SheetListDataTable" msprop:Generator_TableVarName="tableSheetList" msprop:Generator_RowChangedName="SheetListRowChanged" msprop:Generator_TablePropName="SheetList" msprop:Generator_RowDeletingName="SheetListRowDeleting" msprop:Generator_RowChangingName="SheetListRowChanging" msprop:Generator_RowEvHandlerName="SheetListRowChangeEventHandler" msprop:Generator_RowDeletedName="SheetListRowDeleted" msprop:Generator_RowClassName="SheetListRow" msprop:Generator_UserTableName="SheetList" msprop:Generator_RowEvArgName="SheetListRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SheetID" msprop:Generator_ColumnVarNameInTable="columnSheetID" msprop:Generator_ColumnPropNameInRow="SheetID" msprop:Generator_ColumnPropNameInTable="SheetIDColumn" msprop:Generator_UserColumnName="SheetID" type="xs:int" />
|
||||
@@ -2134,7 +2126,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="OrderList" msprop:Generator_TableClassName="OrderListDataTable" msprop:Generator_TableVarName="tableOrderList" msprop:Generator_TablePropName="OrderList" msprop:Generator_RowDeletingName="OrderListRowDeleting" msprop:Generator_RowChangingName="OrderListRowChanging" msprop:Generator_RowEvHandlerName="OrderListRowChangeEventHandler" msprop:Generator_RowDeletedName="OrderListRowDeleted" msprop:Generator_UserTableName="OrderList" msprop:Generator_RowChangedName="OrderListRowChanged" msprop:Generator_RowEvArgName="OrderListRowChangeEvent" msprop:Generator_RowClassName="OrderListRow">
|
||||
<xs:element name="OrderList" msprop:Generator_TableClassName="OrderListDataTable" msprop:Generator_TableVarName="tableOrderList" msprop:Generator_RowChangedName="OrderListRowChanged" msprop:Generator_TablePropName="OrderList" msprop:Generator_RowDeletingName="OrderListRowDeleting" msprop:Generator_RowChangingName="OrderListRowChanging" msprop:Generator_RowEvHandlerName="OrderListRowChangeEventHandler" msprop:Generator_RowDeletedName="OrderListRowDeleted" msprop:Generator_RowClassName="OrderListRow" msprop:Generator_UserTableName="OrderList" msprop:Generator_RowEvArgName="OrderListRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="OrdID" msprop:Generator_ColumnVarNameInTable="columnOrdID" msprop:Generator_ColumnPropNameInRow="OrdID" msprop:Generator_ColumnPropNameInTable="OrdIDColumn" msprop:Generator_UserColumnName="OrdID" type="xs:int" />
|
||||
@@ -2207,7 +2199,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="BatchReqList" msprop:Generator_TableClassName="BatchReqListDataTable" msprop:Generator_TableVarName="tableBatchReqList" msprop:Generator_TablePropName="BatchReqList" msprop:Generator_RowDeletingName="BatchReqListRowDeleting" msprop:Generator_RowChangingName="BatchReqListRowChanging" msprop:Generator_RowEvHandlerName="BatchReqListRowChangeEventHandler" msprop:Generator_RowDeletedName="BatchReqListRowDeleted" msprop:Generator_UserTableName="BatchReqList" msprop:Generator_RowChangedName="BatchReqListRowChanged" msprop:Generator_RowEvArgName="BatchReqListRowChangeEvent" msprop:Generator_RowClassName="BatchReqListRow">
|
||||
<xs:element name="BatchReqList" msprop:Generator_TableClassName="BatchReqListDataTable" msprop:Generator_TableVarName="tableBatchReqList" msprop:Generator_RowChangedName="BatchReqListRowChanged" msprop:Generator_TablePropName="BatchReqList" msprop:Generator_RowDeletingName="BatchReqListRowDeleting" msprop:Generator_RowChangingName="BatchReqListRowChanging" msprop:Generator_RowEvHandlerName="BatchReqListRowChangeEventHandler" msprop:Generator_RowDeletedName="BatchReqListRowDeleted" msprop:Generator_RowClassName="BatchReqListRow" msprop:Generator_UserTableName="BatchReqList" msprop:Generator_RowEvArgName="BatchReqListRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="BatchID" msprop:Generator_ColumnVarNameInTable="columnBatchID" msprop:Generator_ColumnPropNameInRow="BatchID" msprop:Generator_ColumnPropNameInTable="BatchIDColumn" msprop:Generator_UserColumnName="BatchID" type="xs:int" />
|
||||
@@ -2215,7 +2207,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ItemList" msprop:Generator_TableClassName="ItemListDataTable" msprop:Generator_TableVarName="tableItemList" msprop:Generator_TablePropName="ItemList" msprop:Generator_RowDeletingName="ItemListRowDeleting" msprop:Generator_RowChangingName="ItemListRowChanging" msprop:Generator_RowEvHandlerName="ItemListRowChangeEventHandler" msprop:Generator_RowDeletedName="ItemListRowDeleted" msprop:Generator_UserTableName="ItemList" msprop:Generator_RowChangedName="ItemListRowChanged" msprop:Generator_RowEvArgName="ItemListRowChangeEvent" msprop:Generator_RowClassName="ItemListRow">
|
||||
<xs:element name="ItemList" msprop:Generator_TableClassName="ItemListDataTable" msprop:Generator_TableVarName="tableItemList" msprop:Generator_RowChangedName="ItemListRowChanged" msprop:Generator_TablePropName="ItemList" msprop:Generator_RowDeletingName="ItemListRowDeleting" msprop:Generator_RowChangingName="ItemListRowChanging" msprop:Generator_RowEvHandlerName="ItemListRowChangeEventHandler" msprop:Generator_RowDeletedName="ItemListRowDeleted" msprop:Generator_RowClassName="ItemListRow" msprop:Generator_UserTableName="ItemList" msprop:Generator_RowEvArgName="ItemListRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ItemID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnItemID" msprop:Generator_ColumnPropNameInRow="ItemID" msprop:Generator_ColumnPropNameInTable="ItemIDColumn" msprop:Generator_UserColumnName="ItemID" type="xs:int" />
|
||||
@@ -2284,7 +2276,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Materials" msprop:Generator_TableClassName="MaterialsDataTable" msprop:Generator_TableVarName="tableMaterials" msprop:Generator_RowChangedName="MaterialsRowChanged" msprop:Generator_TablePropName="Materials" msprop:Generator_RowDeletingName="MaterialsRowDeleting" msprop:Generator_RowChangingName="MaterialsRowChanging" msprop:Generator_RowEvHandlerName="MaterialsRowChangeEventHandler" msprop:Generator_RowDeletedName="MaterialsRowDeleted" msprop:Generator_RowClassName="MaterialsRow" msprop:Generator_UserTableName="Materials" msprop:Generator_RowEvArgName="MaterialsRowChangeEvent">
|
||||
<xs:element name="Materials" msprop:Generator_TableClassName="MaterialsDataTable" msprop:Generator_TableVarName="tableMaterials" msprop:Generator_TablePropName="Materials" msprop:Generator_RowDeletingName="MaterialsRowDeleting" msprop:Generator_RowChangingName="MaterialsRowChanging" msprop:Generator_RowEvHandlerName="MaterialsRowChangeEventHandler" msprop:Generator_RowDeletedName="MaterialsRowDeleted" msprop:Generator_UserTableName="Materials" msprop:Generator_RowChangedName="MaterialsRowChanged" msprop:Generator_RowEvArgName="MaterialsRowChangeEvent" msprop:Generator_RowClassName="MaterialsRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="MatID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnMatID" msprop:Generator_ColumnPropNameInRow="MatID" msprop:Generator_ColumnPropNameInTable="MatIDColumn" msprop:Generator_UserColumnName="MatID" type="xs:int" />
|
||||
@@ -2317,7 +2309,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Bins" msprop:Generator_TableClassName="BinsDataTable" msprop:Generator_TableVarName="tableBins" msprop:Generator_RowChangedName="BinsRowChanged" msprop:Generator_TablePropName="Bins" msprop:Generator_RowDeletingName="BinsRowDeleting" msprop:Generator_RowChangingName="BinsRowChanging" msprop:Generator_RowEvHandlerName="BinsRowChangeEventHandler" msprop:Generator_RowDeletedName="BinsRowDeleted" msprop:Generator_RowClassName="BinsRow" msprop:Generator_UserTableName="Bins" msprop:Generator_RowEvArgName="BinsRowChangeEvent">
|
||||
<xs:element name="Bins" msprop:Generator_TableClassName="BinsDataTable" msprop:Generator_TableVarName="tableBins" msprop:Generator_TablePropName="Bins" msprop:Generator_RowDeletingName="BinsRowDeleting" msprop:Generator_RowChangingName="BinsRowChanging" msprop:Generator_RowEvHandlerName="BinsRowChangeEventHandler" msprop:Generator_RowDeletedName="BinsRowDeleted" msprop:Generator_UserTableName="Bins" msprop:Generator_RowChangedName="BinsRowChanged" msprop:Generator_RowEvArgName="BinsRowChangeEvent" msprop:Generator_RowClassName="BinsRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="BinID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnBinID" msprop:Generator_ColumnPropNameInRow="BinID" msprop:Generator_ColumnPropNameInTable="BinIDColumn" msprop:Generator_UserColumnName="BinID" type="xs:int" />
|
||||
@@ -2337,13 +2329,17 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="CreationDate" msprop:Generator_ColumnVarNameInTable="columnCreationDate" msprop:Generator_ColumnPropNameInRow="CreationDate" msprop:Generator_ColumnPropNameInTable="CreationDateColumn" msprop:Generator_UserColumnName="CreationDate" type="xs:dateTime" minOccurs="0" />
|
||||
<xs:element name="BatchID" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnBatchID" msprop:Generator_ColumnPropNameInRow="BatchID" msprop:Generator_ColumnPropNameInTable="BatchIDColumn" msprop:Generator_UserColumnName="BatchID" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="TotItem" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnTotItem" msprop:Generator_ColumnPropNameInRow="TotItem" msprop:Generator_ColumnPropNameInTable="TotItemColumn" msprop:Generator_UserColumnName="TotItem" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="TotItemLoad" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnTotItemLoad" msprop:Generator_ColumnPropNameInRow="TotItemLoad" msprop:Generator_ColumnPropNameInTable="TotItemLoadColumn" msprop:Generator_UserColumnName="TotItemLoad" type="xs:int" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Carts" msprop:Generator_TableClassName="CartsDataTable" msprop:Generator_TableVarName="tableCarts" msprop:Generator_RowChangedName="CartsRowChanged" msprop:Generator_TablePropName="Carts" msprop:Generator_RowDeletingName="CartsRowDeleting" msprop:Generator_RowChangingName="CartsRowChanging" msprop:Generator_RowEvHandlerName="CartsRowChangeEventHandler" msprop:Generator_RowDeletedName="CartsRowDeleted" msprop:Generator_RowClassName="CartsRow" msprop:Generator_UserTableName="Carts" msprop:Generator_RowEvArgName="CartsRowChangeEvent">
|
||||
<xs:element name="Carts" msprop:Generator_TableClassName="CartsDataTable" msprop:Generator_TableVarName="tableCarts" msprop:Generator_TablePropName="Carts" msprop:Generator_RowDeletingName="CartsRowDeleting" msprop:Generator_RowChangingName="CartsRowChanging" msprop:Generator_RowEvHandlerName="CartsRowChangeEventHandler" msprop:Generator_RowDeletedName="CartsRowDeleted" msprop:Generator_UserTableName="Carts" msprop:Generator_RowChangedName="CartsRowChanged" msprop:Generator_RowEvArgName="CartsRowChangeEvent" msprop:Generator_RowClassName="CartsRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="CartID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnCartID" msprop:Generator_ColumnPropNameInRow="CartID" msprop:Generator_ColumnPropNameInTable="CartIDColumn" msprop:Generator_UserColumnName="CartID" type="xs:int" />
|
||||
<xs:element name="BatchID" msprop:Generator_ColumnVarNameInTable="columnBatchID" msprop:Generator_ColumnPropNameInRow="BatchID" msprop:Generator_ColumnPropNameInTable="BatchIDColumn" msprop:Generator_UserColumnName="BatchID" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="CartIndex" msprop:Generator_ColumnVarNameInTable="columnCartIndex" msprop:Generator_ColumnPropNameInRow="CartIndex" msprop:Generator_ColumnPropNameInTable="CartIndexColumn" msprop:Generator_UserColumnName="CartIndex" type="xs:int" />
|
||||
<xs:element name="CartDtmx" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnCartDtmx" msprop:Generator_ColumnPropNameInRow="CartDtmx" msprop:Generator_ColumnPropNameInTable="CartDtmxColumn" msprop:Generator_UserColumnName="CartDtmx" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
@@ -2353,10 +2349,12 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="CreationDate" msprop:Generator_ColumnVarNameInTable="columnCreationDate" msprop:Generator_ColumnPropNameInRow="CreationDate" msprop:Generator_ColumnPropNameInTable="CreationDateColumn" msprop:Generator_UserColumnName="CreationDate" type="xs:dateTime" />
|
||||
<xs:element name="TotItem" msprop:Generator_ColumnVarNameInTable="columnTotItem" msprop:Generator_ColumnPropNameInRow="TotItem" msprop:Generator_ColumnPropNameInTable="TotItemColumn" msprop:Generator_UserColumnName="TotItem" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="TotItemLoad" msprop:Generator_ColumnVarNameInTable="columnTotItemLoad" msprop:Generator_ColumnPropNameInRow="TotItemLoad" msprop:Generator_ColumnPropNameInTable="TotItemLoadColumn" msprop:Generator_UserColumnName="TotItemLoad" type="xs:int" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="OfflineOrderList" msprop:Generator_TableClassName="OfflineOrderListDataTable" msprop:Generator_TableVarName="tableOfflineOrderList" msprop:Generator_TablePropName="OfflineOrderList" msprop:Generator_RowDeletingName="OfflineOrderListRowDeleting" msprop:Generator_RowChangingName="OfflineOrderListRowChanging" msprop:Generator_RowEvHandlerName="OfflineOrderListRowChangeEventHandler" msprop:Generator_RowDeletedName="OfflineOrderListRowDeleted" msprop:Generator_UserTableName="OfflineOrderList" msprop:Generator_RowChangedName="OfflineOrderListRowChanged" msprop:Generator_RowEvArgName="OfflineOrderListRowChangeEvent" msprop:Generator_RowClassName="OfflineOrderListRow">
|
||||
<xs:element name="OfflineOrderList" msprop:Generator_TableClassName="OfflineOrderListDataTable" msprop:Generator_TableVarName="tableOfflineOrderList" msprop:Generator_RowChangedName="OfflineOrderListRowChanged" msprop:Generator_TablePropName="OfflineOrderList" msprop:Generator_RowDeletingName="OfflineOrderListRowDeleting" msprop:Generator_RowChangingName="OfflineOrderListRowChanging" msprop:Generator_RowEvHandlerName="OfflineOrderListRowChangeEventHandler" msprop:Generator_RowDeletedName="OfflineOrderListRowDeleted" msprop:Generator_RowClassName="OfflineOrderListRow" msprop:Generator_UserTableName="OfflineOrderList" msprop:Generator_RowEvArgName="OfflineOrderListRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="OrdID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnOrdID" msprop:Generator_ColumnPropNameInRow="OrdID" msprop:Generator_ColumnPropNameInTable="OrdIDColumn" msprop:Generator_UserColumnName="OrdID" type="xs:int" />
|
||||
@@ -2380,7 +2378,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="OffOrd2Item" msprop:Generator_TableClassName="OffOrd2ItemDataTable" msprop:Generator_TableVarName="tableOffOrd2Item" msprop:Generator_TablePropName="OffOrd2Item" msprop:Generator_RowDeletingName="OffOrd2ItemRowDeleting" msprop:Generator_RowChangingName="OffOrd2ItemRowChanging" msprop:Generator_RowEvHandlerName="OffOrd2ItemRowChangeEventHandler" msprop:Generator_RowDeletedName="OffOrd2ItemRowDeleted" msprop:Generator_UserTableName="OffOrd2Item" msprop:Generator_RowChangedName="OffOrd2ItemRowChanged" msprop:Generator_RowEvArgName="OffOrd2ItemRowChangeEvent" msprop:Generator_RowClassName="OffOrd2ItemRow">
|
||||
<xs:element name="OffOrd2Item" msprop:Generator_TableClassName="OffOrd2ItemDataTable" msprop:Generator_TableVarName="tableOffOrd2Item" msprop:Generator_RowChangedName="OffOrd2ItemRowChanged" msprop:Generator_TablePropName="OffOrd2Item" msprop:Generator_RowDeletingName="OffOrd2ItemRowDeleting" msprop:Generator_RowChangingName="OffOrd2ItemRowChanging" msprop:Generator_RowEvHandlerName="OffOrd2ItemRowChangeEventHandler" msprop:Generator_RowDeletedName="OffOrd2ItemRowDeleted" msprop:Generator_RowClassName="OffOrd2ItemRow" msprop:Generator_UserTableName="OffOrd2Item" msprop:Generator_RowEvArgName="OffOrd2ItemRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="OrdID" msprop:Generator_ColumnVarNameInTable="columnOrdID" msprop:Generator_ColumnPropNameInRow="OrdID" msprop:Generator_ColumnPropNameInTable="OrdIDColumn" msprop:Generator_UserColumnName="OrdID" type="xs:int" />
|
||||
@@ -2388,7 +2386,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="KitList" msprop:Generator_TableClassName="KitListDataTable" msprop:Generator_TableVarName="tableKitList" msprop:Generator_RowChangedName="KitListRowChanged" msprop:Generator_TablePropName="KitList" msprop:Generator_RowDeletingName="KitListRowDeleting" msprop:Generator_RowChangingName="KitListRowChanging" msprop:Generator_RowEvHandlerName="KitListRowChangeEventHandler" msprop:Generator_RowDeletedName="KitListRowDeleted" msprop:Generator_RowClassName="KitListRow" msprop:Generator_UserTableName="KitList" msprop:Generator_RowEvArgName="KitListRowChangeEvent">
|
||||
<xs:element name="KitList" msprop:Generator_TableClassName="KitListDataTable" msprop:Generator_TableVarName="tableKitList" msprop:Generator_TablePropName="KitList" msprop:Generator_RowDeletingName="KitListRowDeleting" msprop:Generator_RowChangingName="KitListRowChanging" msprop:Generator_RowEvHandlerName="KitListRowChangeEventHandler" msprop:Generator_RowDeletedName="KitListRowDeleted" msprop:Generator_UserTableName="KitList" msprop:Generator_RowChangedName="KitListRowChanged" msprop:Generator_RowEvArgName="KitListRowChangeEvent" msprop:Generator_RowClassName="KitListRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="KitID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnKitID" msprop:Generator_ColumnPropNameInRow="KitID" msprop:Generator_ColumnPropNameInTable="KitIDColumn" msprop:Generator_UserColumnName="KitID" type="xs:int" />
|
||||
@@ -2405,7 +2403,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Nesting" msprop:Generator_TableClassName="NestingDataTable" msprop:Generator_TableVarName="tableNesting" msprop:Generator_TablePropName="Nesting" msprop:Generator_RowDeletingName="NestingRowDeleting" msprop:Generator_RowChangingName="NestingRowChanging" msprop:Generator_RowEvHandlerName="NestingRowChangeEventHandler" msprop:Generator_RowDeletedName="NestingRowDeleted" msprop:Generator_UserTableName="Nesting" msprop:Generator_RowChangedName="NestingRowChanged" msprop:Generator_RowEvArgName="NestingRowChangeEvent" msprop:Generator_RowClassName="NestingRow">
|
||||
<xs:element name="Nesting" msprop:Generator_TableClassName="NestingDataTable" msprop:Generator_TableVarName="tableNesting" msprop:Generator_RowChangedName="NestingRowChanged" msprop:Generator_TablePropName="Nesting" msprop:Generator_RowDeletingName="NestingRowDeleting" msprop:Generator_RowChangingName="NestingRowChanging" msprop:Generator_RowEvHandlerName="NestingRowChangeEventHandler" msprop:Generator_RowDeletedName="NestingRowDeleted" msprop:Generator_RowClassName="NestingRow" msprop:Generator_UserTableName="Nesting" msprop:Generator_RowEvArgName="NestingRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SheetID" msprop:Generator_ColumnVarNameInTable="columnSheetID" msprop:Generator_ColumnPropNameInRow="SheetID" msprop:Generator_ColumnPropNameInTable="SheetIDColumn" msprop:Generator_UserColumnName="SheetID" type="xs:int" />
|
||||
@@ -2414,7 +2412,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ImportLog" msprop:Generator_TableClassName="ImportLogDataTable" msprop:Generator_TableVarName="tableImportLog" msprop:Generator_TablePropName="ImportLog" msprop:Generator_RowDeletingName="ImportLogRowDeleting" msprop:Generator_RowChangingName="ImportLogRowChanging" msprop:Generator_RowEvHandlerName="ImportLogRowChangeEventHandler" msprop:Generator_RowDeletedName="ImportLogRowDeleted" msprop:Generator_UserTableName="ImportLog" msprop:Generator_RowChangedName="ImportLogRowChanged" msprop:Generator_RowEvArgName="ImportLogRowChangeEvent" msprop:Generator_RowClassName="ImportLogRow">
|
||||
<xs:element name="ImportLog" msprop:Generator_TableClassName="ImportLogDataTable" msprop:Generator_TableVarName="tableImportLog" msprop:Generator_RowChangedName="ImportLogRowChanged" msprop:Generator_TablePropName="ImportLog" msprop:Generator_RowDeletingName="ImportLogRowDeleting" msprop:Generator_RowChangingName="ImportLogRowChanging" msprop:Generator_RowEvHandlerName="ImportLogRowChangeEventHandler" msprop:Generator_RowDeletedName="ImportLogRowDeleted" msprop:Generator_RowClassName="ImportLogRow" msprop:Generator_UserTableName="ImportLog" msprop:Generator_RowEvArgName="ImportLogRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="NumLog" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnNumLog" msprop:Generator_ColumnPropNameInRow="NumLog" msprop:Generator_ColumnPropNameInTable="NumLogColumn" msprop:Generator_UserColumnName="NumLog" type="xs:int" />
|
||||
@@ -2445,7 +2443,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="BinList" msprop:Generator_TableClassName="BinListDataTable" msprop:Generator_TableVarName="tableBinList" msprop:Generator_TablePropName="BinList" msprop:Generator_RowDeletingName="BinListRowDeleting" msprop:Generator_RowChangingName="BinListRowChanging" msprop:Generator_RowEvHandlerName="BinListRowChangeEventHandler" msprop:Generator_RowDeletedName="BinListRowDeleted" msprop:Generator_UserTableName="BinList" msprop:Generator_RowChangedName="BinListRowChanged" msprop:Generator_RowEvArgName="BinListRowChangeEvent" msprop:Generator_RowClassName="BinListRow">
|
||||
<xs:element name="BinList" msprop:Generator_TableClassName="BinListDataTable" msprop:Generator_TableVarName="tableBinList" msprop:Generator_RowChangedName="BinListRowChanged" msprop:Generator_TablePropName="BinList" msprop:Generator_RowDeletingName="BinListRowDeleting" msprop:Generator_RowChangingName="BinListRowChanging" msprop:Generator_RowEvHandlerName="BinListRowChangeEventHandler" msprop:Generator_RowDeletedName="BinListRowDeleted" msprop:Generator_RowClassName="BinListRow" msprop:Generator_UserTableName="BinList" msprop:Generator_RowEvArgName="BinListRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="BinID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnBinID" msprop:Generator_ColumnPropNameInRow="BinID" msprop:Generator_ColumnPropNameInTable="BinIDColumn" msprop:Generator_UserColumnName="BinID" type="xs:int" />
|
||||
@@ -2453,7 +2451,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="FinalKit" msprop:Generator_TableClassName="FinalKitDataTable" msprop:Generator_TableVarName="tableFinalKit" msprop:Generator_RowChangedName="FinalKitRowChanged" msprop:Generator_TablePropName="FinalKit" msprop:Generator_RowDeletingName="FinalKitRowDeleting" msprop:Generator_RowChangingName="FinalKitRowChanging" msprop:Generator_RowEvHandlerName="FinalKitRowChangeEventHandler" msprop:Generator_RowDeletedName="FinalKitRowDeleted" msprop:Generator_RowClassName="FinalKitRow" msprop:Generator_UserTableName="FinalKit" msprop:Generator_RowEvArgName="FinalKitRowChangeEvent">
|
||||
<xs:element name="FinalKit" msprop:Generator_TableClassName="FinalKitDataTable" msprop:Generator_TableVarName="tableFinalKit" msprop:Generator_TablePropName="FinalKit" msprop:Generator_RowDeletingName="FinalKitRowDeleting" msprop:Generator_RowChangingName="FinalKitRowChanging" msprop:Generator_RowEvHandlerName="FinalKitRowChangeEventHandler" msprop:Generator_RowDeletedName="FinalKitRowDeleted" msprop:Generator_UserTableName="FinalKit" msprop:Generator_RowChangedName="FinalKitRowChanged" msprop:Generator_RowEvArgName="FinalKitRowChangeEvent" msprop:Generator_RowClassName="FinalKitRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="FinalKitID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnFinalKitID" msprop:Generator_ColumnPropNameInRow="FinalKitID" msprop:Generator_ColumnPropNameInTable="FinalKitIDColumn" msprop:Generator_UserColumnName="FinalKitID" type="xs:int" />
|
||||
@@ -2469,7 +2467,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Order2FinalKit" msprop:Generator_TableClassName="Order2FinalKitDataTable" msprop:Generator_TableVarName="tableOrder2FinalKit" msprop:Generator_RowChangedName="Order2FinalKitRowChanged" msprop:Generator_TablePropName="Order2FinalKit" msprop:Generator_RowDeletingName="Order2FinalKitRowDeleting" msprop:Generator_RowChangingName="Order2FinalKitRowChanging" msprop:Generator_RowEvHandlerName="Order2FinalKitRowChangeEventHandler" msprop:Generator_RowDeletedName="Order2FinalKitRowDeleted" msprop:Generator_RowClassName="Order2FinalKitRow" msprop:Generator_UserTableName="Order2FinalKit" msprop:Generator_RowEvArgName="Order2FinalKitRowChangeEvent">
|
||||
<xs:element name="Order2FinalKit" msprop:Generator_TableClassName="Order2FinalKitDataTable" msprop:Generator_TableVarName="tableOrder2FinalKit" msprop:Generator_TablePropName="Order2FinalKit" msprop:Generator_RowDeletingName="Order2FinalKitRowDeleting" msprop:Generator_RowChangingName="Order2FinalKitRowChanging" msprop:Generator_RowEvHandlerName="Order2FinalKitRowChangeEventHandler" msprop:Generator_RowDeletedName="Order2FinalKitRowDeleted" msprop:Generator_UserTableName="Order2FinalKit" msprop:Generator_RowChangedName="Order2FinalKitRowChanged" msprop:Generator_RowEvArgName="Order2FinalKitRowChangeEvent" msprop:Generator_RowClassName="Order2FinalKitRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="FinalKitID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnFinalKitID" msprop:Generator_ColumnPropNameInRow="FinalKitID" msprop:Generator_ColumnPropNameInTable="FinalKitIDColumn" msprop:Generator_UserColumnName="FinalKitID" type="xs:int" />
|
||||
@@ -2477,7 +2475,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Counters" msprop:Generator_TableClassName="CountersDataTable" msprop:Generator_TableVarName="tableCounters" msprop:Generator_TablePropName="Counters" msprop:Generator_RowDeletingName="CountersRowDeleting" msprop:Generator_RowChangingName="CountersRowChanging" msprop:Generator_RowEvHandlerName="CountersRowChangeEventHandler" msprop:Generator_RowDeletedName="CountersRowDeleted" msprop:Generator_UserTableName="Counters" msprop:Generator_RowChangedName="CountersRowChanged" msprop:Generator_RowEvArgName="CountersRowChangeEvent" msprop:Generator_RowClassName="CountersRow">
|
||||
<xs:element name="Counters" msprop:Generator_TableClassName="CountersDataTable" msprop:Generator_TableVarName="tableCounters" msprop:Generator_RowChangedName="CountersRowChanged" msprop:Generator_TablePropName="Counters" msprop:Generator_RowDeletingName="CountersRowDeleting" msprop:Generator_RowChangingName="CountersRowChanging" msprop:Generator_RowEvHandlerName="CountersRowChangeEventHandler" msprop:Generator_RowDeletedName="CountersRowDeleted" msprop:Generator_RowClassName="CountersRow" msprop:Generator_UserTableName="Counters" msprop:Generator_RowEvArgName="CountersRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="CountType" msprop:Generator_ColumnVarNameInTable="columnCountType" msprop:Generator_ColumnPropNameInRow="CountType" msprop:Generator_ColumnPropNameInTable="CountTypeColumn" msprop:Generator_UserColumnName="CountType">
|
||||
@@ -2505,7 +2503,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ErrorsLog" msprop:Generator_TableClassName="ErrorsLogDataTable" msprop:Generator_TableVarName="tableErrorsLog" msprop:Generator_RowChangedName="ErrorsLogRowChanged" msprop:Generator_TablePropName="ErrorsLog" msprop:Generator_RowDeletingName="ErrorsLogRowDeleting" msprop:Generator_RowChangingName="ErrorsLogRowChanging" msprop:Generator_RowEvHandlerName="ErrorsLogRowChangeEventHandler" msprop:Generator_RowDeletedName="ErrorsLogRowDeleted" msprop:Generator_RowClassName="ErrorsLogRow" msprop:Generator_UserTableName="ErrorsLog" msprop:Generator_RowEvArgName="ErrorsLogRowChangeEvent">
|
||||
<xs:element name="ErrorsLog" msprop:Generator_TableClassName="ErrorsLogDataTable" msprop:Generator_TableVarName="tableErrorsLog" msprop:Generator_TablePropName="ErrorsLog" msprop:Generator_RowDeletingName="ErrorsLogRowDeleting" msprop:Generator_RowChangingName="ErrorsLogRowChanging" msprop:Generator_RowEvHandlerName="ErrorsLogRowChangeEventHandler" msprop:Generator_RowDeletedName="ErrorsLogRowDeleted" msprop:Generator_UserTableName="ErrorsLog" msprop:Generator_RowChangedName="ErrorsLogRowChanged" msprop:Generator_RowEvArgName="ErrorsLogRowChangeEvent" msprop:Generator_RowClassName="ErrorsLogRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ErrID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnErrID" msprop:Generator_ColumnPropNameInRow="ErrID" msprop:Generator_ColumnPropNameInTable="ErrIDColumn" msprop:Generator_UserColumnName="ErrID" type="xs:int" />
|
||||
@@ -2541,7 +2539,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ItemValidation" msprop:Generator_TableClassName="ItemValidationDataTable" msprop:Generator_TableVarName="tableItemValidation" msprop:Generator_RowChangedName="ItemValidationRowChanged" msprop:Generator_TablePropName="ItemValidation" msprop:Generator_RowDeletingName="ItemValidationRowDeleting" msprop:Generator_RowChangingName="ItemValidationRowChanging" msprop:Generator_RowEvHandlerName="ItemValidationRowChangeEventHandler" msprop:Generator_RowDeletedName="ItemValidationRowDeleted" msprop:Generator_RowClassName="ItemValidationRow" msprop:Generator_UserTableName="ItemValidation" msprop:Generator_RowEvArgName="ItemValidationRowChangeEvent">
|
||||
<xs:element name="ItemValidation" msprop:Generator_TableClassName="ItemValidationDataTable" msprop:Generator_TableVarName="tableItemValidation" msprop:Generator_TablePropName="ItemValidation" msprop:Generator_RowDeletingName="ItemValidationRowDeleting" msprop:Generator_RowChangingName="ItemValidationRowChanging" msprop:Generator_RowEvHandlerName="ItemValidationRowChangeEventHandler" msprop:Generator_RowDeletedName="ItemValidationRowDeleted" msprop:Generator_UserTableName="ItemValidation" msprop:Generator_RowChangedName="ItemValidationRowChanged" msprop:Generator_RowEvArgName="ItemValidationRowChangeEvent" msprop:Generator_RowClassName="ItemValidationRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ItemExtCode" msprop:Generator_ColumnVarNameInTable="columnItemExtCode" msprop:Generator_ColumnPropNameInRow="ItemExtCode" msprop:Generator_ColumnPropNameInTable="ItemExtCodeColumn" msprop:Generator_UserColumnName="ItemExtCode">
|
||||
@@ -2557,7 +2555,7 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="PartValidPareto" msprop:Generator_TableClassName="PartValidParetoDataTable" msprop:Generator_TableVarName="tablePartValidPareto" msprop:Generator_TablePropName="PartValidPareto" msprop:Generator_RowDeletingName="PartValidParetoRowDeleting" msprop:Generator_RowChangingName="PartValidParetoRowChanging" msprop:Generator_RowEvHandlerName="PartValidParetoRowChangeEventHandler" msprop:Generator_RowDeletedName="PartValidParetoRowDeleted" msprop:Generator_UserTableName="PartValidPareto" msprop:Generator_RowChangedName="PartValidParetoRowChanged" msprop:Generator_RowEvArgName="PartValidParetoRowChangeEvent" msprop:Generator_RowClassName="PartValidParetoRow">
|
||||
<xs:element name="PartValidPareto" msprop:Generator_TableClassName="PartValidParetoDataTable" msprop:Generator_TableVarName="tablePartValidPareto" msprop:Generator_RowChangedName="PartValidParetoRowChanged" msprop:Generator_TablePropName="PartValidPareto" msprop:Generator_RowDeletingName="PartValidParetoRowDeleting" msprop:Generator_RowChangingName="PartValidParetoRowChanging" msprop:Generator_RowEvHandlerName="PartValidParetoRowChangeEventHandler" msprop:Generator_RowDeletedName="PartValidParetoRowDeleted" msprop:Generator_RowClassName="PartValidParetoRow" msprop:Generator_UserTableName="PartValidPareto" msprop:Generator_RowEvArgName="PartValidParetoRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="TotParts" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnTotParts" msprop:Generator_ColumnPropNameInRow="TotParts" msprop:Generator_ColumnPropNameInTable="TotPartsColumn" msprop:Generator_UserColumnName="TotParts" type="xs:int" minOccurs="0" />
|
||||
@@ -2567,6 +2565,23 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="UnloadStats" msprop:Generator_TableClassName="UnloadStatsDataTable" msprop:Generator_TableVarName="tableUnloadStats" msprop:Generator_RowChangedName="UnloadStatsRowChanged" msprop:Generator_TablePropName="UnloadStats" msprop:Generator_RowDeletingName="UnloadStatsRowDeleting" msprop:Generator_RowChangingName="UnloadStatsRowChanging" msprop:Generator_RowEvHandlerName="UnloadStatsRowChangeEventHandler" msprop:Generator_RowDeletedName="UnloadStatsRowDeleted" msprop:Generator_RowClassName="UnloadStatsRow" msprop:Generator_UserTableName="UnloadStats" msprop:Generator_RowEvArgName="UnloadStatsRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Stat" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnStat" msprop:Generator_ColumnPropNameInRow="Stat" msprop:Generator_ColumnPropNameInTable="StatColumn" msprop:Generator_UserColumnName="Stat" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="Total" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnTotal" msprop:Generator_ColumnPropNameInRow="Total" msprop:Generator_ColumnPropNameInTable="TotalColumn" msprop:Generator_UserColumnName="Total" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="Wait" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnWait" msprop:Generator_ColumnPropNameInRow="Wait" msprop:Generator_ColumnPropNameInTable="WaitColumn" msprop:Generator_UserColumnName="Wait" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="Wip" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnWip" msprop:Generator_ColumnPropNameInRow="Wip" msprop:Generator_ColumnPropNameInTable="WipColumn" msprop:Generator_UserColumnName="Wip" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="Done" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnDone" msprop:Generator_ColumnPropNameInRow="Done" msprop:Generator_ColumnPropNameInTable="DoneColumn" msprop:Generator_UserColumnName="Done" type="xs:int" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
|
||||
@@ -2655,18 +2670,18 @@ SELECT ItemExtCode, BatchID, EvalDate, Status FROM ItemValidation WHERE (ItemExt
|
||||
</xs:element>
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<msdata:Relationship name="FK_BatchReqList_OrderList" msdata:parent="OrderList" msdata:child="BatchReqList" msdata:parentkey="OrdID" msdata:childkey="OrdID" msprop:Generator_UserChildTable="BatchReqList" msprop:Generator_ChildPropName="GetBatchReqListRows" msprop:Generator_UserRelationName="FK_BatchReqList_OrderList" msprop:Generator_ParentPropName="OrderListRow" msprop:Generator_RelationVarName="relationFK_BatchReqList_OrderList" msprop:Generator_UserParentTable="OrderList" />
|
||||
<msdata:Relationship name="FK_ItemList_Materials1" msdata:parent="Materials" msdata:child="ItemList" msdata:parentkey="MatID" msdata:childkey="MatID" msprop:Generator_UserChildTable="ItemList" msprop:Generator_ChildPropName="GetItemListRows" msprop:Generator_UserRelationName="FK_ItemList_Materials1" msprop:Generator_ParentPropName="MaterialsRow" msprop:Generator_RelationVarName="relationFK_ItemList_Materials1" msprop:Generator_UserParentTable="Materials" />
|
||||
<msdata:Relationship name="FK_OffOrd2Item_OfflineOrderList" msdata:parent="OfflineOrderList" msdata:child="OffOrd2Item" msdata:parentkey="OrdID" msdata:childkey="OrdID" msprop:Generator_UserChildTable="OffOrd2Item" msprop:Generator_ChildPropName="GetOffOrd2ItemRows" msprop:Generator_UserRelationName="FK_OffOrd2Item_OfflineOrderList" msprop:Generator_ParentPropName="OfflineOrderListRow" msprop:Generator_RelationVarName="relationFK_OffOrd2Item_OfflineOrderList" msprop:Generator_UserParentTable="OfflineOrderList" />
|
||||
<msdata:Relationship name="FK_ItemList_KitList" msdata:parent="KitList" msdata:child="ItemList" msdata:parentkey="KitID" msdata:childkey="KitID" msprop:Generator_UserChildTable="ItemList" msprop:Generator_ChildPropName="GetItemListRows" msprop:Generator_UserRelationName="FK_ItemList_KitList" msprop:Generator_ParentPropName="KitListRow" msprop:Generator_RelationVarName="relationFK_ItemList_KitList" msprop:Generator_UserParentTable="KitList" />
|
||||
<msdata:Relationship name="FK_Nesting_ItemList" msdata:parent="ItemList" msdata:child="Nesting" msdata:parentkey="ItemID" msdata:childkey="ItemID" msprop:Generator_UserChildTable="Nesting" msprop:Generator_ChildPropName="GetNestingRows" msprop:Generator_UserRelationName="FK_Nesting_ItemList" msprop:Generator_ParentPropName="ItemListRow" msprop:Generator_RelationVarName="relationFK_Nesting_ItemList" msprop:Generator_UserParentTable="ItemList" />
|
||||
<msdata:Relationship name="FK_KitList_Carts" msdata:parent="Carts" msdata:child="KitList" msdata:parentkey="CartID" msdata:childkey="CartID" msprop:Generator_UserChildTable="KitList" msprop:Generator_ChildPropName="GetKitListRows" msprop:Generator_UserRelationName="FK_KitList_Carts" msprop:Generator_ParentPropName="CartsRow" msprop:Generator_RelationVarName="relationFK_KitList_Carts" msprop:Generator_UserParentTable="Carts" />
|
||||
<msdata:Relationship name="FK_KitList_OrderList" msdata:parent="OrderList" msdata:child="KitList" msdata:parentkey="OrdID" msdata:childkey="OrdID" msprop:Generator_UserChildTable="KitList" msprop:Generator_ChildPropName="GetKitListRows" msprop:Generator_UserRelationName="FK_KitList_OrderList" msprop:Generator_ParentPropName="OrderListRow" msprop:Generator_RelationVarName="relationFK_KitList_OrderList" msprop:Generator_UserParentTable="OrderList" />
|
||||
<msdata:Relationship name="FK_OffOrd2Item_ItemList" msdata:parent="ItemList" msdata:child="OffOrd2Item" msdata:parentkey="ItemID" msdata:childkey="ItemID" msprop:Generator_UserChildTable="OffOrd2Item" msprop:Generator_ChildPropName="GetOffOrd2ItemRows" msprop:Generator_UserRelationName="FK_OffOrd2Item_ItemList" msprop:Generator_ParentPropName="ItemListRow" msprop:Generator_RelationVarName="relationFK_OffOrd2Item_ItemList" msprop:Generator_UserParentTable="ItemList" />
|
||||
<msdata:Relationship name="FK_BinList_Bins" msdata:parent="Bins" msdata:child="BinList" msdata:parentkey="BinID" msdata:childkey="BinID" msprop:Generator_UserChildTable="BinList" msprop:Generator_ChildPropName="GetBinListRows" msprop:Generator_UserRelationName="FK_BinList_Bins" msprop:Generator_ParentPropName="BinsRow" msprop:Generator_RelationVarName="relationFK_BinList_Bins" msprop:Generator_UserParentTable="Bins" />
|
||||
<msdata:Relationship name="FK_BinList_ItemList" msdata:parent="ItemList" msdata:child="BinList" msdata:parentkey="ItemID" msdata:childkey="ItemID" msprop:Generator_UserChildTable="BinList" msprop:Generator_ChildPropName="GetBinListRows" msprop:Generator_UserRelationName="FK_BinList_ItemList" msprop:Generator_ParentPropName="ItemListRow" msprop:Generator_RelationVarName="relationFK_BinList_ItemList" msprop:Generator_UserParentTable="ItemList" />
|
||||
<msdata:Relationship name="FK_Order2FinalKit_FinalKit" msdata:parent="FinalKit" msdata:child="Order2FinalKit" msdata:parentkey="FinalKitID" msdata:childkey="FinalKitID" msprop:Generator_UserChildTable="Order2FinalKit" msprop:Generator_ChildPropName="GetOrder2FinalKitRows" msprop:Generator_UserRelationName="FK_Order2FinalKit_FinalKit" msprop:Generator_RelationVarName="relationFK_Order2FinalKit_FinalKit" msprop:Generator_UserParentTable="FinalKit" msprop:Generator_ParentPropName="FinalKitRow" />
|
||||
<msdata:Relationship name="FK_Order2FinalKit_OrderList" msdata:parent="OrderList" msdata:child="Order2FinalKit" msdata:parentkey="OrdID" msdata:childkey="OrdID" msprop:Generator_UserChildTable="Order2FinalKit" msprop:Generator_ChildPropName="GetOrder2FinalKitRows" msprop:Generator_UserRelationName="FK_Order2FinalKit_OrderList" msprop:Generator_RelationVarName="relationFK_Order2FinalKit_OrderList" msprop:Generator_UserParentTable="OrderList" msprop:Generator_ParentPropName="OrderListRow" />
|
||||
<msdata:Relationship name="FK_BatchReqList_OrderList" msdata:parent="OrderList" msdata:child="BatchReqList" msdata:parentkey="OrdID" msdata:childkey="OrdID" msprop:Generator_UserChildTable="BatchReqList" msprop:Generator_ChildPropName="GetBatchReqListRows" msprop:Generator_UserRelationName="FK_BatchReqList_OrderList" msprop:Generator_RelationVarName="relationFK_BatchReqList_OrderList" msprop:Generator_UserParentTable="OrderList" msprop:Generator_ParentPropName="OrderListRow" />
|
||||
<msdata:Relationship name="FK_ItemList_Materials1" msdata:parent="Materials" msdata:child="ItemList" msdata:parentkey="MatID" msdata:childkey="MatID" msprop:Generator_UserChildTable="ItemList" msprop:Generator_ChildPropName="GetItemListRows" msprop:Generator_UserRelationName="FK_ItemList_Materials1" msprop:Generator_RelationVarName="relationFK_ItemList_Materials1" msprop:Generator_UserParentTable="Materials" msprop:Generator_ParentPropName="MaterialsRow" />
|
||||
<msdata:Relationship name="FK_OffOrd2Item_OfflineOrderList" msdata:parent="OfflineOrderList" msdata:child="OffOrd2Item" msdata:parentkey="OrdID" msdata:childkey="OrdID" msprop:Generator_UserChildTable="OffOrd2Item" msprop:Generator_ChildPropName="GetOffOrd2ItemRows" msprop:Generator_UserRelationName="FK_OffOrd2Item_OfflineOrderList" msprop:Generator_RelationVarName="relationFK_OffOrd2Item_OfflineOrderList" msprop:Generator_UserParentTable="OfflineOrderList" msprop:Generator_ParentPropName="OfflineOrderListRow" />
|
||||
<msdata:Relationship name="FK_ItemList_KitList" msdata:parent="KitList" msdata:child="ItemList" msdata:parentkey="KitID" msdata:childkey="KitID" msprop:Generator_UserChildTable="ItemList" msprop:Generator_ChildPropName="GetItemListRows" msprop:Generator_UserRelationName="FK_ItemList_KitList" msprop:Generator_RelationVarName="relationFK_ItemList_KitList" msprop:Generator_UserParentTable="KitList" msprop:Generator_ParentPropName="KitListRow" />
|
||||
<msdata:Relationship name="FK_Nesting_ItemList" msdata:parent="ItemList" msdata:child="Nesting" msdata:parentkey="ItemID" msdata:childkey="ItemID" msprop:Generator_UserChildTable="Nesting" msprop:Generator_ChildPropName="GetNestingRows" msprop:Generator_UserRelationName="FK_Nesting_ItemList" msprop:Generator_RelationVarName="relationFK_Nesting_ItemList" msprop:Generator_UserParentTable="ItemList" msprop:Generator_ParentPropName="ItemListRow" />
|
||||
<msdata:Relationship name="FK_KitList_Carts" msdata:parent="Carts" msdata:child="KitList" msdata:parentkey="CartID" msdata:childkey="CartID" msprop:Generator_UserChildTable="KitList" msprop:Generator_ChildPropName="GetKitListRows" msprop:Generator_UserRelationName="FK_KitList_Carts" msprop:Generator_RelationVarName="relationFK_KitList_Carts" msprop:Generator_UserParentTable="Carts" msprop:Generator_ParentPropName="CartsRow" />
|
||||
<msdata:Relationship name="FK_KitList_OrderList" msdata:parent="OrderList" msdata:child="KitList" msdata:parentkey="OrdID" msdata:childkey="OrdID" msprop:Generator_UserChildTable="KitList" msprop:Generator_ChildPropName="GetKitListRows" msprop:Generator_UserRelationName="FK_KitList_OrderList" msprop:Generator_RelationVarName="relationFK_KitList_OrderList" msprop:Generator_UserParentTable="OrderList" msprop:Generator_ParentPropName="OrderListRow" />
|
||||
<msdata:Relationship name="FK_OffOrd2Item_ItemList" msdata:parent="ItemList" msdata:child="OffOrd2Item" msdata:parentkey="ItemID" msdata:childkey="ItemID" msprop:Generator_UserChildTable="OffOrd2Item" msprop:Generator_ChildPropName="GetOffOrd2ItemRows" msprop:Generator_UserRelationName="FK_OffOrd2Item_ItemList" msprop:Generator_RelationVarName="relationFK_OffOrd2Item_ItemList" msprop:Generator_UserParentTable="ItemList" msprop:Generator_ParentPropName="ItemListRow" />
|
||||
<msdata:Relationship name="FK_BinList_Bins" msdata:parent="Bins" msdata:child="BinList" msdata:parentkey="BinID" msdata:childkey="BinID" msprop:Generator_UserChildTable="BinList" msprop:Generator_ChildPropName="GetBinListRows" msprop:Generator_UserRelationName="FK_BinList_Bins" msprop:Generator_RelationVarName="relationFK_BinList_Bins" msprop:Generator_UserParentTable="Bins" msprop:Generator_ParentPropName="BinsRow" />
|
||||
<msdata:Relationship name="FK_BinList_ItemList" msdata:parent="ItemList" msdata:child="BinList" msdata:parentkey="ItemID" msdata:childkey="ItemID" msprop:Generator_UserChildTable="BinList" msprop:Generator_ChildPropName="GetBinListRows" msprop:Generator_UserRelationName="FK_BinList_ItemList" msprop:Generator_RelationVarName="relationFK_BinList_ItemList" msprop:Generator_UserParentTable="ItemList" msprop:Generator_ParentPropName="ItemListRow" />
|
||||
<msdata:Relationship name="FK_Order2FinalKit_FinalKit" msdata:parent="FinalKit" msdata:child="Order2FinalKit" msdata:parentkey="FinalKitID" msdata:childkey="FinalKitID" msprop:Generator_UserChildTable="Order2FinalKit" msprop:Generator_ChildPropName="GetOrder2FinalKitRows" msprop:Generator_UserRelationName="FK_Order2FinalKit_FinalKit" msprop:Generator_ParentPropName="FinalKitRow" msprop:Generator_RelationVarName="relationFK_Order2FinalKit_FinalKit" msprop:Generator_UserParentTable="FinalKit" />
|
||||
<msdata:Relationship name="FK_Order2FinalKit_OrderList" msdata:parent="OrderList" msdata:child="Order2FinalKit" msdata:parentkey="OrdID" msdata:childkey="OrdID" msprop:Generator_UserChildTable="Order2FinalKit" msprop:Generator_ChildPropName="GetOrder2FinalKitRows" msprop:Generator_UserRelationName="FK_Order2FinalKit_OrderList" msprop:Generator_ParentPropName="OrderListRow" msprop:Generator_RelationVarName="relationFK_Order2FinalKit_OrderList" msprop:Generator_UserParentTable="OrderList" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
</xs:schema>
|
||||
@@ -4,32 +4,33 @@
|
||||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
</autogenerated>-->
|
||||
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-9" ViewPortY="9" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="205" ViewPortY="-47" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<Shapes>
|
||||
<Shape ID="DesignTable:BatchList" ZOrder="1" X="251" Y="375" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:StackList" ZOrder="13" X="584" Y="890" Height="343" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
|
||||
<Shape ID="DesignTable:SheetList" ZOrder="5" X="240" Y="793" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:OrderList" ZOrder="23" X="352" Y="29" Height="324" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:BatchReqList" ZOrder="33" X="101" Y="100" Height="115" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
|
||||
<Shape ID="DesignTable:ItemList" ZOrder="11" X="861" Y="19" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:Materials" ZOrder="31" X="1197" Y="37" Height="248" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
|
||||
<Shape ID="DesignTable:Bins" ZOrder="20" X="1271" Y="551" Height="229" Width="182" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
|
||||
<Shape ID="DesignTable:Carts" ZOrder="16" X="595" Y="369" Height="210" Width="187" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
|
||||
<Shape ID="DesignTable:OfflineOrderList" ZOrder="27" X="975" Y="913" Height="267" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
|
||||
<Shape ID="DesignTable:OffOrd2Item" ZOrder="29" X="1031" Y="660" Height="134" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
|
||||
<Shape ID="DesignTable:KitList" ZOrder="26" X="604" Y="84" Height="229" Width="184" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
|
||||
<Shape ID="DesignTable:Nesting" ZOrder="15" X="871" Y="458" Height="153" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
|
||||
<Shape ID="DesignTable:ImportLog" ZOrder="14" X="576" Y="619" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
|
||||
<Shape ID="DesignTable:BinList" ZOrder="19" X="1264" Y="323" Height="134" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
|
||||
<Shape ID="DesignTable:FinalKit" ZOrder="7" X="23" Y="457" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
|
||||
<Shape ID="DesignTable:Order2FinalKit" ZOrder="10" X="13" Y="240" Height="134" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
|
||||
<Shape ID="DesignTable:Counters" ZOrder="6" X="16" Y="706" Height="172" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
|
||||
<Shape ID="DesignTable:ErrorsLog" ZOrder="4" X="-6" Y="928" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
|
||||
<Shape ID="DesignTable:ItemValidation" ZOrder="3" X="83" Y="1185" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
|
||||
<Shape ID="DesignTable:PartValidPareto" ZOrder="2" X="339" Y="1189" Height="153" Width="236" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
|
||||
<Shape ID="DesignTable:BatchList" ZOrder="4" X="251" Y="375" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:StackList" ZOrder="15" X="584" Y="890" Height="343" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
|
||||
<Shape ID="DesignTable:SheetList" ZOrder="3" X="240" Y="793" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:OrderList" ZOrder="24" X="352" Y="29" Height="324" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:BatchReqList" ZOrder="34" X="101" Y="100" Height="115" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
|
||||
<Shape ID="DesignTable:ItemList" ZOrder="13" X="861" Y="19" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:Materials" ZOrder="32" X="1197" Y="37" Height="248" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
|
||||
<Shape ID="DesignTable:Bins" ZOrder="21" X="1271" Y="551" Height="305" Width="182" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
|
||||
<Shape ID="DesignTable:Carts" ZOrder="2" X="600" Y="340" Height="286" Width="187" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
|
||||
<Shape ID="DesignTable:OfflineOrderList" ZOrder="28" X="975" Y="913" Height="267" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
|
||||
<Shape ID="DesignTable:OffOrd2Item" ZOrder="30" X="1031" Y="660" Height="134" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
|
||||
<Shape ID="DesignTable:KitList" ZOrder="27" X="604" Y="84" Height="229" Width="184" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
|
||||
<Shape ID="DesignTable:Nesting" ZOrder="17" X="871" Y="458" Height="153" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
|
||||
<Shape ID="DesignTable:ImportLog" ZOrder="16" X="576" Y="628" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
|
||||
<Shape ID="DesignTable:BinList" ZOrder="20" X="1264" Y="323" Height="134" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
|
||||
<Shape ID="DesignTable:FinalKit" ZOrder="9" X="23" Y="457" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
|
||||
<Shape ID="DesignTable:Order2FinalKit" ZOrder="12" X="13" Y="240" Height="134" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
|
||||
<Shape ID="DesignTable:Counters" ZOrder="8" X="16" Y="706" Height="172" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
|
||||
<Shape ID="DesignTable:ErrorsLog" ZOrder="7" X="-6" Y="928" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
|
||||
<Shape ID="DesignTable:ItemValidation" ZOrder="6" X="83" Y="1185" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
|
||||
<Shape ID="DesignTable:PartValidPareto" ZOrder="5" X="365" Y="1187" Height="153" Width="236" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
|
||||
<Shape ID="DesignTable:UnloadStats" ZOrder="1" X="639" Y="1236" Height="172" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
|
||||
</Shapes>
|
||||
<Connectors>
|
||||
<Connector ID="DesignRelation:FK_BatchReqList_OrderList" ZOrder="32" LineWidth="11">
|
||||
<Connector ID="DesignRelation:FK_BatchReqList_OrderList" ZOrder="33" LineWidth="11">
|
||||
<RoutePoints>
|
||||
<Point>
|
||||
<X>352</X>
|
||||
@@ -41,7 +42,7 @@
|
||||
</Point>
|
||||
</RoutePoints>
|
||||
</Connector>
|
||||
<Connector ID="DesignRelation:FK_ItemList_Materials1" ZOrder="30" LineWidth="11">
|
||||
<Connector ID="DesignRelation:FK_ItemList_Materials1" ZOrder="31" LineWidth="11">
|
||||
<RoutePoints>
|
||||
<Point>
|
||||
<X>1197</X>
|
||||
@@ -53,7 +54,7 @@
|
||||
</Point>
|
||||
</RoutePoints>
|
||||
</Connector>
|
||||
<Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="28" LineWidth="11">
|
||||
<Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="29" LineWidth="11">
|
||||
<RoutePoints>
|
||||
<Point>
|
||||
<X>1140</X>
|
||||
@@ -65,7 +66,7 @@
|
||||
</Point>
|
||||
</RoutePoints>
|
||||
</Connector>
|
||||
<Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="25" LineWidth="11">
|
||||
<Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="26" LineWidth="11">
|
||||
<RoutePoints>
|
||||
<Point>
|
||||
<X>788</X>
|
||||
@@ -77,7 +78,7 @@
|
||||
</Point>
|
||||
</RoutePoints>
|
||||
</Connector>
|
||||
<Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="24" LineWidth="11">
|
||||
<Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="25" LineWidth="11">
|
||||
<RoutePoints>
|
||||
<Point>
|
||||
<X>986</X>
|
||||
@@ -89,19 +90,19 @@
|
||||
</Point>
|
||||
</RoutePoints>
|
||||
</Connector>
|
||||
<Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="21" LineWidth="11">
|
||||
<Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="22" LineWidth="11">
|
||||
<RoutePoints>
|
||||
<Point>
|
||||
<X>694</X>
|
||||
<Y>369</Y>
|
||||
<X>699</X>
|
||||
<Y>340</Y>
|
||||
</Point>
|
||||
<Point>
|
||||
<X>694</X>
|
||||
<X>699</X>
|
||||
<Y>313</Y>
|
||||
</Point>
|
||||
</RoutePoints>
|
||||
</Connector>
|
||||
<Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="22" LineWidth="11">
|
||||
<Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="23" LineWidth="11">
|
||||
<RoutePoints>
|
||||
<Point>
|
||||
<X>550</X>
|
||||
@@ -113,7 +114,7 @@
|
||||
</Point>
|
||||
</RoutePoints>
|
||||
</Connector>
|
||||
<Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="12" LineWidth="11">
|
||||
<Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="14" LineWidth="11">
|
||||
<RoutePoints>
|
||||
<Point>
|
||||
<X>1129</X>
|
||||
@@ -125,7 +126,7 @@
|
||||
</Point>
|
||||
</RoutePoints>
|
||||
</Connector>
|
||||
<Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="18" LineWidth="11">
|
||||
<Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="19" LineWidth="11">
|
||||
<RoutePoints>
|
||||
<Point>
|
||||
<X>1359</X>
|
||||
@@ -137,7 +138,7 @@
|
||||
</Point>
|
||||
</RoutePoints>
|
||||
</Connector>
|
||||
<Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="17" LineWidth="11">
|
||||
<Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="18" LineWidth="11">
|
||||
<RoutePoints>
|
||||
<Point>
|
||||
<X>1161</X>
|
||||
@@ -149,7 +150,7 @@
|
||||
</Point>
|
||||
</RoutePoints>
|
||||
</Connector>
|
||||
<Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="9" LineWidth="11">
|
||||
<Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="11" LineWidth="11">
|
||||
<RoutePoints>
|
||||
<Point>
|
||||
<X>131</X>
|
||||
@@ -161,7 +162,7 @@
|
||||
</Point>
|
||||
</RoutePoints>
|
||||
</Connector>
|
||||
<Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="8" LineWidth="11">
|
||||
<Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="10" LineWidth="11">
|
||||
<RoutePoints>
|
||||
<Point>
|
||||
<X>352</X>
|
||||
|
||||
@@ -207,7 +207,14 @@ namespace AppData
|
||||
if (checkDoc(tipoDoc, keyParam))
|
||||
{
|
||||
answ = reportPrinter.obj.stampaCartellino(tipoDoc, keyParam, printer);
|
||||
logger.lg.scriviLog(string.Format(" | {0} | stampato UDC {1} | stampante {2} | tipo {3}", clientIp, keyParam, printer, tipoDoc), tipoLog.INFO);
|
||||
if (answ)
|
||||
{
|
||||
logger.lg.scriviLog(string.Format(" | {0} | stampato UDC {1} | stampante {2} | tipo {3}", clientIp, keyParam, printer, tipoDoc), tipoLog.INFO);
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.lg.scriviLog(string.Format("ERRORE | {0} | stampato UDC {1} | stampante {2} | tipo {3}", clientIp, keyParam, printer, tipoDoc), tipoLog.ERROR);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AppData
|
||||
{
|
||||
public enum StatType
|
||||
{
|
||||
BATCH =1,
|
||||
BUNK,
|
||||
SHEET,
|
||||
CART,
|
||||
BIN
|
||||
}
|
||||
}
|
||||
@@ -7,20 +7,20 @@
|
||||
<package id="Microsoft.NETCore.Platforms" version="3.1.0" targetFramework="net462" />
|
||||
<package id="Microsoft.ReportViewer.Runtime.Common" version="12.0.2402.15" targetFramework="net462" />
|
||||
<package id="Microsoft.ReportViewer.Runtime.WinForms" version="12.0.2402.15" targetFramework="net462" />
|
||||
<package id="MongoDB.Bson" version="2.10.0" targetFramework="net462" />
|
||||
<package id="MongoDB.Driver" version="2.10.0" targetFramework="net462" />
|
||||
<package id="MongoDB.Driver.Core" version="2.10.0" targetFramework="net462" />
|
||||
<package id="MongoDB.Bson" version="2.10.1" targetFramework="net462" />
|
||||
<package id="MongoDB.Driver" version="2.10.1" targetFramework="net462" />
|
||||
<package id="MongoDB.Driver.Core" version="2.10.1" targetFramework="net462" />
|
||||
<package id="MongoDB.Libmongocrypt" version="1.0.0" targetFramework="net462" />
|
||||
<package id="NETStandard.Library" version="2.0.3" targetFramework="net462" />
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net462" />
|
||||
<package id="NLog" version="4.6.8" targetFramework="net462" />
|
||||
<package id="PDFsharp" version="1.50.5147" targetFramework="net462" />
|
||||
<package id="Pipelines.Sockets.Unofficial" version="2.1.0" targetFramework="net462" />
|
||||
<package id="Pipelines.Sockets.Unofficial" version="2.1.1" targetFramework="net462" />
|
||||
<package id="SharpCompress" version="0.24.0" targetFramework="net462" />
|
||||
<package id="SharpZipLib" version="1.2.0" targetFramework="net462" />
|
||||
<package id="Snappy.NET" version="1.1.1.8" targetFramework="net462" />
|
||||
<package id="StackExchange.Redis" version="2.0.601" targetFramework="net462" />
|
||||
<package id="SteamWare" version="3.5.1912.708" targetFramework="net462" />
|
||||
<package id="SteamWare" version="3.5.2001.709" targetFramework="net462" />
|
||||
<package id="System.Buffers" version="4.5.0" targetFramework="net462" />
|
||||
<package id="System.Diagnostics.PerformanceCounter" version="4.7.0" targetFramework="net462" />
|
||||
<package id="System.IO.Pipelines" version="4.7.0" targetFramework="net462" />
|
||||
|
||||
@@ -182,26 +182,28 @@ namespace AppData
|
||||
LocalReport report = new LocalReport();
|
||||
report.EnableExternalImages = true;
|
||||
string deviceInfo = "";
|
||||
string repoBasePath = utils.getPath(memLayer.ML.cdv("ReportBasePath"));
|
||||
repoBasePath = repoBasePath.Replace("\\site", "");
|
||||
switch (tipoReport)
|
||||
{
|
||||
case reportRichiesto.cartLabel:
|
||||
report.ReportPath = string.Format(@"{0}\CartLabel.rdlc", utils.getPath(memLayer.ML.cdv("ReportBasePath")));
|
||||
report.ReportPath = string.Format(@"{0}\CartLabel.rdlc", repoBasePath);
|
||||
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocCart"), caricaDati(tipoReport, keyParam)));
|
||||
break;
|
||||
case reportRichiesto.paintLabelPre:
|
||||
report.ReportPath = string.Format(@"{0}\PaintPreLabel.rdlc", utils.getPath(memLayer.ML.cdv("ReportBasePath")));
|
||||
report.ReportPath = string.Format(@"{0}\PaintPreLabel.rdlc", repoBasePath);
|
||||
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocPaintPre"), caricaDati(tipoReport, keyParam)));
|
||||
break;
|
||||
case reportRichiesto.paintLabelPost:
|
||||
report.ReportPath = string.Format(@"{0}\PaintPreLabel.rdlc", utils.getPath(memLayer.ML.cdv("ReportBasePath")));
|
||||
report.ReportPath = string.Format(@"{0}\PaintPreLabel.rdlc", repoBasePath);
|
||||
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocPaintPre"), caricaDati(tipoReport, keyParam)));
|
||||
break;
|
||||
case reportRichiesto.partLabel:
|
||||
report.ReportPath = string.Format(@"{0}\PartLabel.rdlc", utils.getPath(memLayer.ML.cdv("ReportBasePath")));
|
||||
report.ReportPath = string.Format(@"{0}\PartLabel.rdlc", repoBasePath);
|
||||
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocPart"), caricaDati(tipoReport, keyParam)));
|
||||
break;
|
||||
case reportRichiesto.stackLabel:
|
||||
report.ReportPath = string.Format(@"{0}\StackLabel.rdlc", utils.getPath(memLayer.ML.cdv("ReportBasePath")));
|
||||
report.ReportPath = string.Format(@"{0}\StackLabel.rdlc", repoBasePath);
|
||||
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocStack"), caricaDati(tipoReport, keyParam)));
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -17,10 +17,10 @@ pipeline {
|
||||
|
||||
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
|
||||
script {
|
||||
withEnv(['NEXT_BUILD_NUMBER=183']) {
|
||||
// env.versionNumber = VersionNumber(versionNumberString : '0.7.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true)
|
||||
env.versionNumber = VersionNumber(versionNumberString : '0.7.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
|
||||
env.versionNumberBeta = VersionNumber(versionNumberString : '0.7.${BUILD_DATE_FORMATTED, "yyMM"}-beta.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
|
||||
withEnv(['NEXT_BUILD_NUMBER=212']) {
|
||||
// env.versionNumber = VersionNumber(versionNumberString : '0.9.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true)
|
||||
env.versionNumber = VersionNumber(versionNumberString : '0.9.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
|
||||
env.versionNumberBeta = VersionNumber(versionNumberString : '0.9.${BUILD_DATE_FORMATTED, "yyMM"}-beta.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
|
||||
env.APP_NAME = 'NKC'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,6 +165,50 @@
|
||||
/// </summary>
|
||||
Present
|
||||
}
|
||||
/// <summary>
|
||||
/// Destinazioni per ITEM post CNC WORK
|
||||
/// </summary>
|
||||
public enum ItemDest
|
||||
{
|
||||
/// <summary>
|
||||
/// Destinato a BIN (painting)
|
||||
/// </summary>
|
||||
Bin,
|
||||
/// <summary>
|
||||
/// Destinato a Cart (KIT)
|
||||
/// </summary>
|
||||
Cart,
|
||||
/// <summary>
|
||||
/// Indefinito
|
||||
/// </summary>
|
||||
Undef
|
||||
}
|
||||
/// <summary>
|
||||
/// Stati ammessi per ITEM
|
||||
/// </summary>
|
||||
public enum ItemStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// Programmato
|
||||
/// </summary>
|
||||
Programmed,
|
||||
/// <summary>
|
||||
/// Completato/Fatto/tagliato
|
||||
/// </summary>
|
||||
Made,
|
||||
/// <summary>
|
||||
/// Preso da operatore
|
||||
/// </summary>
|
||||
PickUp,
|
||||
/// <summary>
|
||||
/// Depositato su Bin/Cesta
|
||||
/// </summary>
|
||||
Removed,
|
||||
/// <summary>
|
||||
/// Indefinito
|
||||
/// </summary>
|
||||
Undef
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tipi di barcode gestiti
|
||||
|
||||
@@ -140,6 +140,27 @@ namespace NKC_SDK
|
||||
/// </summary>
|
||||
public Dictionary<string, string> OptParameters { get; set; } = null;
|
||||
}
|
||||
/// <summary>
|
||||
/// Descrizione di un ITEM in fase di scarico
|
||||
/// </summary>
|
||||
public class PartUnload : Part
|
||||
{
|
||||
/// <summary>
|
||||
/// Destinazione dell'item
|
||||
/// </summary>
|
||||
public ItemDest NextDest { get; set; } = ItemDest.Undef;
|
||||
/// <summary>
|
||||
/// Stato dell'item
|
||||
/// </summary>
|
||||
public ItemStatus Status { get; set; } = ItemStatus.Undef;
|
||||
/// <summary>
|
||||
/// Elenco di Secop opzionali (es T-NUT, RoundEdge)
|
||||
/// </summary>
|
||||
public List<string> SecOp { get; set; } = new List<string>();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Classe Sheet x Nesting
|
||||
/// </summary>
|
||||
@@ -162,6 +183,31 @@ namespace NKC_SDK
|
||||
/// </summary>
|
||||
public double EstimatedWorktime { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// Superficie WORK (lavorata/tagliata) del foglio lavorato (= somma area dei pezzi disposti)
|
||||
/// </summary>
|
||||
public double SurfaceWork { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// Superficie totale del foglio lavorato (= materiale)
|
||||
/// </summary>
|
||||
public double SurfaceTotal { get; set; } = 1;
|
||||
/// <summary>
|
||||
/// Resa (OEE) dell'impiego del materiale
|
||||
/// </summary>
|
||||
public double SurfaceOEE
|
||||
{
|
||||
get
|
||||
{
|
||||
double answ = 0;
|
||||
try
|
||||
{
|
||||
answ = SurfaceWork / SurfaceTotal;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Programma x printing
|
||||
/// </summary>
|
||||
public string PrintProgram { get; set; } = "";
|
||||
@@ -316,7 +362,7 @@ namespace NKC_SDK
|
||||
public class NestBin
|
||||
{
|
||||
/// <summary>
|
||||
/// Indice del BIN nel TAKC / giorno
|
||||
/// Indice del BIN nel TAKT / giorno
|
||||
/// </summary>
|
||||
public int BinIndex { get; set; } = 0;
|
||||
/// <summary>
|
||||
@@ -394,7 +440,6 @@ namespace NKC_SDK
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region classi per PROD
|
||||
|
||||
/// <summary>
|
||||
@@ -563,5 +608,5 @@ namespace NKC_SDK
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,58 +1,52 @@
|
||||
/* ANIMAZIONE */
|
||||
.strokeThick {
|
||||
stroke-width: 5px !important;
|
||||
stroke-width: 15px !important;
|
||||
}
|
||||
/* Animazione per richiamo attenzione*/
|
||||
.flashStroke {
|
||||
stroke: blue;
|
||||
stroke: yellow;
|
||||
/* Safari 4.0 - 8.0 */
|
||||
-webkit-animation-name: blueFlash;
|
||||
-webkit-animation-duration: 0.5s;
|
||||
-webkit-animation-name: doFlash;
|
||||
-webkit-animation-duration: 0.8s;
|
||||
-webkit-animation-timing-function: linear;
|
||||
-webkit-animation-delay: 0s;
|
||||
-webkit-animation-iteration-count: infinite;
|
||||
-webkit-animation-direction: alternate;
|
||||
/* Standard syntax */
|
||||
animation-name: blueFlash;
|
||||
animation-duration: 0.5s;
|
||||
animation-name: doFlash;
|
||||
animation-duration: 0.8s;
|
||||
animation-timing-function: linear;
|
||||
animation-delay: 0s;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
/* Safari 4.0 - 8.0 */
|
||||
@-webkit-keyframes blueFlash {
|
||||
@-webkit-keyframes doFlash {
|
||||
0% {
|
||||
stroke: #c4dbff;
|
||||
stroke: #f8fbff;
|
||||
}
|
||||
25% {
|
||||
stroke: #9dc4ff;
|
||||
stroke: #ff0;
|
||||
}
|
||||
50% {
|
||||
stroke: #5ca5ff;
|
||||
stroke: #f2f200;
|
||||
}
|
||||
75% {
|
||||
stroke: #1b82ff;
|
||||
stroke: #d8d800;
|
||||
}
|
||||
100% {
|
||||
stroke: #005ccc;
|
||||
stroke: #bebe00;
|
||||
}
|
||||
}
|
||||
/* COLORI */
|
||||
.SFONDO {
|
||||
/*background-image: url("../Images/MT0006110.jpg");
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;*/
|
||||
fill: #DEDEDE;
|
||||
}
|
||||
.GRIGIO {
|
||||
fill: #ACACAC;
|
||||
}
|
||||
.VERDE {
|
||||
fill: #28a745;
|
||||
fill: #21CD39;
|
||||
}
|
||||
.BLU {
|
||||
fill: #007bff;
|
||||
fill: #0000FF;
|
||||
}
|
||||
.ARANCIO {
|
||||
fill: orange;
|
||||
@@ -63,44 +57,52 @@
|
||||
.PURPLE {
|
||||
fill: purple;
|
||||
}
|
||||
.ROSSO {
|
||||
fill: red;
|
||||
}
|
||||
.TESTO {
|
||||
fill: white;
|
||||
}
|
||||
/* Classi da sostituire dinamicamente*/
|
||||
#BLK-BCK {
|
||||
/*background-image: url("../Images/MT0006110.jpg");
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;*/
|
||||
fill: #DEDEDE;
|
||||
.NERO {
|
||||
fill: black;
|
||||
}
|
||||
#BLK-CUT {
|
||||
.BORDOROSSO {
|
||||
stroke-width: 15px !important;
|
||||
stroke-dasharray: 30;
|
||||
stroke-linecap: round;
|
||||
stroke: #FF0000;
|
||||
}
|
||||
/* Classi da sostituire dinamicamente*/
|
||||
#ItemsDepo {
|
||||
fill: #ACACAC;
|
||||
}
|
||||
#BLK-SEL {
|
||||
fill: orange;
|
||||
stroke: blue;
|
||||
#ItemsSel {
|
||||
stroke: yellow;
|
||||
/* Safari 4.0 - 8.0 */
|
||||
-webkit-animation-name: blueFlash;
|
||||
-webkit-animation-duration: 0.5s;
|
||||
-webkit-animation-name: doFlash;
|
||||
-webkit-animation-duration: 0.8s;
|
||||
-webkit-animation-timing-function: linear;
|
||||
-webkit-animation-delay: 0s;
|
||||
-webkit-animation-iteration-count: infinite;
|
||||
-webkit-animation-direction: alternate;
|
||||
/* Standard syntax */
|
||||
animation-name: blueFlash;
|
||||
animation-duration: 0.5s;
|
||||
animation-name: doFlash;
|
||||
animation-duration: 0.8s;
|
||||
animation-timing-function: linear;
|
||||
animation-delay: 0s;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
stroke-width: 5px !important;
|
||||
stroke-width: 15px !important;
|
||||
}
|
||||
#BLK-BIN {
|
||||
fill: #28a745;
|
||||
#ItemsBin {
|
||||
fill: #0000FF;
|
||||
}
|
||||
#BLK-CART {
|
||||
fill: #007bff;
|
||||
#ItemsCart {
|
||||
fill: #21CD39;
|
||||
}
|
||||
#BLK-SEC-OP {
|
||||
fill: purple;
|
||||
#ItemsSecOp {
|
||||
stroke-width: 15px !important;
|
||||
stroke-dasharray: 30;
|
||||
stroke-linecap: round;
|
||||
stroke: #FF0000;
|
||||
}
|
||||
@@ -1,22 +1,22 @@
|
||||
/* ANIMAZIONE */
|
||||
@borderThick: 5px;
|
||||
@borderThick: 15px;
|
||||
|
||||
.strokeThick {
|
||||
stroke-width: @borderThick !important;
|
||||
}
|
||||
/* Animazione per richiamo attenzione*/
|
||||
.flashStroke {
|
||||
stroke: blue;
|
||||
stroke: yellow;
|
||||
/* Safari 4.0 - 8.0 */
|
||||
-webkit-animation-name: blueFlash;
|
||||
-webkit-animation-duration: 0.5s;
|
||||
-webkit-animation-name: doFlash;
|
||||
-webkit-animation-duration: 0.8s;
|
||||
-webkit-animation-timing-function: linear;
|
||||
-webkit-animation-delay: 0s;
|
||||
-webkit-animation-iteration-count: infinite;
|
||||
-webkit-animation-direction: alternate;
|
||||
/* Standard syntax */
|
||||
animation-name: blueFlash;
|
||||
animation-duration: 0.5s;
|
||||
animation-name: doFlash;
|
||||
animation-duration: 0.8s;
|
||||
animation-timing-function: linear;
|
||||
animation-delay: 0s;
|
||||
animation-iteration-count: infinite;
|
||||
@@ -24,43 +24,37 @@
|
||||
}
|
||||
|
||||
/* Safari 4.0 - 8.0 */
|
||||
@-webkit-keyframes blueFlash {
|
||||
@-webkit-keyframes doFlash {
|
||||
0% {
|
||||
stroke: #c4dbff;
|
||||
stroke: #f8fbff;
|
||||
}
|
||||
|
||||
25% {
|
||||
stroke: #9dc4ff;
|
||||
stroke: #ff0;
|
||||
}
|
||||
|
||||
50% {
|
||||
stroke: #5ca5ff;
|
||||
stroke: #f2f200;
|
||||
}
|
||||
|
||||
75% {
|
||||
stroke: #1b82ff;
|
||||
stroke: #d8d800;
|
||||
}
|
||||
|
||||
100% {
|
||||
stroke: #005ccc;
|
||||
stroke: #bebe00;
|
||||
}
|
||||
}
|
||||
|
||||
/* COLORI */
|
||||
.SFONDO {
|
||||
/*background-image: url("../Images/MT0006110.jpg");
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;*/
|
||||
fill: #DEDEDE;
|
||||
}
|
||||
.GRIGIO {
|
||||
fill: #ACACAC;
|
||||
}
|
||||
.VERDE {
|
||||
fill: #28a745;
|
||||
fill: #21CD39;
|
||||
}
|
||||
.BLU {
|
||||
fill: #007bff;
|
||||
fill: #0000FF;
|
||||
}
|
||||
.ARANCIO {
|
||||
fill: orange;
|
||||
@@ -71,29 +65,37 @@
|
||||
.PURPLE {
|
||||
fill: purple;
|
||||
}
|
||||
.ROSSO {
|
||||
fill: red;
|
||||
}
|
||||
.TESTO {
|
||||
fill: white;
|
||||
}
|
||||
.NERO {
|
||||
fill: black;
|
||||
}
|
||||
|
||||
.BORDOROSSO {
|
||||
.strokeThick;
|
||||
stroke-dasharray: 30;
|
||||
stroke-linecap: round;
|
||||
stroke: #FF0000;
|
||||
}
|
||||
|
||||
/* Classi da sostituire dinamicamente*/
|
||||
#BLK-BCK {
|
||||
.SFONDO;
|
||||
}
|
||||
#BLK-CUT {
|
||||
#ItemsDepo {
|
||||
.GRIGIO;
|
||||
}
|
||||
#BLK-SEL {
|
||||
.ARANCIO;
|
||||
#ItemsSel {
|
||||
.flashStroke;
|
||||
.strokeThick;
|
||||
}
|
||||
#BLK-BIN {
|
||||
.VERDE;
|
||||
}
|
||||
#BLK-CART {
|
||||
#ItemsBin {
|
||||
.BLU;
|
||||
}
|
||||
|
||||
#BLK-SEC-OP {
|
||||
.PURPLE;
|
||||
#ItemsCart {
|
||||
.VERDE;
|
||||
}
|
||||
#ItemsSecOp {
|
||||
.BORDOROSSO;
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
.strokeThick{stroke-width:5px !important;}.flashStroke{stroke:blue;-webkit-animation-name:blueFlash;-webkit-animation-duration:.5s;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-name:blueFlash;animation-duration:.5s;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:infinite;animation-direction:alternate;}@-webkit-keyframes blueFlash{0%{stroke:#c4dbff;}25%{stroke:#9dc4ff;}50%{stroke:#5ca5ff;}75%{stroke:#1b82ff;}100%{stroke:#005ccc;}}.SFONDO{fill:#dedede;}.GRIGIO{fill:#acacac;}.VERDE{fill:#28a745;}.BLU{fill:#007bff;}.ARANCIO{fill:orange;}.GIALLO{fill:yellow;}.PURPLE{fill:purple;}.TESTO{fill:white;}#BLK-BCK{fill:#dedede;}#BLK-CUT{fill:#acacac;}#BLK-SEL{fill:orange;stroke:blue;-webkit-animation-name:blueFlash;-webkit-animation-duration:.5s;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-name:blueFlash;animation-duration:.5s;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:infinite;animation-direction:alternate;stroke-width:5px !important;}#BLK-BIN{fill:#28a745;}#BLK-CART{fill:#007bff;}#BLK-SEC-OP{fill:purple;}
|
||||
.strokeThick{stroke-width:15px !important;}.flashStroke{stroke:yellow;-webkit-animation-name:doFlash;-webkit-animation-duration:.8s;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-name:doFlash;animation-duration:.8s;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:infinite;animation-direction:alternate;}@-webkit-keyframes doFlash{0%{stroke:#f8fbff;}25%{stroke:#ff0;}50%{stroke:#f2f200;}75%{stroke:#d8d800;}100%{stroke:#bebe00;}}.GRIGIO{fill:#acacac;}.VERDE{fill:#21cd39;}.BLU{fill:#00f;}.ARANCIO{fill:orange;}.GIALLO{fill:yellow;}.PURPLE{fill:purple;}.ROSSO{fill:red;}.TESTO{fill:white;}.NERO{fill:black;}.BORDOROSSO{stroke-width:15px !important;stroke-dasharray:30;stroke-linecap:round;stroke:#f00;}#ItemsDepo{fill:#acacac;}#ItemsSel{stroke:yellow;-webkit-animation-name:doFlash;-webkit-animation-duration:.8s;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-name:doFlash;animation-duration:.8s;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:infinite;animation-direction:alternate;stroke-width:15px !important;}#ItemsBin{fill:#00f;}#ItemsCart{fill:#21cd39;}#ItemsSecOp{stroke-width:15px !important;stroke-dasharray:30;stroke-linecap:round;stroke:#f00;}
|
||||
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Bootstrap Grid v4.3.1 (https://getbootstrap.com/)
|
||||
* Bootstrap Grid v4.4.1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2019 The Bootstrap Authors
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
@@ -47,7 +47,7 @@ html {
|
||||
}
|
||||
}
|
||||
|
||||
.container-fluid {
|
||||
.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
|
||||
width: 100%;
|
||||
padding-right: 15px;
|
||||
padding-left: 15px;
|
||||
@@ -55,6 +55,30 @@ html {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
@media (min-width: 576px) {
|
||||
.container, .container-sm {
|
||||
max-width: 540px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.container, .container-sm, .container-md {
|
||||
max-width: 720px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.container, .container-sm, .container-md, .container-lg {
|
||||
max-width: 960px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
.container, .container-sm, .container-md, .container-lg, .container-xl {
|
||||
max-width: 1140px;
|
||||
}
|
||||
}
|
||||
|
||||
.row {
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
@@ -95,6 +119,42 @@ html {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.row-cols-1 > * {
|
||||
-ms-flex: 0 0 100%;
|
||||
flex: 0 0 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.row-cols-2 > * {
|
||||
-ms-flex: 0 0 50%;
|
||||
flex: 0 0 50%;
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
.row-cols-3 > * {
|
||||
-ms-flex: 0 0 33.333333%;
|
||||
flex: 0 0 33.333333%;
|
||||
max-width: 33.333333%;
|
||||
}
|
||||
|
||||
.row-cols-4 > * {
|
||||
-ms-flex: 0 0 25%;
|
||||
flex: 0 0 25%;
|
||||
max-width: 25%;
|
||||
}
|
||||
|
||||
.row-cols-5 > * {
|
||||
-ms-flex: 0 0 20%;
|
||||
flex: 0 0 20%;
|
||||
max-width: 20%;
|
||||
}
|
||||
|
||||
.row-cols-6 > * {
|
||||
-ms-flex: 0 0 16.666667%;
|
||||
flex: 0 0 16.666667%;
|
||||
max-width: 16.666667%;
|
||||
}
|
||||
|
||||
.col-auto {
|
||||
-ms-flex: 0 0 auto;
|
||||
flex: 0 0 auto;
|
||||
@@ -301,6 +361,36 @@ html {
|
||||
flex-grow: 1;
|
||||
max-width: 100%;
|
||||
}
|
||||
.row-cols-sm-1 > * {
|
||||
-ms-flex: 0 0 100%;
|
||||
flex: 0 0 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
.row-cols-sm-2 > * {
|
||||
-ms-flex: 0 0 50%;
|
||||
flex: 0 0 50%;
|
||||
max-width: 50%;
|
||||
}
|
||||
.row-cols-sm-3 > * {
|
||||
-ms-flex: 0 0 33.333333%;
|
||||
flex: 0 0 33.333333%;
|
||||
max-width: 33.333333%;
|
||||
}
|
||||
.row-cols-sm-4 > * {
|
||||
-ms-flex: 0 0 25%;
|
||||
flex: 0 0 25%;
|
||||
max-width: 25%;
|
||||
}
|
||||
.row-cols-sm-5 > * {
|
||||
-ms-flex: 0 0 20%;
|
||||
flex: 0 0 20%;
|
||||
max-width: 20%;
|
||||
}
|
||||
.row-cols-sm-6 > * {
|
||||
-ms-flex: 0 0 16.666667%;
|
||||
flex: 0 0 16.666667%;
|
||||
max-width: 16.666667%;
|
||||
}
|
||||
.col-sm-auto {
|
||||
-ms-flex: 0 0 auto;
|
||||
flex: 0 0 auto;
|
||||
@@ -473,6 +563,36 @@ html {
|
||||
flex-grow: 1;
|
||||
max-width: 100%;
|
||||
}
|
||||
.row-cols-md-1 > * {
|
||||
-ms-flex: 0 0 100%;
|
||||
flex: 0 0 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
.row-cols-md-2 > * {
|
||||
-ms-flex: 0 0 50%;
|
||||
flex: 0 0 50%;
|
||||
max-width: 50%;
|
||||
}
|
||||
.row-cols-md-3 > * {
|
||||
-ms-flex: 0 0 33.333333%;
|
||||
flex: 0 0 33.333333%;
|
||||
max-width: 33.333333%;
|
||||
}
|
||||
.row-cols-md-4 > * {
|
||||
-ms-flex: 0 0 25%;
|
||||
flex: 0 0 25%;
|
||||
max-width: 25%;
|
||||
}
|
||||
.row-cols-md-5 > * {
|
||||
-ms-flex: 0 0 20%;
|
||||
flex: 0 0 20%;
|
||||
max-width: 20%;
|
||||
}
|
||||
.row-cols-md-6 > * {
|
||||
-ms-flex: 0 0 16.666667%;
|
||||
flex: 0 0 16.666667%;
|
||||
max-width: 16.666667%;
|
||||
}
|
||||
.col-md-auto {
|
||||
-ms-flex: 0 0 auto;
|
||||
flex: 0 0 auto;
|
||||
@@ -645,6 +765,36 @@ html {
|
||||
flex-grow: 1;
|
||||
max-width: 100%;
|
||||
}
|
||||
.row-cols-lg-1 > * {
|
||||
-ms-flex: 0 0 100%;
|
||||
flex: 0 0 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
.row-cols-lg-2 > * {
|
||||
-ms-flex: 0 0 50%;
|
||||
flex: 0 0 50%;
|
||||
max-width: 50%;
|
||||
}
|
||||
.row-cols-lg-3 > * {
|
||||
-ms-flex: 0 0 33.333333%;
|
||||
flex: 0 0 33.333333%;
|
||||
max-width: 33.333333%;
|
||||
}
|
||||
.row-cols-lg-4 > * {
|
||||
-ms-flex: 0 0 25%;
|
||||
flex: 0 0 25%;
|
||||
max-width: 25%;
|
||||
}
|
||||
.row-cols-lg-5 > * {
|
||||
-ms-flex: 0 0 20%;
|
||||
flex: 0 0 20%;
|
||||
max-width: 20%;
|
||||
}
|
||||
.row-cols-lg-6 > * {
|
||||
-ms-flex: 0 0 16.666667%;
|
||||
flex: 0 0 16.666667%;
|
||||
max-width: 16.666667%;
|
||||
}
|
||||
.col-lg-auto {
|
||||
-ms-flex: 0 0 auto;
|
||||
flex: 0 0 auto;
|
||||
@@ -817,6 +967,36 @@ html {
|
||||
flex-grow: 1;
|
||||
max-width: 100%;
|
||||
}
|
||||
.row-cols-xl-1 > * {
|
||||
-ms-flex: 0 0 100%;
|
||||
flex: 0 0 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
.row-cols-xl-2 > * {
|
||||
-ms-flex: 0 0 50%;
|
||||
flex: 0 0 50%;
|
||||
max-width: 50%;
|
||||
}
|
||||
.row-cols-xl-3 > * {
|
||||
-ms-flex: 0 0 33.333333%;
|
||||
flex: 0 0 33.333333%;
|
||||
max-width: 33.333333%;
|
||||
}
|
||||
.row-cols-xl-4 > * {
|
||||
-ms-flex: 0 0 25%;
|
||||
flex: 0 0 25%;
|
||||
max-width: 25%;
|
||||
}
|
||||
.row-cols-xl-5 > * {
|
||||
-ms-flex: 0 0 20%;
|
||||
flex: 0 0 20%;
|
||||
max-width: 20%;
|
||||
}
|
||||
.row-cols-xl-6 > * {
|
||||
-ms-flex: 0 0 16.666667%;
|
||||
flex: 0 0 16.666667%;
|
||||
max-width: 16.666667%;
|
||||
}
|
||||
.col-xl-auto {
|
||||
-ms-flex: 0 0 auto;
|
||||
flex: 0 0 auto;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
|
||||
* Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2019 The Bootstrap Authors
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
@@ -33,7 +33,7 @@ body {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
[tabindex="-1"]:focus {
|
||||
[tabindex="-1"]:focus:not(:focus-visible) {
|
||||
outline: 0 !important;
|
||||
}
|
||||
|
||||
@@ -133,20 +133,16 @@ a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]) {
|
||||
a:not([href]) {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
|
||||
a:not([href]):hover {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]):focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
pre,
|
||||
code,
|
||||
kbd,
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*!
|
||||
* Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
|
||||
* Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2019 The Bootstrap Authors
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
|
||||
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
|
||||
/*# sourceMappingURL=bootstrap-reboot.min.css.map */
|
||||
@@ -133,6 +133,10 @@ namespace NKC_WF.Controllers
|
||||
int bStatus = 0;
|
||||
// deserializzo come BatchreqIniziale (stima)
|
||||
nestReplyBatchInitial rispStima = JsonConvert.DeserializeObject<nestReplyBatchInitial>(content);
|
||||
|
||||
// 2020.01.16 salvo su mongoDb la risposta...
|
||||
ComLib.man.saveEstAnsw(rispStima);
|
||||
|
||||
// recupero info sul batch /KIT specifico x capire se sia di tipo "validation"
|
||||
bool isValidation = false;
|
||||
var tabOrd = DataLayer.man.taOL.getByBatch(rispStima.BatchID);
|
||||
@@ -222,6 +226,10 @@ namespace NKC_WF.Controllers
|
||||
{
|
||||
// deserializzo come BatchreqFinale
|
||||
nestReplyBatchFinal rispNest = JsonConvert.DeserializeObject<nestReplyBatchFinal>(content);
|
||||
|
||||
// 2020.01.16 salvo su mongoDb la risposta...
|
||||
ComLib.man.saveNestAnsw(rispNest);
|
||||
|
||||
// calcolo status del batch...
|
||||
int bStatus = 2;
|
||||
switch (rispNest.ProcessStatus)
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
using SteamWare;
|
||||
using AppData;
|
||||
using Newtonsoft.Json;
|
||||
using SteamWare;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
@@ -10,13 +14,38 @@ namespace NKC_WF.Controllers
|
||||
{
|
||||
public class getMUCssController : ApiController
|
||||
{
|
||||
// GET api/<controller>
|
||||
// GET api/getMUCssController
|
||||
public HttpResponseMessage Get()
|
||||
{
|
||||
string answ = getCssByPost(0);
|
||||
return new HttpResponseMessage(HttpStatusCode.OK)
|
||||
{
|
||||
Content = new StringContent(answ, Encoding.UTF8, "text/css")
|
||||
};
|
||||
}
|
||||
|
||||
// GET api/getMUCssController/5
|
||||
public HttpResponseMessage Get(int id)
|
||||
{
|
||||
string answ = getCssByPost(id);
|
||||
return new HttpResponseMessage(HttpStatusCode.OK)
|
||||
{
|
||||
Content = new StringContent(answ, Encoding.UTF8, "text/css")
|
||||
};
|
||||
}
|
||||
/// <summary>
|
||||
/// Calcola CSS da postsazione
|
||||
/// </summary>
|
||||
/// <param name="answ"></param>
|
||||
/// <param name="_sheetID"></param>
|
||||
/// <returns></returns>
|
||||
private static string getCssByPost(int sheetID)
|
||||
{
|
||||
// var base
|
||||
string answ = "";
|
||||
// recupero da REDIS!
|
||||
string redKey = memLayer.ML.redHash("MachineUnload:01:Css");
|
||||
// se vuoto scrivo versione attuale...
|
||||
string redKey = $"{ComLib.machineUnloadArea(sheetID)}:Css";
|
||||
// se vuoto scrivo VUOTO...
|
||||
if (!memLayer.ML.redKeyPresent(redKey))
|
||||
{
|
||||
memLayer.ML.setRSV(redKey, answ);
|
||||
@@ -24,49 +53,13 @@ namespace NKC_WF.Controllers
|
||||
answ = memLayer.ML.getRSV(redKey);
|
||||
// RICALCOLO SOLO SE non trovo in REDIS (perché invalidato)
|
||||
if (answ == "")
|
||||
// se vuoto lo calcolo... !!!FIXME!!! leggere da DB!!!!
|
||||
// se vuoto lo calcolo...
|
||||
{
|
||||
string filename = HttpContext.Current.Server.MapPath("~/Content/SheetColor.css");
|
||||
answ = File.ReadAllText(filename);
|
||||
|
||||
// imposto sfondo ...
|
||||
answ = answ.Replace("#BLK-BCK", "#Sheet");
|
||||
// ...e primi 3 items...
|
||||
answ = answ.Replace("#BLK-CUT", "#IT000006, #IT000007, #IT000008");
|
||||
answ = answ.Replace("#BLK-SEL", "#IT000003");
|
||||
answ = answ.Replace("#BLK-BIN", "#IT000001");
|
||||
answ = answ.Replace("#BLK-CART", "#IT000002");
|
||||
|
||||
// salvo redis!
|
||||
memLayer.ML.setRSV(redKey, answ);
|
||||
answ = ComLib.getCurrentCss(sheetID);
|
||||
}
|
||||
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK)
|
||||
{
|
||||
Content = new StringContent(answ, Encoding.UTF8, "text/css")
|
||||
};
|
||||
// restituisco css
|
||||
return answ;
|
||||
}
|
||||
|
||||
// GET api/<controller>/5
|
||||
public string Get(int id)
|
||||
{
|
||||
return "value";
|
||||
}
|
||||
|
||||
// POST api/<controller>
|
||||
public void Post([FromBody]string value)
|
||||
{
|
||||
}
|
||||
|
||||
// PUT api/<controller>/5
|
||||
public void Put(int id, [FromBody]string value)
|
||||
{
|
||||
}
|
||||
|
||||
// DELETE api/<controller>/5
|
||||
public void Delete(int id)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,44 +1,53 @@
|
||||
using SteamWare;
|
||||
using AppData;
|
||||
using SteamWare;
|
||||
using System.Web.Http;
|
||||
|
||||
namespace NKC_WF.Controllers
|
||||
{
|
||||
public class getMUCssRevController : ApiController
|
||||
{
|
||||
// GET api/<controller>
|
||||
// GET api/getMUCssRev
|
||||
public int Get()
|
||||
{
|
||||
int answ = 0;
|
||||
int answ = getRevBySheet(0);
|
||||
return answ;
|
||||
}
|
||||
// GET api/getMUCssRev/5
|
||||
public int Get(int id)
|
||||
{
|
||||
int answ = getRevBySheet(id);
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Recupera da REDIS info indice revisione x foglio
|
||||
/// </summary>
|
||||
/// <param name="SheetID"></param>
|
||||
/// <returns></returns>
|
||||
private static int getRevBySheet(int SheetID)
|
||||
{
|
||||
int answ;
|
||||
// recupero da REDIS!
|
||||
string redKey = memLayer.ML.redHash("MachineUnload:01:CssRev");
|
||||
string redKey = $"{ComLib.machineUnloadArea(SheetID)}:Css";
|
||||
string redKeyRev = $"{ComLib.machineUnloadArea(SheetID)}:CssRev";
|
||||
// se vuoto scrivo 1...
|
||||
if (!memLayer.ML.redKeyPresent(redKeyRev))
|
||||
{
|
||||
memLayer.ML.setRCntI(redKeyRev);
|
||||
}
|
||||
// SE fosse scaduto CSS --> aggiorno revisione...
|
||||
if (!memLayer.ML.redKeyPresent(redKey))
|
||||
{
|
||||
memLayer.ML.setRCntI(redKey);
|
||||
// incremento...
|
||||
memLayer.ML.setRCntI(redKeyRev);
|
||||
}
|
||||
answ = memLayer.ML.getRCnt(redKeyRev);
|
||||
// se > 999 --> resetto
|
||||
if (answ > 999)
|
||||
{
|
||||
memLayer.ML.resetRCnt(redKeyRev);
|
||||
}
|
||||
answ = memLayer.ML.getRCnt(redKey);
|
||||
return answ;
|
||||
}
|
||||
|
||||
// GET api/<controller>/5
|
||||
public string Get(int id)
|
||||
{
|
||||
return "value";
|
||||
}
|
||||
|
||||
// POST api/<controller>
|
||||
public void Post([FromBody]string value)
|
||||
{
|
||||
}
|
||||
|
||||
// PUT api/<controller>/5
|
||||
public void Put(int id, [FromBody]string value)
|
||||
{
|
||||
}
|
||||
|
||||
// DELETE api/<controller>/5
|
||||
public void Delete(int id)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<path id="Sheet" d="M 10,710 L 1010,710 L 1010,10 L 10,10 L 10,710" fill="none" stroke="rgb(0,0,0)" stroke-width="1" />
|
||||
<path id="IT000001" d="M 100,610 L 70,410 L 160,250 L 340,230 L 470,410 L 360,570 L 230,670 L 100,610" fill="none" stroke="rgb(255,0,0)" stroke-width="1" />
|
||||
<text id="Name1" x="120" y="500" font-size="50" fill="rgb(255,0,0)" class="TESTO">IT000001</text>
|
||||
<path id="_13" d="M 220,310 A 10,10 0 0,0 200,310 A 10,10 0 0,0 220,310" fill="none" stroke="rgb(255,0,0)" stroke-width="1" />
|
||||
<path id="_14" d="M 320,310 A 10,10 0 0,0 300,310 A 10,10 0 0,0 320,310" fill="none" stroke="rgb(255,0,0)" stroke-width="1" />
|
||||
<path id="_15" d="M 220,410 A 10,10 0 0,0 200,410 A 10,10 0 0,0 220,410" fill="none" stroke="rgb(255,0,0)" stroke-width="1" />
|
||||
<path id="_16" d="M 320,410 A 10,10 0 0,0 300,410 A 10,10 0 0,0 320,410" fill="none" stroke="rgb(255,0,0)" stroke-width="1" />
|
||||
<path id="IT000002" d="M 420,660 L 550,420 A 213.678,213.678 0 0,1 920,410 L 860,530 A 271.523,271.523 0 0,1 610,680 L 420,660" fill="none" stroke="rgb(0,255,0)" stroke-width="1" />
|
||||
<text id="Name2" x="590" y="530" font-size="50" fill="rgb(0,255,0)" class="TESTO">IT000002</text>
|
||||
<path id="_19" d="M 610,410 A 15,15 0 0,1 610,380 L 860,380 A 15,15 0 0,1 860,410 L 610,410" fill="none" stroke="rgb(0,255,0)" stroke-width="1" />
|
||||
<path id="IT000003" d="M 160,80 L 910,60 L 920,320 L 710,280 L 540,340 L 380,210 L 20,250 L 160,80" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<text id="Name3" x="520" y="190" font-size="50" fill="rgb(0,0,255)" class="TESTO">IT000003</text>
|
||||
<path id="_20" d="M 800,110 A 10,10 0 0,0 780,110 A 10,10 0 0,0 800,110" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_21" d="M 900,110 A 10,10 0 0,0 880,110 A 10,10 0 0,0 900,110" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_22" d="M 800,210 A 10,10 0 0,0 780,210 A 10,10 0 0,0 800,210" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_23" d="M 900,210 A 10,10 0 0,0 880,210 A 10,10 0 0,0 900,210" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_24" d="M 470,110 A 15,15 0 0,1 470,80 L 720,80 A 15,15 0 0,1 720,110 L 470,110" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_25" d="M 470,260 A 15,15 0 0,1 470,230 L 720,230 A 15,15 0 0,1 720,260 L 470,260" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_26" d="M 180,200 A 10,10 0 0,0 160,200 A 10,10 0 0,0 180,200" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_27" d="M 280,200 A 10,10 0 0,0 260,200 A 10,10 0 0,0 280,200" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_28" d="M 180,100 A 10,10 0 0,0 160,100 A 10,10 0 0,0 180,100" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_29" d="M 280,100 A 10,10 0 0,0 260,100 A 10,10 0 0,0 280,100" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
@@ -1,25 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<path id="Sheet" d="M 10,710 L 1010,710 L 1010,10 L 10,10 L 10,710" fill="none" stroke="rgb(0,0,0)" stroke-width="1" />
|
||||
<path id="Part1" d="M 100,610 L 70,410 L 160,250 L 340,230 L 470,410 L 360,570 L 230,670 L 100,610" fill="none" stroke="rgb(255,0,0)" stroke-width="1" />
|
||||
<text id="Name1" x="120" y="500" font-size="50" fill="rgb(255,0,0)">Part 1</text>
|
||||
<path id="_13" d="M 220,310 A 10,10 0 0,0 200,310 A 10,10 0 0,0 220,310" fill="none" stroke="rgb(255,0,0)" stroke-width="1" />
|
||||
<path id="_14" d="M 320,310 A 10,10 0 0,0 300,310 A 10,10 0 0,0 320,310" fill="none" stroke="rgb(255,0,0)" stroke-width="1" />
|
||||
<path id="_15" d="M 220,410 A 10,10 0 0,0 200,410 A 10,10 0 0,0 220,410" fill="none" stroke="rgb(255,0,0)" stroke-width="1" />
|
||||
<path id="_16" d="M 320,410 A 10,10 0 0,0 300,410 A 10,10 0 0,0 320,410" fill="none" stroke="rgb(255,0,0)" stroke-width="1" />
|
||||
<path id="Part2" d="M 420,660 L 550,420 A 213.678,213.678 0 0,1 920,410 L 860,530 A 271.523,271.523 0 0,1 610,680 L 420,660" fill="none" stroke="rgb(0,255,0)" stroke-width="1" />
|
||||
<text id="Name2" x="590" y="530" font-size="50" fill="rgb(0,255,0)">Part 2</text>
|
||||
<path id="_19" d="M 610,410 A 15,15 0 0,1 610,380 L 860,380 A 15,15 0 0,1 860,410 L 610,410" fill="none" stroke="rgb(0,255,0)" stroke-width="1" />
|
||||
<path id="Part3" d="M 160,80 L 910,60 L 920,320 L 710,280 L 540,340 L 380,210 L 20,250 L 160,80" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<text id="Name3" x="520" y="190" font-size="50" fill="rgb(0,0,255)">Part 3</text>
|
||||
<path id="_20" d="M 800,110 A 10,10 0 0,0 780,110 A 10,10 0 0,0 800,110" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_21" d="M 900,110 A 10,10 0 0,0 880,110 A 10,10 0 0,0 900,110" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_22" d="M 800,210 A 10,10 0 0,0 780,210 A 10,10 0 0,0 800,210" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_23" d="M 900,210 A 10,10 0 0,0 880,210 A 10,10 0 0,0 900,210" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_24" d="M 470,110 A 15,15 0 0,1 470,80 L 720,80 A 15,15 0 0,1 720,110 L 470,110" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_25" d="M 470,260 A 15,15 0 0,1 470,230 L 720,230 A 15,15 0 0,1 720,260 L 470,260" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_26" d="M 180,200 A 10,10 0 0,0 160,200 A 10,10 0 0,0 180,200" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_27" d="M 280,200 A 10,10 0 0,0 260,200 A 10,10 0 0,0 280,200" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_28" d="M 180,100 A 10,10 0 0,0 160,100 A 10,10 0 0,0 180,100" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_29" d="M 280,100 A 10,10 0 0,0 260,100 A 10,10 0 0,0 280,100" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.9 KiB |
@@ -1,25 +1,84 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<path id="Sheet" d="M 10,710 L 1010,710 L 1010,10 L 10,10 L 10,710" fill="none" stroke="rgb(0,0,0)" stroke-width="1" />
|
||||
<path id="IT000001" d="M 100,610 L 70,410 L 160,250 L 340,230 L 470,410 L 360,570 L 230,670 L 100,610" fill="none" stroke="rgb(255,0,0)" stroke-width="1" />
|
||||
<text id="Name1" x="120" y="500" font-size="50" fill="rgb(255,0,0)" class="TESTO">IT000001</text>
|
||||
<path id="_13" d="M 220,310 A 10,10 0 0,0 200,310 A 10,10 0 0,0 220,310" fill="none" stroke="rgb(255,0,0)" stroke-width="1" />
|
||||
<path id="_14" d="M 320,310 A 10,10 0 0,0 300,310 A 10,10 0 0,0 320,310" fill="none" stroke="rgb(255,0,0)" stroke-width="1" />
|
||||
<path id="_15" d="M 220,410 A 10,10 0 0,0 200,410 A 10,10 0 0,0 220,410" fill="none" stroke="rgb(255,0,0)" stroke-width="1" />
|
||||
<path id="_16" d="M 320,410 A 10,10 0 0,0 300,410 A 10,10 0 0,0 320,410" fill="none" stroke="rgb(255,0,0)" stroke-width="1" />
|
||||
<path id="IT000002" d="M 420,660 L 550,420 A 213.678,213.678 0 0,1 920,410 L 860,530 A 271.523,271.523 0 0,1 610,680 L 420,660" fill="none" stroke="rgb(0,255,0)" stroke-width="1" />
|
||||
<text id="Name2" x="590" y="530" font-size="50" fill="rgb(0,255,0)" class="TESTO">IT000002</text>
|
||||
<path id="_19" d="M 610,410 A 15,15 0 0,1 610,380 L 860,380 A 15,15 0 0,1 860,410 L 610,410" fill="none" stroke="rgb(0,255,0)" stroke-width="1" />
|
||||
<path id="IT000003" d="M 160,80 L 910,60 L 920,320 L 710,280 L 540,340 L 380,210 L 20,250 L 160,80" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<text id="Name3" x="520" y="190" font-size="50" fill="rgb(0,0,255)" class="TESTO">IT000003</text>
|
||||
<path id="_20" d="M 800,110 A 10,10 0 0,0 780,110 A 10,10 0 0,0 800,110" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_21" d="M 900,110 A 10,10 0 0,0 880,110 A 10,10 0 0,0 900,110" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_22" d="M 800,210 A 10,10 0 0,0 780,210 A 10,10 0 0,0 800,210" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_23" d="M 900,210 A 10,10 0 0,0 880,210 A 10,10 0 0,0 900,210" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_24" d="M 470,110 A 15,15 0 0,1 470,80 L 720,80 A 15,15 0 0,1 720,110 L 470,110" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_25" d="M 470,260 A 15,15 0 0,1 470,230 L 720,230 A 15,15 0 0,1 720,260 L 470,260" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_26" d="M 180,200 A 10,10 0 0,0 160,200 A 10,10 0 0,0 180,200" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_27" d="M 280,200 A 10,10 0 0,0 260,200 A 10,10 0 0,0 280,200" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_28" d="M 180,100 A 10,10 0 0,0 160,100 A 10,10 0 0,0 180,100" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
<path id="_29" d="M 280,100 A 10,10 0 0,0 260,100 A 10,10 0 0,0 280,100" fill="none" stroke="rgb(0,0,255)" stroke-width="1" />
|
||||
</svg>
|
||||
<svg viewBox="-122 -79 2682 1749" xmlns="http://www.w3.org/2000/svg">
|
||||
<path id="RawOutline" d=" M 0,1589.74 L 2438.4,1589.74 L 2438.4,370.54 L 0,370.54 L 0,1589.74" fill="none" stroke="rgb(255,165,0)" stroke-width="1" />
|
||||
<path id="Outline" d=" M 949.719,1065.706 A 6,6 0 0,0 955.093,1069.04 L 1880,1069.04 A 6,6 0 0,0 1886,1063.04 L 1886,821.04 A 6,6 0 0,0 1880,815.04 L 6,815.04 A 6,6 0 0,0 0,821.04 L 0,1063.04 A 6,6 0 0,0 6,1069.04 L 930.907,1069.04 A 6,6 0 0,0 936.281,1065.706 A 7.5,7.5 0 0,1 949.719,1065.706" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_32" d=" M 925.5,967.44 A 17.5,17.5 0 0,1 960.5,967.44 A 17.5,17.5 0 0,1 925.5,967.44" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_33" d=" M 1216.872,941.568 A 17.5,17.5 0 0,1 1251.872,941.568 A 17.5,17.5 0 0,1 1216.872,941.568" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_34" d=" M 634.128,941.568 A 17.5,17.5 0 0,1 669.128,941.568 A 17.5,17.5 0 0,1 634.128,941.568" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_35" d=" M 333.926,914.912 A 17.5,17.5 0 0,1 368.926,914.912 A 17.5,17.5 0 0,1 333.926,914.912" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_36" d=" M 42.554,889.04 A 17.5,17.5 0 0,1 77.554,889.04 A 17.5,17.5 0 0,1 42.554,889.04" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_37" d=" M 1517.074,914.912 A 17.5,17.5 0 0,1 1552.074,914.912 A 17.5,17.5 0 0,1 1517.074,914.912" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_38" d=" M 1808.446,889.04 A 17.5,17.5 0 0,1 1843.446,889.04 A 17.5,17.5 0 0,1 1808.446,889.04" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_22" d=" M 941.413,987.624 A 1.588,1.588 0 0,0 944.588,987.624 A 1.588,1.588 0 0,0 941.413,987.624" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_24" d=" M 1732.735,939.04 A 4.762,4.762 0 0,0 1742.26,939.04 A 4.762,4.762 0 0,0 1732.735,939.04" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_25" d=" M 1788.735,939.04 A 4.763,4.763 0 0,0 1798.26,939.04 A 4.763,4.763 0 0,0 1788.735,939.04" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_26" d=" M 1788.735,1012.04 A 4.763,4.763 0 0,0 1798.26,1012.04 A 4.763,4.763 0 0,0 1788.735,1012.04" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_27" d=" M 1732.735,1012.04 A 4.762,4.762 0 0,0 1742.26,1012.04 A 4.762,4.762 0 0,0 1732.735,1012.04" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_28" d=" M 143.74,1012.04 A 4.762,4.762 0 0,0 153.265,1012.04 A 4.762,4.762 0 0,0 143.74,1012.04" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_29" d=" M 87.74,1012.04 A 4.763,4.763 0 0,0 97.265,1012.04 A 4.763,4.763 0 0,0 87.74,1012.04" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_30" d=" M 87.74,939.04 A 4.763,4.763 0 0,0 97.265,939.04 A 4.763,4.763 0 0,0 87.74,939.04" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_31" d=" M 143.74,939.04 A 4.762,4.762 0 0,0 153.265,939.04 A 4.762,4.762 0 0,0 143.74,939.04" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<text id="_51" transform="translate(969.779,917.985)rotate(0)" font-family="" font-size="90" textLength="59.877" fill="rgb(0,0,255)">1</text>
|
||||
<path id="Outline_53" d=" M 949.719,1065.706 A 6,6 0 0,0 955.093,1069.04 L 1880,1069.04 A 6,6 0 0,0 1886,1063.04 L 1886,821.04 A 6,6 0 0,0 1880,815.04 L 6,815.04 A 6,6 0 0,0 0,821.04 L 0,1063.04 A 6,6 0 0,0 6,1069.04 L 930.907,1069.04 A 6,6 0 0,0 936.281,1065.706 A 7.5,7.5 0 0,1 949.719,1065.706" fill="none" stroke="rgb(128,0,0)" stroke-width="1" />
|
||||
<path id="IT000002" d=" M 949.719,1065.706 A 6,6 0 0,0 955.093,1069.04 L 1880,1069.04 A 6,6 0 0,0 1886,1063.04 L 1886,821.04 A 6,6 0 0,0 1880,815.04 L 6,815.04 A 6,6 0 0,0 0,821.04 L 0,1063.04 A 6,6 0 0,0 6,1069.04 L 930.907,1069.04 A 6,6 0 0,0 936.281,1065.706 A 7.5,7.5 0 0,1 949.719,1065.706 M 1216.872,941.568 A 17.5,17.5 0 0,1 1251.872,941.568 A 17.5,17.5 0 0,1 1216.872,941.568 M 925.5,967.44 A 17.5,17.5 0 0,1 960.5,967.44 A 17.5,17.5 0 0,1 925.5,967.44 M 333.926,914.912 A 17.5,17.5 0 0,1 368.926,914.912 A 17.5,17.5 0 0,1 333.926,914.912 M 42.554,889.04 A 17.5,17.5 0 0,1 77.554,889.04 A 17.5,17.5 0 0,1 42.554,889.04 M 634.128,941.568 A 17.5,17.5 0 0,1 669.128,941.568 A 17.5,17.5 0 0,1 634.128,941.568 M 1517.074,914.912 A 17.5,17.5 0 0,1 1552.074,914.912 A 17.5,17.5 0 0,1 1517.074,914.912 M 1808.446,889.04 A 17.5,17.5 0 0,1 1843.446,889.04 A 17.5,17.5 0 0,1 1808.446,889.04" fill="rgb(255,128,0)" fill-opacity="0.5" stroke="rgb(255,128,0)" stroke-opacity="0.5" stroke-width="1" />
|
||||
<path id="Outline_74" d=" M 949.719,1326.056 A 6,6 0 0,0 955.093,1329.39 L 1880,1329.39 A 6,6 0 0,0 1886,1323.39 L 1886,1081.39 A 6,6 0 0,0 1880,1075.39 L 6,1075.39 A 6,6 0 0,0 0,1081.39 L 0,1323.39 A 6,6 0 0,0 6,1329.39 L 930.907,1329.39 A 6,6 0 0,0 936.281,1326.056 A 7.5,7.5 0 0,1 949.719,1326.056" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_83" d=" M 925.5,1227.79 A 17.5,17.5 0 0,1 960.5,1227.79 A 17.5,17.5 0 0,1 925.5,1227.79" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_84" d=" M 1216.872,1201.918 A 17.5,17.5 0 0,1 1251.872,1201.918 A 17.5,17.5 0 0,1 1216.872,1201.918" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_85" d=" M 634.128,1201.918 A 17.5,17.5 0 0,1 669.128,1201.918 A 17.5,17.5 0 0,1 634.128,1201.918" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_86" d=" M 333.926,1175.262 A 17.5,17.5 0 0,1 368.926,1175.262 A 17.5,17.5 0 0,1 333.926,1175.262" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_87" d=" M 42.554,1149.39 A 17.5,17.5 0 0,1 77.554,1149.39 A 17.5,17.5 0 0,1 42.554,1149.39" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_88" d=" M 1517.074,1175.262 A 17.5,17.5 0 0,1 1552.074,1175.262 A 17.5,17.5 0 0,1 1517.074,1175.262" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_89" d=" M 1808.446,1149.39 A 17.5,17.5 0 0,1 1843.446,1149.39 A 17.5,17.5 0 0,1 1808.446,1149.39" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_73" d=" M 941.413,1247.974 A 1.588,1.588 0 0,0 944.588,1247.974 A 1.588,1.588 0 0,0 941.413,1247.974" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_75" d=" M 1732.735,1199.39 A 4.762,4.762 0 0,0 1742.26,1199.39 A 4.762,4.762 0 0,0 1732.735,1199.39" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_76" d=" M 1788.735,1199.39 A 4.763,4.763 0 0,0 1798.26,1199.39 A 4.763,4.763 0 0,0 1788.735,1199.39" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_77" d=" M 1788.735,1272.39 A 4.763,4.763 0 0,0 1798.26,1272.39 A 4.763,4.763 0 0,0 1788.735,1272.39" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_78" d=" M 1732.735,1272.39 A 4.762,4.762 0 0,0 1742.26,1272.39 A 4.762,4.762 0 0,0 1732.735,1272.39" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_79" d=" M 143.74,1272.39 A 4.762,4.762 0 0,0 153.265,1272.39 A 4.762,4.762 0 0,0 143.74,1272.39" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_80" d=" M 87.74,1272.39 A 4.763,4.763 0 0,0 97.265,1272.39 A 4.763,4.763 0 0,0 87.74,1272.39" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_81" d=" M 87.74,1199.39 A 4.763,4.763 0 0,0 97.265,1199.39 A 4.763,4.763 0 0,0 87.74,1199.39" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_82" d=" M 143.74,1199.39 A 4.762,4.762 0 0,0 153.265,1199.39 A 4.762,4.762 0 0,0 143.74,1199.39" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<text id="_102" transform="translate(969.779,1178.335)rotate(0)" font-family="" font-size="90" textLength="59.877" fill="rgb(0,0,255)">1</text>
|
||||
<path id="Outline_104" d=" M 949.719,1326.056 A 6,6 0 0,0 955.093,1329.39 L 1880,1329.39 A 6,6 0 0,0 1886,1323.39 L 1886,1081.39 A 6,6 0 0,0 1880,1075.39 L 6,1075.39 A 6,6 0 0,0 0,1081.39 L 0,1323.39 A 6,6 0 0,0 6,1329.39 L 930.907,1329.39 A 6,6 0 0,0 936.281,1326.056 A 7.5,7.5 0 0,1 949.719,1326.056" fill="none" stroke="rgb(128,0,0)" stroke-width="1" />
|
||||
<path id="IT000001" d=" M 949.719,1326.056 A 6,6 0 0,0 955.093,1329.39 L 1880,1329.39 A 6,6 0 0,0 1886,1323.39 L 1886,1081.39 A 6,6 0 0,0 1880,1075.39 L 6,1075.39 A 6,6 0 0,0 0,1081.39 L 0,1323.39 A 6,6 0 0,0 6,1329.39 L 930.907,1329.39 A 6,6 0 0,0 936.281,1326.056 A 7.5,7.5 0 0,1 949.719,1326.056 M 1216.872,1201.918 A 17.5,17.5 0 0,1 1251.872,1201.918 A 17.5,17.5 0 0,1 1216.872,1201.918 M 925.5,1227.79 A 17.5,17.5 0 0,1 960.5,1227.79 A 17.5,17.5 0 0,1 925.5,1227.79 M 333.926,1175.262 A 17.5,17.5 0 0,1 368.926,1175.262 A 17.5,17.5 0 0,1 333.926,1175.262 M 42.554,1149.39 A 17.5,17.5 0 0,1 77.554,1149.39 A 17.5,17.5 0 0,1 42.554,1149.39 M 634.128,1201.918 A 17.5,17.5 0 0,1 669.128,1201.918 A 17.5,17.5 0 0,1 634.128,1201.918 M 1517.074,1175.262 A 17.5,17.5 0 0,1 1552.074,1175.262 A 17.5,17.5 0 0,1 1517.074,1175.262 M 1808.446,1149.39 A 17.5,17.5 0 0,1 1843.446,1149.39 A 17.5,17.5 0 0,1 1808.446,1149.39" fill="rgb(255,128,0)" fill-opacity="0.5" stroke="rgb(255,128,0)" stroke-opacity="0.5" stroke-width="1" />
|
||||
<path id="Outline_125" d=" M 949.719,1586.406 A 6,6 0 0,0 955.093,1589.74 L 1880,1589.74 A 6,6 0 0,0 1886,1583.74 L 1886,1341.74 A 6,6 0 0,0 1880,1335.74 L 6,1335.74 A 6,6 0 0,0 0,1341.74 L 0,1583.74 A 6,6 0 0,0 6,1589.74 L 930.907,1589.74 A 6,6 0 0,0 936.281,1586.406 A 7.5,7.5 0 0,1 949.719,1586.406" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_134" d=" M 925.5,1488.14 A 17.5,17.5 0 0,1 960.5,1488.14 A 17.5,17.5 0 0,1 925.5,1488.14" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_135" d=" M 1216.872,1462.268 A 17.5,17.5 0 0,1 1251.872,1462.268 A 17.5,17.5 0 0,1 1216.872,1462.268" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_136" d=" M 634.128,1462.268 A 17.5,17.5 0 0,1 669.128,1462.268 A 17.5,17.5 0 0,1 634.128,1462.268" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_137" d=" M 333.926,1435.612 A 17.5,17.5 0 0,1 368.926,1435.612 A 17.5,17.5 0 0,1 333.926,1435.612" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_138" d=" M 42.554,1409.74 A 17.5,17.5 0 0,1 77.554,1409.74 A 17.5,17.5 0 0,1 42.554,1409.74" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_139" d=" M 1517.074,1435.612 A 17.5,17.5 0 0,1 1552.074,1435.612 A 17.5,17.5 0 0,1 1517.074,1435.612" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_140" d=" M 1808.446,1409.74 A 17.5,17.5 0 0,1 1843.446,1409.74 A 17.5,17.5 0 0,1 1808.446,1409.74" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_124" d=" M 941.413,1508.324 A 1.588,1.588 0 0,0 944.588,1508.324 A 1.588,1.588 0 0,0 941.413,1508.324" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_126" d=" M 1732.735,1459.74 A 4.762,4.762 0 0,0 1742.26,1459.74 A 4.762,4.762 0 0,0 1732.735,1459.74" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_127" d=" M 1788.735,1459.74 A 4.763,4.763 0 0,0 1798.26,1459.74 A 4.763,4.763 0 0,0 1788.735,1459.74" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_128" d=" M 1788.735,1532.74 A 4.763,4.763 0 0,0 1798.26,1532.74 A 4.763,4.763 0 0,0 1788.735,1532.74" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_129" d=" M 1732.735,1532.74 A 4.762,4.762 0 0,0 1742.26,1532.74 A 4.762,4.762 0 0,0 1732.735,1532.74" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_130" d=" M 143.74,1532.74 A 4.762,4.762 0 0,0 153.265,1532.74 A 4.762,4.762 0 0,0 143.74,1532.74" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_131" d=" M 87.74,1532.74 A 4.763,4.763 0 0,0 97.265,1532.74 A 4.763,4.763 0 0,0 87.74,1532.74" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_132" d=" M 87.74,1459.74 A 4.763,4.763 0 0,0 97.265,1459.74 A 4.763,4.763 0 0,0 87.74,1459.74" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_133" d=" M 143.74,1459.74 A 4.762,4.762 0 0,0 153.265,1459.74 A 4.762,4.762 0 0,0 143.74,1459.74" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<text id="_153" transform="translate(969.779,1438.685)rotate(0)" font-family="" font-size="90" textLength="59.877" fill="rgb(0,0,255)">1</text>
|
||||
<path id="Outline_155" d=" M 949.719,1586.406 A 6,6 0 0,0 955.093,1589.74 L 1880,1589.74 A 6,6 0 0,0 1886,1583.74 L 1886,1341.74 A 6,6 0 0,0 1880,1335.74 L 6,1335.74 A 6,6 0 0,0 0,1341.74 L 0,1583.74 A 6,6 0 0,0 6,1589.74 L 930.907,1589.74 A 6,6 0 0,0 936.281,1586.406 A 7.5,7.5 0 0,1 949.719,1586.406" fill="none" stroke="rgb(128,0,0)" stroke-width="1" />
|
||||
<path id="IT000003" d=" M 949.719,1586.406 A 6,6 0 0,0 955.093,1589.74 L 1880,1589.74 A 6,6 0 0,0 1886,1583.74 L 1886,1341.74 A 6,6 0 0,0 1880,1335.74 L 6,1335.74 A 6,6 0 0,0 0,1341.74 L 0,1583.74 A 6,6 0 0,0 6,1589.74 L 930.907,1589.74 A 6,6 0 0,0 936.281,1586.406 A 7.5,7.5 0 0,1 949.719,1586.406 M 1216.872,1462.268 A 17.5,17.5 0 0,1 1251.872,1462.268 A 17.5,17.5 0 0,1 1216.872,1462.268 M 925.5,1488.14 A 17.5,17.5 0 0,1 960.5,1488.14 A 17.5,17.5 0 0,1 925.5,1488.14 M 333.926,1435.612 A 17.5,17.5 0 0,1 368.926,1435.612 A 17.5,17.5 0 0,1 333.926,1435.612 M 42.554,1409.74 A 17.5,17.5 0 0,1 77.554,1409.74 A 17.5,17.5 0 0,1 42.554,1409.74 M 634.128,1462.268 A 17.5,17.5 0 0,1 669.128,1462.268 A 17.5,17.5 0 0,1 634.128,1462.268 M 1517.074,1435.612 A 17.5,17.5 0 0,1 1552.074,1435.612 A 17.5,17.5 0 0,1 1517.074,1435.612 M 1808.446,1409.74 A 17.5,17.5 0 0,1 1843.446,1409.74 A 17.5,17.5 0 0,1 1808.446,1409.74" fill="rgb(255,128,0)" fill-opacity="0.5" stroke="rgb(255,128,0)" stroke-opacity="0.5" stroke-width="1" />
|
||||
<path id="Outline_869" d=" M 987.719,805.356 A 6,6 0 0,0 993.093,808.69 L 1956,808.69 A 6,6 0 0,0 1962,802.69 L 1962,560.69 A 6,6 0 0,0 1956,554.69 L 6,554.69 A 6,6 0 0,0 0,560.69 L 0,802.69 A 6,6 0 0,0 6,808.69 L 968.907,808.69 A 6,6 0 0,0 974.281,805.356 A 7.5,7.5 0 0,1 987.719,805.356" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_878" d=" M 963.5,707.09 A 17.5,17.5 0 0,1 998.5,707.09 A 17.5,17.5 0 0,1 963.5,707.09" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_879" d=" M 1266.704,681.218 A 17.5,17.5 0 0,1 1301.704,681.218 A 17.5,17.5 0 0,1 1266.704,681.218" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_880" d=" M 660.296,681.218 A 17.5,17.5 0 0,1 695.296,681.218 A 17.5,17.5 0 0,1 660.296,681.218" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_881" d=" M 347.903,654.562 A 17.5,17.5 0 0,1 382.903,654.562 A 17.5,17.5 0 0,1 347.903,654.562" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_882" d=" M 44.699,628.69 A 17.5,17.5 0 0,1 79.699,628.69 A 17.5,17.5 0 0,1 44.699,628.69" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_883" d=" M 1579.097,654.562 A 17.5,17.5 0 0,1 1614.097,654.562 A 17.5,17.5 0 0,1 1579.097,654.562" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_884" d=" M 1882.301,628.69 A 17.5,17.5 0 0,1 1917.301,628.69 A 17.5,17.5 0 0,1 1882.301,628.69" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_868" d=" M 979.413,727.274 A 1.588,1.588 0 0,0 982.588,727.274 A 1.588,1.588 0 0,0 979.413,727.274" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_870" d=" M 1808.735,678.69 A 4.762,4.762 0 0,0 1818.26,678.69 A 4.762,4.762 0 0,0 1808.735,678.69" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_871" d=" M 1864.735,678.69 A 4.762,4.762 0 0,0 1874.26,678.69 A 4.762,4.762 0 0,0 1864.735,678.69" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_872" d=" M 1864.735,751.69 A 4.762,4.762 0 0,0 1874.26,751.69 A 4.762,4.762 0 0,0 1864.735,751.69" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_873" d=" M 1808.735,751.69 A 4.762,4.762 0 0,0 1818.26,751.69 A 4.762,4.762 0 0,0 1808.735,751.69" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_874" d=" M 143.74,751.69 A 4.763,4.763 0 0,0 153.265,751.69 A 4.763,4.763 0 0,0 143.74,751.69" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_875" d=" M 87.74,751.69 A 4.762,4.762 0 0,0 97.265,751.69 A 4.762,4.762 0 0,0 87.74,751.69" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_876" d=" M 87.74,678.69 A 4.762,4.762 0 0,0 97.265,678.69 A 4.762,4.762 0 0,0 87.74,678.69" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<path id="_877" d=" M 143.74,678.69 A 4.763,4.763 0 0,0 153.265,678.69 A 4.763,4.763 0 0,0 143.74,678.69" fill="none" stroke="rgb(255,255,255)" stroke-width="1" />
|
||||
<text id="_897" transform="translate(1025.696,622.361)rotate(0)" font-family="" font-size="90" textLength="69.885" fill="rgb(0,0,255)">2</text>
|
||||
<path id="Outline_899" d=" M 987.719,805.356 A 6,6 0 0,0 993.093,808.69 L 1956,808.69 A 6,6 0 0,0 1962,802.69 L 1962,560.69 A 6,6 0 0,0 1956,554.69 L 6,554.69 A 6,6 0 0,0 0,560.69 L 0,802.69 A 6,6 0 0,0 6,808.69 L 968.907,808.69 A 6,6 0 0,0 974.281,805.356 A 7.5,7.5 0 0,1 987.719,805.356" fill="none" stroke="rgb(128,0,0)" stroke-width="1" />
|
||||
<path id="IT000006" d=" M 987.719,805.356 A 6,6 0 0,0 993.093,808.69 L 1956,808.69 A 6,6 0 0,0 1962,802.69 L 1962,560.69 A 6,6 0 0,0 1956,554.69 L 6,554.69 A 6,6 0 0,0 0,560.69 L 0,802.69 A 6,6 0 0,0 6,808.69 L 968.907,808.69 A 6,6 0 0,0 974.281,805.356 A 7.5,7.5 0 0,1 987.719,805.356 M 1882.301,628.69 A 17.5,17.5 0 0,1 1917.301,628.69 A 17.5,17.5 0 0,1 1882.301,628.69 M 1579.097,654.562 A 17.5,17.5 0 0,1 1614.097,654.562 A 17.5,17.5 0 0,1 1579.097,654.562 M 660.296,681.218 A 17.5,17.5 0 0,1 695.296,681.218 A 17.5,17.5 0 0,1 660.296,681.218 M 963.5,707.09 A 17.5,17.5 0 0,1 998.5,707.09 A 17.5,17.5 0 0,1 963.5,707.09 M 1266.704,681.218 A 17.5,17.5 0 0,1 1301.704,681.218 A 17.5,17.5 0 0,1 1266.704,681.218 M 44.699,628.69 A 17.5,17.5 0 0,1 79.699,628.69 A 17.5,17.5 0 0,1 44.699,628.69 M 347.903,654.562 A 17.5,17.5 0 0,1 382.903,654.562 A 17.5,17.5 0 0,1 347.903,654.562" fill="rgb(255,128,0)" fill-opacity="0.5" stroke="rgb(255,128,0)" stroke-opacity="0.5" stroke-width="1" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
@@ -1,45 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<?xml-stylesheet href="../Content/SheetColor.css" type="text/css" ?>
|
||||
<svg xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
id="svg8"
|
||||
version="1.1"
|
||||
viewBox="0 0 297 210"
|
||||
height="210mm"
|
||||
width="297mm">
|
||||
<metadata id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g id="layer1" class="base"
|
||||
transform="rotate(-90) translate(-210,0)">
|
||||
<rect ry="0.055260345"
|
||||
y="15.029762"
|
||||
x="15.875"
|
||||
height="257.77975"
|
||||
width="180.67261"
|
||||
id="Tavola"
|
||||
fill="#FFFFFF"
|
||||
/>
|
||||
<path id="IT000005"
|
||||
d="m 34.773809,29.392856 21.922618,5.291666 8.315478,12.851191 -2.267857,28.726191 c 0,0 -12.851191,34.017856 -16.630954,30.994046 -3.779761,-3.02381 -15.875,-9.82738 -15.875,-9.82738 l 3.779763,-43.089284 z"
|
||||
/>
|
||||
<path id="IT000004"
|
||||
d="m 81.642856,31.660713 2.267858,37.041667 43.845236,4.535714 42.33333,-6.047618 9.07143,-34.017857 -65.76785,-12.095238 z" />
|
||||
<path id="IT000003"
|
||||
d="m 80.130951,98.184522 31.749999,-3.023809 22.67857,12.095237 40.82143,-9.82738 v 37.04167 l -52.91667,30.23809 -42.333329,-27.97024 z" />
|
||||
<path id="IT000002"
|
||||
d="m 35.52976,126.91071 27.970239,3.77977 3.779761,123.22023 -34.773809,2.26786 z" />
|
||||
<path id="IT000001"
|
||||
d="m 89.958332,174.53571 35.529758,24.19048 38.55357,-24.19048 5.29167,72.57143 -64.25595,8.31548 z"
|
||||
/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.8 KiB |
@@ -1,111 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg viewBox="-145 -126 3050 1525">
|
||||
<g
|
||||
id="g862"
|
||||
transform="translate(145.94402,887.6645)">
|
||||
<path
|
||||
style="fill:none;stroke:#ffa500;stroke-width:1"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 14.858,358.435 h 2438.4 v -1219.2 H 14.858 v 1219.2"
|
||||
id="RawOutline" />
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 1869.643,-854.952 a 6,6 0 0 0 -6.059,-5.799 l -623.118,6.479 a 2,2 0 0 0 -1.98,2.013 l 3.185,495.005 a 2,2 0 0 0 2.005,1.987 l 623.151,-1.54 a 6,6 0 0 0 5.983,-5.876 9073.75,9073.75 0 0 0 1.869,-224.652 2,2 0 0 0 -2.013,-1.992 l -9.52,0.062 a 2,2 0 0 0 -0.812,0.178 6.5,6.5 0 0 1 -6.537,-11.154 2,2 0 0 0 0.813,-1.623 l -0.088,-13.719 a 2,2 0 0 0 -0.834,-1.612 6.5,6.5 0 0 1 6.393,-11.237 2,2 0 0 0 0.814,0.168 l 9.52,-0.062 a 2,2 0 0 0 1.987,-2.017 9073.75,9073.75 0 0 0 -4.759,-224.609"
|
||||
id="IT0000012" />
|
||||
<path
|
||||
style="fill:none;stroke:#800000;stroke-width:1"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 1869.643,-854.952 a 6,6 0 0 0 -6.059,-5.799 l -623.118,6.479 a 2,2 0 0 0 -1.98,2.013 l 3.185,495.005 a 2,2 0 0 0 2.005,1.987 l 623.151,-1.54 a 6,6 0 0 0 5.983,-5.876 9073.75,9073.75 0 0 0 1.869,-224.652 2,2 0 0 0 -2.013,-1.992 l -9.52,0.062 a 2,2 0 0 0 -0.812,0.178 6.5,6.5 0 0 1 -6.537,-11.154 2,2 0 0 0 0.813,-1.623 l -0.088,-13.719 a 2,2 0 0 0 -0.834,-1.612 6.5,6.5 0 0 1 6.393,-11.237 2,2 0 0 0 0.814,0.168 l 9.52,-0.062 a 2,2 0 0 0 1.987,-2.017 9073.75,9073.75 0 0 0 -4.759,-224.609"
|
||||
id="Outline" />
|
||||
<path
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 1869.643,-854.952 a 6,6 0 0 0 -6.059,-5.799 l -623.118,6.479 a 2,2 0 0 0 -1.98,2.013 l 3.185,495.005 a 2,2 0 0 0 2.005,1.987 l 623.151,-1.54 a 6,6 0 0 0 5.983,-5.876 9073.75,9073.75 0 0 0 1.869,-224.652 2,2 0 0 0 -2.013,-1.992 l -9.52,0.062 a 2,2 0 0 0 -0.812,0.178 6.5,6.5 0 0 1 -6.537,-11.154 2,2 0 0 0 0.813,-1.623 l -0.088,-13.719 a 2,2 0 0 0 -0.834,-1.612 6.5,6.5 0 0 1 6.393,-11.237 2,2 0 0 0 0.814,0.168 l 9.52,-0.062 a 2,2 0 0 0 1.987,-2.017 9073.75,9073.75 0 0 0 -4.759,-224.609"
|
||||
id="IT0000022" />
|
||||
<path
|
||||
d="m 1868.654,-110.258 a 600,600 0 0 1 -0.034,-3.219 l -1.667,-211.384 a 12,12 0 0 0 -12.094,-11.905 l -525.783,4.145 a 12,12 0 0 0 -11.905,12.094 l 1.666,211.384 a 600,600 0 0 1 0.017,3.219 l 1.154,458.363 a 6,6 0 0 0 6.047,5.985 l 190.612,-1.503 a 2,2 0 0 0 1.984,-2.015 l -0.075,-9.545 a 2,2 0 0 0 -0.179,-0.812 6.5,6.5 0 0 1 11.144,-6.553 2,2 0 0 0 1.624,0.811 l 14.219,-0.113 a 2,2 0 0 0 1.611,-0.836 6.5,6.5 0 0 1 11.246,6.377 2,2 0 0 0 -0.166,0.814 l 0.075,9.545 a 2,2 0 0 0 2.016,1.985 l 74.498,-0.588 a 2,2 0 0 0 1.984,-2.015 l -0.076,-9.545 a 2,2 0 0 0 -0.179,-0.812 6.5,6.5 0 0 1 11.145,-6.553 2,2 0 0 0 1.623,0.81 l 14.22,-0.112 a 2,2 0 0 0 1.61,-0.836 6.5,6.5 0 0 1 11.246,6.377 2,2 0 0 0 -0.166,0.814 l 0.075,9.545 a 2,2 0 0 0 2.016,1.984 l 190.612,-1.502 a 6,6 0 0 0 5.952,-6.08 l -6.072,-458.324"
|
||||
id="IT000003" />
|
||||
<path
|
||||
style="fill:none;stroke:#800000;stroke-width:1"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 1868.654,-110.258 a 600,600 0 0 1 -0.034,-3.219 l -1.667,-211.384 a 12,12 0 0 0 -12.094,-11.905 l -525.783,4.145 a 12,12 0 0 0 -11.905,12.094 l 1.666,211.384 a 600,600 0 0 1 0.017,3.219 l 1.154,458.363 a 6,6 0 0 0 6.047,5.985 l 190.612,-1.503 a 2,2 0 0 0 1.984,-2.015 l -0.075,-9.545 a 2,2 0 0 0 -0.179,-0.812 6.5,6.5 0 0 1 11.144,-6.553 2,2 0 0 0 1.624,0.811 l 14.219,-0.113 a 2,2 0 0 0 1.611,-0.836 6.5,6.5 0 0 1 11.246,6.377 2,2 0 0 0 -0.166,0.814 l 0.075,9.545 a 2,2 0 0 0 2.016,1.985 l 74.498,-0.588 a 2,2 0 0 0 1.984,-2.015 l -0.076,-9.545 a 2,2 0 0 0 -0.179,-0.812 6.5,6.5 0 0 1 11.145,-6.553 2,2 0 0 0 1.623,0.81 l 14.22,-0.112 a 2,2 0 0 0 1.61,-0.836 6.5,6.5 0 0 1 11.246,6.377 2,2 0 0 0 -0.166,0.814 l 0.075,9.545 a 2,2 0 0 0 2.016,1.984 l 190.612,-1.502 a 6,6 0 0 0 5.952,-6.08 l -6.072,-458.324"
|
||||
id="Outline_1031" />
|
||||
<path
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 1868.654,-110.258 a 600,600 0 0 1 -0.034,-3.219 l -1.667,-211.384 a 12,12 0 0 0 -12.094,-11.905 l -525.783,4.145 a 12,12 0 0 0 -11.905,12.094 l 1.666,211.384 a 600,600 0 0 1 0.017,3.219 l 1.154,458.363 a 6,6 0 0 0 6.047,5.985 l 190.612,-1.503 a 2,2 0 0 0 1.984,-2.015 l -0.075,-9.545 a 2,2 0 0 0 -0.179,-0.812 6.5,6.5 0 0 1 11.144,-6.553 2,2 0 0 0 1.624,0.811 l 14.219,-0.113 a 2,2 0 0 0 1.611,-0.836 6.5,6.5 0 0 1 11.246,6.377 2,2 0 0 0 -0.166,0.814 l 0.075,9.545 a 2,2 0 0 0 2.016,1.985 l 74.498,-0.588 a 2,2 0 0 0 1.984,-2.015 l -0.076,-9.545 a 2,2 0 0 0 -0.179,-0.812 6.5,6.5 0 0 1 11.145,-6.553 2,2 0 0 0 1.623,0.81 l 14.22,-0.112 a 2,2 0 0 0 1.61,-0.836 6.5,6.5 0 0 1 11.246,6.377 2,2 0 0 0 -0.166,0.814 l 0.075,9.545 a 2,2 0 0 0 2.016,1.984 l 190.612,-1.502 a 6,6 0 0 0 5.952,-6.08 l -6.072,-458.324"
|
||||
id="_1032" />
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 833.362,-141.363 -214.608,0.794 a 12,12 0 0 0 -11.956,12.044 l 1.738,474.996 a 12,12 0 0 0 12.044,11.956 l 211.389,-0.773 a 600,600 0 0 1 3.219,0 l 458.365,0.782 a 6,6 0 0 0 6.01,-6.022 l -0.605,-165.217 a 2,2 0 0 0 -2.007,-1.992 l -9.545,0.034 a 2,2 0 0 0 -0.813,0.176 6.5,6.5 0 0 1 -6.506,-11.172 2,2 0 0 0 0.818,-1.62 l -0.052,-14.22 a 2,2 0 0 0 -0.83,-1.614 6.5,6.5 0 0 1 6.425,-11.219 2,2 0 0 0 0.813,0.17 l 9.545,-0.035 a 2,2 0 0 0 1.993,-2.007 l -0.273,-74.5 a 2,2 0 0 0 -2.007,-1.993 l -9.545,0.035 a 2,2 0 0 0 -0.812,0.176 6.5,6.5 0 0 1 -6.507,-11.172 2,2 0 0 0 0.818,-1.62 l -0.052,-14.22 a 2,2 0 0 0 -0.829,-1.614 6.5,6.5 0 0 1 6.424,-11.219 2,2 0 0 0 0.813,0.17 l 9.546,-0.035 a 2,2 0 0 0 1.992,-2.008 l -0.604,-165.216 a 6,6 0 0 0 -6.054,-5.978 l -458.347,4.136"
|
||||
id="_949" />
|
||||
<path
|
||||
style="fill:none;stroke:#800000;stroke-width:1"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 833.362,-141.363 -214.608,0.794 a 12,12 0 0 0 -11.956,12.044 l 1.738,474.996 a 12,12 0 0 0 12.044,11.956 l 211.389,-0.773 a 600,600 0 0 1 3.219,0 l 458.365,0.782 a 6,6 0 0 0 6.01,-6.022 l -0.605,-165.217 a 2,2 0 0 0 -2.007,-1.992 l -9.545,0.034 a 2,2 0 0 0 -0.813,0.176 6.5,6.5 0 0 1 -6.506,-11.172 2,2 0 0 0 0.818,-1.62 l -0.052,-14.22 a 2,2 0 0 0 -0.83,-1.614 6.5,6.5 0 0 1 6.425,-11.219 2,2 0 0 0 0.813,0.17 l 9.545,-0.035 a 2,2 0 0 0 1.993,-2.007 l -0.273,-74.5 a 2,2 0 0 0 -2.007,-1.993 l -9.545,0.035 a 2,2 0 0 0 -0.812,0.176 6.5,6.5 0 0 1 -6.507,-11.172 2,2 0 0 0 0.818,-1.62 l -0.052,-14.22 a 2,2 0 0 0 -0.829,-1.614 6.5,6.5 0 0 1 6.424,-11.219 2,2 0 0 0 0.813,0.17 l 9.546,-0.035 a 2,2 0 0 0 1.992,-2.008 l -0.604,-165.216 a 6,6 0 0 0 -6.054,-5.978 l -458.347,4.136"
|
||||
id="Outline_962" />
|
||||
<path
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 833.362,-141.363 -214.608,0.794 a 12,12 0 0 0 -11.956,12.044 l 1.738,474.996 a 12,12 0 0 0 12.044,11.956 l 211.389,-0.773 a 600,600 0 0 1 3.219,0 l 458.365,0.782 a 6,6 0 0 0 6.01,-6.022 l -0.605,-165.217 a 2,2 0 0 0 -2.007,-1.992 l -9.545,0.034 a 2,2 0 0 0 -0.813,0.176 6.5,6.5 0 0 1 -6.506,-11.172 2,2 0 0 0 0.818,-1.62 l -0.052,-14.22 a 2,2 0 0 0 -0.83,-1.614 6.5,6.5 0 0 1 6.425,-11.219 2,2 0 0 0 0.813,0.17 l 9.545,-0.035 a 2,2 0 0 0 1.993,-2.007 l -0.273,-74.5 a 2,2 0 0 0 -2.007,-1.993 l -9.545,0.035 a 2,2 0 0 0 -0.812,0.176 6.5,6.5 0 0 1 -6.507,-11.172 2,2 0 0 0 0.818,-1.62 l -0.052,-14.22 a 2,2 0 0 0 -0.829,-1.614 6.5,6.5 0 0 1 6.424,-11.219 2,2 0 0 0 0.813,0.17 l 9.546,-0.035 a 2,2 0 0 0 1.992,-2.008 l -0.604,-165.216 a 6,6 0 0 0 -6.054,-5.978 l -458.347,4.136"
|
||||
id="_963" />
|
||||
<path
|
||||
d="m 1219.279,-629.237 a 600,600 0 0 1 -0.02,-3.218 l -0.72,-211.39 a 12,12 0 0 0 -12.041,-11.959 l -525.797,1.793 a 12,12 0 0 0 -11.959,12.041 l 0.72,211.389 a 600,600 0 0 1 0.003,3.219 l -0.897,458.364 a 6,6 0 0 0 6.021,6.012 l 190.616,-0.65 a 2,2 0 0 0 1.994,-2.007 l -0.033,-9.545 a 2,2 0 0 0 -0.175,-0.813 6.5,6.5 0 0 1 11.173,-6.503 2,2 0 0 0 1.62,0.818 l 14.22,-0.048 a 2,2 0 0 0 1.614,-0.83 6.5,6.5 0 0 1 11.218,6.428 2,2 0 0 0 -0.17,0.813 l 0.032,9.545 a 2,2 0 0 0 2.007,1.994 l 74.5,-0.254 a 2,2 0 0 0 1.993,-2.007 l -0.033,-9.546 a 2,2 0 0 0 -0.175,-0.812 6.5,6.5 0 0 1 11.173,-6.503 2,2 0 0 0 1.62,0.818 l 14.22,-0.049 a 2,2 0 0 0 1.615,-0.829 6.5,6.5 0 0 1 11.217,6.427 2,2 0 0 0 -0.17,0.814 l 0.033,9.545 a 2,2 0 0 0 2.006,1.993 l 190.617,-0.65 a 6,6 0 0 0 5.979,-6.052 l -4.021,-458.348"
|
||||
id="IT000002" />
|
||||
<path
|
||||
style="fill:none;stroke:#800000;stroke-width:1"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 1219.279,-629.237 a 600,600 0 0 1 -0.02,-3.218 l -0.72,-211.39 a 12,12 0 0 0 -12.041,-11.959 l -525.797,1.793 a 12,12 0 0 0 -11.959,12.041 l 0.72,211.389 a 600,600 0 0 1 0.003,3.219 l -0.897,458.364 a 6,6 0 0 0 6.021,6.012 l 190.616,-0.65 a 2,2 0 0 0 1.994,-2.007 l -0.033,-9.545 a 2,2 0 0 0 -0.175,-0.813 6.5,6.5 0 0 1 11.173,-6.503 2,2 0 0 0 1.62,0.818 l 14.22,-0.048 a 2,2 0 0 0 1.614,-0.83 6.5,6.5 0 0 1 11.218,6.428 2,2 0 0 0 -0.17,0.813 l 0.032,9.545 a 2,2 0 0 0 2.007,1.994 l 74.5,-0.254 a 2,2 0 0 0 1.993,-2.007 l -0.033,-9.546 a 2,2 0 0 0 -0.175,-0.812 6.5,6.5 0 0 1 11.173,-6.503 2,2 0 0 0 1.62,0.818 l 14.22,-0.049 a 2,2 0 0 0 1.615,-0.829 6.5,6.5 0 0 1 11.217,6.427 2,2 0 0 0 -0.17,0.814 l 0.033,9.545 a 2,2 0 0 0 2.006,1.993 l 190.617,-0.65 a 6,6 0 0 0 5.979,-6.052 l -4.021,-458.348"
|
||||
id="Outline_1067" />
|
||||
<path
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 1219.279,-629.237 a 600,600 0 0 1 -0.02,-3.218 l -0.72,-211.39 a 12,12 0 0 0 -12.041,-11.959 l -525.797,1.793 a 12,12 0 0 0 -11.959,12.041 l 0.72,211.389 a 600,600 0 0 1 0.003,3.219 l -0.897,458.364 a 6,6 0 0 0 6.021,6.012 l 190.616,-0.65 a 2,2 0 0 0 1.994,-2.007 l -0.033,-9.545 a 2,2 0 0 0 -0.175,-0.813 6.5,6.5 0 0 1 11.173,-6.503 2,2 0 0 0 1.62,0.818 l 14.22,-0.048 a 2,2 0 0 0 1.614,-0.83 6.5,6.5 0 0 1 11.218,6.428 2,2 0 0 0 -0.17,0.813 l 0.032,9.545 a 2,2 0 0 0 2.007,1.994 l 74.5,-0.254 a 2,2 0 0 0 1.993,-2.007 l -0.033,-9.546 a 2,2 0 0 0 -0.175,-0.812 6.5,6.5 0 0 1 11.173,-6.503 2,2 0 0 0 1.62,0.818 l 14.22,-0.049 a 2,2 0 0 0 1.615,-0.829 6.5,6.5 0 0 1 11.217,6.427 2,2 0 0 0 -0.17,0.814 l 0.033,9.545 a 2,2 0 0 0 2.006,1.993 l 190.617,-0.65 a 6,6 0 0 0 5.979,-6.052 l -4.021,-458.348"
|
||||
id="_1068" />
|
||||
<path
|
||||
d="m 647.337,-602.882 a 2,2 0 0 0 2,-2.004 10994.716,10994.716 0 0 0 -3.333,-250.021 6,6 0 0 0 -6.022,-5.852 L 16.85,-858.29 a 2,2 0 0 0 -1.992,2 v 545.815 a 2,2 0 0 0 1.992,2 l 623.132,2.469 a 6,6 0 0 0 6.022,-5.852 10994.716,10994.716 0 0 0 3.333,-250.021 2,2 0 0 0 -2,-2.003 h -9.525 a 2,2 0 0 0 -0.813,0.172 6.5,6.5 0 0 1 -6.465,-11.195 2,2 0 0 0 0.824,-1.618 v -13.719 a 2,2 0 0 0 -0.824,-1.618 6.5,6.5 0 0 1 6.465,-11.195 2,2 0 0 0 0.813,0.173 h 9.525"
|
||||
id="IT000001" />
|
||||
<path
|
||||
style="fill:none;stroke:#800000;stroke-width:1"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 647.337,-602.882 a 2,2 0 0 0 2,-2.004 10994.716,10994.716 0 0 0 -3.333,-250.021 6,6 0 0 0 -6.022,-5.852 L 16.85,-858.29 a 2,2 0 0 0 -1.992,2 v 545.815 a 2,2 0 0 0 1.992,2 l 623.132,2.469 a 6,6 0 0 0 6.022,-5.852 10994.716,10994.716 0 0 0 3.333,-250.021 2,2 0 0 0 -2,-2.003 h -9.525 a 2,2 0 0 0 -0.813,0.172 6.5,6.5 0 0 1 -6.465,-11.195 2,2 0 0 0 0.824,-1.618 v -13.719 a 2,2 0 0 0 -0.824,-1.618 6.5,6.5 0 0 1 6.465,-11.195 2,2 0 0 0 0.813,0.173 h 9.525"
|
||||
id="Outline_995" />
|
||||
<path
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 647.337,-602.882 a 2,2 0 0 0 2,-2.004 10994.716,10994.716 0 0 0 -3.333,-250.021 6,6 0 0 0 -6.022,-5.852 L 16.85,-858.29 a 2,2 0 0 0 -1.992,2 v 545.815 a 2,2 0 0 0 1.992,2 l 623.132,2.469 a 6,6 0 0 0 6.022,-5.852 10994.716,10994.716 0 0 0 3.333,-250.021 2,2 0 0 0 -2,-2.003 h -9.525 a 2,2 0 0 0 -0.813,0.172 6.5,6.5 0 0 1 -6.465,-11.195 2,2 0 0 0 0.824,-1.618 v -13.719 a 2,2 0 0 0 -0.824,-1.618 6.5,6.5 0 0 1 6.465,-11.195 2,2 0 0 0 0.813,0.173 h 9.525"
|
||||
id="_996" />
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 272.731,-274.044 a 2,2 0 0 0 -2.004,-2 10994.716,10994.716 0 0 0 -250.021,3.333 6,6 0 0 0 -5.852,6.021 l 2.469,623.133 a 2,2 0 0 0 2,1.992 h 545.816 a 2,2 0 0 0 2,-1.992 l 2.468,-623.133 a 6,6 0 0 0 -5.851,-6.021 10994.716,10994.716 0 0 0 -250.021,-3.333 2,2 0 0 0 -2.004,2 v 9.525 a 2,2 0 0 0 0.172,0.812 6.5,6.5 0 0 1 -11.195,6.466 2,2 0 0 0 -1.617,-0.824 h -13.72 a 2,2 0 0 0 -1.618,0.824 6.5,6.5 0 0 1 -11.195,-6.466 2,2 0 0 0 0.173,-0.812 v -9.525"
|
||||
id="_1087" />
|
||||
<path
|
||||
style="fill:none;stroke:#800000;stroke-width:1"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 272.731,-274.044 a 2,2 0 0 0 -2.004,-2 10994.716,10994.716 0 0 0 -250.021,3.333 6,6 0 0 0 -5.852,6.021 l 2.469,623.133 a 2,2 0 0 0 2,1.992 h 545.816 a 2,2 0 0 0 2,-1.992 l 2.468,-623.133 a 6,6 0 0 0 -5.851,-6.021 10994.716,10994.716 0 0 0 -250.021,-3.333 2,2 0 0 0 -2.004,2 v 9.525 a 2,2 0 0 0 0.172,0.812 6.5,6.5 0 0 1 -11.195,6.466 2,2 0 0 0 -1.617,-0.824 h -13.72 a 2,2 0 0 0 -1.618,0.824 6.5,6.5 0 0 1 -11.195,-6.466 2,2 0 0 0 0.173,-0.812 v -9.525"
|
||||
id="Outline_1100" />
|
||||
<path
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 272.731,-274.044 a 2,2 0 0 0 -2.004,-2 10994.716,10994.716 0 0 0 -250.021,3.333 6,6 0 0 0 -5.852,6.021 l 2.469,623.133 a 2,2 0 0 0 2,1.992 h 545.816 a 2,2 0 0 0 2,-1.992 l 2.468,-623.133 a 6,6 0 0 0 -5.851,-6.021 10994.716,10994.716 0 0 0 -250.021,-3.333 2,2 0 0 0 -2.004,2 v 9.525 a 2,2 0 0 0 0.172,0.812 6.5,6.5 0 0 1 -11.195,6.466 2,2 0 0 0 -1.617,-0.824 h -13.72 a 2,2 0 0 0 -1.618,0.824 6.5,6.5 0 0 1 -11.195,-6.466 2,2 0 0 0 0.173,-0.812 v -9.525"
|
||||
id="_1101" />
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 1894.72,131.826 a 600,600 0 0 1 0.01,3.219 v 211.39 a 12,12 0 0 0 12,12 h 525.8 a 12,12 0 0 0 12,-12 v -211.39 a 600,600 0 0 1 0.01,-3.219 l 2.459,-458.359 a 6,6 0 0 0 -6,-6.032 h -190.617 a 2,2 0 0 0 -2,2 v 9.546 a 2,2 0 0 0 0.172,0.812 6.5,6.5 0 0 1 -11.195,6.466 2,2 0 0 0 -1.618,-0.824 h -14.219 a 2,2 0 0 0 -1.618,0.824 6.5,6.5 0 0 1 -11.195,-6.466 2,2 0 0 0 0.173,-0.812 v -9.546 a 2,2 0 0 0 -2,-2 h -74.5 a 2,2 0 0 0 -2,2 v 9.546 a 2,2 0 0 0 0.172,0.812 6.5,6.5 0 0 1 -11.195,6.466 2,2 0 0 0 -1.618,-0.824 h -14.219 a 2,2 0 0 0 -1.618,0.824 6.5,6.5 0 0 1 -11.195,-6.466 2,2 0 0 0 0.173,-0.812 v -9.546 a 2,2 0 0 0 -2,-2 h -190.618 a 6,6 0 0 0 -6,6.032 l 2.459,458.359"
|
||||
id="_1210" />
|
||||
<path
|
||||
style="fill:none;stroke:#800000;stroke-width:1"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 1894.72,131.826 a 600,600 0 0 1 0.01,3.219 v 211.39 a 12,12 0 0 0 12,12 h 525.8 a 12,12 0 0 0 12,-12 v -211.39 a 600,600 0 0 1 0.01,-3.219 l 2.459,-458.359 a 6,6 0 0 0 -6,-6.032 h -190.617 a 2,2 0 0 0 -2,2 v 9.546 a 2,2 0 0 0 0.172,0.812 6.5,6.5 0 0 1 -11.195,6.466 2,2 0 0 0 -1.618,-0.824 h -14.219 a 2,2 0 0 0 -1.618,0.824 6.5,6.5 0 0 1 -11.195,-6.466 2,2 0 0 0 0.173,-0.812 v -9.546 a 2,2 0 0 0 -2,-2 h -74.5 a 2,2 0 0 0 -2,2 v 9.546 a 2,2 0 0 0 0.172,0.812 6.5,6.5 0 0 1 -11.195,6.466 2,2 0 0 0 -1.618,-0.824 h -14.219 a 2,2 0 0 0 -1.618,0.824 6.5,6.5 0 0 1 -11.195,-6.466 2,2 0 0 0 0.173,-0.812 v -9.546 a 2,2 0 0 0 -2,-2 h -190.618 a 6,6 0 0 0 -6,6.032 l 2.459,458.359"
|
||||
id="Outline_1223" />
|
||||
<path
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 1894.72,131.826 a 600,600 0 0 1 0.01,3.219 v 211.39 a 12,12 0 0 0 12,12 h 525.8 a 12,12 0 0 0 12,-12 v -211.39 a 600,600 0 0 1 0.01,-3.219 l 2.459,-458.359 a 6,6 0 0 0 -6,-6.032 h -190.617 a 2,2 0 0 0 -2,2 v 9.546 a 2,2 0 0 0 0.172,0.812 6.5,6.5 0 0 1 -11.195,6.466 2,2 0 0 0 -1.618,-0.824 h -14.219 a 2,2 0 0 0 -1.618,0.824 6.5,6.5 0 0 1 -11.195,-6.466 2,2 0 0 0 0.173,-0.812 v -9.546 a 2,2 0 0 0 -2,-2 h -74.5 a 2,2 0 0 0 -2,2 v 9.546 a 2,2 0 0 0 0.172,0.812 6.5,6.5 0 0 1 -11.195,6.466 2,2 0 0 0 -1.618,-0.824 h -14.219 a 2,2 0 0 0 -1.618,0.824 6.5,6.5 0 0 1 -11.195,-6.466 2,2 0 0 0 0.173,-0.812 v -9.546 a 2,2 0 0 0 -2,-2 h -190.618 a 6,6 0 0 0 -6,6.032 l 2.459,458.359"
|
||||
id="_1224" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 16 KiB |
@@ -1,658 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
viewBox="-176 -180 1499.9996 1499.994">
|
||||
<g
|
||||
id="g1075"
|
||||
transform="matrix(0.98360262,0,0,0.98360262,-1185.9496,-1051.3854)">
|
||||
<path
|
||||
d="m 1027.292,2410.412 h 1524 v -1524 h -1524 v 1524"
|
||||
id="RawOutline"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffa500;stroke-width:1" />
|
||||
<path
|
||||
d="m 1092.292,2051.412 h -53 v 56.8 a 6.6,6.6 0 0 1 0,13.2 h -12 v 130 h 12 a 6.6,6.6 0 0 1 0,13.2 v 73.6 a 6.6,6.6 0 0 1 0,13.2 h -12 v 59 h 77 v -59 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -73.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -170 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -16.8"
|
||||
id="_6668"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1092.292,2051.412 h -53 v 56.8 a 6.6,6.6 0 0 1 0,13.2 h -12 v 130 h 12 a 6.6,6.6 0 0 1 0,13.2 v 73.6 a 6.6,6.6 0 0 1 0,13.2 h -12 v 59 h 77 v -59 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -73.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -170 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -16.8"
|
||||
id="Outline"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1" />
|
||||
<path
|
||||
d="m 1092.292,2051.412 h -53 v 56.8 a 6.6,6.6 0 0 1 0,13.2 h -12 v 130 h 12 a 6.6,6.6 0 0 1 0,13.2 v 73.6 a 6.6,6.6 0 0 1 0,13.2 h -12 v 59 h 77 v -59 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -73.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -170 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -16.8"
|
||||
id="_6684"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 1060.433,1831.518 h 11 a 7,7 0 0 1 7,7 v 22 h 13 v -50.454 a 6.604,6.604 0 0 1 0,-13.208 h 12 v -19.102 h -16 a 6.5,6.5 0 0 1 0,-13 h 16 v -27.036 h -58.234 a 7,7 0 0 1 -5.745,3 h -12.15 l 1.186,33.977 5.996,-0.209 a 6.604,6.604 0 0 1 6.838,6.369 6.604,6.604 0 0 1 -6.376,6.831 l 2.543,72.832 h 15.942 v -22 a 7,7 0 0 1 7,-7"
|
||||
id="_7187"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1060.433,1831.518 h 11 a 7,7 0 0 1 7,7 v 22 h 13 v -50.454 a 6.604,6.604 0 0 1 0,-13.208 h 12 v -19.102 h -16 a 6.5,6.5 0 0 1 0,-13 h 16 v -27.036 h -58.234 a 7,7 0 0 1 -5.745,3 h -12.15 l 1.186,33.977 5.996,-0.209 a 6.604,6.604 0 0 1 6.838,6.369 6.604,6.604 0 0 1 -6.376,6.831 l 2.543,72.832 h 15.942 v -22 a 7,7 0 0 1 7,-7"
|
||||
id="Outline_7200"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1" />
|
||||
<path
|
||||
d="m 1060.433,1831.518 h 11 a 7,7 0 0 1 7,7 v 22 h 13 v -50.454 a 6.604,6.604 0 0 1 0,-13.208 h 12 v -19.102 h -16 a 6.5,6.5 0 0 1 0,-13 h 16 v -27.036 h -58.234 a 7,7 0 0 1 -5.745,3 h -12.15 l 1.186,33.977 5.996,-0.209 a 6.604,6.604 0 0 1 6.838,6.369 6.604,6.604 0 0 1 -6.376,6.831 l 2.543,72.832 h 15.942 v -22 a 7,7 0 0 1 7,-7"
|
||||
id="_7201"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 1087.285,1891.993 a 12,12 0 0 0 -11.993,-11.581 h -13 v 36 a 7,7 0 0 1 -14,0 h -21 v 23.992 h 12 a 6.604,6.604 0 0 1 0,13.208 v 29.592 a 6.604,6.604 0 0 1 0,13.208 h -12 v 35 h 58.858 l -3.232,-92.555 a 6.6040238,6.6040238 0 0 1 -0.461,-13.2 l 5.996,-0.209 -1.168,-33.455"
|
||||
id="_7053"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1087.285,1891.993 a 12,12 0 0 0 -11.993,-11.581 h -13 v 36 a 7,7 0 0 1 -14,0 h -21 v 23.992 h 12 a 6.604,6.604 0 0 1 0,13.208 v 29.592 a 6.604,6.604 0 0 1 0,13.208 h -12 v 35 h 58.858 l -3.232,-92.555 a 6.6040238,6.6040238 0 0 1 -0.461,-13.2 l 5.996,-0.209 -1.168,-33.455"
|
||||
id="Outline_7066"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1" />
|
||||
<path
|
||||
d="m 1087.285,1891.993 a 12,12 0 0 0 -11.993,-11.581 h -13 v 36 a 7,7 0 0 1 -14,0 h -21 v 23.992 h 12 a 6.604,6.604 0 0 1 0,13.208 v 29.592 a 6.604,6.604 0 0 1 0,13.208 h -12 v 35 h 58.858 l -3.232,-92.555 a 6.6040238,6.6040238 0 0 1 -0.461,-13.2 l 5.996,-0.209 -1.168,-33.455"
|
||||
id="_7067"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 1061.792,1692.974 a 5.5565,5.5565 0 0 1 0,-11.113 5.5565,5.5565 0 0 1 0,11.113"
|
||||
id="_7216"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1055.468,1665.718 h -16.176 v 25.246 a 0.794,0.794 0 0 0 0.713,0.79 7,7 0 0 1 -0.713,13.964 h -11.206 a 0.794,0.794 0 0 0 -0.794,0.793 v 10.413 a 0.794,0.794 0 0 0 0.794,0.794 h 67.412 a 0.794,0.794 0 0 0 0.794,-0.794 v -10.413 a 0.794,0.794 0 0 0 -0.794,-0.793 h -11.206 a 7,7 0 0 1 -0.713,-13.964 0.794,0.794 0 0 0 0.713,-0.79 v -24.453 a 0.794,0.794 0 0 0 -0.794,-0.793 h -15.381 a 7,7 0 0 1 -12.649,0"
|
||||
id="_7217"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1055.468,1665.718 h -16.176 v 25.246 a 0.794,0.794 0 0 0 0.713,0.79 7,7 0 0 1 -0.713,13.964 h -11.206 a 0.794,0.794 0 0 0 -0.794,0.793 v 10.413 a 0.794,0.794 0 0 0 0.794,0.794 h 67.412 a 0.794,0.794 0 0 0 0.794,-0.794 v -10.413 a 0.794,0.794 0 0 0 -0.794,-0.793 h -11.206 a 7,7 0 0 1 -0.713,-13.964 0.794,0.794 0 0 0 0.713,-0.79 v -24.453 a 0.794,0.794 0 0 0 -0.794,-0.793 h -15.381 a 7,7 0 0 1 -12.649,0"
|
||||
id="Outline_7230"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1055.468,1665.718 h -16.176 v 25.246 a 0.794,0.794 0 0 0 0.713,0.79 7,7 0 0 1 -0.713,13.964 h -11.206 a 0.794,0.794 0 0 0 -0.794,0.793 v 10.413 a 0.794,0.794 0 0 0 0.794,0.794 h 67.412 a 0.794,0.794 0 0 0 0.794,-0.794 v -10.413 a 0.794,0.794 0 0 0 -0.794,-0.793 h -11.206 a 7,7 0 0 1 -0.713,-13.964 0.794,0.794 0 0 0 0.713,-0.79 v -24.453 a 0.794,0.794 0 0 0 -0.794,-0.793 h -15.381 a 7,7 0 0 1 -12.649,0 m 6.324,27.256 a 5.5565,5.5565 0 0 1 0,-11.113 5.5565,5.5565 0 0 1 0,11.113"
|
||||
id="_7231"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 2463.292,1255.703 h 12 a 6.6,6.6 0 0 1 6.606,6.6 6.6,6.6 0 0 1 -6.606,6.6 v 48.6 a 6.6,6.6 0 0 1 6.607,6.6 6.6,6.6 0 0 1 -6.607,6.6 h -12 v 39 h 77 v -39 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -48.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -240 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -48.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -39 h -77 v 39 h 12 a 6.6,6.6 0 0 1 6.602,6.6 6.6,6.6 0 0 1 -6.602,6.6 v 48.6 a 6.6,6.6 0 0 1 6.606,6.6 6.6,6.6 0 0 1 -6.606,6.6 h -12 v 240"
|
||||
id="_8235"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2463.292,1255.703 h 12 a 6.6,6.6 0 0 1 6.606,6.6 6.6,6.6 0 0 1 -6.606,6.6 v 48.6 a 6.6,6.6 0 0 1 6.607,6.6 6.6,6.6 0 0 1 -6.607,6.6 h -12 v 39 h 77 v -39 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -48.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -240 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -48.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -39 h -77 v 39 h 12 a 6.6,6.6 0 0 1 6.602,6.6 6.6,6.6 0 0 1 -6.602,6.6 v 48.6 a 6.6,6.6 0 0 1 6.606,6.6 6.6,6.6 0 0 1 -6.606,6.6 h -12 v 240"
|
||||
id="Outline_8248"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1" />
|
||||
<path
|
||||
d="m 2463.292,1255.703 h 12 a 6.6,6.6 0 0 1 6.606,6.6 6.6,6.6 0 0 1 -6.606,6.6 v 48.6 a 6.6,6.6 0 0 1 6.607,6.6 6.6,6.6 0 0 1 -6.607,6.6 h -12 v 39 h 77 v -39 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -48.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -240 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -48.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -39 h -77 v 39 h 12 a 6.6,6.6 0 0 1 6.602,6.6 6.6,6.6 0 0 1 -6.602,6.6 v 48.6 a 6.6,6.6 0 0 1 6.606,6.6 6.6,6.6 0 0 1 -6.606,6.6 h -12 v 240"
|
||||
id="_8249"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 2446.874,2296.412 h 12 a 6.6,6.6 0 0 1 6.605,6.6 6.6,6.6 0 0 1 -6.605,6.6 v 48.6 a 6.6,6.6 0 0 1 6.607,6.6 6.6,6.6 0 0 1 -6.607,6.6 h -12 v 39 h 77 v -39 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -48.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -240 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -48.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -39 h -77 v 39 h 12 a 6.6,6.6 0 0 1 6.602,6.6 6.6,6.6 0 0 1 -6.602,6.6 v 48.6 a 6.6,6.6 0 0 1 6.606,6.6 6.6,6.6 0 0 1 -6.606,6.6 h -12 v 240"
|
||||
id="_8631"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2446.874,2296.412 h 12 a 6.6,6.6 0 0 1 6.605,6.6 6.6,6.6 0 0 1 -6.605,6.6 v 48.6 a 6.6,6.6 0 0 1 6.607,6.6 6.6,6.6 0 0 1 -6.607,6.6 h -12 v 39 h 77 v -39 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -48.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -240 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -48.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -39 h -77 v 39 h 12 a 6.6,6.6 0 0 1 6.602,6.6 6.6,6.6 0 0 1 -6.602,6.6 v 48.6 a 6.6,6.6 0 0 1 6.606,6.6 6.6,6.6 0 0 1 -6.606,6.6 h -12 v 240"
|
||||
id="Outline_8644"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1" />
|
||||
<path
|
||||
d="m 2446.874,2296.412 h 12 a 6.6,6.6 0 0 1 6.605,6.6 6.6,6.6 0 0 1 -6.605,6.6 v 48.6 a 6.6,6.6 0 0 1 6.607,6.6 6.6,6.6 0 0 1 -6.607,6.6 h -12 v 39 h 77 v -39 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -48.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -240 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -48.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -39 h -77 v 39 h 12 a 6.6,6.6 0 0 1 6.602,6.6 6.6,6.6 0 0 1 -6.602,6.6 v 48.6 a 6.6,6.6 0 0 1 6.606,6.6 6.6,6.6 0 0 1 -6.606,6.6 h -12 v 240"
|
||||
id="_8645"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 2458.015,1922.412 h 53 v -56.8 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -130 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -73.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -59 h -77 v 59 h 12 a 6.6,6.6 0 0 1 0,13.2 v 73.6 a 6.6,6.6 0 0 1 0,13.2 h -12 v 170 h 12 a 6.6,6.6 0 0 1 0,13.2 v 16.8"
|
||||
id="_8130"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2458.015,1922.412 h 53 v -56.8 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -130 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -73.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -59 h -77 v 59 h 12 a 6.6,6.6 0 0 1 0,13.2 v 73.6 a 6.6,6.6 0 0 1 0,13.2 h -12 v 170 h 12 a 6.6,6.6 0 0 1 0,13.2 v 16.8"
|
||||
id="Outline_8145"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1" />
|
||||
<path
|
||||
d="m 2458.015,1922.412 h 53 v -56.8 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -130 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -73.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -59 h -77 v 59 h 12 a 6.6,6.6 0 0 1 0,13.2 v 73.6 a 6.6,6.6 0 0 1 0,13.2 h -12 v 170 h 12 a 6.6,6.6 0 0 1 0,13.2 v 16.8"
|
||||
id="_8146"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 2365.292,1466.703 v -12 a 6.6,6.6 0 0 1 6.6,-6.609 6.6,6.6 0 0 1 6.6,6.609 h 48.6 a 6.6,6.6 0 0 1 6.6,-6.61 6.6,6.6 0 0 1 6.6,6.61 v 12 h 79 v -77 h -117.5 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -48.6 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -100 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -162.3 v 65 h 79 v -12 a 6.6,6.6 0 0 1 6.6,-6.604 6.6,6.6 0 0 1 6.6,6.604 h 48.6 a 6.6,6.6 0 0 1 6.6,-6.605 6.6,6.6 0 0 1 6.6,6.605 v 12 h 160"
|
||||
id="_8203"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2365.292,1466.703 v -12 a 6.6,6.6 0 0 1 6.6,-6.609 6.6,6.6 0 0 1 6.6,6.609 h 48.6 a 6.6,6.6 0 0 1 6.6,-6.61 6.6,6.6 0 0 1 6.6,6.61 v 12 h 79 v -77 h -117.5 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -48.6 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -100 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -162.3 v 65 h 79 v -12 a 6.6,6.6 0 0 1 6.6,-6.604 6.6,6.6 0 0 1 6.6,6.604 h 48.6 a 6.6,6.6 0 0 1 6.6,-6.605 6.6,6.6 0 0 1 6.6,6.605 v 12 h 160"
|
||||
id="Outline_8216"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1" />
|
||||
<path
|
||||
d="m 2365.292,1466.703 v -12 a 6.6,6.6 0 0 1 6.6,-6.609 6.6,6.6 0 0 1 6.6,6.609 h 48.6 a 6.6,6.6 0 0 1 6.6,-6.61 6.6,6.6 0 0 1 6.6,6.61 v 12 h 79 v -77 h -117.5 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -48.6 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -100 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -162.3 v 65 h 79 v -12 a 6.6,6.6 0 0 1 6.6,-6.604 6.6,6.6 0 0 1 6.6,6.604 h 48.6 a 6.6,6.6 0 0 1 6.6,-6.605 6.6,6.6 0 0 1 6.6,6.605 v 12 h 160"
|
||||
id="_8217"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 2479.513,1518.668 a 5.5565,5.5565 0 0 1 0,-11.113 5.5565,5.5565 0 0 1 0,11.113"
|
||||
id="_7757"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2473.189,1491.412 h -16.176 v 25.246 a 0.794,0.794 0 0 0 0.713,0.79 7,7 0 0 1 -0.713,13.964 h -11.206 a 0.794,0.794 0 0 0 -0.794,0.793 v 10.413 a 0.794,0.794 0 0 0 0.794,0.794 h 67.413 a 0.794,0.794 0 0 0 0.793,-0.794 v -10.413 a 0.794,0.794 0 0 0 -0.793,-0.793 h -11.207 a 7,7 0 0 1 -0.712,-13.964 0.794,0.794 0 0 0 0.712,-0.79 v -24.453 a 0.794,0.794 0 0 0 -0.793,-0.793 h -15.382 a 7,7 0 0 1 -12.649,0"
|
||||
id="_7758"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2473.189,1491.412 h -16.176 v 25.246 a 0.794,0.794 0 0 0 0.713,0.79 7,7 0 0 1 -0.713,13.964 h -11.206 a 0.794,0.794 0 0 0 -0.794,0.793 v 10.413 a 0.794,0.794 0 0 0 0.794,0.794 h 67.413 a 0.794,0.794 0 0 0 0.793,-0.794 v -10.413 a 0.794,0.794 0 0 0 -0.793,-0.793 h -11.207 a 7,7 0 0 1 -0.712,-13.964 0.794,0.794 0 0 0 0.712,-0.79 v -24.453 a 0.794,0.794 0 0 0 -0.793,-0.793 h -15.382 a 7,7 0 0 1 -12.649,0"
|
||||
id="Outline_7771"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2473.189,1491.412 h -16.176 v 25.246 a 0.794,0.794 0 0 0 0.713,0.79 7,7 0 0 1 -0.713,13.964 h -11.206 a 0.794,0.794 0 0 0 -0.794,0.793 v 10.413 a 0.794,0.794 0 0 0 0.794,0.794 h 67.413 a 0.794,0.794 0 0 0 0.793,-0.794 v -10.413 a 0.794,0.794 0 0 0 -0.793,-0.793 h -11.207 a 7,7 0 0 1 -0.712,-13.964 0.794,0.794 0 0 0 0.712,-0.79 v -24.453 a 0.794,0.794 0 0 0 -0.793,-0.793 h -15.382 a 7,7 0 0 1 -12.649,0 m 6.324,27.256 a 5.5565,5.5565 0 0 1 0,-11.113 5.5565,5.5565 0 0 1 0,11.113"
|
||||
id="_7772"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 2132.302,920.315 a 150.089,150.089 0 0 0 171.252,146.264 6.35,6.35 0 0 1 2.096,12.525 159.697,159.697 0 0 1 -186.048,-158.9 6.3502425,6.3502425 0 0 1 12.7,0.111"
|
||||
id="_8167"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1757.292,1369.703 h 34.3 a 6.6,6.6 0 0 1 13.2,0 v 12 h 99 v -12 a 6.6,6.6 0 0 1 13.2,0 h 144.6 a 6.6,6.6 0 0 1 13.2,0 v 12 h 119 v -12 a 6.6,6.6 0 0 1 13.2,0 h 224.3 v -26.834 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -73 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -215.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -73 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -26.766 h -15.55 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -49 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -39.1 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -48.8 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -114.25 v 24.833 a 17.5,17.5 0 0 1 -35,0 v -19.584 a 6.6,6.6 0 0 1 -2.6,-5.249 v -12 h -61.5 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -45.45 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -105.95 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -64.4 v 66.766 a 6.6,6.6 0 0 1 0,13.2 h -12 v 73 h 12 a 6.6,6.6 0 0 1 0,13.2 v 135.6 a 6.6,6.6 0 0 1 0,13.2 h -12 v 73 h 12 a 6.6,6.6 0 0 1 0,13.2 v 66.834"
|
||||
id="_8168"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1922.792,1033.703 a 15,15 0 0 1 0,30 h -38.1 a 15,15 0 0 1 0,-30 h 38.1"
|
||||
id="_8169"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2201.292,913.203 a 22.5,22.5 0 0 1 0,45 h -10 a 22.5,22.5 0 0 1 0,-45 h 10"
|
||||
id="_8170"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2327.292,912.173 a 7,7 0 0 1 7,7 v 16 a 7,7 0 0 1 -7,7 h -16 a 7,7 0 0 1 -7,-7 v -16 a 7,7 0 0 1 7,-7 h 16"
|
||||
id="_8171"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1757.292,1369.703 h 34.3 a 6.6,6.6 0 0 1 13.2,0 v 12 h 99 v -12 a 6.6,6.6 0 0 1 13.2,0 h 144.6 a 6.6,6.6 0 0 1 13.2,0 v 12 h 119 v -12 a 6.6,6.6 0 0 1 13.2,0 h 224.3 v -26.834 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -73 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -215.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -73 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -26.766 h -15.55 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -49 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -39.1 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -48.8 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -114.25 v 24.833 a 17.5,17.5 0 0 1 -35,0 v -19.584 a 6.6,6.6 0 0 1 -2.6,-5.249 v -12 h -61.5 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -45.45 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -105.95 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -64.4 v 66.766 a 6.6,6.6 0 0 1 0,13.2 h -12 v 73 h 12 a 6.6,6.6 0 0 1 0,13.2 v 135.6 a 6.6,6.6 0 0 1 0,13.2 h -12 v 73 h 12 a 6.6,6.6 0 0 1 0,13.2 v 66.834"
|
||||
id="Outline_8184"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1" />
|
||||
<path
|
||||
d="m 1757.292,1369.703 h 34.3 a 6.6,6.6 0 0 1 13.2,0 v 12 h 99 v -12 a 6.6,6.6 0 0 1 13.2,0 h 144.6 a 6.6,6.6 0 0 1 13.2,0 v 12 h 119 v -12 a 6.6,6.6 0 0 1 13.2,0 h 224.3 v -26.834 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -73 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -215.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -73 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -26.766 h -15.55 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -49 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -39.1 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -48.8 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -114.25 v 24.833 a 17.5,17.5 0 0 1 -35,0 v -19.584 a 6.6,6.6 0 0 1 -2.6,-5.249 v -12 h -61.5 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -45.45 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -105.95 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -64.4 v 66.766 a 6.6,6.6 0 0 1 0,13.2 h -12 v 73 h 12 a 6.6,6.6 0 0 1 0,13.2 v 135.6 a 6.6,6.6 0 0 1 0,13.2 h -12 v 73 h 12 a 6.6,6.6 0 0 1 0,13.2 v 66.834 m 375.01,-449.388 a 150.089,150.089 0 0 0 171.252,146.264 6.35,6.35 0 0 1 2.096,12.525 159.697,159.697 0 0 1 -186.048,-158.9 6.3502425,6.3502425 0 0 1 12.7,0.111 m 68.99,-7.112 a 22.5,22.5 0 0 1 0,45 h -10 a 22.5,22.5 0 0 1 0,-45 h 10 m -278.5,120.5 a 15,15 0 0 1 0,30 h -38.1 a 15,15 0 0 1 0,-30 h 38.1 m 404.5,-121.53 a 7,7 0 0 1 7,7 v 16 a 7,7 0 0 1 -7,7 h -16 a 7,7 0 0 1 -7,-7 v -16 a 7,7 0 0 1 7,-7 h 16"
|
||||
id="_8185"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 1847.711,1943.306 515.272,26.477 v 13.017 l -515.272,-26.477 v -13.017"
|
||||
id="_7451"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2357.671,2281.511 h 65.377 a 6.5,6.5 0 0 1 0,13 h -62.247 -3.13 a 6.5,6.5 0 0 1 0,-13"
|
||||
id="_7462"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2357.075,2046.906 a 7,7 0 0 1 -7.007,-7 7,7 0 0 1 7.007,-6.999 v -61.425 l -501.686,-25.779 v 55.704 a 7,7 0 0 1 0,14 h -12.999 a 7,7 0 0 1 -7.004,-7 7,7 0 0 1 7.004,-7 v -9.683 -12.6 -34.089 l -29.903,-1.536 a 7,7 0 0 0 -4.402,1.276 7,7 0 0 1 -4.401,1.275 l -6.093,-0.313 v 33.387 12.6 25.018 a 6.604,6.604 0 0 1 0,13.208 h -12 v 222.07 12.6 83.305 h 12 a 6.604,6.604 0 0 1 0,13.207 v 49.28 h 44.799 v -29.499 a 7,7 0 0 1 -7.001,-7 7,7 0 0 1 7.001,-7 h 12.999 a 7,7 0 0 1 0,14 v 29.499 h 501.686 v -29.499 h -17 a 7,7 0 0 1 -6.998,-6.86 v -0.14 -29.999 a 7,7 0 0 1 13.999,0 v 22.999 h 23 a 7,7 0 0 1 0,14 v 29.499 h 56.798 v -39.163 h -6 a 6.604,6.604 0 0 1 -6.607,-6.604 6.604,6.604 0 0 1 6.607,-6.604 v -63.73 -12.6 -223.261 a 6.604,6.604 0 0 1 -6.613,-6.604 6.604,6.604 0 0 1 6.613,-6.604 h 6 v -32.903 -12.6 -21.667 l -12.393,-0.637 a 7,7 0 0 1 -4.247,-1.72 7,7 0 0 0 -4.248,-1.72 l -35.91,-1.845 v 27.589 12.6 20.568 a 7,7 0 0 1 0,13.999 h -13"
|
||||
id="_7463"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1793.31,1991.924 a 6.5,6.5 0 0 1 0,-13 h 53.361 a 6.5,6.5 0 0 1 0,13 h -53.361"
|
||||
id="_7464"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1779.277,2251.82 h 75.517 a 6.5,6.5 0 0 1 0,13 h -59.247 -16.274 a 6.5000003,6.5000003 0 0 1 0,-13"
|
||||
id="_7465"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2367.793,2012.639 a 6.5,6.5 0 0 1 0,-13 h 60.362 a 6.5,6.5 0 0 1 0,13 h -60.362"
|
||||
id="_7466"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1895.97,2320.666 a 4.8,4.8 0 0 1 -4.804,-4.8 4.8,4.8 0 0 1 4.804,-4.799 h 7.999 a 4.8,4.8 0 0 1 0,9.599 h -7.999"
|
||||
id="_7468"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2278.496,2311.067 h 8 a 4.8,4.8 0 0 1 0,9.599 h -8 a 4.8,4.8 0 0 1 -4.803,-4.8 4.8,4.8 0 0 1 4.803,-4.799"
|
||||
id="_7469"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2278.496,2201.07 h 8 a 4.8,4.8 0 0 1 0,9.6 h -8 a 4.8,4.8 0 0 1 -4.805,-4.8 4.8,4.8 0 0 1 4.805,-4.8"
|
||||
id="_7470"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1895.97,2210.67 a 4.8,4.8 0 0 1 -4.806,-4.8 4.8,4.8 0 0 1 4.806,-4.8 h 7.999 a 4.8,4.8 0 0 1 0,9.6 h -7.999"
|
||||
id="_7471"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1855.389,2116.42 a 7,7 0 0 1 0,14 v 21.999 a 7,7 0 0 1 0,14 h -12.999 a 7,7 0 0 1 -7.003,-7 7,7 0 0 1 7.003,-7 v -21.999 a 7,7 0 0 1 -7.009,-7 7,7 0 0 1 7.009,-7 h 12.999"
|
||||
id="_7472"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2357.075,2180.418 a 7,7 0 0 1 0,-13.999 h 13 a 7,7 0 0 1 0,13.999 v 22 a 7,7 0 0 1 0,13.999 h -13 a 7,7 0 0 1 -7.003,-7 7,7 0 0 1 7.003,-6.999 v -22"
|
||||
id="_7473"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2336.211,2396.917 -476.284,-24.961 a 12.7,12.7 0 0 1 -12.02,-13.346 12.7,12.7 0 0 1 13.347,-12.019 l 476.28,24.961 a 12.7,12.7 0 0 1 12.024,13.344 12.7,12.7 0 0 1 -13.347,12.021"
|
||||
id="_7474"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2175.605,2377.962 a 10,10 0 0 1 -10.523,9.986 l -118.746,-6.223 a 10,10 0 0 1 -9.477,-9.986 v -123.087 a 10,10 0 0 1 10,-10 h 118.746 a 10,10 0 0 1 10,10 v 129.31"
|
||||
id="_7475"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2357.075,2046.906 a 7,7 0 0 1 -7.007,-7 7,7 0 0 1 7.007,-6.999 v -61.425 l -501.686,-25.779 v 55.704 a 7,7 0 0 1 0,14 h -12.999 a 7,7 0 0 1 -7.004,-7 7,7 0 0 1 7.004,-7 v -9.683 -12.6 -34.089 l -29.903,-1.536 a 7,7 0 0 0 -4.402,1.276 7,7 0 0 1 -4.401,1.275 l -6.093,-0.313 v 33.387 12.6 25.018 a 6.604,6.604 0 0 1 0,13.208 h -12 v 222.07 12.6 83.305 h 12 a 6.604,6.604 0 0 1 0,13.207 v 49.28 h 44.799 v -29.499 a 7,7 0 0 1 -7.001,-7 7,7 0 0 1 7.001,-7 h 12.999 a 7,7 0 0 1 0,14 v 29.499 h 501.686 v -29.499 h -17 a 7,7 0 0 1 -6.998,-6.86 v -0.14 -29.999 a 7,7 0 0 1 13.999,0 v 22.999 h 23 a 7,7 0 0 1 0,14 v 29.499 h 56.798 v -39.163 h -6 a 6.604,6.604 0 0 1 -6.607,-6.604 6.604,6.604 0 0 1 6.607,-6.604 v -63.73 -12.6 -223.261 a 6.604,6.604 0 0 1 -6.613,-6.604 6.604,6.604 0 0 1 6.613,-6.604 h 6 v -32.903 -12.6 -21.667 l -12.393,-0.637 a 7,7 0 0 1 -4.247,-1.72 7,7 0 0 0 -4.248,-1.72 l -35.91,-1.845 v 27.589 12.6 20.568 a 7,7 0 0 1 0,13.999 h -13"
|
||||
id="Outline_7488"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1" />
|
||||
<path
|
||||
d="m 2357.075,2046.906 a 7,7 0 0 1 -7.007,-7 7,7 0 0 1 7.007,-6.999 v -61.425 l -501.686,-25.779 v 55.704 a 7,7 0 0 1 0,14 h -12.999 a 7,7 0 0 1 -7.004,-7 7,7 0 0 1 7.004,-7 v -56.372 l -29.903,-1.536 a 7,7 0 0 0 -4.402,1.276 7,7 0 0 1 -4.401,1.275 l -6.093,-0.313 v 71.005 a 6.604,6.604 0 0 1 0,13.208 h -12 v 317.975 h 12 a 6.604,6.604 0 0 1 0,13.207 v 49.28 h 44.799 v -29.499 a 7,7 0 0 1 -7.001,-7 7,7 0 0 1 7.001,-7 h 12.999 a 7,7 0 0 1 0,14 v 29.499 h 501.686 v -29.499 h -17 a 7,7 0 0 1 -6.998,-6.86 v -0.14 -29.999 a 7,7 0 0 1 13.999,0 v 22.999 h 23 a 7,7 0 0 1 0,14 v 29.499 h 56.798 v -39.163 h -6 a 6.604,6.604 0 0 1 -6.607,-6.604 6.604,6.604 0 0 1 6.607,-6.604 V 2058.45 a 6.604,6.604 0 0 1 -6.613,-6.604 6.604,6.604 0 0 1 6.613,-6.604 h 6 v -67.17 l -12.393,-0.637 a 7,7 0 0 1 -4.247,-1.72 7,7 0 0 0 -4.248,-1.72 l -35.91,-1.845 v 60.757 a 7,7 0 0 1 0,13.999 h -13 m -181.47,331.056 a 10,10 0 0 1 -10.523,9.986 l -118.746,-6.223 a 10,10 0 0 1 -9.477,-9.986 v -123.087 a 10,10 0 0 1 10,-10 h 118.746 a 10,10 0 0 1 10,10 v 129.31 M 1855.389,2116.42 a 7,7 0 0 1 0,14 v 21.999 a 7,7 0 0 1 0,14 h -12.999 a 7,7 0 0 1 -7.003,-7 7,7 0 0 1 7.003,-7 v -21.999 a 7,7 0 0 1 -7.009,-7 7,7 0 0 1 7.009,-7 h 12.999 m 501.686,63.998 a 7,7 0 0 1 0,-13.999 h 13 a 7,7 0 0 1 0,13.999 v 22 a 7,7 0 0 1 0,13.999 h -13 a 7,7 0 0 1 -7.003,-7 7,7 0 0 1 7.003,-6.999 v -22 m -78.579,130.649 h 8 a 4.8,4.8 0 0 1 0,9.599 h -8 a 4.8,4.8 0 0 1 -4.803,-4.8 4.8,4.8 0 0 1 4.803,-4.799 m -382.526,9.599 a 4.8,4.8 0 0 1 -4.804,-4.8 4.8,4.8 0 0 1 4.804,-4.799 h 7.999 a 4.8,4.8 0 0 1 0,9.599 h -7.999 m 382.526,-119.596 h 8 a 4.8,4.8 0 0 1 0,9.6 h -8 a 4.8,4.8 0 0 1 -4.805,-4.8 4.8,4.8 0 0 1 4.805,-4.8 m -382.526,9.6 a 4.8,4.8 0 0 1 -4.806,-4.8 4.8,4.8 0 0 1 4.806,-4.8 h 7.999 a 4.8,4.8 0 0 1 0,9.6 h -7.999"
|
||||
id="_7489"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 2336.211,2396.917 -476.284,-24.961 a 12.7,12.7 0 0 1 -12.02,-13.346 12.7,12.7 0 0 1 13.347,-12.019 l 476.28,24.961 a 12.7,12.7 0 0 1 12.024,13.344 12.7,12.7 0 0 1 -13.347,12.021 m -488.5,-453.611 515.272,26.477 v 13.017 l -515.272,-26.477 v -13.017 m -68.434,308.514 h 75.517 a 6.5,6.5 0 0 1 0,13 h -75.521 a 6.5000003,6.5000003 0 0 1 0,-13 m 578.394,29.691 h 65.377 a 6.5,6.5 0 0 1 0,13 h -65.377 a 6.5,6.5 0 0 1 0,-13 m 10.122,-268.872 a 6.5,6.5 0 0 1 0,-13 h 60.362 a 6.5,6.5 0 0 1 0,13 h -60.362 m -574.483,-20.715 a 6.5,6.5 0 0 1 0,-13 h 53.361 a 6.5,6.5 0 0 1 0,13 h -53.361"
|
||||
id="_7490"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#800000;fill-opacity:1;stroke:#800000;stroke-width:1;stroke-opacity:1" />
|
||||
<path
|
||||
d="m 2363.895,1953.808 -515.272,-26.476 v -13.017 l 515.272,26.476 v 13.017"
|
||||
id="_8014"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1853.935,1615.603 h -65.377 a 6.5,6.5 0 0 1 0,-13 h 62.248 l 3.129,10e-4 a 6.5,6.5 0 0 1 0,12.999"
|
||||
id="_8025"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1854.531,1850.208 a 7,7 0 0 1 7.007,7 7,7 0 0 1 -7.007,7 v 61.425 l 501.686,25.778 v -55.704 a 7,7 0 0 1 0,-14 h 12.999 a 7,7 0 0 1 7.004,7 7,7 0 0 1 -7.004,7 v 9.684 12.599 34.089 l 29.904,1.537 a 7,7 0 0 0 4.401,-1.276 7,7 0 0 1 4.401,-1.276 l 6.093,0.313 v -33.387 -12.599 -25.019 a 6.604,6.604 0 0 1 0,-13.207 h 12 v -222.071 -12.6 -83.304 h -12 a 6.604,6.604 0 0 1 0,-13.208 v -49.279 h -44.799 v 29.499 a 7,7 0 0 1 7.002,7 7,7 0 0 1 -7.002,6.999 h -12.999 a 7,7 0 0 1 0,-13.999 v -29.499 h -501.686 v 29.499 h 17 a 7,7 0 0 1 6.998,6.859 v 0.141 29.999 a 7,7 0 0 1 -14,0 v -23 h -22.999 a 7,7 0 0 1 0,-13.999 v -29.499 h -56.799 v 39.163 h 6 a 6.604,6.604 0 0 1 6.607,6.604 6.604,6.604 0 0 1 -6.607,6.603 v 63.731 12.599 223.262 a 6.604,6.604 0 0 1 6.613,6.604 6.604,6.604 0 0 1 -6.613,6.603 h -6 v 32.904 12.599 21.667 l 12.393,0.637 a 7,7 0 0 1 4.247,1.72 7,7 0 0 0 4.248,1.721 l 35.911,1.845 v -27.59 -12.599 -20.568 a 7,7 0 0 1 0,-14 h 12.999"
|
||||
id="_8026"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2418.297,1905.191 a 6.5,6.5 0 0 1 0,12.999 h -53.362 a 6.5,6.5 0 0 1 0,-12.999 h 53.362"
|
||||
id="_8027"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2432.329,1645.294 h -75.517 a 6.5,6.5 0 0 1 0,-13 h 59.247 16.274 a 6.5000003,6.5000003 0 0 1 0,13"
|
||||
id="_8028"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1843.813,1884.476 a 6.5,6.5 0 0 1 0,12.999 h -60.361 a 6.5,6.5 0 0 1 0,-12.999 h 60.361"
|
||||
id="_8029"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2315.637,1576.448 a 4.8,4.8 0 0 1 4.803,4.8 4.8,4.8 0 0 1 -4.803,4.8 h -8 a 4.8,4.8 0 0 1 0,-9.6 h 8"
|
||||
id="_8031"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1933.11,1586.048 h -7.999 a 4.8,4.8 0 0 1 0,-9.6 h 7.999 a 4.8,4.8 0 0 1 4.804,4.8 4.8,4.8 0 0 1 -4.804,4.8"
|
||||
id="_8032"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1933.11,1696.045 h -7.999 a 4.8,4.8 0 0 1 0,-9.6 h 7.999 a 4.8,4.8 0 0 1 4.805,4.8 4.8,4.8 0 0 1 -4.805,4.8"
|
||||
id="_8033"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2315.637,1686.445 a 4.8,4.8 0 0 1 4.805,4.8 4.8,4.8 0 0 1 -4.805,4.8 h -8 a 4.8,4.8 0 0 1 0,-9.6 h 8"
|
||||
id="_8034"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2356.217,1780.694 a 7,7 0 0 1 0,-13.999 v -22 a 7,7 0 0 1 0,-13.999 h 12.999 a 7,7 0 0 1 7.003,6.999 7,7 0 0 1 -7.003,7 v 22 a 7,7 0 0 1 7.009,6.999 7,7 0 0 1 -7.009,7 h -12.999"
|
||||
id="_8035"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1854.531,1716.696 a 7,7 0 0 1 0,14 h -12.999 a 7,7 0 0 1 0,-14 v -21.999 a 7,7 0 0 1 0,-14 h 12.999 a 7,7 0 0 1 7.003,7 7,7 0 0 1 -7.003,7 v 21.999"
|
||||
id="_8036"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1875.395,1500.197 476.284,24.961 a 12.7,12.7 0 0 1 12.02,13.346 12.7,12.7 0 0 1 -13.347,12.019 l -476.28,-24.961 a 12.7,12.7 0 0 1 -12.024,-13.344 12.7,12.7 0 0 1 13.347,-12.021"
|
||||
id="_8037"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 2036.001,1519.152 a 10,10 0 0 1 10.523,-9.986 l 118.747,6.223 a 10,10 0 0 1 9.476,9.986 v 123.088 a 10,10 0 0 1 -10,9.999 h -118.746 a 10,10 0 0 1 -10,-9.999 v -129.311"
|
||||
id="_8038"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1854.531,1850.208 a 7,7 0 0 1 7.007,7 7,7 0 0 1 -7.007,7 v 61.425 l 501.686,25.778 v -55.704 a 7,7 0 0 1 0,-14 h 12.999 a 7,7 0 0 1 7.004,7 7,7 0 0 1 -7.004,7 v 9.684 12.599 34.089 l 29.904,1.537 a 7,7 0 0 0 4.401,-1.276 7,7 0 0 1 4.401,-1.276 l 6.093,0.313 v -33.387 -12.599 -25.019 a 6.604,6.604 0 0 1 0,-13.207 h 12 v -222.071 -12.6 -83.304 h -12 a 6.604,6.604 0 0 1 0,-13.208 v -49.279 h -44.799 v 29.499 a 7,7 0 0 1 7.002,7 7,7 0 0 1 -7.002,6.999 h -12.999 a 7,7 0 0 1 0,-13.999 v -29.499 h -501.686 v 29.499 h 17 a 7,7 0 0 1 6.998,6.859 v 0.141 29.999 a 7,7 0 0 1 -14,0 v -23 h -22.999 a 7,7 0 0 1 0,-13.999 v -29.499 h -56.799 v 39.163 h 6 a 6.604,6.604 0 0 1 6.607,6.604 6.604,6.604 0 0 1 -6.607,6.603 v 63.731 12.599 223.262 a 6.604,6.604 0 0 1 6.613,6.604 6.604,6.604 0 0 1 -6.613,6.603 h -6 v 32.904 12.599 21.667 l 12.393,0.637 a 7,7 0 0 1 4.247,1.72 7,7 0 0 0 4.248,1.721 l 35.911,1.845 v -27.59 -12.599 -20.568 a 7,7 0 0 1 0,-14 h 12.999"
|
||||
id="Outline_8051"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1" />
|
||||
<path
|
||||
d="m 1854.531,1850.208 a 7,7 0 0 1 7.007,7 7,7 0 0 1 -7.007,7 v 61.425 l 501.686,25.778 v -55.704 a 7,7 0 0 1 0,-14 h 12.999 a 7,7 0 0 1 7.004,7 7,7 0 0 1 -7.004,7 v 56.372 l 29.904,1.537 a 7,7 0 0 0 4.401,-1.276 7,7 0 0 1 4.401,-1.276 l 6.093,0.313 v -71.005 a 6.604,6.604 0 0 1 0,-13.207 h 12 V 1549.19 h -12 a 6.604,6.604 0 0 1 0,-13.208 v -49.279 h -44.799 v 29.499 a 7,7 0 0 1 7.002,7 7,7 0 0 1 -7.002,6.999 h -12.999 a 7,7 0 0 1 0,-13.999 v -29.499 h -501.686 v 29.499 h 17 a 7,7 0 0 1 6.998,6.859 v 0.141 29.999 a 7,7 0 0 1 -14,0 v -23 h -22.999 a 7,7 0 0 1 0,-13.999 v -29.499 h -56.799 v 39.163 h 6 a 6.604,6.604 0 0 1 6.607,6.604 6.604,6.604 0 0 1 -6.607,6.603 v 299.592 a 6.604,6.604 0 0 1 6.613,6.604 6.604,6.604 0 0 1 -6.613,6.603 h -6 v 67.17 l 12.393,0.637 a 7,7 0 0 1 4.247,1.72 7,7 0 0 0 4.248,1.721 l 35.911,1.845 v -60.757 a 7,7 0 0 1 0,-14 h 12.999 m 181.47,-331.056 a 10,10 0 0 1 10.523,-9.986 l 118.747,6.223 a 10,10 0 0 1 9.476,9.986 v 123.088 a 10,10 0 0 1 -10,9.999 h -118.746 a 10,10 0 0 1 -10,-9.999 v -129.311 m 320.216,261.542 a 7,7 0 0 1 0,-13.999 v -22 a 7,7 0 0 1 0,-13.999 h 12.999 a 7,7 0 0 1 7.003,6.999 7,7 0 0 1 -7.003,7 v 22 a 7,7 0 0 1 7.009,6.999 7,7 0 0 1 -7.009,7 h -12.999 m -501.686,-63.998 a 7,7 0 0 1 0,14 h -12.999 a 7,7 0 0 1 0,-14 v -21.999 a 7,7 0 0 1 0,-14 h 12.999 a 7,7 0 0 1 7.003,7 7,7 0 0 1 -7.003,7 v 21.999 m 78.579,-130.648 h -7.999 a 4.8,4.8 0 0 1 0,-9.6 h 7.999 a 4.8,4.8 0 0 1 4.804,4.8 4.8,4.8 0 0 1 -4.804,4.8 m 382.527,-9.6 a 4.8,4.8 0 0 1 4.803,4.8 4.8,4.8 0 0 1 -4.803,4.8 h -8 a 4.8,4.8 0 0 1 0,-9.6 h 8 m -382.527,119.597 h -7.999 a 4.8,4.8 0 0 1 0,-9.6 h 7.999 a 4.8,4.8 0 0 1 4.805,4.8 4.8,4.8 0 0 1 -4.805,4.8 m 382.527,-9.6 a 4.8,4.8 0 0 1 4.805,4.8 4.8,4.8 0 0 1 -4.805,4.8 h -8 a 4.8,4.8 0 0 1 0,-9.6 h 8"
|
||||
id="_8052"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 1875.395,1500.197 476.284,24.961 a 12.7,12.7 0 0 1 12.02,13.346 12.7,12.7 0 0 1 -13.347,12.019 l -476.28,-24.961 a 12.7,12.7 0 0 1 -12.024,-13.344 12.7,12.7 0 0 1 13.347,-12.021 m 488.5,453.611 -515.272,-26.476 v -13.017 l 515.272,26.476 v 13.017 m 68.434,-308.514 h -75.517 a 6.5,6.5 0 0 1 0,-13 h 75.521 a 6.5000003,6.5000003 0 0 1 0,13 m -578.394,-29.691 h -65.377 a 6.5,6.5 0 0 1 0,-13 l 65.377,10e-4 a 6.5,6.5 0 0 1 0,12.999 m -10.122,268.873 a 6.5,6.5 0 0 1 0,12.999 h -60.361 a 6.5,6.5 0 0 1 0,-12.999 h 60.361 m 574.484,20.715 a 6.5,6.5 0 0 1 0,12.999 h -53.362 a 6.5,6.5 0 0 1 0,-12.999 h 53.362"
|
||||
id="_8053"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#800000;fill-opacity:1;stroke:#800000;stroke-width:1;stroke-opacity:1" />
|
||||
<path
|
||||
d="m 1945.792,1466.703 a 9,9 0 0 0 9,-9 v -1 a 6.5,6.5 0 0 1 13,0 v 1 a 9,9 0 0 0 9,9 h 47.5 a 7,7 0 0 0 7,-7 v -46 a 7,7 0 0 0 -7,-7 h -478 a 7,7 0 0 0 -7,7 v 46 a 7,7 0 0 0 7,7 h 169.5 a 9,9 0 0 0 9,-9 v -1 a 6.5,6.5 0 0 1 13,0 v 1 a 9,9 0 0 0 9,9 h 199"
|
||||
id="_8302"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1945.792,1466.703 a 9,9 0 0 0 9,-9 v -1 a 6.5,6.5 0 0 1 13,0 v 1 a 9,9 0 0 0 9,9 h 47.5 a 7,7 0 0 0 7,-7 v -46 a 7,7 0 0 0 -7,-7 h -478 a 7,7 0 0 0 -7,7 v 46 a 7,7 0 0 0 7,7 h 169.5 a 9,9 0 0 0 9,-9 v -1 a 6.5,6.5 0 0 1 13,0 v 1 a 9,9 0 0 0 9,9 h 199"
|
||||
id="Outline_8315"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1" />
|
||||
<path
|
||||
d="m 1945.792,1466.703 a 9,9 0 0 0 9,-9 v -1 a 6.5,6.5 0 0 1 13,0 v 1 a 9,9 0 0 0 9,9 h 47.5 a 7,7 0 0 0 7,-7 v -46 a 7,7 0 0 0 -7,-7 h -478 a 7,7 0 0 0 -7,7 v 46 a 7,7 0 0 0 7,7 h 169.5 a 9,9 0 0 0 9,-9 v -1 a 6.5,6.5 0 0 1 13,0 v 1 a 9,9 0 0 0 9,9 h 199"
|
||||
id="_8316"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 1603.309,2330.29 a 19,19 0 0 1 -18.025,18.975 l -60.325,3.1 a 19,19 0 0 1 -19.975,-18.975 v -112.342 a 19,19 0 0 1 18.025,-18.975 l 60.325,-3.1 a 19,19 0 0 1 19.975,18.975 v 112.342"
|
||||
id="_7392"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1753.592,1979.112 v -33.388 l -6.093,0.313 a 7,7 0 0 1 -4.401,-1.276 7,7 0 0 0 -4.402,-1.276 l -29.904,1.537 v 34.09 12.6 9.684 a 7,7 0 0 1 0,14 h -13 a 7,7 0 0 1 -7.004,-7 7,7 0 0 1 7.004,-7 v -55.706 l -501.7,25.779 v 61.427 a 7,7 0 0 1 7.008,7 7,7 0 0 1 -7.008,7 h -13 a 7,7 0 0 1 -7.006,-7 7,7 0 0 1 7.006,-7 v -20.569 -12.6 -27.59 l -35.912,1.845 a 7,7 0 0 0 -4.247,1.721 7,7 0 0 1 -4.248,1.72 l -12.393,0.637 v 21.667 12.6 32.905 l 6,-10e-4 a 6.604,6.604 0 0 1 0,13.208 v 223.269 12.6 63.731 a 6.604,6.604 0 0 1 0,13.208 h -6 v 39.165 h 56.8 v -29.5 a 7,7 0 0 1 -7.001,-7 7,7 0 0 1 7.001,-7 h 23 v -23 a 7,7 0 0 1 14,0 v 17.423 12.577 a 7,7 0 0 1 0,0.14 7,7 0 0 1 -6.999,6.86 h -17 v 29.5 h 501.7 v -29.5 a 7,7 0 0 1 -7.001,-7 7,7 0 0 1 7.001,-7 h 13 a 7,7 0 0 1 0,14 v 29.5 h 44.8 v -49.281 a 6.604,6.604 0 0 1 -6.609,-6.604 6.604,6.604 0 0 1 6.609,-6.604 h 12 v -83.307 -12.6 -222.077 h -12 a 6.604,6.604 0 0 1 -6.61,-6.604 6.604,6.604 0 0 1 6.61,-6.604 v -25.019 -12.6"
|
||||
id="_7400"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1161.134,2396.217 a 4.806,4.806 0 0 1 -4.807,-4.805 4.806,4.806 0 0 1 4.807,-4.806 h 3 a 4.806,4.806 0 0 1 0,9.611 h -3"
|
||||
id="_7401"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1181.092,2166.412 h 13 a 7,7 0 0 1 0,14 v 22 a 7,7 0 0 1 0,14 h -13 a 7,7 0 0 1 -7.003,-7 7,7 0 0 1 7.003,-7 v -22 a 7,7 0 0 1 0,-14"
|
||||
id="_7402"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1695.792,2116.412 h 13 a 7,7 0 0 1 0,14 v 22 a 7,7 0 0 1 0,14 h -13 a 7,7 0 0 1 -7.003,-7 7,7 0 0 1 7.003,-7 v -22 a 7,7 0 0 1 -7.009,-7 7,7 0 0 1 7.009,-7"
|
||||
id="_7403"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1128.292,2294.508 a 6.5,6.5 0 0 1 0,-13 h 65.2 a 6.5,6.5 0 0 1 0,13 h -65.2"
|
||||
id="_7404"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1121.119,1999.527 h 63.146 a 6.5,6.5 0 0 1 0,13 h -63.146 a 6.5,6.5 0 0 1 0,-13"
|
||||
id="_7405"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1703.222,1978.912 h 54.044 a 6.5,6.5 0 0 1 0,13 h -54.044 a 6.5,6.5 0 0 1 0,-13"
|
||||
id="_7406"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1696.39,2251.816 h 71.202 a 6.5,6.5 0 0 1 0,13 h -68.072 -3.13 a 6.5,6.5 0 0 1 0,-13"
|
||||
id="_7407"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1728.301,2329.912 a 4.8,4.8 0 0 1 9.6,0 v 3 a 4.8,4.8 0 0 1 -4.8,4.801 4.8,4.8 0 0 1 -4.8,-4.801 v -3"
|
||||
id="_7408"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1647.211,2320.664 a 4.8,4.8 0 0 1 -4.804,-4.8 4.8,4.8 0 0 1 4.804,-4.8 h 8 a 4.8,4.8 0 0 1 0,9.6 h -8"
|
||||
id="_7409"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1647.211,2201.064 h 8 a 4.8,4.8 0 0 1 0,9.6 h -8 a 4.8,4.8 0 0 1 -4.805,-4.8 4.8,4.8 0 0 1 4.805,-4.8"
|
||||
id="_7410"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1264.674,2311.064 h 8 a 4.8,4.8 0 0 1 0,9.6 h -8 a 4.8,4.8 0 0 1 -4.804,-4.8 4.8,4.8 0 0 1 4.804,-4.8"
|
||||
id="_7411"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1264.674,2201.064 h 8 a 4.8,4.8 0 0 1 0,9.6 h -8 a 4.8,4.8 0 0 1 -4.806,-4.8 4.8,4.8 0 0 1 4.806,-4.8"
|
||||
id="_7412"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1214.972,2396.916 a 12.7,12.7 0 0 1 -1.33,-25.364 l 476.287,-24.961 a 12.7,12.7 0 0 1 1.329,25.364 l -476.286,24.961"
|
||||
id="_7415"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1704.335,1956.266 -517.026,26.566 v -13.017 l 517.026,-26.567 v 13.018"
|
||||
id="_7416"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1753.592,1979.112 v -33.388 l -6.093,0.313 a 7,7 0 0 1 -4.401,-1.276 7,7 0 0 0 -4.402,-1.276 l -29.904,1.537 v 34.09 12.6 9.684 a 7,7 0 0 1 0,14 h -13 a 7,7 0 0 1 -7.004,-7 7,7 0 0 1 7.004,-7 v -55.706 l -501.7,25.779 v 61.427 a 7,7 0 0 1 7.008,7 7,7 0 0 1 -7.008,7 h -13 a 7,7 0 0 1 -7.006,-7 7,7 0 0 1 7.006,-7 v -20.569 -12.6 -27.59 l -35.912,1.845 a 7,7 0 0 0 -4.247,1.721 7,7 0 0 1 -4.248,1.72 l -12.393,0.637 v 21.667 12.6 32.905 l 6,-10e-4 a 6.604,6.604 0 0 1 0,13.208 v 223.269 12.6 63.731 a 6.604,6.604 0 0 1 0,13.208 h -6 v 39.165 h 56.8 v -29.5 a 7,7 0 0 1 -7.001,-7 7,7 0 0 1 7.001,-7 h 23 v -23 a 7,7 0 0 1 14,0 v 17.423 12.577 a 7,7 0 0 1 0,0.14 7,7 0 0 1 -6.999,6.86 h -17 v 29.5 h 501.7 v -29.5 a 7,7 0 0 1 -7.001,-7 7,7 0 0 1 7.001,-7 h 13 a 7,7 0 0 1 0,14 v 29.5 h 44.8 v -49.281 a 6.604,6.604 0 0 1 -6.609,-6.604 6.604,6.604 0 0 1 6.609,-6.604 h 12 v -83.307 -12.6 -222.077 h -12 a 6.604,6.604 0 0 1 -6.61,-6.604 6.604,6.604 0 0 1 6.61,-6.604 v -25.019 -12.6"
|
||||
id="Outline_7429"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1" />
|
||||
<path
|
||||
d="m 1753.592,2016.731 v -71.007 l -6.093,0.313 a 7,7 0 0 1 -4.401,-1.276 7,7 0 0 0 -4.402,-1.276 l -29.904,1.537 v 56.374 a 7,7 0 0 1 0,14 h -13 a 7,7 0 0 1 -7.004,-7 7,7 0 0 1 7.004,-7 v -55.706 l -501.7,25.779 v 61.427 a 7,7 0 0 1 7.008,7 7,7 0 0 1 -7.008,7 h -13 a 7,7 0 0 1 -7.006,-7 7,7 0 0 1 7.006,-7 v -60.759 l -35.912,1.845 a 7,7 0 0 0 -4.247,1.721 7,7 0 0 1 -4.248,1.72 l -12.393,0.637 v 67.172 l 6,-10e-4 a 6.604,6.604 0 0 1 0,13.208 v 299.6 a 6.604,6.604 0 0 1 0,13.208 h -6 v 39.165 h 56.8 v -29.5 a 7,7 0 0 1 -7.001,-7 7,7 0 0 1 7.001,-7 h 23 v -23 a 7,7 0 0 1 14,0 v 30 a 7,7 0 0 1 0,0.14 7,7 0 0 1 -6.999,6.86 h -17 v 29.5 h 501.7 v -29.5 a 7,7 0 0 1 -7.001,-7 7,7 0 0 1 7.001,-7 h 13 a 7,7 0 0 1 0,14 v 29.5 h 44.8 v -49.281 a 6.604,6.604 0 0 1 -6.609,-6.604 6.604,6.604 0 0 1 6.609,-6.604 h 12 v -317.984 h -12 a 6.604,6.604 0 0 1 -6.61,-6.604 6.604,6.604 0 0 1 6.61,-6.604 M 1603.31,2330.29 a 19,19 0 0 1 -18.025,18.975 l -60.325,3.1 a 19,19 0 0 1 -19.975,-18.975 v -112.342 a 19,19 0 0 1 18.025,-18.975 l 60.325,-3.1 a 19,19 0 0 1 19.975,18.975 v 112.342 m 92.483,-213.878 h 13 a 7,7 0 0 1 0,14 v 22 a 7,7 0 0 1 0,14 h -13 a 7,7 0 0 1 -7.003,-7 7,7 0 0 1 7.003,-7 v -22 a 7,7 0 0 1 -7.009,-7 7,7 0 0 1 7.009,-7 m -514.7,50 h 13 a 7,7 0 0 1 0,14 v 22 a 7,7 0 0 1 0,14 h -13 a 7,7 0 0 1 -7.003,-7 7,7 0 0 1 7.003,-7 v -22 a 7,7 0 0 1 0,-14 m 83.582,34.652 h 8 a 4.8,4.8 0 0 1 0,9.6 h -8 a 4.8,4.8 0 0 1 -4.806,-4.8 4.8,4.8 0 0 1 4.806,-4.8 m 382.537,0 h 8 a 4.8,4.8 0 0 1 0,9.6 h -8 a 4.8,4.8 0 0 1 -4.805,-4.8 4.8,4.8 0 0 1 4.805,-4.8 m -382.537,110 h 8 a 4.8,4.8 0 0 1 0,9.6 h -8 a 4.8,4.8 0 0 1 -4.804,-4.8 4.8,4.8 0 0 1 4.804,-4.8 m 382.537,9.6 a 4.8,4.8 0 0 1 -4.804,-4.8 4.8,4.8 0 0 1 4.804,-4.8 h 8 a 4.8,4.8 0 0 1 0,9.6 h -8 m -486.077,75.553 a 4.806,4.806 0 0 1 -4.807,-4.805 4.806,4.806 0 0 1 4.807,-4.806 h 3 a 4.806,4.806 0 0 1 0,9.611 h -3 m 567.167,-66.305 a 4.8,4.8 0 0 1 9.6,0 v 3 a 4.8,4.8 0 0 1 -4.8,4.801 4.8,4.8 0 0 1 -4.8,-4.801 v -3"
|
||||
id="_7430"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 1214.972,2396.916 a 12.7,12.7 0 0 1 -1.33,-25.364 l 476.287,-24.961 a 12.7,12.7 0 0 1 1.329,25.364 l -476.286,24.961 m 489.363,-440.65 -517.026,26.566 v -13.017 l 517.026,-26.567 v 13.018 m -7.945,295.55 h 71.202 a 6.5,6.5 0 0 1 0,13 h -71.202 a 6.5,6.5 0 0 1 0,-13 m -568.098,42.692 a 6.5,6.5 0 0 1 0,-13 h 65.2 a 6.5,6.5 0 0 1 0,13 h -65.2 m -7.173,-294.981 h 63.146 a 6.5,6.5 0 0 1 0,13 h -63.146 a 6.5,6.5 0 0 1 0,-13 m 582.103,-20.615 h 54.044 a 6.5,6.5 0 0 1 0,13 h -54.044 a 6.5,6.5 0 0 1 0,-13"
|
||||
id="_7431"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#800000;fill-opacity:1;stroke:#800000;stroke-width:1;stroke-opacity:1" />
|
||||
<path
|
||||
d="m 1285.717,1566.886 a 19,19 0 0 1 18.025,-18.975 l 60.325,-3.099 a 19,19 0 0 1 19.975,18.975 v 112.342 a 19,19 0 0 1 -18.025,18.975 l -60.325,3.1 a 19,19 0 0 1 -19.975,-18.975 v -112.343"
|
||||
id="_8072"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1135.433,1918.065 v 33.388 l 6.094,-0.313 a 7,7 0 0 1 4.401,1.276 7,7 0 0 0 4.401,1.275 l 29.904,-1.536 v -34.09 -12.6 -9.684 a 7,7 0 0 1 0,-14 h 13 a 7,7 0 0 1 7.004,7 7,7 0 0 1 -7.004,7 v 55.706 l 501.7,-25.779 v -61.427 a 7,7 0 0 1 -7.007,-7 7,7 0 0 1 7.007,-7 h 13 a 7,7 0 0 1 7.007,7 7,7 0 0 1 -7.007,7 v 20.568 12.6 27.591 l 35.912,-1.846 a 7,7 0 0 0 4.248,-1.72 7,7 0 0 1 4.247,-1.72 l 12.393,-0.637 v -21.668 -12.6 -32.904 h -6 a 6.604,6.604 0 0 1 0,-13.208 v -223.268 -12.6 -63.732 a 6.604,6.604 0 0 1 0,-13.208 h 6 v -39.164 h -56.8 v 29.5 a 7,7 0 0 1 7.001,7 7,7 0 0 1 -7.001,7 h -23 v 23 a 7,7 0 0 1 -14,0 v -17.423 -12.577 a 7,7 0 0 1 0,-0.14 7,7 0 0 1 6.998,-6.86 h 17 v -29.5 h -501.7 v 29.5 a 7,7 0 0 1 7.002,7 7,7 0 0 1 -7.002,7 h -13 a 7,7 0 0 1 0,-14 v -29.5 h -44.8 v 49.281 a 6.604,6.604 0 0 1 6.609,6.604 6.604,6.604 0 0 1 -6.609,6.604 h -12 v 83.307 12.6 222.077 h 12 a 6.604,6.604 0 0 1 6.61,6.604 6.604,6.604 0 0 1 -6.61,6.604 v 25.019 12.6"
|
||||
id="_8080"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1727.892,1500.959 a 4.806,4.806 0 0 1 4.806,4.806 4.806,4.806 0 0 1 -4.806,4.806 h -3.001 a 4.806,4.806 0 0 1 10e-4,-9.612 h 3"
|
||||
id="_8081"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1707.933,1730.765 h -13 a 7,7 0 0 1 0,-14 v -22 a 7,7 0 0 1 0,-14 h 13 a 7,7 0 0 1 7.003,7 7,7 0 0 1 -7.003,7 v 22 a 7,7 0 0 1 0,14"
|
||||
id="_8082"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1193.233,1780.765 h -13 a 7,7 0 0 1 0,-14 v -22 a 7,7 0 0 1 0,-14 h 13 a 7,7 0 0 1 7.004,7 7,7 0 0 1 -7.004,7 v 22 a 7,7 0 0 1 7.009,7 7,7 0 0 1 -7.009,7"
|
||||
id="_8083"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1760.733,1602.669 a 6.5,6.5 0 0 1 0,13 h -65.2 a 6.5,6.5 0 0 1 0,-13 h 65.2"
|
||||
id="_8084"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1767.906,1897.649 h -63.146 a 6.5,6.5 0 0 1 0,-13 h 63.146 a 6.5,6.5 0 0 1 0,13"
|
||||
id="_8085"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1185.804,1918.265 h -54.045 a 6.5,6.5 0 0 1 0,-13 h 54.045 a 6.5,6.5 0 0 1 0,13"
|
||||
id="_8086"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1192.635,1645.361 h -71.202 a 6.5,6.5 0 0 1 0,-13 h 68.073 3.13 a 6.5,6.5 0 0 1 0,13"
|
||||
id="_8087"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1160.725,1567.265 a 4.8,4.8 0 0 1 -9.6,0 v -3 a 4.8,4.8 0 0 1 4.8,-4.801 4.8,4.8 0 0 1 4.8,4.801 v 3"
|
||||
id="_8088"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1241.814,1576.513 a 4.8,4.8 0 0 1 4.804,4.8 4.8,4.8 0 0 1 -4.804,4.8 h -7.999 a 4.8,4.8 0 0 1 0,-9.6 h 7.999"
|
||||
id="_8089"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1241.814,1696.113 h -7.999 a 4.8,4.8 0 0 1 0,-9.6 h 7.999 a 4.8,4.8 0 0 1 4.806,4.8 4.8,4.8 0 0 1 -4.806,4.8"
|
||||
id="_8090"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1624.352,1586.113 h -8 a 4.8,4.8 0 0 1 0,-9.6 h 8 a 4.8,4.8 0 0 1 4.803,4.8 4.8,4.8 0 0 1 -4.803,4.8"
|
||||
id="_8091"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1624.352,1696.113 h -8 a 4.8,4.8 0 0 1 0,-9.6 h 8 a 4.8,4.8 0 0 1 4.805,4.8 4.8,4.8 0 0 1 -4.805,4.8"
|
||||
id="_8092"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1674.054,1500.26 a 12.7,12.7 0 0 1 1.329,25.365 l -476.286,24.961 a 12.7,12.7 0 0 1 -1.33,-25.364 l 476.287,-24.962"
|
||||
id="_8095"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1184.691,1940.911 517.025,-26.566 v 13.017 l -517.025,26.566 v -13.017"
|
||||
id="_8096"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1135.433,1918.065 v 33.388 l 6.094,-0.313 a 7,7 0 0 1 4.401,1.276 7,7 0 0 0 4.401,1.275 l 29.904,-1.536 v -34.09 -12.6 -9.684 a 7,7 0 0 1 0,-14 h 13 a 7,7 0 0 1 7.004,7 7,7 0 0 1 -7.004,7 v 55.706 l 501.7,-25.779 v -61.427 a 7,7 0 0 1 -7.007,-7 7,7 0 0 1 7.007,-7 h 13 a 7,7 0 0 1 7.007,7 7,7 0 0 1 -7.007,7 v 20.568 12.6 27.591 l 35.912,-1.846 a 7,7 0 0 0 4.248,-1.72 7,7 0 0 1 4.247,-1.72 l 12.393,-0.637 v -21.668 -12.6 -32.904 h -6 a 6.604,6.604 0 0 1 0,-13.208 v -223.268 -12.6 -63.732 a 6.604,6.604 0 0 1 0,-13.208 h 6 v -39.164 h -56.8 v 29.5 a 7,7 0 0 1 7.001,7 7,7 0 0 1 -7.001,7 h -23 v 23 a 7,7 0 0 1 -14,0 v -17.423 -12.577 a 7,7 0 0 1 0,-0.14 7,7 0 0 1 6.998,-6.86 h 17 v -29.5 h -501.7 v 29.5 a 7,7 0 0 1 7.002,7 7,7 0 0 1 -7.002,7 h -13 a 7,7 0 0 1 0,-14 v -29.5 h -44.8 v 49.281 a 6.604,6.604 0 0 1 6.609,6.604 6.604,6.604 0 0 1 -6.609,6.604 h -12 v 83.307 12.6 222.077 h 12 a 6.604,6.604 0 0 1 6.61,6.604 6.604,6.604 0 0 1 -6.61,6.604 v 25.019 12.6"
|
||||
id="Outline_8109"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1" />
|
||||
<path
|
||||
d="m 1135.433,1880.446 v 71.007 l 6.094,-0.313 a 7,7 0 0 1 4.401,1.276 7,7 0 0 0 4.401,1.275 l 29.904,-1.536 v -56.374 a 7,7 0 0 1 0,-14 h 13 a 7,7 0 0 1 7.004,7 7,7 0 0 1 -7.004,7 v 55.706 l 501.7,-25.779 v -61.427 a 7,7 0 0 1 -7.007,-7 7,7 0 0 1 7.007,-7 h 13 a 7,7 0 0 1 7.007,7 7,7 0 0 1 -7.007,7 v 60.759 l 35.912,-1.846 a 7,7 0 0 0 4.248,-1.72 7,7 0 0 1 4.247,-1.72 l 12.393,-0.637 v -67.172 h -6 a 6.604,6.604 0 0 1 0,-13.208 v -299.6 a 6.604,6.604 0 0 1 0,-13.208 h 6 v -39.164 h -56.8 v 29.5 a 7,7 0 0 1 7.001,7 7,7 0 0 1 -7.001,7 h -23 v 23 a 7,7 0 0 1 -14,0 v -30 a 7,7 0 0 1 0,-0.14 7,7 0 0 1 6.998,-6.86 h 17 v -29.5 h -501.7 v 29.5 a 7,7 0 0 1 7.002,7 7,7 0 0 1 -7.002,7 h -13 a 7,7 0 0 1 0,-14 v -29.5 h -44.8 v 49.281 a 6.604,6.604 0 0 1 6.609,6.604 6.604,6.604 0 0 1 -6.609,6.604 h -12 v 317.984 h 12 a 6.604,6.604 0 0 1 6.61,6.604 6.604,6.604 0 0 1 -6.61,6.604 m 150.284,-313.56 a 19,19 0 0 1 18.025,-18.975 l 60.325,-3.099 a 19,19 0 0 1 19.975,18.975 v 112.342 a 19,19 0 0 1 -18.025,18.975 l -60.325,3.1 a 19,19 0 0 1 -19.975,-18.975 v -112.343 m -92.484,213.879 h -13 a 7,7 0 0 1 0,-14 v -22 a 7,7 0 0 1 0,-14 h 13 a 7,7 0 0 1 7.004,7 7,7 0 0 1 -7.004,7 v 22 a 7,7 0 0 1 7.009,7 7,7 0 0 1 -7.009,7 m 514.7,-50 h -13 a 7,7 0 0 1 0,-14 v -22 a 7,7 0 0 1 0,-14 h 13 a 7,7 0 0 1 7.003,7 7,7 0 0 1 -7.003,7 v 22 a 7,7 0 0 1 0,14 m -83.581,-34.652 h -8 a 4.8,4.8 0 0 1 0,-9.6 h 8 a 4.8,4.8 0 0 1 4.805,4.8 4.8,4.8 0 0 1 -4.805,4.8 m -382.538,0 h -7.999 a 4.8,4.8 0 0 1 0,-9.6 h 7.999 a 4.8,4.8 0 0 1 4.806,4.8 4.8,4.8 0 0 1 -4.806,4.8 m 382.538,-110 h -8 a 4.8,4.8 0 0 1 0,-9.6 h 8 a 4.8,4.8 0 0 1 4.803,4.8 4.8,4.8 0 0 1 -4.803,4.8 m -382.538,-9.6 a 4.8,4.8 0 0 1 4.804,4.8 4.8,4.8 0 0 1 -4.804,4.8 h -7.999 a 4.8,4.8 0 0 1 0,-9.6 h 7.999 m 486.078,-75.554 a 4.806,4.806 0 0 1 4.806,4.806 4.806,4.806 0 0 1 -4.806,4.806 h -3.001 a 4.806,4.806 0 0 1 0,-9.612 h 3 m -567.167,66.306 a 4.8,4.8 0 0 1 -9.6,0 v -3 a 4.8,4.8 0 0 1 4.8,-4.801 4.8,4.8 0 0 1 4.8,4.801 v 3"
|
||||
id="_8110"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 1674.054,1500.26 a 12.7,12.7 0 0 1 1.329,25.365 l -476.286,24.961 a 12.7,12.7 0 0 1 -1.33,-25.364 l 476.287,-24.962 m -489.363,440.651 517.025,-26.566 v 13.017 l -517.025,26.566 v -13.017 m 7.944,-295.55 h -71.202 a 6.5,6.5 0 0 1 0,-13 h 71.203 a 6.5,6.5 0 0 1 0,13 m 568.097,-42.692 a 6.5,6.5 0 0 1 0,13 h -65.2 a 6.5,6.5 0 0 1 0,-13 h 65.2 m 7.173,294.98 h -63.146 a 6.5,6.5 0 0 1 0,-13 h 63.146 a 6.5,6.5 0 0 1 0,13 m -582.102,20.616 h -54.045 a 6.5,6.5 0 0 1 0,-13 h 54.045 a 6.5,6.5 0 0 1 0,13"
|
||||
id="_8111"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#800000;fill-opacity:1;stroke:#800000;stroke-width:1;stroke-opacity:1" />
|
||||
<path
|
||||
d="m 1414.302,925.378 a 150.089,150.089 0 0 0 171.252,146.263 6.3500766,6.3500766 0 0 1 2.096,12.526 159.697,159.697 0 0 1 -186.048,-158.9 6.3502425,6.3502425 0 0 1 12.7,0.111"
|
||||
id="_8698"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1039.292,1374.765 h 34.3 a 6.6,6.6 0 0 1 13.2,0 v 12 h 99 v -12 a 6.6,6.6 0 0 1 13.2,0 h 144.6 a 6.6,6.6 0 0 1 13.2,0 v 12 h 119 v -12 a 6.6,6.6 0 0 1 13.2,0 h 224.3 v -26.833 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -73 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -215.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -73 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -26.767 h -15.55 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -49 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -39.1 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -48.8 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -114.25 v 24.833 a 17.5,17.5 0 0 1 -35,0 v -19.583 a 6.6,6.6 0 0 1 -2.6,-5.25 v -12 h -61.5 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -45.45 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -105.95 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -64.4 v 66.767 a 6.6,6.6 0 0 1 0,13.2 h -12 v 73 h 12 a 6.6,6.6 0 0 1 0,13.2 v 135.6 a 6.6,6.6 0 0 1 0,13.2 h -12 v 73 h 12 a 6.6,6.6 0 0 1 0,13.2 v 66.833"
|
||||
id="_8699"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1204.792,1038.765 a 15,15 0 0 1 0,30 h -38.1 a 15,15 0 0 1 0,-30 h 38.1"
|
||||
id="_8700"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1483.292,918.265 a 22.5,22.5 0 0 1 0,45 h -10 a 22.5,22.5 0 0 1 0,-45 h 10"
|
||||
id="_8701"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1609.292,917.236 a 7,7 0 0 1 7,7 v 16 a 7,7 0 0 1 -7,7 h -16 a 7,7 0 0 1 -7,-7 v -16 a 7,7 0 0 1 7,-7 h 16"
|
||||
id="_8702"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1039.292,1374.765 h 34.3 a 6.6,6.6 0 0 1 13.2,0 v 12 h 99 v -12 a 6.6,6.6 0 0 1 13.2,0 h 144.6 a 6.6,6.6 0 0 1 13.2,0 v 12 h 119 v -12 a 6.6,6.6 0 0 1 13.2,0 h 224.3 v -26.833 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -73 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -215.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -73 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -26.767 h -15.55 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -49 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -39.1 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -48.8 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -114.25 v 24.833 a 17.5,17.5 0 0 1 -35,0 v -19.583 a 6.6,6.6 0 0 1 -2.6,-5.25 v -12 h -61.5 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -45.45 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -105.95 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -64.4 v 66.767 a 6.6,6.6 0 0 1 0,13.2 h -12 v 73 h 12 a 6.6,6.6 0 0 1 0,13.2 v 135.6 a 6.6,6.6 0 0 1 0,13.2 h -12 v 73 h 12 a 6.6,6.6 0 0 1 0,13.2 v 66.833"
|
||||
id="Outline_8715"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1" />
|
||||
<path
|
||||
d="m 1039.292,1374.765 h 34.3 a 6.6,6.6 0 0 1 13.2,0 v 12 h 99 v -12 a 6.6,6.6 0 0 1 13.2,0 h 144.6 a 6.6,6.6 0 0 1 13.2,0 v 12 h 119 v -12 a 6.6,6.6 0 0 1 13.2,0 h 224.3 v -26.833 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -73 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -215.6 a 6.6,6.6 0 0 1 0,-13.2 h 12 v -73 h -12 a 6.6,6.6 0 0 1 0,-13.2 v -26.767 h -15.55 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -49 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -39.1 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -48.8 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -114.25 v 24.833 a 17.5,17.5 0 0 1 -35,0 v -19.583 a 6.6,6.6 0 0 1 -2.6,-5.25 v -12 h -61.5 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -45.45 a 6.6,6.6 0 0 1 -13.2,0 v -12 h -105.95 v 12 a 6.6,6.6 0 0 1 -13.2,0 h -64.4 v 66.767 a 6.6,6.6 0 0 1 0,13.2 h -12 v 73 h 12 a 6.6,6.6 0 0 1 0,13.2 v 135.6 a 6.6,6.6 0 0 1 0,13.2 h -12 v 73 h 12 a 6.6,6.6 0 0 1 0,13.2 v 66.833 m 375.01,-449.387 a 150.089,150.089 0 0 0 171.252,146.263 6.3500766,6.3500766 0 0 1 2.096,12.526 159.697,159.697 0 0 1 -186.048,-158.9 6.3502425,6.3502425 0 0 1 12.7,0.111 m 68.99,-7.113 a 22.5,22.5 0 0 1 0,45 h -10 a 22.5,22.5 0 0 1 0,-45 h 10 m -278.5,120.5 a 15,15 0 0 1 0,30 h -38.1 a 15,15 0 0 1 0,-30 h 38.1 m 404.5,-121.529 a 7,7 0 0 1 7,7 v 16 a 7,7 0 0 1 -7,7 h -16 a 7,7 0 0 1 -7,-7 v -16 a 7,7 0 0 1 7,-7 h 16"
|
||||
id="_8716"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 1433.792,1466.765 a 9,9 0 0 0 9,-9 v -1 a 6.5,6.5 0 0 1 13,0 v 1 a 9,9 0 0 0 9,9 h 47.5 a 7,7 0 0 0 7,-7 v -46 a 7,7 0 0 0 -7,-7 h -478 a 7,7 0 0 0 -7,7 v 46 a 7,7 0 0 0 7,7 h 169.5 a 9,9 0 0 0 9,-9 v -1 a 6.5,6.5 0 0 1 13,0 v 1 a 9,9 0 0 0 9,9 h 199"
|
||||
id="_8564"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1433.792,1466.765 a 9,9 0 0 0 9,-9 v -1 a 6.5,6.5 0 0 1 13,0 v 1 a 9,9 0 0 0 9,9 h 47.5 a 7,7 0 0 0 7,-7 v -46 a 7,7 0 0 0 -7,-7 h -478 a 7,7 0 0 0 -7,7 v 46 a 7,7 0 0 0 7,7 h 169.5 a 9,9 0 0 0 9,-9 v -1 a 6.5,6.5 0 0 1 13,0 v 1 a 9,9 0 0 0 9,9 h 199"
|
||||
id="Outline_8577"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#800000;stroke-width:1" />
|
||||
<path
|
||||
d="m 1433.792,1466.765 a 9,9 0 0 0 9,-9 v -1 a 6.5,6.5 0 0 1 13,0 v 1 a 9,9 0 0 0 9,9 h 47.5 a 7,7 0 0 0 7,-7 v -46 a 7,7 0 0 0 -7,-7 h -478 a 7,7 0 0 0 -7,7 v 46 a 7,7 0 0 0 7,7 h 169.5 a 9,9 0 0 0 9,-9 v -1 a 6.5,6.5 0 0 1 13,0 v 1 a 9,9 0 0 0 9,9 h 199"
|
||||
id="_8578"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 1061.792,1548.974 a 5.5565,5.5565 0 0 1 0,-11.113 5.5565,5.5565 0 0 1 0,11.113"
|
||||
id="_7787"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1055.468,1521.718 h -16.176 v 25.246 a 0.794,0.794 0 0 0 0.713,0.79 7,7 0 0 1 -0.713,13.964 h -11.206 a 0.794,0.794 0 0 0 -0.794,0.793 v 10.413 a 0.794,0.794 0 0 0 0.794,0.794 h 67.412 a 0.794,0.794 0 0 0 0.794,-0.794 v -10.413 a 0.794,0.794 0 0 0 -0.794,-0.793 h -11.206 a 7,7 0 0 1 -0.713,-13.964 0.794,0.794 0 0 0 0.713,-0.79 v -24.453 a 0.794,0.794 0 0 0 -0.794,-0.793 h -15.381 a 7,7 0 0 1 -12.649,0"
|
||||
id="_7788"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1055.468,1521.718 h -16.176 v 25.246 a 0.794,0.794 0 0 0 0.713,0.79 7,7 0 0 1 -0.713,13.964 h -11.206 a 0.794,0.794 0 0 0 -0.794,0.793 v 10.413 a 0.794,0.794 0 0 0 0.794,0.794 h 67.412 a 0.794,0.794 0 0 0 0.794,-0.794 v -10.413 a 0.794,0.794 0 0 0 -0.794,-0.793 h -11.206 a 7,7 0 0 1 -0.713,-13.964 0.794,0.794 0 0 0 0.713,-0.79 v -24.453 a 0.794,0.794 0 0 0 -0.794,-0.793 h -15.381 a 7,7 0 0 1 -12.649,0"
|
||||
id="Outline_7801"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1055.468,1521.718 h -16.176 v 25.246 a 0.794,0.794 0 0 0 0.713,0.79 7,7 0 0 1 -0.713,13.964 h -11.206 a 0.794,0.794 0 0 0 -0.794,0.793 v 10.413 a 0.794,0.794 0 0 0 0.794,0.794 h 67.412 a 0.794,0.794 0 0 0 0.794,-0.794 v -10.413 a 0.794,0.794 0 0 0 -0.794,-0.793 h -11.206 a 7,7 0 0 1 -0.713,-13.964 0.794,0.794 0 0 0 0.713,-0.79 v -24.453 a 0.794,0.794 0 0 0 -0.794,-0.793 h -15.381 a 7,7 0 0 1 -12.649,0 m 6.324,27.256 a 5.5565,5.5565 0 0 1 0,-11.113 5.5565,5.5565 0 0 1 0,11.113"
|
||||
id="_7802"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
<path
|
||||
d="m 1061.792,1620.974 a 5.5565,5.5565 0 0 1 0,-11.113 5.5565,5.5565 0 0 1 0,11.113"
|
||||
id="_7697"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1055.468,1593.718 h -16.176 v 25.246 a 0.794,0.794 0 0 0 0.713,0.79 7,7 0 0 1 -0.713,13.964 h -11.206 a 0.794,0.794 0 0 0 -0.794,0.793 v 10.413 a 0.794,0.794 0 0 0 0.794,0.794 h 67.412 a 0.794,0.794 0 0 0 0.794,-0.794 v -10.413 a 0.794,0.794 0 0 0 -0.794,-0.793 h -11.206 a 7,7 0 0 1 -0.713,-13.964 0.794,0.794 0 0 0 0.713,-0.79 v -24.453 a 0.794,0.794 0 0 0 -0.794,-0.793 h -15.381 a 7,7 0 0 1 -12.649,0"
|
||||
id="_7698"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1055.468,1593.718 h -16.176 v 25.246 a 0.794,0.794 0 0 0 0.713,0.79 7,7 0 0 1 -0.713,13.964 h -11.206 a 0.794,0.794 0 0 0 -0.794,0.793 v 10.413 a 0.794,0.794 0 0 0 0.794,0.794 h 67.412 a 0.794,0.794 0 0 0 0.794,-0.794 v -10.413 a 0.794,0.794 0 0 0 -0.794,-0.793 h -11.206 a 7,7 0 0 1 -0.713,-13.964 0.794,0.794 0 0 0 0.713,-0.79 v -24.453 a 0.794,0.794 0 0 0 -0.794,-0.793 h -15.381 a 7,7 0 0 1 -12.649,0"
|
||||
id="Outline_7711"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1" />
|
||||
<path
|
||||
d="m 1055.468,1593.718 h -16.176 v 25.246 a 0.794,0.794 0 0 0 0.713,0.79 7,7 0 0 1 -0.713,13.964 h -11.206 a 0.794,0.794 0 0 0 -0.794,0.793 v 10.413 a 0.794,0.794 0 0 0 0.794,0.794 h 67.412 a 0.794,0.794 0 0 0 0.794,-0.794 v -10.413 a 0.794,0.794 0 0 0 -0.794,-0.793 h -11.206 a 7,7 0 0 1 -0.713,-13.964 0.794,0.794 0 0 0 0.713,-0.79 v -24.453 a 0.794,0.794 0 0 0 -0.794,-0.793 h -15.381 a 7,7 0 0 1 -12.649,0 m 6.324,27.256 a 5.5565,5.5565 0 0 1 0,-11.113 5.5565,5.5565 0 0 1 0,11.113"
|
||||
id="_7712"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff8000;fill-opacity:0.5;stroke:#ff8000;stroke-width:1;stroke-opacity:0.5" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 62 KiB |
@@ -53,8 +53,8 @@
|
||||
<Reference Include="AjaxControlToolkit, Version=19.1.0.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AjaxControlToolkit.19.1.0\lib\net40\AjaxControlToolkit.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="AspNet.ScriptManager.bootstrap, Version=4.3.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AspNet.ScriptManager.bootstrap.4.3.1\lib\net45\AspNet.ScriptManager.bootstrap.dll</HintPath>
|
||||
<Reference Include="AspNet.ScriptManager.bootstrap, Version=4.4.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AspNet.ScriptManager.bootstrap.4.4.1\lib\net45\AspNet.ScriptManager.bootstrap.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="AspNet.ScriptManager.jQuery, Version=3.4.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AspNet.ScriptManager.jQuery.3.4.1\lib\net45\AspNet.ScriptManager.jQuery.dll</HintPath>
|
||||
@@ -84,14 +84,14 @@
|
||||
<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>
|
||||
<Reference Include="MongoDB.Bson, Version=2.10.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Bson.2.10.0\lib\net452\MongoDB.Bson.dll</HintPath>
|
||||
<Reference Include="MongoDB.Bson, Version=2.10.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Bson.2.10.1\lib\net452\MongoDB.Bson.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MongoDB.Driver, Version=2.10.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Driver.2.10.0\lib\net452\MongoDB.Driver.dll</HintPath>
|
||||
<Reference Include="MongoDB.Driver, Version=2.10.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Driver.2.10.1\lib\net452\MongoDB.Driver.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MongoDB.Driver.Core, Version=2.10.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Driver.Core.2.10.0\lib\net452\MongoDB.Driver.Core.dll</HintPath>
|
||||
<Reference Include="MongoDB.Driver.Core, Version=2.10.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Driver.Core.2.10.1\lib\net452\MongoDB.Driver.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MongoDB.Libmongocrypt, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MongoDB.Libmongocrypt.1.0.0\lib\net452\MongoDB.Libmongocrypt.dll</HintPath>
|
||||
@@ -109,7 +109,7 @@
|
||||
<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.1.0\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
|
||||
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.1.1\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SharpCompress, Version=0.24.0.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SharpCompress.0.24.0\lib\net45\SharpCompress.dll</HintPath>
|
||||
@@ -120,8 +120,8 @@
|
||||
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\StackExchange.Redis.2.0.601\lib\net461\StackExchange.Redis.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SteamWare, Version=3.5.1912.708, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.3.5.1912.708\lib\net462\SteamWare.dll</HintPath>
|
||||
<Reference Include="SteamWare, Version=3.5.2001.709, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SteamWare.3.5.2001.709\lib\net462\SteamWare.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Buffers.4.5.0\lib\netstandard2.0\System.Buffers.dll</HintPath>
|
||||
@@ -233,21 +233,108 @@
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Default.aspx" />
|
||||
<Content Include="Home.aspx" />
|
||||
<Content Include="Images\test_1.svg" />
|
||||
<Content Include="site\About.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" />
|
||||
<Content Include="site\Contact.aspx" />
|
||||
<Content Include="Content\bootstrap-grid.css" />
|
||||
<Content Include="Content\bootstrap-grid.min.css" />
|
||||
<Content Include="Content\bootstrap-reboot.css" />
|
||||
<Content Include="Content\bootstrap-reboot.min.css" />
|
||||
<Content Include="Content\bootstrap.css" />
|
||||
<Content Include="Content\bootstrap.min.css" />
|
||||
<Content Include="Content\SheetColor.css">
|
||||
<DependentUpon>SheetColor.less</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="Content\SheetColor.min.css">
|
||||
<DependentUpon>SheetColor.css</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="Default.aspx" />
|
||||
<Content Include="Home.aspx" />
|
||||
<Content Include="Images\test.svg" />
|
||||
<Content Include="Images\test_1.svg" />
|
||||
<Content Include="mongocrypt.dll" />
|
||||
<Content Include="Scripts\bootstrap.bundle.js" />
|
||||
<Content Include="Scripts\bootstrap.bundle.min.js" />
|
||||
<Content Include="Scripts\bootstrap.js" />
|
||||
<Content Include="Scripts\bootstrap.min.js" />
|
||||
<Content Include="Scripts\esm\popper-utils.js" />
|
||||
<Content Include="Scripts\esm\popper-utils.min.js" />
|
||||
<Content Include="Scripts\esm\popper.js" />
|
||||
<Content Include="Scripts\esm\popper.min.js" />
|
||||
<Content Include="Scripts\popper-utils.js" />
|
||||
<Content Include="Scripts\popper-utils.min.js" />
|
||||
<Content Include="Scripts\popper.js" />
|
||||
<Content Include="Scripts\popper.min.js" />
|
||||
<Content Include="Scripts\src\index.js" />
|
||||
<Content Include="Scripts\src\methods\defaults.js" />
|
||||
<Content Include="Scripts\src\methods\destroy.js" />
|
||||
<Content Include="Scripts\src\methods\disableEventListeners.js" />
|
||||
<Content Include="Scripts\src\methods\enableEventListeners.js" />
|
||||
<Content Include="Scripts\src\methods\placements.js" />
|
||||
<Content Include="Scripts\src\methods\update.js" />
|
||||
<Content Include="Scripts\src\modifiers\applyStyle.js" />
|
||||
<Content Include="Scripts\src\modifiers\arrow.js" />
|
||||
<Content Include="Scripts\src\modifiers\computeStyle.js" />
|
||||
<Content Include="Scripts\src\modifiers\flip.js" />
|
||||
<Content Include="Scripts\src\modifiers\hide.js" />
|
||||
<Content Include="Scripts\src\modifiers\index.js" />
|
||||
<Content Include="Scripts\src\modifiers\inner.js" />
|
||||
<Content Include="Scripts\src\modifiers\keepTogether.js" />
|
||||
<Content Include="Scripts\src\modifiers\offset.js" />
|
||||
<Content Include="Scripts\src\modifiers\preventOverflow.js" />
|
||||
<Content Include="Scripts\src\modifiers\shift.js" />
|
||||
<Content Include="Scripts\src\utils\clockwise.js" />
|
||||
<Content Include="Scripts\src\utils\computeAutoPlacement.js" />
|
||||
<Content Include="Scripts\src\utils\debounce.js" />
|
||||
<Content Include="Scripts\src\utils\find.js" />
|
||||
<Content Include="Scripts\src\utils\findCommonOffsetParent.js" />
|
||||
<Content Include="Scripts\src\utils\findIndex.js" />
|
||||
<Content Include="Scripts\src\utils\getBordersSize.js" />
|
||||
<Content Include="Scripts\src\utils\getBoundaries.js" />
|
||||
<Content Include="Scripts\src\utils\getBoundingClientRect.js" />
|
||||
<Content Include="Scripts\src\utils\getClientRect.js" />
|
||||
<Content Include="Scripts\src\utils\getFixedPositionOffsetParent.js" />
|
||||
<Content Include="Scripts\src\utils\getOffsetParent.js" />
|
||||
<Content Include="Scripts\src\utils\getOffsetRect.js" />
|
||||
<Content Include="Scripts\src\utils\getOffsetRectRelativeToArbitraryNode.js" />
|
||||
<Content Include="Scripts\src\utils\getOppositePlacement.js" />
|
||||
<Content Include="Scripts\src\utils\getOppositeVariation.js" />
|
||||
<Content Include="Scripts\src\utils\getOuterSizes.js" />
|
||||
<Content Include="Scripts\src\utils\getParentNode.js" />
|
||||
<Content Include="Scripts\src\utils\getPopperOffsets.js" />
|
||||
<Content Include="Scripts\src\utils\getReferenceNode.js" />
|
||||
<Content Include="Scripts\src\utils\getReferenceOffsets.js" />
|
||||
<Content Include="Scripts\src\utils\getRoot.js" />
|
||||
<Content Include="Scripts\src\utils\getRoundedOffsets.js" />
|
||||
<Content Include="Scripts\src\utils\getScroll.js" />
|
||||
<Content Include="Scripts\src\utils\getScrollParent.js" />
|
||||
<Content Include="Scripts\src\utils\getStyleComputedProperty.js" />
|
||||
<Content Include="Scripts\src\utils\getSupportedPropertyName.js" />
|
||||
<Content Include="Scripts\src\utils\getViewportOffsetRectRelativeToArtbitraryNode.js" />
|
||||
<Content Include="Scripts\src\utils\getWindow.js" />
|
||||
<Content Include="Scripts\src\utils\getWindowSizes.js" />
|
||||
<Content Include="Scripts\src\utils\includeScroll.js" />
|
||||
<Content Include="Scripts\src\utils\index.js" />
|
||||
<Content Include="Scripts\src\utils\isBrowser.js" />
|
||||
<Content Include="Scripts\src\utils\isFixed.js" />
|
||||
<Content Include="Scripts\src\utils\isFunction.js" />
|
||||
<Content Include="Scripts\src\utils\isIE.js" />
|
||||
<Content Include="Scripts\src\utils\isModifierEnabled.js" />
|
||||
<Content Include="Scripts\src\utils\isModifierRequired.js" />
|
||||
<Content Include="Scripts\src\utils\isNumeric.js" />
|
||||
<Content Include="Scripts\src\utils\isOffsetContainer.js" />
|
||||
<Content Include="Scripts\src\utils\removeEventListeners.js" />
|
||||
<Content Include="Scripts\src\utils\runModifiers.js" />
|
||||
<Content Include="Scripts\src\utils\setAttributes.js" />
|
||||
<Content Include="Scripts\src\utils\setStyles.js" />
|
||||
<Content Include="Scripts\src\utils\setupEventListeners.js" />
|
||||
<Content Include="Scripts\umd\popper-utils.js" />
|
||||
<Content Include="Scripts\umd\popper-utils.min.js" />
|
||||
<Content Include="Scripts\umd\popper.js" />
|
||||
<Content Include="Scripts\umd\popper.min.js" />
|
||||
<Content Include="site\About.aspx" />
|
||||
<Content Include="App_Readme\Elmah.txt" />
|
||||
<Content Include="site\Contact.aspx" />
|
||||
<Content Include="Content\font-awesome.css" />
|
||||
<Content Include="Content\font-awesome.min.css" />
|
||||
<Content Include="Content\fonts.css">
|
||||
@@ -256,23 +343,13 @@
|
||||
<Content Include="Content\fonts.min.css">
|
||||
<DependentUpon>fonts.css</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="Content\SheetColor.css">
|
||||
<DependentUpon>SheetColor.less</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="Content\SheetColor.min.css">
|
||||
<DependentUpon>SheetColor.css</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="site\DevUtils.aspx" />
|
||||
<Content Include="site\ErrorsLog.aspx" />
|
||||
<Content Include="site\GlobalSearch.aspx" />
|
||||
<Content Include="site\Home.aspx" />
|
||||
<Content Include="Images\MT0006110.jpg" />
|
||||
<Content Include="Images\test_bis.svg" />
|
||||
<Content Include="Images\test_quadrato.svg" />
|
||||
<Content Include="Images\test_no.svg" />
|
||||
<Content Include="Images\test_b.svg" />
|
||||
<Content Include="Images\test.svg" />
|
||||
<Content Include="Images\Test11.svg" />
|
||||
<Content Include="Images\NoData.svg" />
|
||||
<Content Include="Images\test_a.svg" />
|
||||
<Content Include="Images\WIP.png" />
|
||||
<Content Include="site\KitRequestImporter.aspx" />
|
||||
<Content Include="site\Kitting.aspx" />
|
||||
@@ -302,6 +379,11 @@
|
||||
<Content Include="WebUserControls\cmp_kitList.ascx" />
|
||||
<Content Include="WebUserControls\cmp_login.ascx" />
|
||||
<Content Include="WebUserControls\cmp_ML_ShDet.ascx" />
|
||||
<Content Include="WebUserControls\cmp_MU_carts.ascx" />
|
||||
<Content Include="WebUserControls\cmp_MU_singleStat.ascx" />
|
||||
<Content Include="WebUserControls\cmp_MU_stats.ascx" />
|
||||
<Content Include="WebUserControls\cmp_MU_bins.ascx" />
|
||||
<Content Include="WebUserControls\cmp_MU_suggestions.ascx" />
|
||||
<Content Include="WebUserControls\cmp_numRow.ascx" />
|
||||
<Content Include="WebUserControls\cmp_offlineOrders.ascx" />
|
||||
<Content Include="WebUserControls\cmp_offOrderDetail.ascx" />
|
||||
@@ -312,6 +394,7 @@
|
||||
<Content Include="WebUserControls\cmp_stackList.ascx" />
|
||||
<Content Include="WebUserControls\cmp_stackLoading.ascx" />
|
||||
<Content Include="WebUserControls\cmp_stackNextloading.ascx" />
|
||||
<Content Include="WebUserControls\cmp_MU_svgViewer.ascx" />
|
||||
<Content Include="WebUserControls\cmp_taktList.ascx" />
|
||||
<Content Include="WebUserControls\cmp_unloadSmart.ascx" />
|
||||
<Content Include="WebUserControls\cmp_validationSummary.ascx" />
|
||||
@@ -336,28 +419,8 @@
|
||||
<Content Include="favicon.ico" />
|
||||
<Content Include="fonts\fontawesome-webfont.svg" />
|
||||
<Content Include="Global.asax" />
|
||||
<Content Include="Scripts\bootstrap.bundle.js" />
|
||||
<Content Include="Scripts\bootstrap.bundle.min.js" />
|
||||
<Content Include="Scripts\bootstrap.js" />
|
||||
<Content Include="Scripts\bootstrap.min.js" />
|
||||
<Content Include="Scripts\bootstrap.min.js.map" />
|
||||
<Content Include="Scripts\bootstrap.js.map" />
|
||||
<Content Include="Scripts\bootstrap.bundle.min.js.map" />
|
||||
<Content Include="Scripts\bootstrap.bundle.js.map" />
|
||||
<Content Include="Content\bootstrap.min.css.map" />
|
||||
<Content Include="Content\bootstrap.css.map" />
|
||||
<Content Include="Content\bootstrap-reboot.min.css.map" />
|
||||
<Content Include="Content\bootstrap-reboot.css.map" />
|
||||
<Content Include="Content\bootstrap-grid.min.css.map" />
|
||||
<Content Include="Content\bootstrap-grid.css.map" />
|
||||
<Content Include="Scripts\esm\popper-utils.js" />
|
||||
<Content Include="Scripts\esm\popper-utils.min.js" />
|
||||
<Content Include="Scripts\esm\popper.js" />
|
||||
<Content Include="Scripts\esm\popper.min.js" />
|
||||
<Content Include="Scripts\esm\popper.min.js.map" />
|
||||
<Content Include="Scripts\esm\popper.js.map" />
|
||||
<Content Include="Scripts\esm\popper-utils.min.js.map" />
|
||||
<Content Include="Scripts\esm\popper-utils.js.map" />
|
||||
<Content Include="site\UpdateVoc.aspx" />
|
||||
<Content Include="site\vocabolario.aspx" />
|
||||
<Content Include="WebUserControls\cmp_footer.ascx" />
|
||||
@@ -375,6 +438,12 @@
|
||||
<Content Include="Content\fonts.less" />
|
||||
<Content Include="Content\OpenSans.woff" />
|
||||
<Content Include="Content\OpenSansCondensed.woff" />
|
||||
<Content Include="Content\bootstrap.min.css.map" />
|
||||
<Content Include="Content\bootstrap.css.map" />
|
||||
<Content Include="Content\bootstrap-reboot.min.css.map" />
|
||||
<Content Include="Content\bootstrap-reboot.css.map" />
|
||||
<Content Include="Content\bootstrap-grid.min.css.map" />
|
||||
<Content Include="Content\bootstrap-grid.css.map" />
|
||||
<None Include="Content\Roboto.woff2" />
|
||||
<None Include="Content\RobotoCondensed.woff2" />
|
||||
<Content Include="FileUpload\.PlaceHolder.file">
|
||||
@@ -386,20 +455,19 @@
|
||||
<Content Include="Reports\StackLabel.rdlc">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Scripts\index.js.flow" />
|
||||
<Content Include="Scripts\esm\popper.min.js.map" />
|
||||
<Content Include="Scripts\esm\popper-utils.js.map" />
|
||||
<Content Include="Scripts\bootstrap.min.js.map" />
|
||||
<Content Include="Scripts\bootstrap.js.map" />
|
||||
<Content Include="Scripts\bootstrap.bundle.min.js.map" />
|
||||
<Content Include="Scripts\bootstrap.bundle.js.map" />
|
||||
<None Include="Scripts\jquery-3.4.1.intellisense.js" />
|
||||
<Content Include="Scripts\jquery-3.4.1.js" />
|
||||
<Content Include="Scripts\jquery-3.4.1.min.js" />
|
||||
<Content Include="Scripts\jquery-3.4.1.slim.js" />
|
||||
<Content Include="Scripts\jquery-3.4.1.slim.min.js" />
|
||||
<Content Include="Scripts\modernizr-2.8.3.js" />
|
||||
<Content Include="Scripts\popper-utils.js" />
|
||||
<Content Include="Scripts\popper-utils.min.js" />
|
||||
<Content Include="Scripts\popper.js" />
|
||||
<Content Include="Scripts\popper.min.js" />
|
||||
<Content Include="Scripts\umd\popper-utils.js" />
|
||||
<Content Include="Scripts\umd\popper-utils.min.js" />
|
||||
<Content Include="Scripts\umd\popper.js" />
|
||||
<Content Include="Scripts\umd\popper.min.js" />
|
||||
<Content Include="Scripts\WebForms\DetailsView.js" />
|
||||
<Content Include="Scripts\WebForms\Focus.js" />
|
||||
<Content Include="Scripts\WebForms\GridView.js" />
|
||||
@@ -755,6 +823,41 @@
|
||||
<Compile Include="WebUserControls\cmp_ML_ShDet.ascx.designer.cs">
|
||||
<DependentUpon>cmp_ML_ShDet.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_MU_carts.ascx.cs">
|
||||
<DependentUpon>cmp_MU_carts.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_MU_carts.ascx.designer.cs">
|
||||
<DependentUpon>cmp_MU_carts.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_MU_singleStat.ascx.cs">
|
||||
<DependentUpon>cmp_MU_singleStat.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_MU_singleStat.ascx.designer.cs">
|
||||
<DependentUpon>cmp_MU_singleStat.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_MU_stats.ascx.cs">
|
||||
<DependentUpon>cmp_MU_stats.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_MU_stats.ascx.designer.cs">
|
||||
<DependentUpon>cmp_MU_stats.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_MU_bins.ascx.cs">
|
||||
<DependentUpon>cmp_MU_bins.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_MU_bins.ascx.designer.cs">
|
||||
<DependentUpon>cmp_MU_bins.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_MU_suggestions.ascx.cs">
|
||||
<DependentUpon>cmp_MU_suggestions.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_MU_suggestions.ascx.designer.cs">
|
||||
<DependentUpon>cmp_MU_suggestions.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_numRow.ascx.cs">
|
||||
<DependentUpon>cmp_numRow.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
@@ -825,6 +928,13 @@
|
||||
<Compile Include="WebUserControls\cmp_stackNextloading.ascx.designer.cs">
|
||||
<DependentUpon>cmp_stackNextloading.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_MU_svgViewer.ascx.cs">
|
||||
<DependentUpon>cmp_MU_svgViewer.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_MU_svgViewer.ascx.designer.cs">
|
||||
<DependentUpon>cmp_MU_svgViewer.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_taktList.ascx.cs">
|
||||
<DependentUpon>cmp_taktList.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
@@ -889,19 +999,20 @@
|
||||
<None Include="packages.config" />
|
||||
<Content Include="Scripts\jquery-3.4.1.slim.min.map" />
|
||||
<Content Include="Scripts\jquery-3.4.1.min.map" />
|
||||
<Content Include="Scripts\umd\popper.min.js.map" />
|
||||
<Content Include="Scripts\umd\popper.js.map" />
|
||||
<Content Include="Scripts\umd\popper-utils.min.js.map" />
|
||||
<Content Include="Scripts\umd\popper-utils.js.map" />
|
||||
<Content Include="Scripts\README.md" />
|
||||
<Content Include="Scripts\popper.min.js.map" />
|
||||
<Content Include="Scripts\popper.js.map" />
|
||||
<Content Include="Scripts\popper-utils.min.js.map" />
|
||||
<Content Include="Scripts\popper-utils.js.map" />
|
||||
<Content Include="SiteContent.master" />
|
||||
<Content Include="temp\PlaceHolder.file">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Scripts\umd\popper.min.js.map" />
|
||||
<Content Include="Scripts\umd\popper.js.flow" />
|
||||
<Content Include="Scripts\umd\popper-utils.min.js.map" />
|
||||
<Content Include="Scripts\umd\popper-utils.js.map" />
|
||||
<Content Include="Scripts\README.md" />
|
||||
<Content Include="Scripts\popper.min.js.map" />
|
||||
<Content Include="Scripts\popper-utils.js.map" />
|
||||
<None Include="Web.Debug-LELE.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
</None>
|
||||
@@ -928,9 +1039,6 @@
|
||||
<ItemGroup>
|
||||
<Service Include="{4A0DDDB5-7A95-4FBF-97CC-616D07737A77}" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<TypeScriptCompile Include="Scripts\index.d.ts" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Reports\PartLabel.rdlc">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
@@ -951,6 +1059,9 @@
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<TypeScriptCompile Include="Scripts\index.d.ts" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
|
||||
@@ -7,13 +7,14 @@
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://travis-ci.org/FezVrasta/popper.js/branches" target="_blank"><img src="https://travis-ci.org/FezVrasta/popper.js.svg?branch=master" alt="Build Status"/></a>
|
||||
<img src="http://img.badgesize.io/https://unpkg.com/popper.js/dist/popper.min.js?compression=gzip" alt="Stable Release Size"/>
|
||||
<a href="https://www.bithound.io/github/FezVrasta/popper.js"><img src="https://www.bithound.io/github/FezVrasta/popper.js/badges/score.svg" alt="bitHound Overall Score"></a>
|
||||
<img src="http://badge-size.now.sh/https://unpkg.com/popper.js/dist/popper.min.js?compression=brotli" alt="Stable Release Size"/>
|
||||
<img src="http://badge-size.now.sh/https://unpkg.com/popper.js/dist/popper.min.js?compression=gzip" alt="Stable Release Size"/>
|
||||
<a href="https://codeclimate.com/github/FezVrasta/popper.js/coverage"><img src="https://codeclimate.com/github/FezVrasta/popper.js/badges/coverage.svg" alt="Istanbul Code Coverage"/></a>
|
||||
<a href="https://gitter.im/FezVrasta/popper.js" target="_blank"><img src="https://img.shields.io/gitter/room/nwjs/nw.js.svg" alt="Get support or discuss"/></a>
|
||||
<a href="https://www.npmjs.com/browse/depended/popper.js"><img src="https://badgen.net/npm/dependents/popper.js" alt="Dependents packages" /></a>
|
||||
<a href="https://spectrum.chat/popper-js" target="_blank"><img src="https://img.shields.io/badge/chat-on_spectrum-6833F9.svg?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyBpZD0iTGl2ZWxsb18xIiBkYXRhLW5hbWU9IkxpdmVsbG8gMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAgOCI%2BPGRlZnM%2BPHN0eWxlPi5jbHMtMXtmaWxsOiNmZmY7fTwvc3R5bGU%2BPC9kZWZzPjx0aXRsZT5zcGVjdHJ1bTwvdGl0bGU%2BPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNSwwQy40MiwwLDAsLjYzLDAsMy4zNGMwLDEuODQuMTksMi43MiwxLjc0LDMuMWgwVjcuNThhLjQ0LjQ0LDAsMCwwLC42OC4zNUw0LjM1LDYuNjlINWM0LjU4LDAsNS0uNjMsNS0zLjM1UzkuNTgsMCw1LDBaTTIuODMsNC4xOGEuNjMuNjMsMCwxLDEsLjY1LS42M0EuNjQuNjQsMCwwLDEsMi44Myw0LjE4Wk01LDQuMThhLjYzLjYzLDAsMSwxLC42NS0uNjNBLjY0LjY0LDAsMCwxLDUsNC4xOFptMi4xNywwYS42My42MywwLDEsMSwuNjUtLjYzQS42NC42NCwwLDAsMSw3LjE3LDQuMThaIi8%2BPC9zdmc%2B" alt="Get support or discuss"/></a>
|
||||
<br />
|
||||
<a href="https://saucelabs.com/u/popperjs" target="_blank"><img src="https://badges.herokuapp.com/browsers?labels=none&googlechrome=latest&firefox=latestµsoftedge=latest&iexplore=11,10&safari=latest&iphone=latest" alt="SauceLabs Reports"/></a>
|
||||
<a href="https://travis-ci.org/FezVrasta/popper.js/branches" target="_blank"><img src="https://travis-ci.org/FezVrasta/popper.js.svg?branch=master" alt="Build Status"/></a>
|
||||
<a href="https://saucelabs.com/u/popperjs" target="_blank"><img src="https://badges.herokuapp.com/browsers?labels=none&googlechrome=latest&firefox=latestµsoftedge=latest&iexplore=11,10&safari=latest" alt="SauceLabs Reports"/></a>
|
||||
</p>
|
||||
|
||||
<img src="https://raw.githubusercontent.com/FezVrasta/popper.js/master/popperjs.png" align="right" width=250 />
|
||||
@@ -122,7 +123,7 @@ var anotherPopper = new Popper(
|
||||
### Callbacks
|
||||
|
||||
Popper.js supports two kinds of callbacks, the `onCreate` callback is called after
|
||||
the popper has been initalized. The `onUpdate` one is called on any subsequent update.
|
||||
the popper has been initialized. The `onUpdate` one is called on any subsequent update.
|
||||
|
||||
```js
|
||||
const reference = document.querySelector('.my-button');
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**!
|
||||
* @fileOverview Kickass library to create and place poppers near their reference elements.
|
||||
* @version 1.14.3
|
||||
* @version 1.16.0
|
||||
* @license
|
||||
* Copyright (c) 2016 Federico Zivolo and contributors
|
||||
*
|
||||
@@ -34,7 +34,8 @@ function getStyleComputedProperty(element, property) {
|
||||
return [];
|
||||
}
|
||||
// NOTE: 1 DOM access here
|
||||
var css = getComputedStyle(element, null);
|
||||
var window = element.ownerDocument.defaultView;
|
||||
var css = window.getComputedStyle(element, null);
|
||||
return property ? css[property] : css;
|
||||
}
|
||||
|
||||
@@ -87,7 +88,18 @@ function getScrollParent(element) {
|
||||
return getScrollParent(getParentNode(element));
|
||||
}
|
||||
|
||||
var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
|
||||
/**
|
||||
* Returns the reference node of the reference object, or the reference object itself.
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @param {Element|Object} reference - the reference element (the popper will be relative to this)
|
||||
* @returns {Element} parent
|
||||
*/
|
||||
function getReferenceNode(reference) {
|
||||
return reference && reference.referenceNode ? reference.referenceNode : reference;
|
||||
}
|
||||
|
||||
var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';
|
||||
|
||||
var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);
|
||||
var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);
|
||||
@@ -124,7 +136,7 @@ function getOffsetParent(element) {
|
||||
var noOffsetParent = isIE(10) ? document.body : null;
|
||||
|
||||
// NOTE: 1 DOM access here
|
||||
var offsetParent = element.offsetParent;
|
||||
var offsetParent = element.offsetParent || null;
|
||||
// Skip hidden elements which don't have an offsetParent
|
||||
while (offsetParent === noOffsetParent && element.nextElementSibling) {
|
||||
offsetParent = (element = element.nextElementSibling).offsetParent;
|
||||
@@ -136,9 +148,9 @@ function getOffsetParent(element) {
|
||||
return element ? element.ownerDocument.documentElement : document.documentElement;
|
||||
}
|
||||
|
||||
// .offsetParent will return the closest TD or TABLE in case
|
||||
// .offsetParent will return the closest TH, TD or TABLE in case
|
||||
// no offsetParent is present, I hate this job...
|
||||
if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
|
||||
if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
|
||||
return getOffsetParent(offsetParent);
|
||||
}
|
||||
|
||||
@@ -276,10 +288,10 @@ function getBordersSize(styles, axis) {
|
||||
}
|
||||
|
||||
function getSize(axis, body, html, computedStyle) {
|
||||
return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);
|
||||
return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);
|
||||
}
|
||||
|
||||
function getWindowSizes() {
|
||||
function getWindowSizes(document) {
|
||||
var body = document.body;
|
||||
var html = document.documentElement;
|
||||
var computedStyle = isIE(10) && getComputedStyle(html);
|
||||
@@ -353,9 +365,9 @@ function getBoundingClientRect(element) {
|
||||
};
|
||||
|
||||
// subtract scrollbar size from sizes
|
||||
var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};
|
||||
var width = sizes.width || element.clientWidth || result.right - result.left;
|
||||
var height = sizes.height || element.clientHeight || result.bottom - result.top;
|
||||
var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};
|
||||
var width = sizes.width || element.clientWidth || result.width;
|
||||
var height = sizes.height || element.clientHeight || result.height;
|
||||
|
||||
var horizScrollbar = element.offsetWidth - width;
|
||||
var vertScrollbar = element.offsetHeight - height;
|
||||
@@ -388,7 +400,7 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
|
||||
var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
|
||||
|
||||
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
|
||||
if (fixedPosition && parent.nodeName === 'HTML') {
|
||||
if (fixedPosition && isHTML) {
|
||||
parentRect.top = Math.max(parentRect.top, 0);
|
||||
parentRect.left = Math.max(parentRect.left, 0);
|
||||
}
|
||||
@@ -463,7 +475,11 @@ function isFixed(element) {
|
||||
if (getStyleComputedProperty(element, 'position') === 'fixed') {
|
||||
return true;
|
||||
}
|
||||
return isFixed(getParentNode(element));
|
||||
var parentNode = getParentNode(element);
|
||||
if (!parentNode) {
|
||||
return false;
|
||||
}
|
||||
return isFixed(parentNode);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -503,7 +519,7 @@ function getBoundaries(popper, reference, padding, boundariesElement) {
|
||||
// NOTE: 1 DOM access here
|
||||
|
||||
var boundaries = { top: 0, left: 0 };
|
||||
var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
|
||||
var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));
|
||||
|
||||
// Handle viewport case
|
||||
if (boundariesElement === 'viewport') {
|
||||
@@ -526,7 +542,7 @@ function getBoundaries(popper, reference, padding, boundariesElement) {
|
||||
|
||||
// In case of HTML, we need a different computation
|
||||
if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
|
||||
var _getWindowSizes = getWindowSizes(),
|
||||
var _getWindowSizes = getWindowSizes(popper.ownerDocument),
|
||||
height = _getWindowSizes.height,
|
||||
width = _getWindowSizes.width;
|
||||
|
||||
@@ -541,10 +557,12 @@ function getBoundaries(popper, reference, padding, boundariesElement) {
|
||||
}
|
||||
|
||||
// Add paddings
|
||||
boundaries.left += padding;
|
||||
boundaries.top += padding;
|
||||
boundaries.right -= padding;
|
||||
boundaries.bottom -= padding;
|
||||
padding = padding || 0;
|
||||
var isPaddingNumber = typeof padding === 'number';
|
||||
boundaries.left += isPaddingNumber ? padding : padding.left || 0;
|
||||
boundaries.top += isPaddingNumber ? padding : padding.top || 0;
|
||||
boundaries.right -= isPaddingNumber ? padding : padding.right || 0;
|
||||
boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;
|
||||
|
||||
return boundaries;
|
||||
}
|
||||
@@ -616,14 +634,15 @@ function computeAutoPlacement(placement, refRect, popper, reference, boundariesE
|
||||
return computedPlacement + (variation ? '-' + variation : '');
|
||||
}
|
||||
|
||||
var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
|
||||
var timeoutDuration = 0;
|
||||
for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
|
||||
if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
|
||||
timeoutDuration = 1;
|
||||
break;
|
||||
var timeoutDuration = function () {
|
||||
var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
|
||||
for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
|
||||
if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}();
|
||||
|
||||
function microtaskDebounce(fn) {
|
||||
var called = false;
|
||||
@@ -718,7 +737,7 @@ function findIndex(arr, prop, value) {
|
||||
function getOffsetRect(element) {
|
||||
var elementRect = void 0;
|
||||
if (element.nodeName === 'HTML') {
|
||||
var _getWindowSizes = getWindowSizes(),
|
||||
var _getWindowSizes = getWindowSizes(element.ownerDocument),
|
||||
width = _getWindowSizes.width,
|
||||
height = _getWindowSizes.height;
|
||||
|
||||
@@ -749,9 +768,10 @@ function getOffsetRect(element) {
|
||||
* @returns {Object} object containing width and height properties
|
||||
*/
|
||||
function getOuterSizes(element) {
|
||||
var styles = getComputedStyle(element);
|
||||
var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);
|
||||
var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);
|
||||
var window = element.ownerDocument.defaultView;
|
||||
var styles = window.getComputedStyle(element);
|
||||
var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);
|
||||
var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);
|
||||
var result = {
|
||||
width: element.offsetWidth + y,
|
||||
height: element.offsetHeight + x
|
||||
@@ -825,7 +845,7 @@ function getPopperOffsets(popper, referenceOffsets, placement) {
|
||||
function getReferenceOffsets(state, popper, reference) {
|
||||
var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
||||
|
||||
var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
|
||||
var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));
|
||||
return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**!
|
||||
* @fileOverview Kickass library to create and place poppers near their reference elements.
|
||||
* @version 1.14.3
|
||||
* @version 1.16.0
|
||||
* @license
|
||||
* Copyright (c) 2016 Federico Zivolo and contributors
|
||||
*
|
||||
@@ -22,16 +22,17 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
|
||||
var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';
|
||||
|
||||
var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
|
||||
var timeoutDuration = 0;
|
||||
for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
|
||||
if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
|
||||
timeoutDuration = 1;
|
||||
break;
|
||||
var timeoutDuration = function () {
|
||||
var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
|
||||
for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
|
||||
if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}();
|
||||
|
||||
function microtaskDebounce(fn) {
|
||||
var called = false;
|
||||
@@ -97,7 +98,8 @@ function getStyleComputedProperty(element, property) {
|
||||
return [];
|
||||
}
|
||||
// NOTE: 1 DOM access here
|
||||
var css = getComputedStyle(element, null);
|
||||
var window = element.ownerDocument.defaultView;
|
||||
var css = window.getComputedStyle(element, null);
|
||||
return property ? css[property] : css;
|
||||
}
|
||||
|
||||
@@ -150,6 +152,17 @@ function getScrollParent(element) {
|
||||
return getScrollParent(getParentNode(element));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the reference node of the reference object, or the reference object itself.
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @param {Element|Object} reference - the reference element (the popper will be relative to this)
|
||||
* @returns {Element} parent
|
||||
*/
|
||||
function getReferenceNode(reference) {
|
||||
return reference && reference.referenceNode ? reference.referenceNode : reference;
|
||||
}
|
||||
|
||||
var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);
|
||||
var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);
|
||||
|
||||
@@ -185,7 +198,7 @@ function getOffsetParent(element) {
|
||||
var noOffsetParent = isIE(10) ? document.body : null;
|
||||
|
||||
// NOTE: 1 DOM access here
|
||||
var offsetParent = element.offsetParent;
|
||||
var offsetParent = element.offsetParent || null;
|
||||
// Skip hidden elements which don't have an offsetParent
|
||||
while (offsetParent === noOffsetParent && element.nextElementSibling) {
|
||||
offsetParent = (element = element.nextElementSibling).offsetParent;
|
||||
@@ -197,9 +210,9 @@ function getOffsetParent(element) {
|
||||
return element ? element.ownerDocument.documentElement : document.documentElement;
|
||||
}
|
||||
|
||||
// .offsetParent will return the closest TD or TABLE in case
|
||||
// .offsetParent will return the closest TH, TD or TABLE in case
|
||||
// no offsetParent is present, I hate this job...
|
||||
if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
|
||||
if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
|
||||
return getOffsetParent(offsetParent);
|
||||
}
|
||||
|
||||
@@ -337,10 +350,10 @@ function getBordersSize(styles, axis) {
|
||||
}
|
||||
|
||||
function getSize(axis, body, html, computedStyle) {
|
||||
return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);
|
||||
return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);
|
||||
}
|
||||
|
||||
function getWindowSizes() {
|
||||
function getWindowSizes(document) {
|
||||
var body = document.body;
|
||||
var html = document.documentElement;
|
||||
var computedStyle = isIE(10) && getComputedStyle(html);
|
||||
@@ -457,9 +470,9 @@ function getBoundingClientRect(element) {
|
||||
};
|
||||
|
||||
// subtract scrollbar size from sizes
|
||||
var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};
|
||||
var width = sizes.width || element.clientWidth || result.right - result.left;
|
||||
var height = sizes.height || element.clientHeight || result.bottom - result.top;
|
||||
var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};
|
||||
var width = sizes.width || element.clientWidth || result.width;
|
||||
var height = sizes.height || element.clientHeight || result.height;
|
||||
|
||||
var horizScrollbar = element.offsetWidth - width;
|
||||
var vertScrollbar = element.offsetHeight - height;
|
||||
@@ -492,7 +505,7 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
|
||||
var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
|
||||
|
||||
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
|
||||
if (fixedPosition && parent.nodeName === 'HTML') {
|
||||
if (fixedPosition && isHTML) {
|
||||
parentRect.top = Math.max(parentRect.top, 0);
|
||||
parentRect.left = Math.max(parentRect.left, 0);
|
||||
}
|
||||
@@ -567,7 +580,11 @@ function isFixed(element) {
|
||||
if (getStyleComputedProperty(element, 'position') === 'fixed') {
|
||||
return true;
|
||||
}
|
||||
return isFixed(getParentNode(element));
|
||||
var parentNode = getParentNode(element);
|
||||
if (!parentNode) {
|
||||
return false;
|
||||
}
|
||||
return isFixed(parentNode);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -607,7 +624,7 @@ function getBoundaries(popper, reference, padding, boundariesElement) {
|
||||
// NOTE: 1 DOM access here
|
||||
|
||||
var boundaries = { top: 0, left: 0 };
|
||||
var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
|
||||
var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));
|
||||
|
||||
// Handle viewport case
|
||||
if (boundariesElement === 'viewport') {
|
||||
@@ -630,7 +647,7 @@ function getBoundaries(popper, reference, padding, boundariesElement) {
|
||||
|
||||
// In case of HTML, we need a different computation
|
||||
if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
|
||||
var _getWindowSizes = getWindowSizes(),
|
||||
var _getWindowSizes = getWindowSizes(popper.ownerDocument),
|
||||
height = _getWindowSizes.height,
|
||||
width = _getWindowSizes.width;
|
||||
|
||||
@@ -645,10 +662,12 @@ function getBoundaries(popper, reference, padding, boundariesElement) {
|
||||
}
|
||||
|
||||
// Add paddings
|
||||
boundaries.left += padding;
|
||||
boundaries.top += padding;
|
||||
boundaries.right -= padding;
|
||||
boundaries.bottom -= padding;
|
||||
padding = padding || 0;
|
||||
var isPaddingNumber = typeof padding === 'number';
|
||||
boundaries.left += isPaddingNumber ? padding : padding.left || 0;
|
||||
boundaries.top += isPaddingNumber ? padding : padding.top || 0;
|
||||
boundaries.right -= isPaddingNumber ? padding : padding.right || 0;
|
||||
boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;
|
||||
|
||||
return boundaries;
|
||||
}
|
||||
@@ -733,7 +752,7 @@ function computeAutoPlacement(placement, refRect, popper, reference, boundariesE
|
||||
function getReferenceOffsets(state, popper, reference) {
|
||||
var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
||||
|
||||
var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
|
||||
var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));
|
||||
return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);
|
||||
}
|
||||
|
||||
@@ -745,9 +764,10 @@ function getReferenceOffsets(state, popper, reference) {
|
||||
* @returns {Object} object containing width and height properties
|
||||
*/
|
||||
function getOuterSizes(element) {
|
||||
var styles = getComputedStyle(element);
|
||||
var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);
|
||||
var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);
|
||||
var window = element.ownerDocument.defaultView;
|
||||
var styles = window.getComputedStyle(element);
|
||||
var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);
|
||||
var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);
|
||||
var result = {
|
||||
width: element.offsetWidth + y,
|
||||
height: element.offsetHeight + x
|
||||
@@ -973,7 +993,7 @@ function getSupportedPropertyName(property) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Destroy the popper
|
||||
* Destroys the popper.
|
||||
* @method
|
||||
* @memberof Popper
|
||||
*/
|
||||
@@ -994,7 +1014,7 @@ function destroy() {
|
||||
|
||||
this.disableEventListeners();
|
||||
|
||||
// remove the popper if user explicity asked for the deletion on destroy
|
||||
// remove the popper if user explicitly asked for the deletion on destroy
|
||||
// do not use `remove` because IE11 doesn't support it
|
||||
if (this.options.removeOnDestroy) {
|
||||
this.popper.parentNode.removeChild(this.popper);
|
||||
@@ -1080,7 +1100,7 @@ function removeEventListeners(reference, state) {
|
||||
|
||||
/**
|
||||
* It will remove resize/scroll events and won't recalculate popper position
|
||||
* when they are triggered. It also won't trigger onUpdate callback anymore,
|
||||
* when they are triggered. It also won't trigger `onUpdate` callback anymore,
|
||||
* unless you call `update` method manually.
|
||||
* @method
|
||||
* @memberof Popper
|
||||
@@ -1197,6 +1217,57 @@ function applyStyleOnLoad(reference, popper, options, modifierOptions, state) {
|
||||
return options;
|
||||
}
|
||||
|
||||
/**
|
||||
* @function
|
||||
* @memberof Popper.Utils
|
||||
* @argument {Object} data - The data object generated by `update` method
|
||||
* @argument {Boolean} shouldRound - If the offsets should be rounded at all
|
||||
* @returns {Object} The popper's position offsets rounded
|
||||
*
|
||||
* The tale of pixel-perfect positioning. It's still not 100% perfect, but as
|
||||
* good as it can be within reason.
|
||||
* Discussion here: https://github.com/FezVrasta/popper.js/pull/715
|
||||
*
|
||||
* Low DPI screens cause a popper to be blurry if not using full pixels (Safari
|
||||
* as well on High DPI screens).
|
||||
*
|
||||
* Firefox prefers no rounding for positioning and does not have blurriness on
|
||||
* high DPI screens.
|
||||
*
|
||||
* Only horizontal placement and left/right values need to be considered.
|
||||
*/
|
||||
function getRoundedOffsets(data, shouldRound) {
|
||||
var _data$offsets = data.offsets,
|
||||
popper = _data$offsets.popper,
|
||||
reference = _data$offsets.reference;
|
||||
var round = Math.round,
|
||||
floor = Math.floor;
|
||||
|
||||
var noRound = function noRound(v) {
|
||||
return v;
|
||||
};
|
||||
|
||||
var referenceWidth = round(reference.width);
|
||||
var popperWidth = round(popper.width);
|
||||
|
||||
var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;
|
||||
var isVariation = data.placement.indexOf('-') !== -1;
|
||||
var sameWidthParity = referenceWidth % 2 === popperWidth % 2;
|
||||
var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;
|
||||
|
||||
var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;
|
||||
var verticalToInteger = !shouldRound ? noRound : round;
|
||||
|
||||
return {
|
||||
left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),
|
||||
top: verticalToInteger(popper.top),
|
||||
bottom: verticalToInteger(popper.bottom),
|
||||
right: horizontalToInteger(popper.right)
|
||||
};
|
||||
}
|
||||
|
||||
var isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);
|
||||
|
||||
/**
|
||||
* @function
|
||||
* @memberof Modifiers
|
||||
@@ -1227,15 +1298,7 @@ function computeStyle(data, options) {
|
||||
position: popper.position
|
||||
};
|
||||
|
||||
// Avoid blurry text by using full pixel integers.
|
||||
// For pixel-perfect positioning, top/bottom prefers rounded
|
||||
// values, while left/right prefers floored values.
|
||||
var offsets = {
|
||||
left: Math.floor(popper.left),
|
||||
top: Math.round(popper.top),
|
||||
bottom: Math.round(popper.bottom),
|
||||
right: Math.floor(popper.right)
|
||||
};
|
||||
var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);
|
||||
|
||||
var sideA = x === 'bottom' ? 'top' : 'bottom';
|
||||
var sideB = y === 'right' ? 'left' : 'right';
|
||||
@@ -1257,12 +1320,22 @@ function computeStyle(data, options) {
|
||||
var left = void 0,
|
||||
top = void 0;
|
||||
if (sideA === 'bottom') {
|
||||
top = -offsetParentRect.height + offsets.bottom;
|
||||
// when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)
|
||||
// and not the bottom of the html element
|
||||
if (offsetParent.nodeName === 'HTML') {
|
||||
top = -offsetParent.clientHeight + offsets.bottom;
|
||||
} else {
|
||||
top = -offsetParentRect.height + offsets.bottom;
|
||||
}
|
||||
} else {
|
||||
top = offsets.top;
|
||||
}
|
||||
if (sideB === 'right') {
|
||||
left = -offsetParentRect.width + offsets.right;
|
||||
if (offsetParent.nodeName === 'HTML') {
|
||||
left = -offsetParent.clientWidth + offsets.right;
|
||||
} else {
|
||||
left = -offsetParentRect.width + offsets.right;
|
||||
}
|
||||
} else {
|
||||
left = offsets.left;
|
||||
}
|
||||
@@ -1371,7 +1444,7 @@ function arrow(data, options) {
|
||||
|
||||
//
|
||||
// extends keepTogether behavior making sure the popper and its
|
||||
// reference have enough pixels in conjuction
|
||||
// reference have enough pixels in conjunction
|
||||
//
|
||||
|
||||
// top/left side
|
||||
@@ -1441,7 +1514,7 @@ function getOppositeVariation(variation) {
|
||||
* - `top-end` (on top of reference, right aligned)
|
||||
* - `right-start` (on right of reference, top aligned)
|
||||
* - `bottom` (on bottom, centered)
|
||||
* - `auto-right` (on the side with more space available, alignment depends by placement)
|
||||
* - `auto-end` (on the side with more space available, alignment depends by placement)
|
||||
*
|
||||
* @static
|
||||
* @type {Array}
|
||||
@@ -1543,7 +1616,14 @@ function flip(data, options) {
|
||||
|
||||
// flip the variation if required
|
||||
var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
|
||||
var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);
|
||||
|
||||
// flips variation if reference element overflows boundaries
|
||||
var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);
|
||||
|
||||
// flips variation if popper content overflows boundaries
|
||||
var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);
|
||||
|
||||
var flippedVariation = flippedVariationByRef || flippedVariationByContent;
|
||||
|
||||
if (overlapsRef || overflowsBoundaries || flippedVariation) {
|
||||
// this boolean to detect any flip loop
|
||||
@@ -1983,7 +2063,7 @@ var modifiers = {
|
||||
* The `offset` modifier can shift your popper on both its axis.
|
||||
*
|
||||
* It accepts the following units:
|
||||
* - `px` or unitless, interpreted as pixels
|
||||
* - `px` or unit-less, interpreted as pixels
|
||||
* - `%` or `%r`, percentage relative to the length of the reference element
|
||||
* - `%p`, percentage relative to the length of the popper element
|
||||
* - `vw`, CSS viewport width unit
|
||||
@@ -1991,7 +2071,7 @@ var modifiers = {
|
||||
*
|
||||
* For length is intended the main axis relative to the placement of the popper.<br />
|
||||
* This means that if the placement is `top` or `bottom`, the length will be the
|
||||
* `width`. In case of `left` or `right`, it will be the height.
|
||||
* `width`. In case of `left` or `right`, it will be the `height`.
|
||||
*
|
||||
* You can provide a single value (as `Number` or `String`), or a pair of values
|
||||
* as `String` divided by a comma or one (or more) white spaces.<br />
|
||||
@@ -2012,7 +2092,7 @@ var modifiers = {
|
||||
* ```
|
||||
* > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap
|
||||
* > with their reference element, unfortunately, you will have to disable the `flip` modifier.
|
||||
* > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)
|
||||
* > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).
|
||||
*
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
@@ -2033,7 +2113,7 @@ var modifiers = {
|
||||
/**
|
||||
* Modifier used to prevent the popper from being positioned outside the boundary.
|
||||
*
|
||||
* An scenario exists where the reference itself is not within the boundaries.<br />
|
||||
* A scenario exists where the reference itself is not within the boundaries.<br />
|
||||
* We can say it has "escaped the boundaries" — or just "escaped".<br />
|
||||
* In this case we need to decide whether the popper should either:
|
||||
*
|
||||
@@ -2063,23 +2143,23 @@ var modifiers = {
|
||||
/**
|
||||
* @prop {number} padding=5
|
||||
* Amount of pixel used to define a minimum distance between the boundaries
|
||||
* and the popper this makes sure the popper has always a little padding
|
||||
* and the popper. This makes sure the popper always has a little padding
|
||||
* between the edges of its container
|
||||
*/
|
||||
padding: 5,
|
||||
/**
|
||||
* @prop {String|HTMLElement} boundariesElement='scrollParent'
|
||||
* Boundaries used by the modifier, can be `scrollParent`, `window`,
|
||||
* Boundaries used by the modifier. Can be `scrollParent`, `window`,
|
||||
* `viewport` or any DOM element.
|
||||
*/
|
||||
boundariesElement: 'scrollParent'
|
||||
},
|
||||
|
||||
/**
|
||||
* Modifier used to make sure the reference and its popper stay near eachothers
|
||||
* without leaving any gap between the two. Expecially useful when the arrow is
|
||||
* enabled and you want to assure it to point to its reference element.
|
||||
* It cares only about the first axis, you can still have poppers with margin
|
||||
* Modifier used to make sure the reference and its popper stay near each other
|
||||
* without leaving any gap between the two. Especially useful when the arrow is
|
||||
* enabled and you want to ensure that it points to its reference element.
|
||||
* It cares only about the first axis. You can still have poppers with margin
|
||||
* between the popper and its reference element.
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
@@ -2097,7 +2177,7 @@ var modifiers = {
|
||||
* This modifier is used to move the `arrowElement` of the popper to make
|
||||
* sure it is positioned between the reference element and its popper element.
|
||||
* It will read the outer size of the `arrowElement` node to detect how many
|
||||
* pixels of conjuction are needed.
|
||||
* pixels of conjunction are needed.
|
||||
*
|
||||
* It has no effect if no `arrowElement` is provided.
|
||||
* @memberof modifiers
|
||||
@@ -2136,7 +2216,7 @@ var modifiers = {
|
||||
* @prop {String|Array} behavior='flip'
|
||||
* The behavior used to change the popper's placement. It can be one of
|
||||
* `flip`, `clockwise`, `counterclockwise` or an array with a list of valid
|
||||
* placements (with optional variations).
|
||||
* placements (with optional variations)
|
||||
*/
|
||||
behavior: 'flip',
|
||||
/**
|
||||
@@ -2146,11 +2226,27 @@ var modifiers = {
|
||||
padding: 5,
|
||||
/**
|
||||
* @prop {String|HTMLElement} boundariesElement='viewport'
|
||||
* The element which will define the boundaries of the popper position,
|
||||
* the popper will never be placed outside of the defined boundaries
|
||||
* (except if keepTogether is enabled)
|
||||
* The element which will define the boundaries of the popper position.
|
||||
* The popper will never be placed outside of the defined boundaries
|
||||
* (except if `keepTogether` is enabled)
|
||||
*/
|
||||
boundariesElement: 'viewport'
|
||||
boundariesElement: 'viewport',
|
||||
/**
|
||||
* @prop {Boolean} flipVariations=false
|
||||
* The popper will switch placement variation between `-start` and `-end` when
|
||||
* the reference element overlaps its boundaries.
|
||||
*
|
||||
* The original placement should have a set variation.
|
||||
*/
|
||||
flipVariations: false,
|
||||
/**
|
||||
* @prop {Boolean} flipVariationsByContent=false
|
||||
* The popper will switch placement variation between `-start` and `-end` when
|
||||
* the popper element overlaps its reference boundaries.
|
||||
*
|
||||
* The original placement should have a set variation.
|
||||
*/
|
||||
flipVariationsByContent: false
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -2212,8 +2308,8 @@ var modifiers = {
|
||||
fn: computeStyle,
|
||||
/**
|
||||
* @prop {Boolean} gpuAcceleration=true
|
||||
* If true, it uses the CSS 3d transformation to position the popper.
|
||||
* Otherwise, it will use the `top` and `left` properties.
|
||||
* If true, it uses the CSS 3D transformation to position the popper.
|
||||
* Otherwise, it will use the `top` and `left` properties
|
||||
*/
|
||||
gpuAcceleration: true,
|
||||
/**
|
||||
@@ -2240,7 +2336,7 @@ var modifiers = {
|
||||
* Note that if you disable this modifier, you must make sure the popper element
|
||||
* has its position set to `absolute` before Popper.js can do its work!
|
||||
*
|
||||
* Just disable this modifier and define you own to achieve the desired effect.
|
||||
* Just disable this modifier and define your own to achieve the desired effect.
|
||||
*
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
@@ -2257,27 +2353,27 @@ var modifiers = {
|
||||
/**
|
||||
* @deprecated since version 1.10.0, the property moved to `computeStyle` modifier
|
||||
* @prop {Boolean} gpuAcceleration=true
|
||||
* If true, it uses the CSS 3d transformation to position the popper.
|
||||
* Otherwise, it will use the `top` and `left` properties.
|
||||
* If true, it uses the CSS 3D transformation to position the popper.
|
||||
* Otherwise, it will use the `top` and `left` properties
|
||||
*/
|
||||
gpuAcceleration: undefined
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* The `dataObject` is an object containing all the informations used by Popper.js
|
||||
* this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.
|
||||
* The `dataObject` is an object containing all the information used by Popper.js.
|
||||
* This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.
|
||||
* @name dataObject
|
||||
* @property {Object} data.instance The Popper.js instance
|
||||
* @property {String} data.placement Placement applied to popper
|
||||
* @property {String} data.originalPlacement Placement originally defined on init
|
||||
* @property {Boolean} data.flipped True if popper has been flipped by flip modifier
|
||||
* @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.
|
||||
* @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper
|
||||
* @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier
|
||||
* @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)
|
||||
* @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)
|
||||
* @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)
|
||||
* @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)
|
||||
* @property {Object} data.boundaries Offsets of the popper boundaries
|
||||
* @property {Object} data.offsets The measurements of popper, reference and arrow elements.
|
||||
* @property {Object} data.offsets The measurements of popper, reference and arrow elements
|
||||
* @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values
|
||||
* @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values
|
||||
* @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0
|
||||
@@ -2285,9 +2381,9 @@ var modifiers = {
|
||||
|
||||
/**
|
||||
* Default options provided to Popper.js constructor.<br />
|
||||
* These can be overriden using the `options` argument of Popper.js.<br />
|
||||
* To override an option, simply pass as 3rd argument an object with the same
|
||||
* structure of this object, example:
|
||||
* These can be overridden using the `options` argument of Popper.js.<br />
|
||||
* To override an option, simply pass an object with the same
|
||||
* structure of the `options` object, as the 3rd argument. For example:
|
||||
* ```
|
||||
* new Popper(ref, pop, {
|
||||
* modifiers: {
|
||||
@@ -2301,7 +2397,7 @@ var modifiers = {
|
||||
*/
|
||||
var Defaults = {
|
||||
/**
|
||||
* Popper's placement
|
||||
* Popper's placement.
|
||||
* @prop {Popper.placements} placement='bottom'
|
||||
*/
|
||||
placement: 'bottom',
|
||||
@@ -2313,7 +2409,7 @@ var Defaults = {
|
||||
positionFixed: false,
|
||||
|
||||
/**
|
||||
* Whether events (resize, scroll) are initially enabled
|
||||
* Whether events (resize, scroll) are initially enabled.
|
||||
* @prop {Boolean} eventsEnabled=true
|
||||
*/
|
||||
eventsEnabled: true,
|
||||
@@ -2327,17 +2423,17 @@ var Defaults = {
|
||||
|
||||
/**
|
||||
* Callback called when the popper is created.<br />
|
||||
* By default, is set to no-op.<br />
|
||||
* By default, it is set to no-op.<br />
|
||||
* Access Popper.js instance with `data.instance`.
|
||||
* @prop {onCreate}
|
||||
*/
|
||||
onCreate: function onCreate() {},
|
||||
|
||||
/**
|
||||
* Callback called when the popper is updated, this callback is not called
|
||||
* Callback called when the popper is updated. This callback is not called
|
||||
* on the initialization/creation of the popper, but only on subsequent
|
||||
* updates.<br />
|
||||
* By default, is set to no-op.<br />
|
||||
* By default, it is set to no-op.<br />
|
||||
* Access Popper.js instance with `data.instance`.
|
||||
* @prop {onUpdate}
|
||||
*/
|
||||
@@ -2345,7 +2441,7 @@ var Defaults = {
|
||||
|
||||
/**
|
||||
* List of modifiers used to modify the offsets before they are applied to the popper.
|
||||
* They provide most of the functionalities of Popper.js
|
||||
* They provide most of the functionalities of Popper.js.
|
||||
* @prop {modifiers}
|
||||
*/
|
||||
modifiers: modifiers
|
||||
@@ -2365,10 +2461,10 @@ var Defaults = {
|
||||
// Methods
|
||||
var Popper = function () {
|
||||
/**
|
||||
* Create a new Popper.js instance
|
||||
* Creates a new Popper.js instance.
|
||||
* @class Popper
|
||||
* @param {HTMLElement|referenceObject} reference - The reference element used to position the popper
|
||||
* @param {HTMLElement} popper - The HTML element used as popper.
|
||||
* @param {Element|referenceObject} reference - The reference element used to position the popper
|
||||
* @param {Element} popper - The HTML / XML element used as the popper
|
||||
* @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)
|
||||
* @return {Object} instance - The generated Popper.js instance
|
||||
*/
|
||||
@@ -2464,7 +2560,7 @@ var Popper = function () {
|
||||
}
|
||||
|
||||
/**
|
||||
* Schedule an update, it will run on the next UI update available
|
||||
* Schedules an update. It will run on the next UI update available.
|
||||
* @method scheduleUpdate
|
||||
* @memberof Popper
|
||||
*/
|
||||
@@ -2501,7 +2597,7 @@ var Popper = function () {
|
||||
* new Popper(referenceObject, popperNode);
|
||||
* ```
|
||||
*
|
||||
* NB: This feature isn't supported in Internet Explorer 10
|
||||
* NB: This feature isn't supported in Internet Explorer 10.
|
||||
* @name referenceObject
|
||||
* @property {Function} data.getBoundingClientRect
|
||||
* A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.
|
||||
|
||||
@@ -35,6 +35,18 @@ declare namespace Popper {
|
||||
|
||||
export type ModifierFn = (data: Data, options: Object) => Data;
|
||||
|
||||
export interface Attributes {
|
||||
'x-out-of-boundaries': '' | false;
|
||||
'x-placement': Placement;
|
||||
}
|
||||
|
||||
export interface Padding {
|
||||
top?: number,
|
||||
bottom?: number,
|
||||
left?: number,
|
||||
right?: number,
|
||||
}
|
||||
|
||||
export interface BaseModifier {
|
||||
order?: number;
|
||||
enabled?: boolean;
|
||||
@@ -48,7 +60,7 @@ declare namespace Popper {
|
||||
};
|
||||
preventOverflow?: BaseModifier & {
|
||||
priority?: Position[],
|
||||
padding?: number,
|
||||
padding?: number | Padding,
|
||||
boundariesElement?: Boundary | Element,
|
||||
escapeWithReference?: boolean
|
||||
};
|
||||
@@ -58,8 +70,10 @@ declare namespace Popper {
|
||||
};
|
||||
flip?: BaseModifier & {
|
||||
behavior?: Behavior | Position[],
|
||||
padding?: number,
|
||||
padding?: number | Padding,
|
||||
boundariesElement?: Boundary | Element,
|
||||
flipVariations?: boolean,
|
||||
flipVariationsByContent?: boolean,
|
||||
};
|
||||
inner?: BaseModifier;
|
||||
hide?: BaseModifier;
|
||||
@@ -91,6 +105,8 @@ declare namespace Popper {
|
||||
hide: boolean;
|
||||
arrowElement: Element;
|
||||
styles: CSSStyleDeclaration;
|
||||
arrowStyles: CSSStyleDeclaration;
|
||||
attributes: Attributes;
|
||||
boundaries: Object;
|
||||
offsets: {
|
||||
popper: Offset,
|
||||
@@ -117,6 +133,7 @@ declare namespace Popper {
|
||||
export interface ReferenceObject {
|
||||
clientHeight: number;
|
||||
clientWidth: number;
|
||||
referenceNode?: Node;
|
||||
|
||||
getBoundingClientRect(): ClientRect;
|
||||
}
|
||||
@@ -124,6 +141,7 @@ declare namespace Popper {
|
||||
|
||||
// Re-export types in the Popper namespace so that they can be accessed as top-level named exports.
|
||||
// These re-exports should be removed in 2.x when the "declare namespace Popper" syntax is removed.
|
||||
export type Padding = Popper.Padding;
|
||||
export type Position = Popper.Position;
|
||||
export type Placement = Popper.Placement;
|
||||
export type Boundary = Popper.Boundary;
|
||||
@@ -142,6 +160,8 @@ declare class Popper {
|
||||
static Defaults: PopperOptions;
|
||||
|
||||
options: PopperOptions;
|
||||
popper: Element;
|
||||
reference: Element | ReferenceObject;
|
||||
|
||||
constructor(reference: Element | ReferenceObject, popper: Element, options?: PopperOptions);
|
||||
|
||||
|
||||
@@ -0,0 +1,156 @@
|
||||
// @flow
|
||||
|
||||
export type Position = 'top' | 'right' | 'bottom' | 'left';
|
||||
|
||||
export type Placement =
|
||||
| 'auto-start'
|
||||
| 'auto'
|
||||
| 'auto-end'
|
||||
| 'top-start'
|
||||
| 'top'
|
||||
| 'top-end'
|
||||
| 'right-start'
|
||||
| 'right'
|
||||
| 'right-end'
|
||||
| 'bottom-end'
|
||||
| 'bottom'
|
||||
| 'bottom-start'
|
||||
| 'left-end'
|
||||
| 'left'
|
||||
| 'left-start';
|
||||
|
||||
export type Offset = {
|
||||
top: number,
|
||||
left: number,
|
||||
width: number,
|
||||
height: number,
|
||||
position: Position,
|
||||
};
|
||||
|
||||
export type Boundary = 'scrollParent' | 'viewport' | 'window';
|
||||
|
||||
export type Behavior = 'flip' | 'clockwise' | 'counterclockwise';
|
||||
|
||||
export type Data = {
|
||||
instance: Popper,
|
||||
placement: Placement,
|
||||
originalPlacement: Placement,
|
||||
flipped: boolean,
|
||||
hide: boolean,
|
||||
arrowElement: Element,
|
||||
styles: CSSStyleDeclaration,
|
||||
arrowStyles: CSSStyleDeclaration,
|
||||
boundaries: Object,
|
||||
offsets: {
|
||||
popper: Offset,
|
||||
reference: Offset,
|
||||
arrow: {
|
||||
top: number,
|
||||
left: number,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export type ModifierFn = (data: Data, options: Object) => Data;
|
||||
|
||||
export type Padding = {
|
||||
top?: number,
|
||||
bottom?: number,
|
||||
left?: number,
|
||||
right?: number,
|
||||
};
|
||||
|
||||
export type BaseModifier = {
|
||||
order?: number,
|
||||
enabled?: boolean,
|
||||
fn?: ModifierFn,
|
||||
};
|
||||
|
||||
export type Modifiers = {
|
||||
shift?: BaseModifier,
|
||||
offset?: BaseModifier & {
|
||||
offset?: number | string,
|
||||
},
|
||||
preventOverflow?: BaseModifier & {
|
||||
priority?: Position[],
|
||||
padding?: number | Padding,
|
||||
boundariesElement?: Boundary | Element,
|
||||
escapeWithReference?: boolean,
|
||||
},
|
||||
keepTogether?: BaseModifier,
|
||||
arrow?: BaseModifier & {
|
||||
element?: string | Element | null,
|
||||
},
|
||||
flip?: BaseModifier & {
|
||||
behavior?: Behavior | Position[],
|
||||
padding?: number | Padding,
|
||||
boundariesElement?: Boundary | Element,
|
||||
flipVariations?: boolean,
|
||||
flipVariationsByContent?: boolean,
|
||||
},
|
||||
inner?: BaseModifier,
|
||||
hide?: BaseModifier,
|
||||
applyStyle?: BaseModifier & {
|
||||
onLoad?: Function,
|
||||
gpuAcceleration?: boolean,
|
||||
},
|
||||
computeStyle?: BaseModifier & {
|
||||
gpuAcceleration?: boolean,
|
||||
x?: 'bottom' | 'top',
|
||||
y?: 'left' | 'right',
|
||||
},
|
||||
|
||||
[name: string]: (BaseModifier & { [string]: * }) | null,
|
||||
};
|
||||
|
||||
export type Options = {
|
||||
placement?: Placement,
|
||||
positionFixed?: boolean,
|
||||
eventsEnabled?: boolean,
|
||||
modifiers?: Modifiers,
|
||||
removeOnDestroy?: boolean,
|
||||
|
||||
onCreate?: (data: Data) => void,
|
||||
|
||||
onUpdate?: (data: Data) => void,
|
||||
};
|
||||
|
||||
export type ReferenceObject = {
|
||||
+clientHeight: number,
|
||||
+clientWidth: number,
|
||||
+referenceNode?: Node,
|
||||
|
||||
getBoundingClientRect():
|
||||
| ClientRect
|
||||
| {
|
||||
width: number,
|
||||
height: number,
|
||||
top: number,
|
||||
right: number,
|
||||
bottom: number,
|
||||
left: number,
|
||||
},
|
||||
};
|
||||
|
||||
export type Instance = {
|
||||
destroy: () => void,
|
||||
scheduleUpdate: () => void,
|
||||
update: () => void,
|
||||
enableEventListeners: () => void,
|
||||
disableEventListeners: () => void,
|
||||
};
|
||||
|
||||
declare class Popper {
|
||||
static placements: Placement;
|
||||
|
||||
popper: Element;
|
||||
reference: Element | ReferenceObject;
|
||||
|
||||
constructor(
|
||||
reference: Element | ReferenceObject,
|
||||
popper: Element,
|
||||
options?: Options
|
||||
): Instance;
|
||||
}
|
||||
|
||||
declare export default typeof Popper;
|
||||
@@ -1,6 +1,6 @@
|
||||
/**!
|
||||
* @fileOverview Kickass library to create and place poppers near their reference elements.
|
||||
* @version 1.14.3
|
||||
* @version 1.16.0
|
||||
* @license
|
||||
* Copyright (c) 2016 Federico Zivolo and contributors
|
||||
*
|
||||
@@ -34,7 +34,8 @@ function getStyleComputedProperty(element, property) {
|
||||
return [];
|
||||
}
|
||||
// NOTE: 1 DOM access here
|
||||
const css = getComputedStyle(element, null);
|
||||
const window = element.ownerDocument.defaultView;
|
||||
const css = window.getComputedStyle(element, null);
|
||||
return property ? css[property] : css;
|
||||
}
|
||||
|
||||
@@ -82,7 +83,18 @@ function getScrollParent(element) {
|
||||
return getScrollParent(getParentNode(element));
|
||||
}
|
||||
|
||||
var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
|
||||
/**
|
||||
* Returns the reference node of the reference object, or the reference object itself.
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @param {Element|Object} reference - the reference element (the popper will be relative to this)
|
||||
* @returns {Element} parent
|
||||
*/
|
||||
function getReferenceNode(reference) {
|
||||
return reference && reference.referenceNode ? reference.referenceNode : reference;
|
||||
}
|
||||
|
||||
var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';
|
||||
|
||||
const isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);
|
||||
const isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);
|
||||
@@ -119,7 +131,7 @@ function getOffsetParent(element) {
|
||||
const noOffsetParent = isIE(10) ? document.body : null;
|
||||
|
||||
// NOTE: 1 DOM access here
|
||||
let offsetParent = element.offsetParent;
|
||||
let offsetParent = element.offsetParent || null;
|
||||
// Skip hidden elements which don't have an offsetParent
|
||||
while (offsetParent === noOffsetParent && element.nextElementSibling) {
|
||||
offsetParent = (element = element.nextElementSibling).offsetParent;
|
||||
@@ -131,9 +143,9 @@ function getOffsetParent(element) {
|
||||
return element ? element.ownerDocument.documentElement : document.documentElement;
|
||||
}
|
||||
|
||||
// .offsetParent will return the closest TD or TABLE in case
|
||||
// .offsetParent will return the closest TH, TD or TABLE in case
|
||||
// no offsetParent is present, I hate this job...
|
||||
if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
|
||||
if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
|
||||
return getOffsetParent(offsetParent);
|
||||
}
|
||||
|
||||
@@ -265,10 +277,10 @@ function getBordersSize(styles, axis) {
|
||||
}
|
||||
|
||||
function getSize(axis, body, html, computedStyle) {
|
||||
return Math.max(body[`offset${axis}`], body[`scroll${axis}`], html[`client${axis}`], html[`offset${axis}`], html[`scroll${axis}`], isIE(10) ? html[`offset${axis}`] + computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`] + computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`] : 0);
|
||||
return Math.max(body[`offset${axis}`], body[`scroll${axis}`], html[`client${axis}`], html[`offset${axis}`], html[`scroll${axis}`], isIE(10) ? parseInt(html[`offset${axis}`]) + parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]) : 0);
|
||||
}
|
||||
|
||||
function getWindowSizes() {
|
||||
function getWindowSizes(document) {
|
||||
const body = document.body;
|
||||
const html = document.documentElement;
|
||||
const computedStyle = isIE(10) && getComputedStyle(html);
|
||||
@@ -342,9 +354,9 @@ function getBoundingClientRect(element) {
|
||||
};
|
||||
|
||||
// subtract scrollbar size from sizes
|
||||
const sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};
|
||||
const width = sizes.width || element.clientWidth || result.right - result.left;
|
||||
const height = sizes.height || element.clientHeight || result.bottom - result.top;
|
||||
const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};
|
||||
const width = sizes.width || element.clientWidth || result.width;
|
||||
const height = sizes.height || element.clientHeight || result.height;
|
||||
|
||||
let horizScrollbar = element.offsetWidth - width;
|
||||
let vertScrollbar = element.offsetHeight - height;
|
||||
@@ -375,7 +387,7 @@ function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition =
|
||||
const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
|
||||
|
||||
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
|
||||
if (fixedPosition && parent.nodeName === 'HTML') {
|
||||
if (fixedPosition && isHTML) {
|
||||
parentRect.top = Math.max(parentRect.top, 0);
|
||||
parentRect.left = Math.max(parentRect.left, 0);
|
||||
}
|
||||
@@ -448,7 +460,11 @@ function isFixed(element) {
|
||||
if (getStyleComputedProperty(element, 'position') === 'fixed') {
|
||||
return true;
|
||||
}
|
||||
return isFixed(getParentNode(element));
|
||||
const parentNode = getParentNode(element);
|
||||
if (!parentNode) {
|
||||
return false;
|
||||
}
|
||||
return isFixed(parentNode);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -486,7 +502,7 @@ function getBoundaries(popper, reference, padding, boundariesElement, fixedPosit
|
||||
// NOTE: 1 DOM access here
|
||||
|
||||
let boundaries = { top: 0, left: 0 };
|
||||
const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
|
||||
const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));
|
||||
|
||||
// Handle viewport case
|
||||
if (boundariesElement === 'viewport') {
|
||||
@@ -509,7 +525,7 @@ function getBoundaries(popper, reference, padding, boundariesElement, fixedPosit
|
||||
|
||||
// In case of HTML, we need a different computation
|
||||
if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
|
||||
const { height, width } = getWindowSizes();
|
||||
const { height, width } = getWindowSizes(popper.ownerDocument);
|
||||
boundaries.top += offsets.top - offsets.marginTop;
|
||||
boundaries.bottom = height + offsets.top;
|
||||
boundaries.left += offsets.left - offsets.marginLeft;
|
||||
@@ -521,10 +537,12 @@ function getBoundaries(popper, reference, padding, boundariesElement, fixedPosit
|
||||
}
|
||||
|
||||
// Add paddings
|
||||
boundaries.left += padding;
|
||||
boundaries.top += padding;
|
||||
boundaries.right -= padding;
|
||||
boundaries.bottom -= padding;
|
||||
padding = padding || 0;
|
||||
const isPaddingNumber = typeof padding === 'number';
|
||||
boundaries.left += isPaddingNumber ? padding : padding.left || 0;
|
||||
boundaries.top += isPaddingNumber ? padding : padding.top || 0;
|
||||
boundaries.right -= isPaddingNumber ? padding : padding.right || 0;
|
||||
boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;
|
||||
|
||||
return boundaries;
|
||||
}
|
||||
@@ -583,14 +601,15 @@ function computeAutoPlacement(placement, refRect, popper, reference, boundariesE
|
||||
return computedPlacement + (variation ? `-${variation}` : '');
|
||||
}
|
||||
|
||||
const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
|
||||
let timeoutDuration = 0;
|
||||
for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {
|
||||
if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
|
||||
timeoutDuration = 1;
|
||||
break;
|
||||
const timeoutDuration = function () {
|
||||
const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
|
||||
for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {
|
||||
if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}();
|
||||
|
||||
function microtaskDebounce(fn) {
|
||||
let called = false;
|
||||
@@ -681,7 +700,7 @@ function findIndex(arr, prop, value) {
|
||||
function getOffsetRect(element) {
|
||||
let elementRect;
|
||||
if (element.nodeName === 'HTML') {
|
||||
const { width, height } = getWindowSizes();
|
||||
const { width, height } = getWindowSizes(element.ownerDocument);
|
||||
elementRect = {
|
||||
width,
|
||||
height,
|
||||
@@ -709,9 +728,10 @@ function getOffsetRect(element) {
|
||||
* @returns {Object} object containing width and height properties
|
||||
*/
|
||||
function getOuterSizes(element) {
|
||||
const styles = getComputedStyle(element);
|
||||
const x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);
|
||||
const y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);
|
||||
const window = element.ownerDocument.defaultView;
|
||||
const styles = window.getComputedStyle(element);
|
||||
const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);
|
||||
const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);
|
||||
const result = {
|
||||
width: element.offsetWidth + y,
|
||||
height: element.offsetHeight + x
|
||||
@@ -781,7 +801,7 @@ function getPopperOffsets(popper, referenceOffsets, placement) {
|
||||
* @returns {Object} An object containing the offsets which will be applied to the popper
|
||||
*/
|
||||
function getReferenceOffsets(state, popper, reference, fixedPosition = null) {
|
||||
const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
|
||||
const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));
|
||||
return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**!
|
||||
* @fileOverview Kickass library to create and place poppers near their reference elements.
|
||||
* @version 1.14.3
|
||||
* @version 1.16.0
|
||||
* @license
|
||||
* Copyright (c) 2016 Federico Zivolo and contributors
|
||||
*
|
||||
@@ -22,16 +22,17 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
|
||||
var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';
|
||||
|
||||
const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
|
||||
let timeoutDuration = 0;
|
||||
for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {
|
||||
if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
|
||||
timeoutDuration = 1;
|
||||
break;
|
||||
const timeoutDuration = function () {
|
||||
const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
|
||||
for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {
|
||||
if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}();
|
||||
|
||||
function microtaskDebounce(fn) {
|
||||
let called = false;
|
||||
@@ -97,7 +98,8 @@ function getStyleComputedProperty(element, property) {
|
||||
return [];
|
||||
}
|
||||
// NOTE: 1 DOM access here
|
||||
const css = getComputedStyle(element, null);
|
||||
const window = element.ownerDocument.defaultView;
|
||||
const css = window.getComputedStyle(element, null);
|
||||
return property ? css[property] : css;
|
||||
}
|
||||
|
||||
@@ -145,6 +147,17 @@ function getScrollParent(element) {
|
||||
return getScrollParent(getParentNode(element));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the reference node of the reference object, or the reference object itself.
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @param {Element|Object} reference - the reference element (the popper will be relative to this)
|
||||
* @returns {Element} parent
|
||||
*/
|
||||
function getReferenceNode(reference) {
|
||||
return reference && reference.referenceNode ? reference.referenceNode : reference;
|
||||
}
|
||||
|
||||
const isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);
|
||||
const isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);
|
||||
|
||||
@@ -180,7 +193,7 @@ function getOffsetParent(element) {
|
||||
const noOffsetParent = isIE(10) ? document.body : null;
|
||||
|
||||
// NOTE: 1 DOM access here
|
||||
let offsetParent = element.offsetParent;
|
||||
let offsetParent = element.offsetParent || null;
|
||||
// Skip hidden elements which don't have an offsetParent
|
||||
while (offsetParent === noOffsetParent && element.nextElementSibling) {
|
||||
offsetParent = (element = element.nextElementSibling).offsetParent;
|
||||
@@ -192,9 +205,9 @@ function getOffsetParent(element) {
|
||||
return element ? element.ownerDocument.documentElement : document.documentElement;
|
||||
}
|
||||
|
||||
// .offsetParent will return the closest TD or TABLE in case
|
||||
// .offsetParent will return the closest TH, TD or TABLE in case
|
||||
// no offsetParent is present, I hate this job...
|
||||
if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
|
||||
if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
|
||||
return getOffsetParent(offsetParent);
|
||||
}
|
||||
|
||||
@@ -326,10 +339,10 @@ function getBordersSize(styles, axis) {
|
||||
}
|
||||
|
||||
function getSize(axis, body, html, computedStyle) {
|
||||
return Math.max(body[`offset${axis}`], body[`scroll${axis}`], html[`client${axis}`], html[`offset${axis}`], html[`scroll${axis}`], isIE(10) ? html[`offset${axis}`] + computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`] + computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`] : 0);
|
||||
return Math.max(body[`offset${axis}`], body[`scroll${axis}`], html[`client${axis}`], html[`offset${axis}`], html[`scroll${axis}`], isIE(10) ? parseInt(html[`offset${axis}`]) + parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]) : 0);
|
||||
}
|
||||
|
||||
function getWindowSizes() {
|
||||
function getWindowSizes(document) {
|
||||
const body = document.body;
|
||||
const html = document.documentElement;
|
||||
const computedStyle = isIE(10) && getComputedStyle(html);
|
||||
@@ -403,9 +416,9 @@ function getBoundingClientRect(element) {
|
||||
};
|
||||
|
||||
// subtract scrollbar size from sizes
|
||||
const sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};
|
||||
const width = sizes.width || element.clientWidth || result.right - result.left;
|
||||
const height = sizes.height || element.clientHeight || result.bottom - result.top;
|
||||
const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};
|
||||
const width = sizes.width || element.clientWidth || result.width;
|
||||
const height = sizes.height || element.clientHeight || result.height;
|
||||
|
||||
let horizScrollbar = element.offsetWidth - width;
|
||||
let vertScrollbar = element.offsetHeight - height;
|
||||
@@ -436,7 +449,7 @@ function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition =
|
||||
const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
|
||||
|
||||
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
|
||||
if (fixedPosition && parent.nodeName === 'HTML') {
|
||||
if (fixedPosition && isHTML) {
|
||||
parentRect.top = Math.max(parentRect.top, 0);
|
||||
parentRect.left = Math.max(parentRect.left, 0);
|
||||
}
|
||||
@@ -509,7 +522,11 @@ function isFixed(element) {
|
||||
if (getStyleComputedProperty(element, 'position') === 'fixed') {
|
||||
return true;
|
||||
}
|
||||
return isFixed(getParentNode(element));
|
||||
const parentNode = getParentNode(element);
|
||||
if (!parentNode) {
|
||||
return false;
|
||||
}
|
||||
return isFixed(parentNode);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -547,7 +564,7 @@ function getBoundaries(popper, reference, padding, boundariesElement, fixedPosit
|
||||
// NOTE: 1 DOM access here
|
||||
|
||||
let boundaries = { top: 0, left: 0 };
|
||||
const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
|
||||
const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));
|
||||
|
||||
// Handle viewport case
|
||||
if (boundariesElement === 'viewport') {
|
||||
@@ -570,7 +587,7 @@ function getBoundaries(popper, reference, padding, boundariesElement, fixedPosit
|
||||
|
||||
// In case of HTML, we need a different computation
|
||||
if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
|
||||
const { height, width } = getWindowSizes();
|
||||
const { height, width } = getWindowSizes(popper.ownerDocument);
|
||||
boundaries.top += offsets.top - offsets.marginTop;
|
||||
boundaries.bottom = height + offsets.top;
|
||||
boundaries.left += offsets.left - offsets.marginLeft;
|
||||
@@ -582,10 +599,12 @@ function getBoundaries(popper, reference, padding, boundariesElement, fixedPosit
|
||||
}
|
||||
|
||||
// Add paddings
|
||||
boundaries.left += padding;
|
||||
boundaries.top += padding;
|
||||
boundaries.right -= padding;
|
||||
boundaries.bottom -= padding;
|
||||
padding = padding || 0;
|
||||
const isPaddingNumber = typeof padding === 'number';
|
||||
boundaries.left += isPaddingNumber ? padding : padding.left || 0;
|
||||
boundaries.top += isPaddingNumber ? padding : padding.top || 0;
|
||||
boundaries.right -= isPaddingNumber ? padding : padding.right || 0;
|
||||
boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;
|
||||
|
||||
return boundaries;
|
||||
}
|
||||
@@ -655,7 +674,7 @@ function computeAutoPlacement(placement, refRect, popper, reference, boundariesE
|
||||
* @returns {Object} An object containing the offsets which will be applied to the popper
|
||||
*/
|
||||
function getReferenceOffsets(state, popper, reference, fixedPosition = null) {
|
||||
const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
|
||||
const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));
|
||||
return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);
|
||||
}
|
||||
|
||||
@@ -667,9 +686,10 @@ function getReferenceOffsets(state, popper, reference, fixedPosition = null) {
|
||||
* @returns {Object} object containing width and height properties
|
||||
*/
|
||||
function getOuterSizes(element) {
|
||||
const styles = getComputedStyle(element);
|
||||
const x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);
|
||||
const y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);
|
||||
const window = element.ownerDocument.defaultView;
|
||||
const styles = window.getComputedStyle(element);
|
||||
const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);
|
||||
const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);
|
||||
const result = {
|
||||
width: element.offsetWidth + y,
|
||||
height: element.offsetHeight + x
|
||||
@@ -885,7 +905,7 @@ function getSupportedPropertyName(property) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Destroy the popper
|
||||
* Destroys the popper.
|
||||
* @method
|
||||
* @memberof Popper
|
||||
*/
|
||||
@@ -906,7 +926,7 @@ function destroy() {
|
||||
|
||||
this.disableEventListeners();
|
||||
|
||||
// remove the popper if user explicity asked for the deletion on destroy
|
||||
// remove the popper if user explicitly asked for the deletion on destroy
|
||||
// do not use `remove` because IE11 doesn't support it
|
||||
if (this.options.removeOnDestroy) {
|
||||
this.popper.parentNode.removeChild(this.popper);
|
||||
@@ -992,7 +1012,7 @@ function removeEventListeners(reference, state) {
|
||||
|
||||
/**
|
||||
* It will remove resize/scroll events and won't recalculate popper position
|
||||
* when they are triggered. It also won't trigger onUpdate callback anymore,
|
||||
* when they are triggered. It also won't trigger `onUpdate` callback anymore,
|
||||
* unless you call `update` method manually.
|
||||
* @method
|
||||
* @memberof Popper
|
||||
@@ -1109,6 +1129,51 @@ function applyStyleOnLoad(reference, popper, options, modifierOptions, state) {
|
||||
return options;
|
||||
}
|
||||
|
||||
/**
|
||||
* @function
|
||||
* @memberof Popper.Utils
|
||||
* @argument {Object} data - The data object generated by `update` method
|
||||
* @argument {Boolean} shouldRound - If the offsets should be rounded at all
|
||||
* @returns {Object} The popper's position offsets rounded
|
||||
*
|
||||
* The tale of pixel-perfect positioning. It's still not 100% perfect, but as
|
||||
* good as it can be within reason.
|
||||
* Discussion here: https://github.com/FezVrasta/popper.js/pull/715
|
||||
*
|
||||
* Low DPI screens cause a popper to be blurry if not using full pixels (Safari
|
||||
* as well on High DPI screens).
|
||||
*
|
||||
* Firefox prefers no rounding for positioning and does not have blurriness on
|
||||
* high DPI screens.
|
||||
*
|
||||
* Only horizontal placement and left/right values need to be considered.
|
||||
*/
|
||||
function getRoundedOffsets(data, shouldRound) {
|
||||
const { popper, reference } = data.offsets;
|
||||
const { round, floor } = Math;
|
||||
const noRound = v => v;
|
||||
|
||||
const referenceWidth = round(reference.width);
|
||||
const popperWidth = round(popper.width);
|
||||
|
||||
const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;
|
||||
const isVariation = data.placement.indexOf('-') !== -1;
|
||||
const sameWidthParity = referenceWidth % 2 === popperWidth % 2;
|
||||
const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;
|
||||
|
||||
const horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;
|
||||
const verticalToInteger = !shouldRound ? noRound : round;
|
||||
|
||||
return {
|
||||
left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),
|
||||
top: verticalToInteger(popper.top),
|
||||
bottom: verticalToInteger(popper.bottom),
|
||||
right: horizontalToInteger(popper.right)
|
||||
};
|
||||
}
|
||||
|
||||
const isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);
|
||||
|
||||
/**
|
||||
* @function
|
||||
* @memberof Modifiers
|
||||
@@ -1135,15 +1200,7 @@ function computeStyle(data, options) {
|
||||
position: popper.position
|
||||
};
|
||||
|
||||
// Avoid blurry text by using full pixel integers.
|
||||
// For pixel-perfect positioning, top/bottom prefers rounded
|
||||
// values, while left/right prefers floored values.
|
||||
const offsets = {
|
||||
left: Math.floor(popper.left),
|
||||
top: Math.round(popper.top),
|
||||
bottom: Math.round(popper.bottom),
|
||||
right: Math.floor(popper.right)
|
||||
};
|
||||
const offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);
|
||||
|
||||
const sideA = x === 'bottom' ? 'top' : 'bottom';
|
||||
const sideB = y === 'right' ? 'left' : 'right';
|
||||
@@ -1164,12 +1221,22 @@ function computeStyle(data, options) {
|
||||
// its bottom.
|
||||
let left, top;
|
||||
if (sideA === 'bottom') {
|
||||
top = -offsetParentRect.height + offsets.bottom;
|
||||
// when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)
|
||||
// and not the bottom of the html element
|
||||
if (offsetParent.nodeName === 'HTML') {
|
||||
top = -offsetParent.clientHeight + offsets.bottom;
|
||||
} else {
|
||||
top = -offsetParentRect.height + offsets.bottom;
|
||||
}
|
||||
} else {
|
||||
top = offsets.top;
|
||||
}
|
||||
if (sideB === 'right') {
|
||||
left = -offsetParentRect.width + offsets.right;
|
||||
if (offsetParent.nodeName === 'HTML') {
|
||||
left = -offsetParent.clientWidth + offsets.right;
|
||||
} else {
|
||||
left = -offsetParentRect.width + offsets.right;
|
||||
}
|
||||
} else {
|
||||
left = offsets.left;
|
||||
}
|
||||
@@ -1270,7 +1337,7 @@ function arrow(data, options) {
|
||||
|
||||
//
|
||||
// extends keepTogether behavior making sure the popper and its
|
||||
// reference have enough pixels in conjuction
|
||||
// reference have enough pixels in conjunction
|
||||
//
|
||||
|
||||
// top/left side
|
||||
@@ -1343,7 +1410,7 @@ function getOppositeVariation(variation) {
|
||||
* - `top-end` (on top of reference, right aligned)
|
||||
* - `right-start` (on right of reference, top aligned)
|
||||
* - `bottom` (on bottom, centered)
|
||||
* - `auto-right` (on the side with more space available, alignment depends by placement)
|
||||
* - `auto-end` (on the side with more space available, alignment depends by placement)
|
||||
*
|
||||
* @static
|
||||
* @type {Array}
|
||||
@@ -1443,7 +1510,14 @@ function flip(data, options) {
|
||||
|
||||
// flip the variation if required
|
||||
const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
|
||||
const flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);
|
||||
|
||||
// flips variation if reference element overflows boundaries
|
||||
const flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);
|
||||
|
||||
// flips variation if popper content overflows boundaries
|
||||
const flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);
|
||||
|
||||
const flippedVariation = flippedVariationByRef || flippedVariationByContent;
|
||||
|
||||
if (overlapsRef || overflowsBoundaries || flippedVariation) {
|
||||
// this boolean to detect any flip loop
|
||||
@@ -1860,7 +1934,7 @@ var modifiers = {
|
||||
* The `offset` modifier can shift your popper on both its axis.
|
||||
*
|
||||
* It accepts the following units:
|
||||
* - `px` or unitless, interpreted as pixels
|
||||
* - `px` or unit-less, interpreted as pixels
|
||||
* - `%` or `%r`, percentage relative to the length of the reference element
|
||||
* - `%p`, percentage relative to the length of the popper element
|
||||
* - `vw`, CSS viewport width unit
|
||||
@@ -1868,7 +1942,7 @@ var modifiers = {
|
||||
*
|
||||
* For length is intended the main axis relative to the placement of the popper.<br />
|
||||
* This means that if the placement is `top` or `bottom`, the length will be the
|
||||
* `width`. In case of `left` or `right`, it will be the height.
|
||||
* `width`. In case of `left` or `right`, it will be the `height`.
|
||||
*
|
||||
* You can provide a single value (as `Number` or `String`), or a pair of values
|
||||
* as `String` divided by a comma or one (or more) white spaces.<br />
|
||||
@@ -1889,7 +1963,7 @@ var modifiers = {
|
||||
* ```
|
||||
* > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap
|
||||
* > with their reference element, unfortunately, you will have to disable the `flip` modifier.
|
||||
* > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)
|
||||
* > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).
|
||||
*
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
@@ -1910,7 +1984,7 @@ var modifiers = {
|
||||
/**
|
||||
* Modifier used to prevent the popper from being positioned outside the boundary.
|
||||
*
|
||||
* An scenario exists where the reference itself is not within the boundaries.<br />
|
||||
* A scenario exists where the reference itself is not within the boundaries.<br />
|
||||
* We can say it has "escaped the boundaries" — or just "escaped".<br />
|
||||
* In this case we need to decide whether the popper should either:
|
||||
*
|
||||
@@ -1940,23 +2014,23 @@ var modifiers = {
|
||||
/**
|
||||
* @prop {number} padding=5
|
||||
* Amount of pixel used to define a minimum distance between the boundaries
|
||||
* and the popper this makes sure the popper has always a little padding
|
||||
* and the popper. This makes sure the popper always has a little padding
|
||||
* between the edges of its container
|
||||
*/
|
||||
padding: 5,
|
||||
/**
|
||||
* @prop {String|HTMLElement} boundariesElement='scrollParent'
|
||||
* Boundaries used by the modifier, can be `scrollParent`, `window`,
|
||||
* Boundaries used by the modifier. Can be `scrollParent`, `window`,
|
||||
* `viewport` or any DOM element.
|
||||
*/
|
||||
boundariesElement: 'scrollParent'
|
||||
},
|
||||
|
||||
/**
|
||||
* Modifier used to make sure the reference and its popper stay near eachothers
|
||||
* without leaving any gap between the two. Expecially useful when the arrow is
|
||||
* enabled and you want to assure it to point to its reference element.
|
||||
* It cares only about the first axis, you can still have poppers with margin
|
||||
* Modifier used to make sure the reference and its popper stay near each other
|
||||
* without leaving any gap between the two. Especially useful when the arrow is
|
||||
* enabled and you want to ensure that it points to its reference element.
|
||||
* It cares only about the first axis. You can still have poppers with margin
|
||||
* between the popper and its reference element.
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
@@ -1974,7 +2048,7 @@ var modifiers = {
|
||||
* This modifier is used to move the `arrowElement` of the popper to make
|
||||
* sure it is positioned between the reference element and its popper element.
|
||||
* It will read the outer size of the `arrowElement` node to detect how many
|
||||
* pixels of conjuction are needed.
|
||||
* pixels of conjunction are needed.
|
||||
*
|
||||
* It has no effect if no `arrowElement` is provided.
|
||||
* @memberof modifiers
|
||||
@@ -2013,7 +2087,7 @@ var modifiers = {
|
||||
* @prop {String|Array} behavior='flip'
|
||||
* The behavior used to change the popper's placement. It can be one of
|
||||
* `flip`, `clockwise`, `counterclockwise` or an array with a list of valid
|
||||
* placements (with optional variations).
|
||||
* placements (with optional variations)
|
||||
*/
|
||||
behavior: 'flip',
|
||||
/**
|
||||
@@ -2023,11 +2097,27 @@ var modifiers = {
|
||||
padding: 5,
|
||||
/**
|
||||
* @prop {String|HTMLElement} boundariesElement='viewport'
|
||||
* The element which will define the boundaries of the popper position,
|
||||
* the popper will never be placed outside of the defined boundaries
|
||||
* (except if keepTogether is enabled)
|
||||
* The element which will define the boundaries of the popper position.
|
||||
* The popper will never be placed outside of the defined boundaries
|
||||
* (except if `keepTogether` is enabled)
|
||||
*/
|
||||
boundariesElement: 'viewport'
|
||||
boundariesElement: 'viewport',
|
||||
/**
|
||||
* @prop {Boolean} flipVariations=false
|
||||
* The popper will switch placement variation between `-start` and `-end` when
|
||||
* the reference element overlaps its boundaries.
|
||||
*
|
||||
* The original placement should have a set variation.
|
||||
*/
|
||||
flipVariations: false,
|
||||
/**
|
||||
* @prop {Boolean} flipVariationsByContent=false
|
||||
* The popper will switch placement variation between `-start` and `-end` when
|
||||
* the popper element overlaps its reference boundaries.
|
||||
*
|
||||
* The original placement should have a set variation.
|
||||
*/
|
||||
flipVariationsByContent: false
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -2089,8 +2179,8 @@ var modifiers = {
|
||||
fn: computeStyle,
|
||||
/**
|
||||
* @prop {Boolean} gpuAcceleration=true
|
||||
* If true, it uses the CSS 3d transformation to position the popper.
|
||||
* Otherwise, it will use the `top` and `left` properties.
|
||||
* If true, it uses the CSS 3D transformation to position the popper.
|
||||
* Otherwise, it will use the `top` and `left` properties
|
||||
*/
|
||||
gpuAcceleration: true,
|
||||
/**
|
||||
@@ -2117,7 +2207,7 @@ var modifiers = {
|
||||
* Note that if you disable this modifier, you must make sure the popper element
|
||||
* has its position set to `absolute` before Popper.js can do its work!
|
||||
*
|
||||
* Just disable this modifier and define you own to achieve the desired effect.
|
||||
* Just disable this modifier and define your own to achieve the desired effect.
|
||||
*
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
@@ -2134,27 +2224,27 @@ var modifiers = {
|
||||
/**
|
||||
* @deprecated since version 1.10.0, the property moved to `computeStyle` modifier
|
||||
* @prop {Boolean} gpuAcceleration=true
|
||||
* If true, it uses the CSS 3d transformation to position the popper.
|
||||
* Otherwise, it will use the `top` and `left` properties.
|
||||
* If true, it uses the CSS 3D transformation to position the popper.
|
||||
* Otherwise, it will use the `top` and `left` properties
|
||||
*/
|
||||
gpuAcceleration: undefined
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* The `dataObject` is an object containing all the informations used by Popper.js
|
||||
* this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.
|
||||
* The `dataObject` is an object containing all the information used by Popper.js.
|
||||
* This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.
|
||||
* @name dataObject
|
||||
* @property {Object} data.instance The Popper.js instance
|
||||
* @property {String} data.placement Placement applied to popper
|
||||
* @property {String} data.originalPlacement Placement originally defined on init
|
||||
* @property {Boolean} data.flipped True if popper has been flipped by flip modifier
|
||||
* @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.
|
||||
* @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper
|
||||
* @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier
|
||||
* @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)
|
||||
* @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)
|
||||
* @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)
|
||||
* @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)
|
||||
* @property {Object} data.boundaries Offsets of the popper boundaries
|
||||
* @property {Object} data.offsets The measurements of popper, reference and arrow elements.
|
||||
* @property {Object} data.offsets The measurements of popper, reference and arrow elements
|
||||
* @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values
|
||||
* @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values
|
||||
* @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0
|
||||
@@ -2162,9 +2252,9 @@ var modifiers = {
|
||||
|
||||
/**
|
||||
* Default options provided to Popper.js constructor.<br />
|
||||
* These can be overriden using the `options` argument of Popper.js.<br />
|
||||
* To override an option, simply pass as 3rd argument an object with the same
|
||||
* structure of this object, example:
|
||||
* These can be overridden using the `options` argument of Popper.js.<br />
|
||||
* To override an option, simply pass an object with the same
|
||||
* structure of the `options` object, as the 3rd argument. For example:
|
||||
* ```
|
||||
* new Popper(ref, pop, {
|
||||
* modifiers: {
|
||||
@@ -2178,7 +2268,7 @@ var modifiers = {
|
||||
*/
|
||||
var Defaults = {
|
||||
/**
|
||||
* Popper's placement
|
||||
* Popper's placement.
|
||||
* @prop {Popper.placements} placement='bottom'
|
||||
*/
|
||||
placement: 'bottom',
|
||||
@@ -2190,7 +2280,7 @@ var Defaults = {
|
||||
positionFixed: false,
|
||||
|
||||
/**
|
||||
* Whether events (resize, scroll) are initially enabled
|
||||
* Whether events (resize, scroll) are initially enabled.
|
||||
* @prop {Boolean} eventsEnabled=true
|
||||
*/
|
||||
eventsEnabled: true,
|
||||
@@ -2204,17 +2294,17 @@ var Defaults = {
|
||||
|
||||
/**
|
||||
* Callback called when the popper is created.<br />
|
||||
* By default, is set to no-op.<br />
|
||||
* By default, it is set to no-op.<br />
|
||||
* Access Popper.js instance with `data.instance`.
|
||||
* @prop {onCreate}
|
||||
*/
|
||||
onCreate: () => {},
|
||||
|
||||
/**
|
||||
* Callback called when the popper is updated, this callback is not called
|
||||
* Callback called when the popper is updated. This callback is not called
|
||||
* on the initialization/creation of the popper, but only on subsequent
|
||||
* updates.<br />
|
||||
* By default, is set to no-op.<br />
|
||||
* By default, it is set to no-op.<br />
|
||||
* Access Popper.js instance with `data.instance`.
|
||||
* @prop {onUpdate}
|
||||
*/
|
||||
@@ -2222,7 +2312,7 @@ var Defaults = {
|
||||
|
||||
/**
|
||||
* List of modifiers used to modify the offsets before they are applied to the popper.
|
||||
* They provide most of the functionalities of Popper.js
|
||||
* They provide most of the functionalities of Popper.js.
|
||||
* @prop {modifiers}
|
||||
*/
|
||||
modifiers
|
||||
@@ -2242,10 +2332,10 @@ var Defaults = {
|
||||
// Methods
|
||||
class Popper {
|
||||
/**
|
||||
* Create a new Popper.js instance
|
||||
* Creates a new Popper.js instance.
|
||||
* @class Popper
|
||||
* @param {HTMLElement|referenceObject} reference - The reference element used to position the popper
|
||||
* @param {HTMLElement} popper - The HTML element used as popper.
|
||||
* @param {Element|referenceObject} reference - The reference element used to position the popper
|
||||
* @param {Element} popper - The HTML / XML element used as the popper
|
||||
* @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)
|
||||
* @return {Object} instance - The generated Popper.js instance
|
||||
*/
|
||||
@@ -2320,7 +2410,7 @@ class Popper {
|
||||
}
|
||||
|
||||
/**
|
||||
* Schedule an update, it will run on the next UI update available
|
||||
* Schedules an update. It will run on the next UI update available.
|
||||
* @method scheduleUpdate
|
||||
* @memberof Popper
|
||||
*/
|
||||
@@ -2354,7 +2444,7 @@ class Popper {
|
||||
* new Popper(referenceObject, popperNode);
|
||||
* ```
|
||||
*
|
||||
* NB: This feature isn't supported in Internet Explorer 10
|
||||
* NB: This feature isn't supported in Internet Explorer 10.
|
||||
* @name referenceObject
|
||||
* @property {Function} data.getBoundingClientRect
|
||||
* A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
// Utils
|
||||
import debounce from './utils/debounce';
|
||||
import isFunction from './utils/isFunction';
|
||||
|
||||
// Methods
|
||||
import update from './methods/update';
|
||||
import destroy from './methods/destroy';
|
||||
import enableEventListeners from './methods/enableEventListeners';
|
||||
import disableEventListeners from './methods/disableEventListeners';
|
||||
import Defaults from './methods/defaults';
|
||||
import placements from './methods/placements';
|
||||
|
||||
export default class Popper {
|
||||
/**
|
||||
* Creates a new Popper.js instance.
|
||||
* @class Popper
|
||||
* @param {Element|referenceObject} reference - The reference element used to position the popper
|
||||
* @param {Element} popper - The HTML / XML element used as the popper
|
||||
* @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)
|
||||
* @return {Object} instance - The generated Popper.js instance
|
||||
*/
|
||||
constructor(reference, popper, options = {}) {
|
||||
// make update() debounced, so that it only runs at most once-per-tick
|
||||
this.update = debounce(this.update.bind(this));
|
||||
|
||||
// with {} we create a new object with the options inside it
|
||||
this.options = { ...Popper.Defaults, ...options };
|
||||
|
||||
// init state
|
||||
this.state = {
|
||||
isDestroyed: false,
|
||||
isCreated: false,
|
||||
scrollParents: [],
|
||||
};
|
||||
|
||||
// get reference and popper elements (allow jQuery wrappers)
|
||||
this.reference = reference && reference.jquery ? reference[0] : reference;
|
||||
this.popper = popper && popper.jquery ? popper[0] : popper;
|
||||
|
||||
// Deep merge modifiers options
|
||||
this.options.modifiers = {};
|
||||
Object.keys({
|
||||
...Popper.Defaults.modifiers,
|
||||
...options.modifiers,
|
||||
}).forEach(name => {
|
||||
this.options.modifiers[name] = {
|
||||
// If it's a built-in modifier, use it as base
|
||||
...(Popper.Defaults.modifiers[name] || {}),
|
||||
// If there are custom options, override and merge with default ones
|
||||
...(options.modifiers ? options.modifiers[name] : {}),
|
||||
};
|
||||
});
|
||||
|
||||
// Refactoring modifiers' list (Object => Array)
|
||||
this.modifiers = Object.keys(this.options.modifiers)
|
||||
.map(name => ({
|
||||
name,
|
||||
...this.options.modifiers[name],
|
||||
}))
|
||||
// sort the modifiers by order
|
||||
.sort((a, b) => a.order - b.order);
|
||||
|
||||
// modifiers have the ability to execute arbitrary code when Popper.js get inited
|
||||
// such code is executed in the same order of its modifier
|
||||
// they could add new properties to their options configuration
|
||||
// BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!
|
||||
this.modifiers.forEach(modifierOptions => {
|
||||
if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {
|
||||
modifierOptions.onLoad(
|
||||
this.reference,
|
||||
this.popper,
|
||||
this.options,
|
||||
modifierOptions,
|
||||
this.state
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
// fire the first update to position the popper in the right place
|
||||
this.update();
|
||||
|
||||
const eventsEnabled = this.options.eventsEnabled;
|
||||
if (eventsEnabled) {
|
||||
// setup event listeners, they will take care of update the position in specific situations
|
||||
this.enableEventListeners();
|
||||
}
|
||||
|
||||
this.state.eventsEnabled = eventsEnabled;
|
||||
}
|
||||
|
||||
// We can't use class properties because they don't get listed in the
|
||||
// class prototype and break stuff like Sinon stubs
|
||||
update() {
|
||||
return update.call(this);
|
||||
}
|
||||
destroy() {
|
||||
return destroy.call(this);
|
||||
}
|
||||
enableEventListeners() {
|
||||
return enableEventListeners.call(this);
|
||||
}
|
||||
disableEventListeners() {
|
||||
return disableEventListeners.call(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Schedules an update. It will run on the next UI update available.
|
||||
* @method scheduleUpdate
|
||||
* @memberof Popper
|
||||
*/
|
||||
scheduleUpdate = () => requestAnimationFrame(this.update);
|
||||
|
||||
/**
|
||||
* Collection of utilities useful when writing custom modifiers.
|
||||
* Starting from version 1.7, this method is available only if you
|
||||
* include `popper-utils.js` before `popper.js`.
|
||||
*
|
||||
* **DEPRECATION**: This way to access PopperUtils is deprecated
|
||||
* and will be removed in v2! Use the PopperUtils module directly instead.
|
||||
* Due to the high instability of the methods contained in Utils, we can't
|
||||
* guarantee them to follow semver. Use them at your own risk!
|
||||
* @static
|
||||
* @private
|
||||
* @type {Object}
|
||||
* @deprecated since version 1.8
|
||||
* @member Utils
|
||||
* @memberof Popper
|
||||
*/
|
||||
static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;
|
||||
|
||||
static placements = placements;
|
||||
|
||||
static Defaults = Defaults;
|
||||
}
|
||||
|
||||
/**
|
||||
* The `referenceObject` is an object that provides an interface compatible with Popper.js
|
||||
* and lets you use it as replacement of a real DOM node.<br />
|
||||
* You can use this method to position a popper relatively to a set of coordinates
|
||||
* in case you don't have a DOM node to use as reference.
|
||||
*
|
||||
* ```
|
||||
* new Popper(referenceObject, popperNode);
|
||||
* ```
|
||||
*
|
||||
* NB: This feature isn't supported in Internet Explorer 10.
|
||||
* @name referenceObject
|
||||
* @property {Function} data.getBoundingClientRect
|
||||
* A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.
|
||||
* @property {number} data.clientWidth
|
||||
* An ES6 getter that will return the width of the virtual reference element.
|
||||
* @property {number} data.clientHeight
|
||||
* An ES6 getter that will return the height of the virtual reference element.
|
||||
*/
|
||||
@@ -0,0 +1,79 @@
|
||||
import modifiers from '../modifiers/index';
|
||||
|
||||
/**
|
||||
* Default options provided to Popper.js constructor.<br />
|
||||
* These can be overridden using the `options` argument of Popper.js.<br />
|
||||
* To override an option, simply pass an object with the same
|
||||
* structure of the `options` object, as the 3rd argument. For example:
|
||||
* ```
|
||||
* new Popper(ref, pop, {
|
||||
* modifiers: {
|
||||
* preventOverflow: { enabled: false }
|
||||
* }
|
||||
* })
|
||||
* ```
|
||||
* @type {Object}
|
||||
* @static
|
||||
* @memberof Popper
|
||||
*/
|
||||
export default {
|
||||
/**
|
||||
* Popper's placement.
|
||||
* @prop {Popper.placements} placement='bottom'
|
||||
*/
|
||||
placement: 'bottom',
|
||||
|
||||
/**
|
||||
* Set this to true if you want popper to position it self in 'fixed' mode
|
||||
* @prop {Boolean} positionFixed=false
|
||||
*/
|
||||
positionFixed: false,
|
||||
|
||||
/**
|
||||
* Whether events (resize, scroll) are initially enabled.
|
||||
* @prop {Boolean} eventsEnabled=true
|
||||
*/
|
||||
eventsEnabled: true,
|
||||
|
||||
/**
|
||||
* Set to true if you want to automatically remove the popper when
|
||||
* you call the `destroy` method.
|
||||
* @prop {Boolean} removeOnDestroy=false
|
||||
*/
|
||||
removeOnDestroy: false,
|
||||
|
||||
/**
|
||||
* Callback called when the popper is created.<br />
|
||||
* By default, it is set to no-op.<br />
|
||||
* Access Popper.js instance with `data.instance`.
|
||||
* @prop {onCreate}
|
||||
*/
|
||||
onCreate: () => {},
|
||||
|
||||
/**
|
||||
* Callback called when the popper is updated. This callback is not called
|
||||
* on the initialization/creation of the popper, but only on subsequent
|
||||
* updates.<br />
|
||||
* By default, it is set to no-op.<br />
|
||||
* Access Popper.js instance with `data.instance`.
|
||||
* @prop {onUpdate}
|
||||
*/
|
||||
onUpdate: () => {},
|
||||
|
||||
/**
|
||||
* List of modifiers used to modify the offsets before they are applied to the popper.
|
||||
* They provide most of the functionalities of Popper.js.
|
||||
* @prop {modifiers}
|
||||
*/
|
||||
modifiers,
|
||||
};
|
||||
|
||||
/**
|
||||
* @callback onCreate
|
||||
* @param {dataObject} data
|
||||
*/
|
||||
|
||||
/**
|
||||
* @callback onUpdate
|
||||
* @param {dataObject} data
|
||||
*/
|
||||
@@ -0,0 +1,32 @@
|
||||
import isModifierEnabled from '../utils/isModifierEnabled';
|
||||
import getSupportedPropertyName from '../utils/getSupportedPropertyName';
|
||||
|
||||
/**
|
||||
* Destroys the popper.
|
||||
* @method
|
||||
* @memberof Popper
|
||||
*/
|
||||
export default function destroy() {
|
||||
this.state.isDestroyed = true;
|
||||
|
||||
// touch DOM only if `applyStyle` modifier is enabled
|
||||
if (isModifierEnabled(this.modifiers, 'applyStyle')) {
|
||||
this.popper.removeAttribute('x-placement');
|
||||
this.popper.style.position = '';
|
||||
this.popper.style.top = '';
|
||||
this.popper.style.left = '';
|
||||
this.popper.style.right = '';
|
||||
this.popper.style.bottom = '';
|
||||
this.popper.style.willChange = '';
|
||||
this.popper.style[getSupportedPropertyName('transform')] = '';
|
||||
}
|
||||
|
||||
this.disableEventListeners();
|
||||
|
||||
// remove the popper if user explicitly asked for the deletion on destroy
|
||||
// do not use `remove` because IE11 doesn't support it
|
||||
if (this.options.removeOnDestroy) {
|
||||
this.popper.parentNode.removeChild(this.popper);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
import removeEventListeners from '../utils/removeEventListeners';
|
||||
|
||||
/**
|
||||
* It will remove resize/scroll events and won't recalculate popper position
|
||||
* when they are triggered. It also won't trigger `onUpdate` callback anymore,
|
||||
* unless you call `update` method manually.
|
||||
* @method
|
||||
* @memberof Popper
|
||||
*/
|
||||
export default function disableEventListeners() {
|
||||
if (this.state.eventsEnabled) {
|
||||
cancelAnimationFrame(this.scheduleUpdate);
|
||||
this.state = removeEventListeners(this.reference, this.state);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
import setupEventListeners from '../utils/setupEventListeners';
|
||||
|
||||
/**
|
||||
* It will add resize/scroll events and start recalculating
|
||||
* position of the popper element when they are triggered.
|
||||
* @method
|
||||
* @memberof Popper
|
||||
*/
|
||||
export default function enableEventListeners() {
|
||||
if (!this.state.eventsEnabled) {
|
||||
this.state = setupEventListeners(
|
||||
this.reference,
|
||||
this.options,
|
||||
this.state,
|
||||
this.scheduleUpdate
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
/**
|
||||
* List of accepted placements to use as values of the `placement` option.<br />
|
||||
* Valid placements are:
|
||||
* - `auto`
|
||||
* - `top`
|
||||
* - `right`
|
||||
* - `bottom`
|
||||
* - `left`
|
||||
*
|
||||
* Each placement can have a variation from this list:
|
||||
* - `-start`
|
||||
* - `-end`
|
||||
*
|
||||
* Variations are interpreted easily if you think of them as the left to right
|
||||
* written languages. Horizontally (`top` and `bottom`), `start` is left and `end`
|
||||
* is right.<br />
|
||||
* Vertically (`left` and `right`), `start` is top and `end` is bottom.
|
||||
*
|
||||
* Some valid examples are:
|
||||
* - `top-end` (on top of reference, right aligned)
|
||||
* - `right-start` (on right of reference, top aligned)
|
||||
* - `bottom` (on bottom, centered)
|
||||
* - `auto-end` (on the side with more space available, alignment depends by placement)
|
||||
*
|
||||
* @static
|
||||
* @type {Array}
|
||||
* @enum {String}
|
||||
* @readonly
|
||||
* @method placements
|
||||
* @memberof Popper
|
||||
*/
|
||||
export default [
|
||||
'auto-start',
|
||||
'auto',
|
||||
'auto-end',
|
||||
'top-start',
|
||||
'top',
|
||||
'top-end',
|
||||
'right-start',
|
||||
'right',
|
||||
'right-end',
|
||||
'bottom-end',
|
||||
'bottom',
|
||||
'bottom-start',
|
||||
'left-end',
|
||||
'left',
|
||||
'left-start',
|
||||
];
|
||||
@@ -0,0 +1,75 @@
|
||||
import computeAutoPlacement from '../utils/computeAutoPlacement';
|
||||
import getReferenceOffsets from '../utils/getReferenceOffsets';
|
||||
import getPopperOffsets from '../utils/getPopperOffsets';
|
||||
import runModifiers from '../utils/runModifiers';
|
||||
|
||||
/**
|
||||
* Updates the position of the popper, computing the new offsets and applying
|
||||
* the new style.<br />
|
||||
* Prefer `scheduleUpdate` over `update` because of performance reasons.
|
||||
* @method
|
||||
* @memberof Popper
|
||||
*/
|
||||
export default function update() {
|
||||
// if popper is destroyed, don't perform any further update
|
||||
if (this.state.isDestroyed) {
|
||||
return;
|
||||
}
|
||||
|
||||
let data = {
|
||||
instance: this,
|
||||
styles: {},
|
||||
arrowStyles: {},
|
||||
attributes: {},
|
||||
flipped: false,
|
||||
offsets: {},
|
||||
};
|
||||
|
||||
// compute reference element offsets
|
||||
data.offsets.reference = getReferenceOffsets(
|
||||
this.state,
|
||||
this.popper,
|
||||
this.reference,
|
||||
this.options.positionFixed
|
||||
);
|
||||
|
||||
// compute auto placement, store placement inside the data object,
|
||||
// modifiers will be able to edit `placement` if needed
|
||||
// and refer to originalPlacement to know the original value
|
||||
data.placement = computeAutoPlacement(
|
||||
this.options.placement,
|
||||
data.offsets.reference,
|
||||
this.popper,
|
||||
this.reference,
|
||||
this.options.modifiers.flip.boundariesElement,
|
||||
this.options.modifiers.flip.padding
|
||||
);
|
||||
|
||||
// store the computed placement inside `originalPlacement`
|
||||
data.originalPlacement = data.placement;
|
||||
|
||||
data.positionFixed = this.options.positionFixed;
|
||||
|
||||
// compute the popper offsets
|
||||
data.offsets.popper = getPopperOffsets(
|
||||
this.popper,
|
||||
data.offsets.reference,
|
||||
data.placement
|
||||
);
|
||||
|
||||
data.offsets.popper.position = this.options.positionFixed
|
||||
? 'fixed'
|
||||
: 'absolute';
|
||||
|
||||
// run the modifiers
|
||||
data = runModifiers(this.modifiers, data);
|
||||
|
||||
// the first `update` will call `onCreate` callback
|
||||
// the other ones will call `onUpdate` callback
|
||||
if (!this.state.isCreated) {
|
||||
this.state.isCreated = true;
|
||||
this.options.onCreate(data);
|
||||
} else {
|
||||
this.options.onUpdate(data);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
import setStyles from '../utils/setStyles';
|
||||
import setAttributes from '../utils/setAttributes';
|
||||
import getReferenceOffsets from '../utils/getReferenceOffsets';
|
||||
import computeAutoPlacement from '../utils/computeAutoPlacement';
|
||||
|
||||
/**
|
||||
* @function
|
||||
* @memberof Modifiers
|
||||
* @argument {Object} data - The data object generated by `update` method
|
||||
* @argument {Object} data.styles - List of style properties - values to apply to popper element
|
||||
* @argument {Object} data.attributes - List of attribute properties - values to apply to popper element
|
||||
* @argument {Object} options - Modifiers configuration and options
|
||||
* @returns {Object} The same data object
|
||||
*/
|
||||
export default function applyStyle(data) {
|
||||
// any property present in `data.styles` will be applied to the popper,
|
||||
// in this way we can make the 3rd party modifiers add custom styles to it
|
||||
// Be aware, modifiers could override the properties defined in the previous
|
||||
// lines of this modifier!
|
||||
setStyles(data.instance.popper, data.styles);
|
||||
|
||||
// any property present in `data.attributes` will be applied to the popper,
|
||||
// they will be set as HTML attributes of the element
|
||||
setAttributes(data.instance.popper, data.attributes);
|
||||
|
||||
// if arrowElement is defined and arrowStyles has some properties
|
||||
if (data.arrowElement && Object.keys(data.arrowStyles).length) {
|
||||
setStyles(data.arrowElement, data.arrowStyles);
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the x-placement attribute before everything else because it could be used
|
||||
* to add margins to the popper margins needs to be calculated to get the
|
||||
* correct popper offsets.
|
||||
* @method
|
||||
* @memberof Popper.modifiers
|
||||
* @param {HTMLElement} reference - The reference element used to position the popper
|
||||
* @param {HTMLElement} popper - The HTML element used as popper
|
||||
* @param {Object} options - Popper.js options
|
||||
*/
|
||||
export function applyStyleOnLoad(
|
||||
reference,
|
||||
popper,
|
||||
options,
|
||||
modifierOptions,
|
||||
state
|
||||
) {
|
||||
// compute reference element offsets
|
||||
const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);
|
||||
|
||||
// compute auto placement, store placement inside the data object,
|
||||
// modifiers will be able to edit `placement` if needed
|
||||
// and refer to originalPlacement to know the original value
|
||||
const placement = computeAutoPlacement(
|
||||
options.placement,
|
||||
referenceOffsets,
|
||||
popper,
|
||||
reference,
|
||||
options.modifiers.flip.boundariesElement,
|
||||
options.modifiers.flip.padding
|
||||
);
|
||||
|
||||
popper.setAttribute('x-placement', placement);
|
||||
|
||||
// Apply `position` to popper before anything else because
|
||||
// without the position applied we can't guarantee correct computations
|
||||
setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });
|
||||
|
||||
return options;
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
import getClientRect from '../utils/getClientRect';
|
||||
import getOuterSizes from '../utils/getOuterSizes';
|
||||
import isModifierRequired from '../utils/isModifierRequired';
|
||||
import getStyleComputedProperty from '../utils/getStyleComputedProperty';
|
||||
|
||||
/**
|
||||
* @function
|
||||
* @memberof Modifiers
|
||||
* @argument {Object} data - The data object generated by update method
|
||||
* @argument {Object} options - Modifiers configuration and options
|
||||
* @returns {Object} The data object, properly modified
|
||||
*/
|
||||
export default function arrow(data, options) {
|
||||
// arrow depends on keepTogether in order to work
|
||||
if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {
|
||||
return data;
|
||||
}
|
||||
|
||||
let arrowElement = options.element;
|
||||
|
||||
// if arrowElement is a string, suppose it's a CSS selector
|
||||
if (typeof arrowElement === 'string') {
|
||||
arrowElement = data.instance.popper.querySelector(arrowElement);
|
||||
|
||||
// if arrowElement is not found, don't run the modifier
|
||||
if (!arrowElement) {
|
||||
return data;
|
||||
}
|
||||
} else {
|
||||
// if the arrowElement isn't a query selector we must check that the
|
||||
// provided DOM node is child of its popper node
|
||||
if (!data.instance.popper.contains(arrowElement)) {
|
||||
console.warn(
|
||||
'WARNING: `arrow.element` must be child of its popper element!'
|
||||
);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
const placement = data.placement.split('-')[0];
|
||||
const { popper, reference } = data.offsets;
|
||||
const isVertical = ['left', 'right'].indexOf(placement) !== -1;
|
||||
|
||||
const len = isVertical ? 'height' : 'width';
|
||||
const sideCapitalized = isVertical ? 'Top' : 'Left';
|
||||
const side = sideCapitalized.toLowerCase();
|
||||
const altSide = isVertical ? 'left' : 'top';
|
||||
const opSide = isVertical ? 'bottom' : 'right';
|
||||
const arrowElementSize = getOuterSizes(arrowElement)[len];
|
||||
|
||||
//
|
||||
// extends keepTogether behavior making sure the popper and its
|
||||
// reference have enough pixels in conjunction
|
||||
//
|
||||
|
||||
// top/left side
|
||||
if (reference[opSide] - arrowElementSize < popper[side]) {
|
||||
data.offsets.popper[side] -=
|
||||
popper[side] - (reference[opSide] - arrowElementSize);
|
||||
}
|
||||
// bottom/right side
|
||||
if (reference[side] + arrowElementSize > popper[opSide]) {
|
||||
data.offsets.popper[side] +=
|
||||
reference[side] + arrowElementSize - popper[opSide];
|
||||
}
|
||||
data.offsets.popper = getClientRect(data.offsets.popper);
|
||||
|
||||
// compute center of the popper
|
||||
const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;
|
||||
|
||||
// Compute the sideValue using the updated popper offsets
|
||||
// take popper margin in account because we don't have this info available
|
||||
const css = getStyleComputedProperty(data.instance.popper);
|
||||
const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`], 10);
|
||||
const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`], 10);
|
||||
let sideValue =
|
||||
center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
|
||||
|
||||
// prevent arrowElement from being placed not contiguously to its popper
|
||||
sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);
|
||||
|
||||
data.arrowElement = arrowElement;
|
||||
data.offsets.arrow = {
|
||||
[side]: Math.round(sideValue),
|
||||
[altSide]: '', // make sure to unset any eventual altSide value from the DOM node
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
import getSupportedPropertyName from '../utils/getSupportedPropertyName';
|
||||
import find from '../utils/find';
|
||||
import getOffsetParent from '../utils/getOffsetParent';
|
||||
import getBoundingClientRect from '../utils/getBoundingClientRect';
|
||||
import getRoundedOffsets from '../utils/getRoundedOffsets';
|
||||
import isBrowser from '../utils/isBrowser';
|
||||
|
||||
const isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);
|
||||
|
||||
/**
|
||||
* @function
|
||||
* @memberof Modifiers
|
||||
* @argument {Object} data - The data object generated by `update` method
|
||||
* @argument {Object} options - Modifiers configuration and options
|
||||
* @returns {Object} The data object, properly modified
|
||||
*/
|
||||
export default function computeStyle(data, options) {
|
||||
const { x, y } = options;
|
||||
const { popper } = data.offsets;
|
||||
|
||||
// Remove this legacy support in Popper.js v2
|
||||
const legacyGpuAccelerationOption = find(
|
||||
data.instance.modifiers,
|
||||
modifier => modifier.name === 'applyStyle'
|
||||
).gpuAcceleration;
|
||||
if (legacyGpuAccelerationOption !== undefined) {
|
||||
console.warn(
|
||||
'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'
|
||||
);
|
||||
}
|
||||
const gpuAcceleration =
|
||||
legacyGpuAccelerationOption !== undefined
|
||||
? legacyGpuAccelerationOption
|
||||
: options.gpuAcceleration;
|
||||
|
||||
const offsetParent = getOffsetParent(data.instance.popper);
|
||||
const offsetParentRect = getBoundingClientRect(offsetParent);
|
||||
|
||||
// Styles
|
||||
const styles = {
|
||||
position: popper.position,
|
||||
};
|
||||
|
||||
const offsets = getRoundedOffsets(
|
||||
data,
|
||||
window.devicePixelRatio < 2 || !isFirefox
|
||||
);
|
||||
|
||||
const sideA = x === 'bottom' ? 'top' : 'bottom';
|
||||
const sideB = y === 'right' ? 'left' : 'right';
|
||||
|
||||
// if gpuAcceleration is set to `true` and transform is supported,
|
||||
// we use `translate3d` to apply the position to the popper we
|
||||
// automatically use the supported prefixed version if needed
|
||||
const prefixedProperty = getSupportedPropertyName('transform');
|
||||
|
||||
// now, let's make a step back and look at this code closely (wtf?)
|
||||
// If the content of the popper grows once it's been positioned, it
|
||||
// may happen that the popper gets misplaced because of the new content
|
||||
// overflowing its reference element
|
||||
// To avoid this problem, we provide two options (x and y), which allow
|
||||
// the consumer to define the offset origin.
|
||||
// If we position a popper on top of a reference element, we can set
|
||||
// `x` to `top` to make the popper grow towards its top instead of
|
||||
// its bottom.
|
||||
let left, top;
|
||||
if (sideA === 'bottom') {
|
||||
// when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)
|
||||
// and not the bottom of the html element
|
||||
if (offsetParent.nodeName === 'HTML') {
|
||||
top = -offsetParent.clientHeight + offsets.bottom;
|
||||
} else {
|
||||
top = -offsetParentRect.height + offsets.bottom;
|
||||
}
|
||||
} else {
|
||||
top = offsets.top;
|
||||
}
|
||||
if (sideB === 'right') {
|
||||
if (offsetParent.nodeName === 'HTML') {
|
||||
left = -offsetParent.clientWidth + offsets.right;
|
||||
} else {
|
||||
left = -offsetParentRect.width + offsets.right;
|
||||
}
|
||||
} else {
|
||||
left = offsets.left;
|
||||
}
|
||||
if (gpuAcceleration && prefixedProperty) {
|
||||
styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;
|
||||
styles[sideA] = 0;
|
||||
styles[sideB] = 0;
|
||||
styles.willChange = 'transform';
|
||||
} else {
|
||||
// othwerise, we use the standard `top`, `left`, `bottom` and `right` properties
|
||||
const invertTop = sideA === 'bottom' ? -1 : 1;
|
||||
const invertLeft = sideB === 'right' ? -1 : 1;
|
||||
styles[sideA] = top * invertTop;
|
||||
styles[sideB] = left * invertLeft;
|
||||
styles.willChange = `${sideA}, ${sideB}`;
|
||||
}
|
||||
|
||||
// Attributes
|
||||
const attributes = {
|
||||
'x-placement': data.placement,
|
||||
};
|
||||
|
||||
// Update `data` attributes, styles and arrowStyles
|
||||
data.attributes = { ...attributes, ...data.attributes };
|
||||
data.styles = { ...styles, ...data.styles };
|
||||
data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -0,0 +1,146 @@
|
||||
import getOppositePlacement from '../utils/getOppositePlacement';
|
||||
import getOppositeVariation from '../utils/getOppositeVariation';
|
||||
import getPopperOffsets from '../utils/getPopperOffsets';
|
||||
import runModifiers from '../utils/runModifiers';
|
||||
import getBoundaries from '../utils/getBoundaries';
|
||||
import isModifierEnabled from '../utils/isModifierEnabled';
|
||||
import clockwise from '../utils/clockwise';
|
||||
|
||||
const BEHAVIORS = {
|
||||
FLIP: 'flip',
|
||||
CLOCKWISE: 'clockwise',
|
||||
COUNTERCLOCKWISE: 'counterclockwise',
|
||||
};
|
||||
|
||||
/**
|
||||
* @function
|
||||
* @memberof Modifiers
|
||||
* @argument {Object} data - The data object generated by update method
|
||||
* @argument {Object} options - Modifiers configuration and options
|
||||
* @returns {Object} The data object, properly modified
|
||||
*/
|
||||
export default function flip(data, options) {
|
||||
// if `inner` modifier is enabled, we can't use the `flip` modifier
|
||||
if (isModifierEnabled(data.instance.modifiers, 'inner')) {
|
||||
return data;
|
||||
}
|
||||
|
||||
if (data.flipped && data.placement === data.originalPlacement) {
|
||||
// seems like flip is trying to loop, probably there's not enough space on any of the flippable sides
|
||||
return data;
|
||||
}
|
||||
|
||||
const boundaries = getBoundaries(
|
||||
data.instance.popper,
|
||||
data.instance.reference,
|
||||
options.padding,
|
||||
options.boundariesElement,
|
||||
data.positionFixed
|
||||
);
|
||||
|
||||
let placement = data.placement.split('-')[0];
|
||||
let placementOpposite = getOppositePlacement(placement);
|
||||
let variation = data.placement.split('-')[1] || '';
|
||||
|
||||
let flipOrder = [];
|
||||
|
||||
switch (options.behavior) {
|
||||
case BEHAVIORS.FLIP:
|
||||
flipOrder = [placement, placementOpposite];
|
||||
break;
|
||||
case BEHAVIORS.CLOCKWISE:
|
||||
flipOrder = clockwise(placement);
|
||||
break;
|
||||
case BEHAVIORS.COUNTERCLOCKWISE:
|
||||
flipOrder = clockwise(placement, true);
|
||||
break;
|
||||
default:
|
||||
flipOrder = options.behavior;
|
||||
}
|
||||
|
||||
flipOrder.forEach((step, index) => {
|
||||
if (placement !== step || flipOrder.length === index + 1) {
|
||||
return data;
|
||||
}
|
||||
|
||||
placement = data.placement.split('-')[0];
|
||||
placementOpposite = getOppositePlacement(placement);
|
||||
|
||||
const popperOffsets = data.offsets.popper;
|
||||
const refOffsets = data.offsets.reference;
|
||||
|
||||
// using floor because the reference offsets may contain decimals we are not going to consider here
|
||||
const floor = Math.floor;
|
||||
const overlapsRef =
|
||||
(placement === 'left' &&
|
||||
floor(popperOffsets.right) > floor(refOffsets.left)) ||
|
||||
(placement === 'right' &&
|
||||
floor(popperOffsets.left) < floor(refOffsets.right)) ||
|
||||
(placement === 'top' &&
|
||||
floor(popperOffsets.bottom) > floor(refOffsets.top)) ||
|
||||
(placement === 'bottom' &&
|
||||
floor(popperOffsets.top) < floor(refOffsets.bottom));
|
||||
|
||||
const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);
|
||||
const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);
|
||||
const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);
|
||||
const overflowsBottom =
|
||||
floor(popperOffsets.bottom) > floor(boundaries.bottom);
|
||||
|
||||
const overflowsBoundaries =
|
||||
(placement === 'left' && overflowsLeft) ||
|
||||
(placement === 'right' && overflowsRight) ||
|
||||
(placement === 'top' && overflowsTop) ||
|
||||
(placement === 'bottom' && overflowsBottom);
|
||||
|
||||
// flip the variation if required
|
||||
const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
|
||||
|
||||
// flips variation if reference element overflows boundaries
|
||||
const flippedVariationByRef =
|
||||
!!options.flipVariations &&
|
||||
((isVertical && variation === 'start' && overflowsLeft) ||
|
||||
(isVertical && variation === 'end' && overflowsRight) ||
|
||||
(!isVertical && variation === 'start' && overflowsTop) ||
|
||||
(!isVertical && variation === 'end' && overflowsBottom));
|
||||
|
||||
// flips variation if popper content overflows boundaries
|
||||
const flippedVariationByContent =
|
||||
!!options.flipVariationsByContent &&
|
||||
((isVertical && variation === 'start' && overflowsRight) ||
|
||||
(isVertical && variation === 'end' && overflowsLeft) ||
|
||||
(!isVertical && variation === 'start' && overflowsBottom) ||
|
||||
(!isVertical && variation === 'end' && overflowsTop));
|
||||
|
||||
const flippedVariation = flippedVariationByRef || flippedVariationByContent;
|
||||
|
||||
if (overlapsRef || overflowsBoundaries || flippedVariation) {
|
||||
// this boolean to detect any flip loop
|
||||
data.flipped = true;
|
||||
|
||||
if (overlapsRef || overflowsBoundaries) {
|
||||
placement = flipOrder[index + 1];
|
||||
}
|
||||
|
||||
if (flippedVariation) {
|
||||
variation = getOppositeVariation(variation);
|
||||
}
|
||||
|
||||
data.placement = placement + (variation ? '-' + variation : '');
|
||||
|
||||
// this object contains `position`, we want to preserve it along with
|
||||
// any additional property we may add in the future
|
||||
data.offsets.popper = {
|
||||
...data.offsets.popper,
|
||||
...getPopperOffsets(
|
||||
data.instance.popper,
|
||||
data.offsets.reference,
|
||||
data.placement
|
||||
),
|
||||
};
|
||||
|
||||
data = runModifiers(data.instance.modifiers, data, 'flip');
|
||||
}
|
||||
});
|
||||
return data;
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
import isModifierRequired from '../utils/isModifierRequired';
|
||||
import find from '../utils/find';
|
||||
|
||||
/**
|
||||
* @function
|
||||
* @memberof Modifiers
|
||||
* @argument {Object} data - The data object generated by update method
|
||||
* @argument {Object} options - Modifiers configuration and options
|
||||
* @returns {Object} The data object, properly modified
|
||||
*/
|
||||
export default function hide(data) {
|
||||
if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {
|
||||
return data;
|
||||
}
|
||||
|
||||
const refRect = data.offsets.reference;
|
||||
const bound = find(
|
||||
data.instance.modifiers,
|
||||
modifier => modifier.name === 'preventOverflow'
|
||||
).boundaries;
|
||||
|
||||
if (
|
||||
refRect.bottom < bound.top ||
|
||||
refRect.left > bound.right ||
|
||||
refRect.top > bound.bottom ||
|
||||
refRect.right < bound.left
|
||||
) {
|
||||
// Avoid unnecessary DOM access if visibility hasn't changed
|
||||
if (data.hide === true) {
|
||||
return data;
|
||||
}
|
||||
|
||||
data.hide = true;
|
||||
data.attributes['x-out-of-boundaries'] = '';
|
||||
} else {
|
||||
// Avoid unnecessary DOM access if visibility hasn't changed
|
||||
if (data.hide === false) {
|
||||
return data;
|
||||
}
|
||||
|
||||
data.hide = false;
|
||||
data.attributes['x-out-of-boundaries'] = false;
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -0,0 +1,369 @@
|
||||
import applyStyle, { applyStyleOnLoad } from './applyStyle';
|
||||
import computeStyle from './computeStyle';
|
||||
import arrow from './arrow';
|
||||
import flip from './flip';
|
||||
import keepTogether from './keepTogether';
|
||||
import offset from './offset';
|
||||
import preventOverflow from './preventOverflow';
|
||||
import shift from './shift';
|
||||
import hide from './hide';
|
||||
import inner from './inner';
|
||||
|
||||
/**
|
||||
* Modifier function, each modifier can have a function of this type assigned
|
||||
* to its `fn` property.<br />
|
||||
* These functions will be called on each update, this means that you must
|
||||
* make sure they are performant enough to avoid performance bottlenecks.
|
||||
*
|
||||
* @function ModifierFn
|
||||
* @argument {dataObject} data - The data object generated by `update` method
|
||||
* @argument {Object} options - Modifiers configuration and options
|
||||
* @returns {dataObject} The data object, properly modified
|
||||
*/
|
||||
|
||||
/**
|
||||
* Modifiers are plugins used to alter the behavior of your poppers.<br />
|
||||
* Popper.js uses a set of 9 modifiers to provide all the basic functionalities
|
||||
* needed by the library.
|
||||
*
|
||||
* Usually you don't want to override the `order`, `fn` and `onLoad` props.
|
||||
* All the other properties are configurations that could be tweaked.
|
||||
* @namespace modifiers
|
||||
*/
|
||||
export default {
|
||||
/**
|
||||
* Modifier used to shift the popper on the start or end of its reference
|
||||
* element.<br />
|
||||
* It will read the variation of the `placement` property.<br />
|
||||
* It can be one either `-end` or `-start`.
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
*/
|
||||
shift: {
|
||||
/** @prop {number} order=100 - Index used to define the order of execution */
|
||||
order: 100,
|
||||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||||
enabled: true,
|
||||
/** @prop {ModifierFn} */
|
||||
fn: shift,
|
||||
},
|
||||
|
||||
/**
|
||||
* The `offset` modifier can shift your popper on both its axis.
|
||||
*
|
||||
* It accepts the following units:
|
||||
* - `px` or unit-less, interpreted as pixels
|
||||
* - `%` or `%r`, percentage relative to the length of the reference element
|
||||
* - `%p`, percentage relative to the length of the popper element
|
||||
* - `vw`, CSS viewport width unit
|
||||
* - `vh`, CSS viewport height unit
|
||||
*
|
||||
* For length is intended the main axis relative to the placement of the popper.<br />
|
||||
* This means that if the placement is `top` or `bottom`, the length will be the
|
||||
* `width`. In case of `left` or `right`, it will be the `height`.
|
||||
*
|
||||
* You can provide a single value (as `Number` or `String`), or a pair of values
|
||||
* as `String` divided by a comma or one (or more) white spaces.<br />
|
||||
* The latter is a deprecated method because it leads to confusion and will be
|
||||
* removed in v2.<br />
|
||||
* Additionally, it accepts additions and subtractions between different units.
|
||||
* Note that multiplications and divisions aren't supported.
|
||||
*
|
||||
* Valid examples are:
|
||||
* ```
|
||||
* 10
|
||||
* '10%'
|
||||
* '10, 10'
|
||||
* '10%, 10'
|
||||
* '10 + 10%'
|
||||
* '10 - 5vh + 3%'
|
||||
* '-10px + 5vh, 5px - 6%'
|
||||
* ```
|
||||
* > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap
|
||||
* > with their reference element, unfortunately, you will have to disable the `flip` modifier.
|
||||
* > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).
|
||||
*
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
*/
|
||||
offset: {
|
||||
/** @prop {number} order=200 - Index used to define the order of execution */
|
||||
order: 200,
|
||||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||||
enabled: true,
|
||||
/** @prop {ModifierFn} */
|
||||
fn: offset,
|
||||
/** @prop {Number|String} offset=0
|
||||
* The offset value as described in the modifier description
|
||||
*/
|
||||
offset: 0,
|
||||
},
|
||||
|
||||
/**
|
||||
* Modifier used to prevent the popper from being positioned outside the boundary.
|
||||
*
|
||||
* A scenario exists where the reference itself is not within the boundaries.<br />
|
||||
* We can say it has "escaped the boundaries" — or just "escaped".<br />
|
||||
* In this case we need to decide whether the popper should either:
|
||||
*
|
||||
* - detach from the reference and remain "trapped" in the boundaries, or
|
||||
* - if it should ignore the boundary and "escape with its reference"
|
||||
*
|
||||
* When `escapeWithReference` is set to`true` and reference is completely
|
||||
* outside its boundaries, the popper will overflow (or completely leave)
|
||||
* the boundaries in order to remain attached to the edge of the reference.
|
||||
*
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
*/
|
||||
preventOverflow: {
|
||||
/** @prop {number} order=300 - Index used to define the order of execution */
|
||||
order: 300,
|
||||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||||
enabled: true,
|
||||
/** @prop {ModifierFn} */
|
||||
fn: preventOverflow,
|
||||
/**
|
||||
* @prop {Array} [priority=['left','right','top','bottom']]
|
||||
* Popper will try to prevent overflow following these priorities by default,
|
||||
* then, it could overflow on the left and on top of the `boundariesElement`
|
||||
*/
|
||||
priority: ['left', 'right', 'top', 'bottom'],
|
||||
/**
|
||||
* @prop {number} padding=5
|
||||
* Amount of pixel used to define a minimum distance between the boundaries
|
||||
* and the popper. This makes sure the popper always has a little padding
|
||||
* between the edges of its container
|
||||
*/
|
||||
padding: 5,
|
||||
/**
|
||||
* @prop {String|HTMLElement} boundariesElement='scrollParent'
|
||||
* Boundaries used by the modifier. Can be `scrollParent`, `window`,
|
||||
* `viewport` or any DOM element.
|
||||
*/
|
||||
boundariesElement: 'scrollParent',
|
||||
},
|
||||
|
||||
/**
|
||||
* Modifier used to make sure the reference and its popper stay near each other
|
||||
* without leaving any gap between the two. Especially useful when the arrow is
|
||||
* enabled and you want to ensure that it points to its reference element.
|
||||
* It cares only about the first axis. You can still have poppers with margin
|
||||
* between the popper and its reference element.
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
*/
|
||||
keepTogether: {
|
||||
/** @prop {number} order=400 - Index used to define the order of execution */
|
||||
order: 400,
|
||||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||||
enabled: true,
|
||||
/** @prop {ModifierFn} */
|
||||
fn: keepTogether,
|
||||
},
|
||||
|
||||
/**
|
||||
* This modifier is used to move the `arrowElement` of the popper to make
|
||||
* sure it is positioned between the reference element and its popper element.
|
||||
* It will read the outer size of the `arrowElement` node to detect how many
|
||||
* pixels of conjunction are needed.
|
||||
*
|
||||
* It has no effect if no `arrowElement` is provided.
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
*/
|
||||
arrow: {
|
||||
/** @prop {number} order=500 - Index used to define the order of execution */
|
||||
order: 500,
|
||||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||||
enabled: true,
|
||||
/** @prop {ModifierFn} */
|
||||
fn: arrow,
|
||||
/** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */
|
||||
element: '[x-arrow]',
|
||||
},
|
||||
|
||||
/**
|
||||
* Modifier used to flip the popper's placement when it starts to overlap its
|
||||
* reference element.
|
||||
*
|
||||
* Requires the `preventOverflow` modifier before it in order to work.
|
||||
*
|
||||
* **NOTE:** this modifier will interrupt the current update cycle and will
|
||||
* restart it if it detects the need to flip the placement.
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
*/
|
||||
flip: {
|
||||
/** @prop {number} order=600 - Index used to define the order of execution */
|
||||
order: 600,
|
||||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||||
enabled: true,
|
||||
/** @prop {ModifierFn} */
|
||||
fn: flip,
|
||||
/**
|
||||
* @prop {String|Array} behavior='flip'
|
||||
* The behavior used to change the popper's placement. It can be one of
|
||||
* `flip`, `clockwise`, `counterclockwise` or an array with a list of valid
|
||||
* placements (with optional variations)
|
||||
*/
|
||||
behavior: 'flip',
|
||||
/**
|
||||
* @prop {number} padding=5
|
||||
* The popper will flip if it hits the edges of the `boundariesElement`
|
||||
*/
|
||||
padding: 5,
|
||||
/**
|
||||
* @prop {String|HTMLElement} boundariesElement='viewport'
|
||||
* The element which will define the boundaries of the popper position.
|
||||
* The popper will never be placed outside of the defined boundaries
|
||||
* (except if `keepTogether` is enabled)
|
||||
*/
|
||||
boundariesElement: 'viewport',
|
||||
/**
|
||||
* @prop {Boolean} flipVariations=false
|
||||
* The popper will switch placement variation between `-start` and `-end` when
|
||||
* the reference element overlaps its boundaries.
|
||||
*
|
||||
* The original placement should have a set variation.
|
||||
*/
|
||||
flipVariations: false,
|
||||
/**
|
||||
* @prop {Boolean} flipVariationsByContent=false
|
||||
* The popper will switch placement variation between `-start` and `-end` when
|
||||
* the popper element overlaps its reference boundaries.
|
||||
*
|
||||
* The original placement should have a set variation.
|
||||
*/
|
||||
flipVariationsByContent: false,
|
||||
},
|
||||
|
||||
/**
|
||||
* Modifier used to make the popper flow toward the inner of the reference element.
|
||||
* By default, when this modifier is disabled, the popper will be placed outside
|
||||
* the reference element.
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
*/
|
||||
inner: {
|
||||
/** @prop {number} order=700 - Index used to define the order of execution */
|
||||
order: 700,
|
||||
/** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */
|
||||
enabled: false,
|
||||
/** @prop {ModifierFn} */
|
||||
fn: inner,
|
||||
},
|
||||
|
||||
/**
|
||||
* Modifier used to hide the popper when its reference element is outside of the
|
||||
* popper boundaries. It will set a `x-out-of-boundaries` attribute which can
|
||||
* be used to hide with a CSS selector the popper when its reference is
|
||||
* out of boundaries.
|
||||
*
|
||||
* Requires the `preventOverflow` modifier before it in order to work.
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
*/
|
||||
hide: {
|
||||
/** @prop {number} order=800 - Index used to define the order of execution */
|
||||
order: 800,
|
||||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||||
enabled: true,
|
||||
/** @prop {ModifierFn} */
|
||||
fn: hide,
|
||||
},
|
||||
|
||||
/**
|
||||
* Computes the style that will be applied to the popper element to gets
|
||||
* properly positioned.
|
||||
*
|
||||
* Note that this modifier will not touch the DOM, it just prepares the styles
|
||||
* so that `applyStyle` modifier can apply it. This separation is useful
|
||||
* in case you need to replace `applyStyle` with a custom implementation.
|
||||
*
|
||||
* This modifier has `850` as `order` value to maintain backward compatibility
|
||||
* with previous versions of Popper.js. Expect the modifiers ordering method
|
||||
* to change in future major versions of the library.
|
||||
*
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
*/
|
||||
computeStyle: {
|
||||
/** @prop {number} order=850 - Index used to define the order of execution */
|
||||
order: 850,
|
||||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||||
enabled: true,
|
||||
/** @prop {ModifierFn} */
|
||||
fn: computeStyle,
|
||||
/**
|
||||
* @prop {Boolean} gpuAcceleration=true
|
||||
* If true, it uses the CSS 3D transformation to position the popper.
|
||||
* Otherwise, it will use the `top` and `left` properties
|
||||
*/
|
||||
gpuAcceleration: true,
|
||||
/**
|
||||
* @prop {string} [x='bottom']
|
||||
* Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.
|
||||
* Change this if your popper should grow in a direction different from `bottom`
|
||||
*/
|
||||
x: 'bottom',
|
||||
/**
|
||||
* @prop {string} [x='left']
|
||||
* Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.
|
||||
* Change this if your popper should grow in a direction different from `right`
|
||||
*/
|
||||
y: 'right',
|
||||
},
|
||||
|
||||
/**
|
||||
* Applies the computed styles to the popper element.
|
||||
*
|
||||
* All the DOM manipulations are limited to this modifier. This is useful in case
|
||||
* you want to integrate Popper.js inside a framework or view library and you
|
||||
* want to delegate all the DOM manipulations to it.
|
||||
*
|
||||
* Note that if you disable this modifier, you must make sure the popper element
|
||||
* has its position set to `absolute` before Popper.js can do its work!
|
||||
*
|
||||
* Just disable this modifier and define your own to achieve the desired effect.
|
||||
*
|
||||
* @memberof modifiers
|
||||
* @inner
|
||||
*/
|
||||
applyStyle: {
|
||||
/** @prop {number} order=900 - Index used to define the order of execution */
|
||||
order: 900,
|
||||
/** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
|
||||
enabled: true,
|
||||
/** @prop {ModifierFn} */
|
||||
fn: applyStyle,
|
||||
/** @prop {Function} */
|
||||
onLoad: applyStyleOnLoad,
|
||||
/**
|
||||
* @deprecated since version 1.10.0, the property moved to `computeStyle` modifier
|
||||
* @prop {Boolean} gpuAcceleration=true
|
||||
* If true, it uses the CSS 3D transformation to position the popper.
|
||||
* Otherwise, it will use the `top` and `left` properties
|
||||
*/
|
||||
gpuAcceleration: undefined,
|
||||
},
|
||||
};
|
||||
|
||||
/**
|
||||
* The `dataObject` is an object containing all the information used by Popper.js.
|
||||
* This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.
|
||||
* @name dataObject
|
||||
* @property {Object} data.instance The Popper.js instance
|
||||
* @property {String} data.placement Placement applied to popper
|
||||
* @property {String} data.originalPlacement Placement originally defined on init
|
||||
* @property {Boolean} data.flipped True if popper has been flipped by flip modifier
|
||||
* @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper
|
||||
* @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier
|
||||
* @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)
|
||||
* @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)
|
||||
* @property {Object} data.boundaries Offsets of the popper boundaries
|
||||
* @property {Object} data.offsets The measurements of popper, reference and arrow elements
|
||||
* @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values
|
||||
* @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values
|
||||
* @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0
|
||||
*/
|
||||
@@ -0,0 +1,27 @@
|
||||
import getClientRect from '../utils/getClientRect';
|
||||
import getOppositePlacement from '../utils/getOppositePlacement';
|
||||
|
||||
/**
|
||||
* @function
|
||||
* @memberof Modifiers
|
||||
* @argument {Object} data - The data object generated by `update` method
|
||||
* @argument {Object} options - Modifiers configuration and options
|
||||
* @returns {Object} The data object, properly modified
|
||||
*/
|
||||
export default function inner(data) {
|
||||
const placement = data.placement;
|
||||
const basePlacement = placement.split('-')[0];
|
||||
const { popper, reference } = data.offsets;
|
||||
const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;
|
||||
|
||||
const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;
|
||||
|
||||
popper[isHoriz ? 'left' : 'top'] =
|
||||
reference[basePlacement] -
|
||||
(subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);
|
||||
|
||||
data.placement = getOppositePlacement(placement);
|
||||
data.offsets.popper = getClientRect(popper);
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* @function
|
||||
* @memberof Modifiers
|
||||
* @argument {Object} data - The data object generated by update method
|
||||
* @argument {Object} options - Modifiers configuration and options
|
||||
* @returns {Object} The data object, properly modified
|
||||
*/
|
||||
export default function keepTogether(data) {
|
||||
const { popper, reference } = data.offsets;
|
||||
const placement = data.placement.split('-')[0];
|
||||
const floor = Math.floor;
|
||||
const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
|
||||
const side = isVertical ? 'right' : 'bottom';
|
||||
const opSide = isVertical ? 'left' : 'top';
|
||||
const measurement = isVertical ? 'width' : 'height';
|
||||
|
||||
if (popper[side] < floor(reference[opSide])) {
|
||||
data.offsets.popper[opSide] =
|
||||
floor(reference[opSide]) - popper[measurement];
|
||||
}
|
||||
if (popper[opSide] > floor(reference[side])) {
|
||||
data.offsets.popper[opSide] = floor(reference[side]);
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -0,0 +1,194 @@
|
||||
import isNumeric from '../utils/isNumeric';
|
||||
import getClientRect from '../utils/getClientRect';
|
||||
import find from '../utils/find';
|
||||
|
||||
/**
|
||||
* Converts a string containing value + unit into a px value number
|
||||
* @function
|
||||
* @memberof {modifiers~offset}
|
||||
* @private
|
||||
* @argument {String} str - Value + unit string
|
||||
* @argument {String} measurement - `height` or `width`
|
||||
* @argument {Object} popperOffsets
|
||||
* @argument {Object} referenceOffsets
|
||||
* @returns {Number|String}
|
||||
* Value in pixels, or original string if no values were extracted
|
||||
*/
|
||||
export function toValue(str, measurement, popperOffsets, referenceOffsets) {
|
||||
// separate value from unit
|
||||
const split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/);
|
||||
const value = +split[1];
|
||||
const unit = split[2];
|
||||
|
||||
// If it's not a number it's an operator, I guess
|
||||
if (!value) {
|
||||
return str;
|
||||
}
|
||||
|
||||
if (unit.indexOf('%') === 0) {
|
||||
let element;
|
||||
switch (unit) {
|
||||
case '%p':
|
||||
element = popperOffsets;
|
||||
break;
|
||||
case '%':
|
||||
case '%r':
|
||||
default:
|
||||
element = referenceOffsets;
|
||||
}
|
||||
|
||||
const rect = getClientRect(element);
|
||||
return rect[measurement] / 100 * value;
|
||||
} else if (unit === 'vh' || unit === 'vw') {
|
||||
// if is a vh or vw, we calculate the size based on the viewport
|
||||
let size;
|
||||
if (unit === 'vh') {
|
||||
size = Math.max(
|
||||
document.documentElement.clientHeight,
|
||||
window.innerHeight || 0
|
||||
);
|
||||
} else {
|
||||
size = Math.max(
|
||||
document.documentElement.clientWidth,
|
||||
window.innerWidth || 0
|
||||
);
|
||||
}
|
||||
return size / 100 * value;
|
||||
} else {
|
||||
// if is an explicit pixel unit, we get rid of the unit and keep the value
|
||||
// if is an implicit unit, it's px, and we return just the value
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse an `offset` string to extrapolate `x` and `y` numeric offsets.
|
||||
* @function
|
||||
* @memberof {modifiers~offset}
|
||||
* @private
|
||||
* @argument {String} offset
|
||||
* @argument {Object} popperOffsets
|
||||
* @argument {Object} referenceOffsets
|
||||
* @argument {String} basePlacement
|
||||
* @returns {Array} a two cells array with x and y offsets in numbers
|
||||
*/
|
||||
export function parseOffset(
|
||||
offset,
|
||||
popperOffsets,
|
||||
referenceOffsets,
|
||||
basePlacement
|
||||
) {
|
||||
const offsets = [0, 0];
|
||||
|
||||
// Use height if placement is left or right and index is 0 otherwise use width
|
||||
// in this way the first offset will use an axis and the second one
|
||||
// will use the other one
|
||||
const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;
|
||||
|
||||
// Split the offset string to obtain a list of values and operands
|
||||
// The regex addresses values with the plus or minus sign in front (+10, -20, etc)
|
||||
const fragments = offset.split(/(\+|\-)/).map(frag => frag.trim());
|
||||
|
||||
// Detect if the offset string contains a pair of values or a single one
|
||||
// they could be separated by comma or space
|
||||
const divider = fragments.indexOf(
|
||||
find(fragments, frag => frag.search(/,|\s/) !== -1)
|
||||
);
|
||||
|
||||
if (fragments[divider] && fragments[divider].indexOf(',') === -1) {
|
||||
console.warn(
|
||||
'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'
|
||||
);
|
||||
}
|
||||
|
||||
// If divider is found, we divide the list of values and operands to divide
|
||||
// them by ofset X and Y.
|
||||
const splitRegex = /\s*,\s*|\s+/;
|
||||
let ops = divider !== -1
|
||||
? [
|
||||
fragments
|
||||
.slice(0, divider)
|
||||
.concat([fragments[divider].split(splitRegex)[0]]),
|
||||
[fragments[divider].split(splitRegex)[1]].concat(
|
||||
fragments.slice(divider + 1)
|
||||
),
|
||||
]
|
||||
: [fragments];
|
||||
|
||||
// Convert the values with units to absolute pixels to allow our computations
|
||||
ops = ops.map((op, index) => {
|
||||
// Most of the units rely on the orientation of the popper
|
||||
const measurement = (index === 1 ? !useHeight : useHeight)
|
||||
? 'height'
|
||||
: 'width';
|
||||
let mergeWithPrevious = false;
|
||||
return (
|
||||
op
|
||||
// This aggregates any `+` or `-` sign that aren't considered operators
|
||||
// e.g.: 10 + +5 => [10, +, +5]
|
||||
.reduce((a, b) => {
|
||||
if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {
|
||||
a[a.length - 1] = b;
|
||||
mergeWithPrevious = true;
|
||||
return a;
|
||||
} else if (mergeWithPrevious) {
|
||||
a[a.length - 1] += b;
|
||||
mergeWithPrevious = false;
|
||||
return a;
|
||||
} else {
|
||||
return a.concat(b);
|
||||
}
|
||||
}, [])
|
||||
// Here we convert the string values into number values (in px)
|
||||
.map(str => toValue(str, measurement, popperOffsets, referenceOffsets))
|
||||
);
|
||||
});
|
||||
|
||||
// Loop trough the offsets arrays and execute the operations
|
||||
ops.forEach((op, index) => {
|
||||
op.forEach((frag, index2) => {
|
||||
if (isNumeric(frag)) {
|
||||
offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);
|
||||
}
|
||||
});
|
||||
});
|
||||
return offsets;
|
||||
}
|
||||
|
||||
/**
|
||||
* @function
|
||||
* @memberof Modifiers
|
||||
* @argument {Object} data - The data object generated by update method
|
||||
* @argument {Object} options - Modifiers configuration and options
|
||||
* @argument {Number|String} options.offset=0
|
||||
* The offset value as described in the modifier description
|
||||
* @returns {Object} The data object, properly modified
|
||||
*/
|
||||
export default function offset(data, { offset }) {
|
||||
const { placement, offsets: { popper, reference } } = data;
|
||||
const basePlacement = placement.split('-')[0];
|
||||
|
||||
let offsets;
|
||||
if (isNumeric(+offset)) {
|
||||
offsets = [+offset, 0];
|
||||
} else {
|
||||
offsets = parseOffset(offset, popper, reference, basePlacement);
|
||||
}
|
||||
|
||||
if (basePlacement === 'left') {
|
||||
popper.top += offsets[0];
|
||||
popper.left -= offsets[1];
|
||||
} else if (basePlacement === 'right') {
|
||||
popper.top += offsets[0];
|
||||
popper.left += offsets[1];
|
||||
} else if (basePlacement === 'top') {
|
||||
popper.left += offsets[0];
|
||||
popper.top -= offsets[1];
|
||||
} else if (basePlacement === 'bottom') {
|
||||
popper.left += offsets[0];
|
||||
popper.top += offsets[1];
|
||||
}
|
||||
|
||||
data.popper = popper;
|
||||
return data;
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
import getOffsetParent from '../utils/getOffsetParent';
|
||||
import getBoundaries from '../utils/getBoundaries';
|
||||
import getSupportedPropertyName from '../utils/getSupportedPropertyName';
|
||||
|
||||
/**
|
||||
* @function
|
||||
* @memberof Modifiers
|
||||
* @argument {Object} data - The data object generated by `update` method
|
||||
* @argument {Object} options - Modifiers configuration and options
|
||||
* @returns {Object} The data object, properly modified
|
||||
*/
|
||||
export default function preventOverflow(data, options) {
|
||||
let boundariesElement =
|
||||
options.boundariesElement || getOffsetParent(data.instance.popper);
|
||||
|
||||
// If offsetParent is the reference element, we really want to
|
||||
// go one step up and use the next offsetParent as reference to
|
||||
// avoid to make this modifier completely useless and look like broken
|
||||
if (data.instance.reference === boundariesElement) {
|
||||
boundariesElement = getOffsetParent(boundariesElement);
|
||||
}
|
||||
|
||||
// NOTE: DOM access here
|
||||
// resets the popper's position so that the document size can be calculated excluding
|
||||
// the size of the popper element itself
|
||||
const transformProp = getSupportedPropertyName('transform');
|
||||
const popperStyles = data.instance.popper.style; // assignment to help minification
|
||||
const { top, left, [transformProp]: transform } = popperStyles;
|
||||
popperStyles.top = '';
|
||||
popperStyles.left = '';
|
||||
popperStyles[transformProp] = '';
|
||||
|
||||
const boundaries = getBoundaries(
|
||||
data.instance.popper,
|
||||
data.instance.reference,
|
||||
options.padding,
|
||||
boundariesElement,
|
||||
data.positionFixed
|
||||
);
|
||||
|
||||
// NOTE: DOM access here
|
||||
// restores the original style properties after the offsets have been computed
|
||||
popperStyles.top = top;
|
||||
popperStyles.left = left;
|
||||
popperStyles[transformProp] = transform;
|
||||
|
||||
options.boundaries = boundaries;
|
||||
|
||||
const order = options.priority;
|
||||
let popper = data.offsets.popper;
|
||||
|
||||
const check = {
|
||||
primary(placement) {
|
||||
let value = popper[placement];
|
||||
if (
|
||||
popper[placement] < boundaries[placement] &&
|
||||
!options.escapeWithReference
|
||||
) {
|
||||
value = Math.max(popper[placement], boundaries[placement]);
|
||||
}
|
||||
return { [placement]: value };
|
||||
},
|
||||
secondary(placement) {
|
||||
const mainSide = placement === 'right' ? 'left' : 'top';
|
||||
let value = popper[mainSide];
|
||||
if (
|
||||
popper[placement] > boundaries[placement] &&
|
||||
!options.escapeWithReference
|
||||
) {
|
||||
value = Math.min(
|
||||
popper[mainSide],
|
||||
boundaries[placement] -
|
||||
(placement === 'right' ? popper.width : popper.height)
|
||||
);
|
||||
}
|
||||
return { [mainSide]: value };
|
||||
},
|
||||
};
|
||||
|
||||
order.forEach(placement => {
|
||||
const side =
|
||||
['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';
|
||||
popper = { ...popper, ...check[side](placement) };
|
||||
});
|
||||
|
||||
data.offsets.popper = popper;
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
/**
|
||||
* @function
|
||||
* @memberof Modifiers
|
||||
* @argument {Object} data - The data object generated by `update` method
|
||||
* @argument {Object} options - Modifiers configuration and options
|
||||
* @returns {Object} The data object, properly modified
|
||||
*/
|
||||
export default function shift(data) {
|
||||
const placement = data.placement;
|
||||
const basePlacement = placement.split('-')[0];
|
||||
const shiftvariation = placement.split('-')[1];
|
||||
|
||||
// if shift shiftvariation is specified, run the modifier
|
||||
if (shiftvariation) {
|
||||
const { reference, popper } = data.offsets;
|
||||
const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;
|
||||
const side = isVertical ? 'left' : 'top';
|
||||
const measurement = isVertical ? 'width' : 'height';
|
||||
|
||||
const shiftOffsets = {
|
||||
start: { [side]: reference[side] },
|
||||
end: {
|
||||
[side]: reference[side] + reference[measurement] - popper[measurement],
|
||||
},
|
||||
};
|
||||
|
||||
data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
import placements from '../methods/placements';
|
||||
|
||||
// Get rid of `auto` `auto-start` and `auto-end`
|
||||
const validPlacements = placements.slice(3);
|
||||
|
||||
/**
|
||||
* Given an initial placement, returns all the subsequent placements
|
||||
* clockwise (or counter-clockwise).
|
||||
*
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @argument {String} placement - A valid placement (it accepts variations)
|
||||
* @argument {Boolean} counter - Set to true to walk the placements counterclockwise
|
||||
* @returns {Array} placements including their variations
|
||||
*/
|
||||
export default function clockwise(placement, counter = false) {
|
||||
const index = validPlacements.indexOf(placement);
|
||||
const arr = validPlacements
|
||||
.slice(index + 1)
|
||||
.concat(validPlacements.slice(0, index));
|
||||
return counter ? arr.reverse() : arr;
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
import getBoundaries from '../utils/getBoundaries';
|
||||
|
||||
function getArea({ width, height }) {
|
||||
return width * height;
|
||||
}
|
||||
|
||||
/**
|
||||
* Utility used to transform the `auto` placement to the placement with more
|
||||
* available space.
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @argument {Object} data - The data object generated by update method
|
||||
* @argument {Object} options - Modifiers configuration and options
|
||||
* @returns {Object} The data object, properly modified
|
||||
*/
|
||||
export default function computeAutoPlacement(
|
||||
placement,
|
||||
refRect,
|
||||
popper,
|
||||
reference,
|
||||
boundariesElement,
|
||||
padding = 0
|
||||
) {
|
||||
if (placement.indexOf('auto') === -1) {
|
||||
return placement;
|
||||
}
|
||||
|
||||
const boundaries = getBoundaries(
|
||||
popper,
|
||||
reference,
|
||||
padding,
|
||||
boundariesElement
|
||||
);
|
||||
|
||||
const rects = {
|
||||
top: {
|
||||
width: boundaries.width,
|
||||
height: refRect.top - boundaries.top,
|
||||
},
|
||||
right: {
|
||||
width: boundaries.right - refRect.right,
|
||||
height: boundaries.height,
|
||||
},
|
||||
bottom: {
|
||||
width: boundaries.width,
|
||||
height: boundaries.bottom - refRect.bottom,
|
||||
},
|
||||
left: {
|
||||
width: refRect.left - boundaries.left,
|
||||
height: boundaries.height,
|
||||
},
|
||||
};
|
||||
|
||||
const sortedAreas = Object.keys(rects)
|
||||
.map(key => ({
|
||||
key,
|
||||
...rects[key],
|
||||
area: getArea(rects[key]),
|
||||
}))
|
||||
.sort((a, b) => b.area - a.area);
|
||||
|
||||
const filteredAreas = sortedAreas.filter(
|
||||
({ width, height }) =>
|
||||
width >= popper.clientWidth && height >= popper.clientHeight
|
||||
);
|
||||
|
||||
const computedPlacement = filteredAreas.length > 0
|
||||
? filteredAreas[0].key
|
||||
: sortedAreas[0].key;
|
||||
|
||||
const variation = placement.split('-')[1];
|
||||
|
||||
return computedPlacement + (variation ? `-${variation}` : '');
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
import isBrowser from './isBrowser';
|
||||
|
||||
const timeoutDuration = (function(){
|
||||
const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
|
||||
for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {
|
||||
if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}());
|
||||
|
||||
export function microtaskDebounce(fn) {
|
||||
let called = false
|
||||
return () => {
|
||||
if (called) {
|
||||
return
|
||||
}
|
||||
called = true
|
||||
window.Promise.resolve().then(() => {
|
||||
called = false
|
||||
fn()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export function taskDebounce(fn) {
|
||||
let scheduled = false;
|
||||
return () => {
|
||||
if (!scheduled) {
|
||||
scheduled = true;
|
||||
setTimeout(() => {
|
||||
scheduled = false;
|
||||
fn();
|
||||
}, timeoutDuration);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const supportsMicroTasks = isBrowser && window.Promise
|
||||
|
||||
|
||||
/**
|
||||
* Create a debounced version of a method, that's asynchronously deferred
|
||||
* but called in the minimum time possible.
|
||||
*
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @argument {Function} fn
|
||||
* @returns {Function}
|
||||
*/
|
||||
export default (supportsMicroTasks
|
||||
? microtaskDebounce
|
||||
: taskDebounce);
|
||||
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* Mimics the `find` method of Array
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @argument {Array} arr
|
||||
* @argument prop
|
||||
* @argument value
|
||||
* @returns index or -1
|
||||
*/
|
||||
export default function find(arr, check) {
|
||||
// use native find if supported
|
||||
if (Array.prototype.find) {
|
||||
return arr.find(check);
|
||||
}
|
||||
|
||||
// use `filter` to obtain the same behavior of `find`
|
||||
return arr.filter(check)[0];
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
import isOffsetContainer from './isOffsetContainer';
|
||||
import getRoot from './getRoot';
|
||||
import getOffsetParent from './getOffsetParent';
|
||||
|
||||
/**
|
||||
* Finds the offset parent common to the two provided nodes
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @argument {Element} element1
|
||||
* @argument {Element} element2
|
||||
* @returns {Element} common offset parent
|
||||
*/
|
||||
export default function findCommonOffsetParent(element1, element2) {
|
||||
// This check is needed to avoid errors in case one of the elements isn't defined for any reason
|
||||
if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {
|
||||
return document.documentElement;
|
||||
}
|
||||
|
||||
// Here we make sure to give as "start" the element that comes first in the DOM
|
||||
const order =
|
||||
element1.compareDocumentPosition(element2) &
|
||||
Node.DOCUMENT_POSITION_FOLLOWING;
|
||||
const start = order ? element1 : element2;
|
||||
const end = order ? element2 : element1;
|
||||
|
||||
// Get common ancestor container
|
||||
const range = document.createRange();
|
||||
range.setStart(start, 0);
|
||||
range.setEnd(end, 0);
|
||||
const { commonAncestorContainer } = range;
|
||||
|
||||
// Both nodes are inside #document
|
||||
if (
|
||||
(element1 !== commonAncestorContainer &&
|
||||
element2 !== commonAncestorContainer) ||
|
||||
start.contains(end)
|
||||
) {
|
||||
if (isOffsetContainer(commonAncestorContainer)) {
|
||||
return commonAncestorContainer;
|
||||
}
|
||||
|
||||
return getOffsetParent(commonAncestorContainer);
|
||||
}
|
||||
|
||||
// one of the nodes is inside shadowDOM, find which one
|
||||
const element1root = getRoot(element1);
|
||||
if (element1root.host) {
|
||||
return findCommonOffsetParent(element1root.host, element2);
|
||||
} else {
|
||||
return findCommonOffsetParent(element1, getRoot(element2).host);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
import find from './find';
|
||||
|
||||
/**
|
||||
* Return the index of the matching object
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @argument {Array} arr
|
||||
* @argument prop
|
||||
* @argument value
|
||||
* @returns index or -1
|
||||
*/
|
||||
export default function findIndex(arr, prop, value) {
|
||||
// use native findIndex if supported
|
||||
if (Array.prototype.findIndex) {
|
||||
return arr.findIndex(cur => cur[prop] === value);
|
||||
}
|
||||
|
||||
// use `find` + `indexOf` if `findIndex` isn't supported
|
||||
const match = find(arr, obj => obj[prop] === value);
|
||||
return arr.indexOf(match);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Helper to detect borders of a given element
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @param {CSSStyleDeclaration} styles
|
||||
* Result of `getStyleComputedProperty` on the given element
|
||||
* @param {String} axis - `x` or `y`
|
||||
* @return {number} borders - The borders size of the given axis
|
||||
*/
|
||||
|
||||
export default function getBordersSize(styles, axis) {
|
||||
const sideA = axis === 'x' ? 'Left' : 'Top';
|
||||
const sideB = sideA === 'Left' ? 'Right' : 'Bottom';
|
||||
|
||||
return (
|
||||
parseFloat(styles[`border${sideA}Width`], 10) +
|
||||
parseFloat(styles[`border${sideB}Width`], 10)
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
import getScrollParent from './getScrollParent';
|
||||
import getParentNode from './getParentNode';
|
||||
import getReferenceNode from './getReferenceNode';
|
||||
import findCommonOffsetParent from './findCommonOffsetParent';
|
||||
import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';
|
||||
import getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';
|
||||
import getWindowSizes from './getWindowSizes';
|
||||
import isFixed from './isFixed';
|
||||
import getFixedPositionOffsetParent from './getFixedPositionOffsetParent';
|
||||
|
||||
/**
|
||||
* Computed the boundaries limits and return them
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @param {HTMLElement} popper
|
||||
* @param {HTMLElement} reference
|
||||
* @param {number} padding
|
||||
* @param {HTMLElement} boundariesElement - Element used to define the boundaries
|
||||
* @param {Boolean} fixedPosition - Is in fixed position mode
|
||||
* @returns {Object} Coordinates of the boundaries
|
||||
*/
|
||||
export default function getBoundaries(
|
||||
popper,
|
||||
reference,
|
||||
padding,
|
||||
boundariesElement,
|
||||
fixedPosition = false
|
||||
) {
|
||||
// NOTE: 1 DOM access here
|
||||
|
||||
let boundaries = { top: 0, left: 0 };
|
||||
const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));
|
||||
|
||||
// Handle viewport case
|
||||
if (boundariesElement === 'viewport' ) {
|
||||
boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);
|
||||
}
|
||||
|
||||
else {
|
||||
// Handle other cases based on DOM element used as boundaries
|
||||
let boundariesNode;
|
||||
if (boundariesElement === 'scrollParent') {
|
||||
boundariesNode = getScrollParent(getParentNode(reference));
|
||||
if (boundariesNode.nodeName === 'BODY') {
|
||||
boundariesNode = popper.ownerDocument.documentElement;
|
||||
}
|
||||
} else if (boundariesElement === 'window') {
|
||||
boundariesNode = popper.ownerDocument.documentElement;
|
||||
} else {
|
||||
boundariesNode = boundariesElement;
|
||||
}
|
||||
|
||||
const offsets = getOffsetRectRelativeToArbitraryNode(
|
||||
boundariesNode,
|
||||
offsetParent,
|
||||
fixedPosition
|
||||
);
|
||||
|
||||
// In case of HTML, we need a different computation
|
||||
if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
|
||||
const { height, width } = getWindowSizes(popper.ownerDocument);
|
||||
boundaries.top += offsets.top - offsets.marginTop;
|
||||
boundaries.bottom = height + offsets.top;
|
||||
boundaries.left += offsets.left - offsets.marginLeft;
|
||||
boundaries.right = width + offsets.left;
|
||||
} else {
|
||||
// for all the other DOM elements, this one is good
|
||||
boundaries = offsets;
|
||||
}
|
||||
}
|
||||
|
||||
// Add paddings
|
||||
padding = padding || 0;
|
||||
const isPaddingNumber = typeof padding === 'number';
|
||||
boundaries.left += isPaddingNumber ? padding : padding.left || 0;
|
||||
boundaries.top += isPaddingNumber ? padding : padding.top || 0;
|
||||
boundaries.right -= isPaddingNumber ? padding : padding.right || 0;
|
||||
boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;
|
||||
|
||||
return boundaries;
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
import getStyleComputedProperty from './getStyleComputedProperty';
|
||||
import getBordersSize from './getBordersSize';
|
||||
import getWindowSizes from './getWindowSizes';
|
||||
import getScroll from './getScroll';
|
||||
import getClientRect from './getClientRect';
|
||||
import isIE from './isIE';
|
||||
|
||||
/**
|
||||
* Get bounding client rect of given element
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @param {HTMLElement} element
|
||||
* @return {Object} client rect
|
||||
*/
|
||||
export default function getBoundingClientRect(element) {
|
||||
let rect = {};
|
||||
|
||||
// IE10 10 FIX: Please, don't ask, the element isn't
|
||||
// considered in DOM in some circumstances...
|
||||
// This isn't reproducible in IE10 compatibility mode of IE11
|
||||
try {
|
||||
if (isIE(10)) {
|
||||
rect = element.getBoundingClientRect();
|
||||
const scrollTop = getScroll(element, 'top');
|
||||
const scrollLeft = getScroll(element, 'left');
|
||||
rect.top += scrollTop;
|
||||
rect.left += scrollLeft;
|
||||
rect.bottom += scrollTop;
|
||||
rect.right += scrollLeft;
|
||||
}
|
||||
else {
|
||||
rect = element.getBoundingClientRect();
|
||||
}
|
||||
}
|
||||
catch(e){}
|
||||
|
||||
const result = {
|
||||
left: rect.left,
|
||||
top: rect.top,
|
||||
width: rect.right - rect.left,
|
||||
height: rect.bottom - rect.top,
|
||||
};
|
||||
|
||||
// subtract scrollbar size from sizes
|
||||
const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};
|
||||
const width =
|
||||
sizes.width || element.clientWidth || result.width;
|
||||
const height =
|
||||
sizes.height || element.clientHeight || result.height;
|
||||
|
||||
let horizScrollbar = element.offsetWidth - width;
|
||||
let vertScrollbar = element.offsetHeight - height;
|
||||
|
||||
// if an hypothetical scrollbar is detected, we must be sure it's not a `border`
|
||||
// we make this check conditional for performance reasons
|
||||
if (horizScrollbar || vertScrollbar) {
|
||||
const styles = getStyleComputedProperty(element);
|
||||
horizScrollbar -= getBordersSize(styles, 'x');
|
||||
vertScrollbar -= getBordersSize(styles, 'y');
|
||||
|
||||
result.width -= horizScrollbar;
|
||||
result.height -= vertScrollbar;
|
||||
}
|
||||
|
||||
return getClientRect(result);
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* Given element offsets, generate an output similar to getBoundingClientRect
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @argument {Object} offsets
|
||||
* @returns {Object} ClientRect like output
|
||||
*/
|
||||
export default function getClientRect(offsets) {
|
||||
return {
|
||||
...offsets,
|
||||
right: offsets.left + offsets.width,
|
||||
bottom: offsets.top + offsets.height,
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
import getStyleComputedProperty from './getStyleComputedProperty';
|
||||
import isIE from './isIE';
|
||||
/**
|
||||
* Finds the first parent of an element that has a transformed property defined
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @argument {Element} element
|
||||
* @returns {Element} first transformed parent or documentElement
|
||||
*/
|
||||
|
||||
export default function getFixedPositionOffsetParent(element) {
|
||||
// This check is needed to avoid errors in case one of the elements isn't defined for any reason
|
||||
if (!element || !element.parentElement || isIE()) {
|
||||
return document.documentElement;
|
||||
}
|
||||
let el = element.parentElement;
|
||||
while (el && getStyleComputedProperty(el, 'transform') === 'none') {
|
||||
el = el.parentElement;
|
||||
}
|
||||
return el || document.documentElement;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
import getStyleComputedProperty from './getStyleComputedProperty';
|
||||
import isIE from './isIE';
|
||||
/**
|
||||
* Returns the offset parent of the given element
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @argument {Element} element
|
||||
* @returns {Element} offset parent
|
||||
*/
|
||||
export default function getOffsetParent(element) {
|
||||
if (!element) {
|
||||
return document.documentElement;
|
||||
}
|
||||
|
||||
const noOffsetParent = isIE(10) ? document.body : null;
|
||||
|
||||
// NOTE: 1 DOM access here
|
||||
let offsetParent = element.offsetParent || null;
|
||||
// Skip hidden elements which don't have an offsetParent
|
||||
while (offsetParent === noOffsetParent && element.nextElementSibling) {
|
||||
offsetParent = (element = element.nextElementSibling).offsetParent;
|
||||
}
|
||||
|
||||
const nodeName = offsetParent && offsetParent.nodeName;
|
||||
|
||||
if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {
|
||||
return element ? element.ownerDocument.documentElement : document.documentElement;
|
||||
}
|
||||
|
||||
// .offsetParent will return the closest TH, TD or TABLE in case
|
||||
// no offsetParent is present, I hate this job...
|
||||
if (
|
||||
['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&
|
||||
getStyleComputedProperty(offsetParent, 'position') === 'static'
|
||||
) {
|
||||
return getOffsetParent(offsetParent);
|
||||
}
|
||||
|
||||
return offsetParent;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
import getWindowSizes from './getWindowSizes';
|
||||
import getClientRect from './getClientRect';
|
||||
|
||||
/**
|
||||
* Get the position of the given element, relative to its offset parent
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @param {Element} element
|
||||
* @return {Object} position - Coordinates of the element and its `scrollTop`
|
||||
*/
|
||||
export default function getOffsetRect(element) {
|
||||
let elementRect;
|
||||
if (element.nodeName === 'HTML') {
|
||||
const { width, height } = getWindowSizes(element.ownerDocument);
|
||||
elementRect = {
|
||||
width,
|
||||
height,
|
||||
left: 0,
|
||||
top: 0,
|
||||
};
|
||||
} else {
|
||||
elementRect = {
|
||||
width: element.offsetWidth,
|
||||
height: element.offsetHeight,
|
||||
left: element.offsetLeft,
|
||||
top: element.offsetTop,
|
||||
};
|
||||
}
|
||||
|
||||
// position
|
||||
return getClientRect(elementRect);
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
import getStyleComputedProperty from './getStyleComputedProperty';
|
||||
import includeScroll from './includeScroll';
|
||||
import getScrollParent from './getScrollParent';
|
||||
import getBoundingClientRect from './getBoundingClientRect';
|
||||
import runIsIE from './isIE';
|
||||
import getClientRect from './getClientRect';
|
||||
|
||||
export default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {
|
||||
const isIE10 = runIsIE(10);
|
||||
const isHTML = parent.nodeName === 'HTML';
|
||||
const childrenRect = getBoundingClientRect(children);
|
||||
const parentRect = getBoundingClientRect(parent);
|
||||
const scrollParent = getScrollParent(children);
|
||||
|
||||
const styles = getStyleComputedProperty(parent);
|
||||
const borderTopWidth = parseFloat(styles.borderTopWidth, 10);
|
||||
const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
|
||||
|
||||
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
|
||||
if(fixedPosition && isHTML) {
|
||||
parentRect.top = Math.max(parentRect.top, 0);
|
||||
parentRect.left = Math.max(parentRect.left, 0);
|
||||
}
|
||||
let offsets = getClientRect({
|
||||
top: childrenRect.top - parentRect.top - borderTopWidth,
|
||||
left: childrenRect.left - parentRect.left - borderLeftWidth,
|
||||
width: childrenRect.width,
|
||||
height: childrenRect.height,
|
||||
});
|
||||
offsets.marginTop = 0;
|
||||
offsets.marginLeft = 0;
|
||||
|
||||
// Subtract margins of documentElement in case it's being used as parent
|
||||
// we do this only on HTML because it's the only element that behaves
|
||||
// differently when margins are applied to it. The margins are included in
|
||||
// the box of the documentElement, in the other cases not.
|
||||
if (!isIE10 && isHTML) {
|
||||
const marginTop = parseFloat(styles.marginTop, 10);
|
||||
const marginLeft = parseFloat(styles.marginLeft, 10);
|
||||
|
||||
offsets.top -= borderTopWidth - marginTop;
|
||||
offsets.bottom -= borderTopWidth - marginTop;
|
||||
offsets.left -= borderLeftWidth - marginLeft;
|
||||
offsets.right -= borderLeftWidth - marginLeft;
|
||||
|
||||
// Attach marginTop and marginLeft because in some circumstances we may need them
|
||||
offsets.marginTop = marginTop;
|
||||
offsets.marginLeft = marginLeft;
|
||||
}
|
||||
|
||||
if (
|
||||
isIE10 && !fixedPosition
|
||||
? parent.contains(scrollParent)
|
||||
: parent === scrollParent && scrollParent.nodeName !== 'BODY'
|
||||
) {
|
||||
offsets = includeScroll(offsets, parent);
|
||||
}
|
||||
|
||||
return offsets;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
/**
|
||||
* Get the opposite placement of the given one
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @argument {String} placement
|
||||
* @returns {String} flipped placement
|
||||
*/
|
||||
export default function getOppositePlacement(placement) {
|
||||
const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };
|
||||
return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* Get the opposite placement variation of the given one
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @argument {String} placement variation
|
||||
* @returns {String} flipped placement variation
|
||||
*/
|
||||
export default function getOppositeVariation(variation) {
|
||||
if (variation === 'end') {
|
||||
return 'start';
|
||||
} else if (variation === 'start') {
|
||||
return 'end';
|
||||
}
|
||||
return variation;
|
||||
}
|
||||