diff --git a/HOME/HOME.csproj b/HOME/HOME.csproj
index 3662f93..49dfd31 100644
--- a/HOME/HOME.csproj
+++ b/HOME/HOME.csproj
@@ -82,7 +82,25 @@
+
+ ..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.Helpers.dll
+
+
+ ..\packages\Microsoft.AspNet.Mvc.5.2.7\lib\net45\System.Web.Mvc.dll
+
+
+ ..\packages\Microsoft.AspNet.Razor.3.2.7\lib\net45\System.Web.Razor.dll
+
+
+ ..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.dll
+
+
+ ..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Deployment.dll
+
+
+ ..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Razor.dll
+
@@ -95,33 +113,9 @@
-
- True
- ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll
-
-
- True
- ..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll
-
..\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll
-
- True
- ..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll
-
-
- True
- ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll
-
-
- True
- ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll
-
-
- True
- ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll
-
..\packages\WebGrease.1.6.0\lib\WebGrease.dll
@@ -200,7 +194,7 @@
- Always
+ PreserveNewest
Designer
@@ -223,6 +217,10 @@
+
+
+
+
@@ -232,10 +230,6 @@
-
-
-
-
diff --git a/HOME/NLog.xsd b/HOME/NLog.xsd
index 4740d80..16d888c 100644
--- a/HOME/NLog.xsd
+++ b/HOME/NLog.xsd
@@ -37,12 +37,12 @@
- Global log level threshold for application log messages. Messages below this level won't be logged..
+ Global log level threshold for application log messages. Messages below this level won't be logged.
- Throw an exception when there is an internal error. Default value is: false.
+ Throw an exception when there is an internal error. Default value is: false. Not recommend to set to true in production!
@@ -70,6 +70,11 @@
Use InvariantCulture as default culture instead of CurrentCulture. Default value is: false.
+
+
+ Perform message template parsing and formatting of LogEvent messages (true = Always, false = Never, empty = Auto Detect). Default value is: empty.
+
+
@@ -118,7 +123,7 @@
- Name of the logger. May include '*' character which acts like a wildcard. Allowed forms are: *, Name, *Name, Name* and *Name*
+ Name of the logger. May include wildcard characters ('*' or '?').
@@ -151,9 +156,9 @@
Ignore further rules if this one matches.
-
+
- Enable or disable logging rule. Disabled rules are ignored.
+ Rule identifier to allow rule lookup with Configuration.FindRuleByName and Configuration.RemoveRuleByName.
@@ -166,6 +171,11 @@
+
+
+ Default action if none of the filters match.
+
+
@@ -205,12 +215,19 @@
+
+
+
+ Variable value. Note, the 'value' attribute has precedence over this one.
+
+
+
Variable name.
-
+
Variable value.
@@ -271,6 +288,7 @@
+
@@ -287,6 +305,11 @@
Number of log events that should be processed in a batch by the lazy writer thread.
+
+
+ Whether to use the locking queue, instead of a lock-free concurrent queue The locking queue is less concurrent when many logger threads, but reduces memory allocation
+
+
Limit of full s to write before yielding into Performance is better when writing many small batches, than writing a single large batch
@@ -304,7 +327,7 @@
- Time in milliseconds to sleep between batches.
+ Time in milliseconds to sleep between batches. (1 or less means trigger on new activity)
@@ -326,16 +349,12 @@
-
+
+
-
-
- Name of the target.
-
-
Delay the flush until the LogEvent has been confirmed as written
@@ -346,6 +365,16 @@
Condition expression. Log events who meet this condition will cause a flush on the wrapped target.
+
+
+ Name of the target.
+
+
+
+
+ Only flush when LogEvent matches condition. Ignore explicit-flush, config-reload-flush and shutdown-flush
+
+
Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
@@ -361,6 +390,7 @@
+
@@ -379,6 +409,11 @@
Timeout (in milliseconds) after which the contents of buffer will be flushed if there's no write in the specified period of time. Use -1 to disable timed flushes.
+
+
+ Action to take if the buffer overflows.
+
+
Indicates whether to use sliding timeout.
@@ -392,6 +427,12 @@
+
+
+
+
+
+
@@ -402,22 +443,28 @@
+
+
+
+
-
-
-
-
+
+
-
+
+
+
+
+
+
-
@@ -450,6 +497,26 @@
Indicates whether to append newline at the end of log message.
+
+
+ Network address.
+
+
+
+
+ Size of the connection cache (number of connections which are kept alive).
+
+
+
+
+ Indicates whether to keep connection open whenever possible.
+
+
+
+
+ Maximum current connections. 0 = no maximum.
+
+
Action that should be taken if the will be more connections than .
@@ -460,24 +527,9 @@
Action that should be taken if the message is larger than maxMessageSize.
-
+
- Maximum current connections. 0 = no maximum.
-
-
-
-
- Indicates whether to keep connection open whenever possible.
-
-
-
-
- Size of the connection cache (number of connections which are kept alive).
-
-
-
-
- Network address.
+ Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.
@@ -485,9 +537,14 @@
Maximum queue size.
-
+
- Indicates whether to include stack contents.
+ The number of seconds a connection will remain idle before the first keep-alive probe is sent
+
+
+
+
+ NDLC item separator.
@@ -495,11 +552,31 @@
Indicates whether to include source info (file name and line number) in the information sent over the network.
+
+
+ Renderer for log4j:event logger-xml-attribute (Default ${logger})
+
+
Indicates whether to include NLog-specific extensions to log4j schema.
+
+
+ Indicates whether to include contents of the stack.
+
+
+
+
+ Indicates whether to include stack contents.
+
+
+
+
+ Indicates whether to include dictionary contents.
+
+
Indicates whether to include dictionary contents.
@@ -510,6 +587,11 @@
Indicates whether to include call site (class and method name) in the information sent over the network.
+
+
+ Option to include all properties from the log events
+
+
AppInfo field. By default it's the friendly name of the current AppDomain.
@@ -520,11 +602,6 @@
NDC item separator.
-
-
- Indicates whether to include dictionary contents.
-
-
Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
@@ -547,14 +624,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
- Layout that should be use to calcuate the value for the parameter.
+ Layout that should be use to calculate the value for the parameter.
@@ -562,6 +652,11 @@
Viewer parameter name.
+
+
+ Whether an attribute with empty value should be included in the output
+
+
@@ -571,12 +666,15 @@
+
+
+
+
+
-
-
-
+
@@ -599,16 +697,16 @@
Footer.
-
-
- Indicates whether to use default row highlighting rules.
-
-
Indicates whether to auto-check if the console is available. - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App)
+
+
+ Enables output using ANSI Color Codes
+
+
The encoding for writing messages to the .
@@ -619,6 +717,21 @@
Indicates whether the error stream (stderr) should be used instead of the output stream (stdout).
+
+
+ Indicates whether to auto-check if the console has been redirected to file - Disables coloring logic when System.Console.IsOutputRedirected = true
+
+
+
+
+ Indicates whether to use default row highlighting rules.
+
+
+
+
+ Indicates whether to auto-flush after
+
+
Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
@@ -672,14 +785,19 @@
+
-
+
+
+ Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used.
+
+
Indicates whether to ignore case when comparing texts.
@@ -700,11 +818,6 @@
Indicates whether to match whole words only.
-
-
- Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used.
-
-
Background color.
@@ -724,9 +837,11 @@
-
+
+
+
@@ -749,11 +864,6 @@
Footer.
-
-
- Indicates whether to send the log messages to the standard error instead of the standard output.
-
-
Indicates whether to auto-check if the console is available - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App)
@@ -764,6 +874,21 @@
The encoding for writing messages to the .
+
+
+ Indicates whether to send the log messages to the standard error instead of the standard output.
+
+
+
+
+ Indicates whether to auto-flush after
+
+
+
+
+ Whether to enable batch writing using char[]-buffers, instead of using
+
+
Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
@@ -905,22 +1030,36 @@
-
+
+
+
-
+
+
+
-
-
- Layout that should be use to calcuate the value for the parameter.
-
-
Database parameter name.
+
+
+ Layout that should be use to calculate the value for the parameter.
+
+
+
+
+ Database parameter DbType.
+
+
+
+
+ Database parameter size.
+
+
Database parameter precision.
@@ -931,9 +1070,19 @@
Database parameter scale.
-
+
- Database parameter size.
+ Type of the parameter.
+
+
+
+
+ Convert format of the database parameter value .
+
+
+
+
+ Culture used for parsing parameter string-value for type-conversion
@@ -1008,14 +1157,14 @@
+
-
-
-
+
+
@@ -1033,6 +1182,11 @@
Layout that renders event Category.
+
+
+ Optional entry type. When not set, or when not convertible to then determined by
+
+
Layout that renders event ID.
@@ -1048,6 +1202,16 @@
Name of the machine on which Event Log service is running.
+
+
+ Maximum Event log size in kilobytes.
+
+
+
+
+ Message length limit to write to the Event Log.
+
+
Value to be used as the event Source.
@@ -1058,21 +1222,6 @@
Action to take if the message is larger than the option.
-
-
- Optional entrytype. When not set, or when not convertable to then determined by
-
-
-
-
- Maximum Event log size in kilobytes. If null, the value won't be set. Default is 512 Kilobytes as specified by Eventlog API
-
-
-
-
- Message length limit to write to the Event Log.
-
-
Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
@@ -1124,38 +1273,40 @@
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
-
-
+
+
+
+
+
+
+
+
+
+
@@ -1187,6 +1338,11 @@
Line ending mode.
+
+
+ Indicates whether to compress archive files into the zip archive format.
+
+
Way file archives are numbered.
@@ -1197,6 +1353,11 @@
Name of the file to be used for an archive.
+
+
+ Is the an absolute or relative path?
+
+
Indicates whether to automatically archive log files every time the specified time passes.
@@ -1207,34 +1368,19 @@
Size in bytes above which log files will be automatically archived. Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. Choose:
-
-
- Indicates whether to compress archive files into the zip archive format.
-
-
Maximum number of archive files that should be kept.
-
+
- Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation.
+ Indicates whether the footer should be written only when the file is archived.
-
+
- Is the an absolute or relative path?
-
-
-
-
- Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. If set to false, nothing gets written when the filename is wrong.
-
-
-
-
- Whether or not this target should just discard all data that its asked to write. Mostly used for when testing NLog Stack except final write
+ Maximum number of log file names that should be stored as existing.
@@ -1242,19 +1388,29 @@
Is the an absolute or relative path?
+
+
+ Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation.
+
+
- Value indicationg whether file creation calls should be synchronized by a system global mutex.
+ Indicates whether file creation calls should be synchronized by a system global mutex.
-
+
- Maximum number of log filenames that should be stored as existing.
+ Indicates whether to replace file contents on each write instead of appending log message at the end.
-
+
- Indicates whether the footer should be written only when the file is archived.
+ Indicates whether to write BOM (byte order mark) in created files
+
+
+
+
+ Indicates whether to enable log file(s) to be deleted.
@@ -1272,59 +1428,24 @@
Indicates whether to archive old log file on startup.
+
+
+ Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. If set to false, nothing gets written when the filename is wrong.
+
+
Indicates whether to create directories if they do not exist.
-
-
- File attributes (Windows only).
-
-
Indicates whether to delete old log file on startup.
-
+
- Indicates whether to replace file contents on each write instead of appending log message at the end.
-
-
-
-
- Indicates whether to enable log file(s) to be deleted.
-
-
-
-
- Number of times the write is appended on the file before NLog discards the log message.
-
-
-
-
- Indicates whether concurrent writes to the log file by multiple processes on the same host.
-
-
-
-
- Indicates whether to keep log file open instead of opening and closing it on each logging event.
-
-
-
-
- Indicates whether concurrent writes to the log file by multiple processes on different network hosts.
-
-
-
-
- Number of files to be kept open. Setting this to a higher value may improve performance in a situation where a single File target is writing to many files (such as splitting by level or by logger).
-
-
-
-
- Maximum number of seconds that files are kept open. If this number is negative the files are not automatically closed after a period of inactivity.
+ File attributes (Windows only).
@@ -1332,14 +1453,39 @@
Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
+
- Log file buffer size in bytes.
+ Indicates whether concurrent writes to the log file by multiple processes on different network hosts.
-
+
- Indicates whether to automatically flush the file buffers after each log message.
+ Maximum number of seconds that files are kept open. If this number is negative the files are not automatically closed after a period of inactivity.
+
+
+
+
+ Number of files to be kept open. Setting this to a higher value may improve performance in a situation where a single File target is writing to many files (such as splitting by level or by logger).
+
+
+
+
+ Indicates whether to keep log file open instead of opening and closing it on each logging event.
+
+
+
+
+ Whether or not this target should just discard all data that its asked to write. Mostly used for when testing NLog Stack except final write
+
+
+
+
+ Indicates whether concurrent writes to the log file by multiple processes on the same host.
+
+
+
+
+ Number of times the write is appended on the file before NLog discards the log message.
@@ -1347,6 +1493,21 @@
Delay in milliseconds to wait before attempting to write to the file again.
+
+
+ Log file buffer size in bytes.
+
+
+
+
+ Maximum number of seconds before open files are flushed. If this number is negative or zero the files are not flushed by timer.
+
+
+
+
+ Indicates whether to automatically flush the file buffers after each log message.
+
+
@@ -1358,6 +1519,13 @@
+
+
+
+
+
+
+
@@ -1375,13 +1543,6 @@
-
-
-
-
-
-
-
@@ -1408,6 +1569,7 @@
+
@@ -1517,16 +1679,11 @@
-
+
-
-
- Name of the target.
-
-
Interval in which messages will be written up to the number of messages.
@@ -1537,6 +1694,11 @@
Maximum allowed number of messages written per .
+
+
+ Name of the target.
+
+
Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
@@ -1638,19 +1800,19 @@
-
+
+
-
-
-
+
+
+
+
-
-
-
-
+
+
@@ -1681,9 +1843,14 @@
Footer.
-
+
- Indicates whether to send message as HTML instead of plain text.
+ Indicates whether NewLine characters in the body should be replaced with tags.
+
+
+
+
+ Priority used for sending mails.
@@ -1691,9 +1858,9 @@
Encoding to be used for sending e-mail.
-
+
- Indicates whether to add new lines between log entries.
+ BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).
@@ -1701,14 +1868,19 @@
CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).
-
+
- Recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).
+ Indicates whether to add new lines between log entries.
-
+
- BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).
+ Indicates whether to send message as HTML instead of plain text.
+
+
+
+
+ Sender's email address (e.g. joe@domain.com).
@@ -1721,24 +1893,9 @@
Mail subject.
-
+
- Sender's email address (e.g. joe@domain.com).
-
-
-
-
- Indicates the SMTP client timeout.
-
-
-
-
- Priority used for sending mails.
-
-
-
-
- Indicates whether NewLine characters in the body should be replaced with tags.
+ Recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).
@@ -1746,6 +1903,11 @@
Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+ Indicates the SMTP client timeout.
+
+
SMTP Server to be used for sending.
@@ -1814,6 +1976,7 @@
+
@@ -1826,52 +1989,9 @@
Layout used to format log messages.
-
+
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Layout used to format log messages.
-
-
-
-
- Encoding to be used when writing text to the queue.
-
-
-
-
- Indicates whether to use the XML format when serializing message. This will also disable creating queues.
-
-
-
-
- Indicates whether to check if a queue exists before writing to it.
+ Max number of items to have in memory
@@ -1879,26 +1999,6 @@
Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
- Indicates whether to create the queue if it doesn't exists.
-
-
-
-
- Label to associate with each message.
-
-
-
-
- Name of the queue to write to.
-
-
-
-
- Indicates whether to use recoverable messages (with guaranteed delivery).
-
-
@@ -1945,13 +2045,15 @@
-
-
+
+
+
+
@@ -1984,16 +2086,6 @@
Indicates whether to append newline at the end of log message.
-
-
- Action that should be taken if the will be more connections than .
-
-
-
-
- Action that should be taken if the message is larger than maxMessageSize.
-
-
Network address.
@@ -2019,6 +2111,26 @@
Maximum queue size.
+
+
+ Action that should be taken if the will be more connections than .
+
+
+
+
+ Action that should be taken if the message is larger than maxMessageSize.
+
+
+
+
+ Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.
+
+
+
+
+ The number of seconds a connection will remain idle before the first keep-alive probe is sent
+
+
Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
@@ -2037,22 +2149,28 @@
+
+
+
+
-
-
-
-
+
+
-
+
+
+
+
+
+
-
@@ -2085,6 +2203,26 @@
Indicates whether to append newline at the end of log message.
+
+
+ Network address.
+
+
+
+
+ Size of the connection cache (number of connections which are kept alive).
+
+
+
+
+ Indicates whether to keep connection open whenever possible.
+
+
+
+
+ Maximum current connections. 0 = no maximum.
+
+
Action that should be taken if the will be more connections than .
@@ -2095,24 +2233,9 @@
Action that should be taken if the message is larger than maxMessageSize.
-
+
- Maximum current connections. 0 = no maximum.
-
-
-
-
- Indicates whether to keep connection open whenever possible.
-
-
-
-
- Size of the connection cache (number of connections which are kept alive).
-
-
-
-
- Network address.
+ Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.
@@ -2120,9 +2243,14 @@
Maximum queue size.
-
+
- Indicates whether to include stack contents.
+ The number of seconds a connection will remain idle before the first keep-alive probe is sent
+
+
+
+
+ NDLC item separator.
@@ -2130,11 +2258,31 @@
Indicates whether to include source info (file name and line number) in the information sent over the network.
+
+
+ Renderer for log4j:event logger-xml-attribute (Default ${logger})
+
+
Indicates whether to include NLog-specific extensions to log4j schema.
+
+
+ Indicates whether to include contents of the stack.
+
+
+
+
+ Indicates whether to include stack contents.
+
+
+
+
+ Indicates whether to include dictionary contents.
+
+
Indicates whether to include dictionary contents.
@@ -2145,6 +2293,11 @@
Indicates whether to include call site (class and method name) in the information sent over the network.
+
+
+ Option to include all properties from the log events
+
+
AppInfo field. By default it's the friendly name of the current AppDomain.
@@ -2155,11 +2308,6 @@
NDC item separator.
-
-
- Indicates whether to include dictionary contents.
-
-
Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
@@ -2487,6 +2635,7 @@
+
@@ -2499,6 +2648,11 @@
Layout used to format log messages.
+
+
+ Always use independent of
+
+
Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
@@ -2512,49 +2666,36 @@
-
-
-
-
-
+
-
+
+
+
+
+
+
+
Name of the target.
-
-
- Should we include the BOM (Byte-order-mark) for UTF? Influences the property. This will only work for UTF-8.
-
-
Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
+
- Encoding.
-
-
-
-
- Value whether escaping be done according to the old NLog style (Very non-standard)
-
-
-
-
- Value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs)
+ Should we include the BOM (Byte-order-mark) for UTF? Influences the property. This will only work for UTF-8.
@@ -2567,21 +2708,41 @@
Web service namespace. Only used with Soap.
-
-
- Indicates whether to pre-authenticate the HttpWebRequest (Requires 'Authorization' in parameters)
-
-
Protocol to be used when calling web service.
+
+
+ Custom proxy address, include port separated by a colon
+
+
+
+
+ Encoding.
+
+
Web service URL.
+
+
+ Value whether escaping be done according to the old NLog style (Very non-standard)
+
+
+
+
+ Value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs)
+
+
+
+
+ Indicates whether to pre-authenticate the HttpWebRequest (Requires 'Authorization' in parameters)
+
+
Name of the root XML element, if POST of XML document chosen. If so, this property must not be null. (see and ).
@@ -2592,6 +2753,11 @@
(optional) root namespace of the XML document, if POST of XML document chosen. (see and ).
+
+
+ Proxy configuration when calling web service
+
+
@@ -2605,6 +2771,14 @@
+
+
+
+
+
+
+
+
@@ -2674,6 +2848,13 @@
+
+
+
+
+
+
+
@@ -2685,17 +2866,11 @@
-
-
-
-
-
-
-
+
@@ -2707,6 +2882,11 @@
Name of the column.
+
+
+ Override of Quoting mode
+
+
@@ -2715,10 +2895,13 @@
+
+
+
-
+
@@ -2727,7 +2910,12 @@
- Option to include all properties from the log events
+ Option to include all properties from the log event (as JSON)
+
+
+
+
+ Indicates whether to include contents of the dictionary.
@@ -2735,6 +2923,16 @@
Indicates whether to include contents of the dictionary.
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ How far should the JSON serializer follow object references before backing off
+
+
Option to render the empty object value {}
@@ -2745,9 +2943,9 @@
Option to suppress the extra spaces in the output json
-
+
- Indicates whether to include contents of the dictionary.
+ Should forward slashes be escaped? If true, / will be converted to \/
@@ -2755,21 +2953,13 @@
-
-
+
+
+
+
-
-
- Determines wether or not this attribute will be Json encoded.
-
-
-
-
- Indicates whether to escape non-ascii characters
-
-
Layout that will be rendered as the attribute's value.
@@ -2780,6 +2970,26 @@
Name of the attribute.
+
+
+ Determines whether or not this attribute will be Json encoded.
+
+
+
+
+ Indicates whether to escape non-ascii characters
+
+
+
+
+ Whether an attribute with empty value should be included in the output
+
+
+
+
+ Should forward slashes be escaped? If true, / will be converted to \/
+
+
@@ -2812,14 +3022,24 @@
+
+
+
+
+
Option to include all properties from the log events
+
+
+ Indicates whether to include call site (class and method name) in the information sent over the network.
+
+
Indicates whether to include contents of the dictionary.
@@ -2830,6 +3050,21 @@
Indicates whether to include contents of the dictionary.
+
+
+ Indicates whether to include contents of the stack.
+
+
+
+
+ Indicates whether to include contents of the stack.
+
+
+
+
+ Indicates whether to include source info (file name and line number) in the information sent over the network.
+
+
@@ -2847,6 +3082,218 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ List of property names to exclude when is true
+
+
+
+
+ Option to include all properties from the log event (as XML)
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ How far should the XML serializer follow object references before backing off
+
+
+
+
+ XML element name to use for rendering IList-collections items
+
+
+
+
+ XML attribute name to use when rendering property-key When null (or empty) then key-attribute is not included
+
+
+
+
+ XML element name to use when rendering properties
+
+
+
+
+ XML attribute name to use when rendering property-value When null (or empty) then value-attribute is not included and value is formatted as XML-element-value
+
+
+
+
+ Name of the root XML element
+
+
+
+
+ Value inside the root XML element
+
+
+
+
+ Whether a ElementValue with empty value should be included in the output
+
+
+
+
+ Auto indent and create new lines
+
+
+
+
+ Determines whether or not this attribute will be Xml encoded.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layout that will be rendered as the attribute's value.
+
+
+
+
+ Name of the attribute.
+
+
+
+
+ Determines whether or not this attribute will be Xml encoded.
+
+
+
+
+ Whether an attribute with empty value should be included in the output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Determines whether or not this attribute will be Xml encoded.
+
+
+
+
+ Name of the element
+
+
+
+
+ Value inside the element
+
+
+
+
+ Whether a ElementValue with empty value should be included in the output
+
+
+
+
+ Auto indent and create new lines
+
+
+
+
+ List of property names to exclude when is true
+
+
+
+
+ Option to include all properties from the log event (as XML)
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ How far should the XML serializer follow object references before backing off
+
+
+
+
+ XML element name to use for rendering IList-collections items
+
+
+
+
+ XML attribute name to use when rendering property-key When null (or empty) then key-attribute is not included
+
+
+
+
+ XML element name to use when rendering properties
+
+
+
+
+ XML attribute name to use when rendering property-value When null (or empty) then value-attribute is not included and value is formatted as XML-element-value
+
+
+
@@ -3009,39 +3456,35 @@
-
-
-
+
+
+
-
+
+
Action to be taken when filter matches.
-
-
- Layout to be used to filter log messages.
-
-
Default number of unique filter values to expect, will automatically increase if needed
-
+
- Append FilterCount to the when an event is no longer filtered
+ Applies the configured action to the initial logevent that starts the timeout period. Used to configure that it should ignore all events until timeout.
-
+
- Insert FilterCount value into when an event is no longer filtered
+ Layout to be used to filter log messages.
@@ -3054,6 +3497,11 @@
Max length of filter values, will truncate if above limit
+
+
+ How long before a filter expires, and logging is accepted again
+
+
Default buffer size for the internal buffers
@@ -3064,9 +3512,14 @@
Reuse internal buffers, and doesn't have to constantly allocate new buffers
-
+
- How long before a filter expires, and logging is accepted again
+ Append FilterCount to the when an event is no longer filtered
+
+
+
+
+ Insert FilterCount value into when an event is no longer filtered
diff --git a/HOME/Scripts/esm/popper-utils.js b/HOME/Scripts/esm/popper-utils.js
index cd0f036..76d3678 100644
--- a/HOME/Scripts/esm/popper-utils.js
+++ b/HOME/Scripts/esm/popper-utils.js
@@ -1,6 +1,6 @@
/**!
* @fileOverview Kickass library to create and place poppers near their reference elements.
- * @version 1.16.0
+ * @version 1.16.1
* @license
* Copyright (c) 2016 Federico Zivolo and contributors
*
@@ -284,7 +284,7 @@ function getBordersSize(styles, axis) {
var sideA = axis === 'x' ? 'Left' : 'Top';
var sideB = sideA === 'Left' ? 'Right' : 'Bottom';
- return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);
+ return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);
}
function getSize(axis, body, html, computedStyle) {
@@ -396,8 +396,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
var scrollParent = getScrollParent(children);
var styles = getStyleComputedProperty(parent);
- var borderTopWidth = parseFloat(styles.borderTopWidth, 10);
- var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
+ var borderTopWidth = parseFloat(styles.borderTopWidth);
+ var borderLeftWidth = parseFloat(styles.borderLeftWidth);
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
if (fixedPosition && isHTML) {
@@ -418,8 +418,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
// 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) {
- var marginTop = parseFloat(styles.marginTop, 10);
- var marginLeft = parseFloat(styles.marginLeft, 10);
+ var marginTop = parseFloat(styles.marginTop);
+ var marginLeft = parseFloat(styles.marginLeft);
offsets.top -= borderTopWidth - marginTop;
offsets.bottom -= borderTopWidth - marginTop;
diff --git a/HOME/Scripts/esm/popper-utils.js.map b/HOME/Scripts/esm/popper-utils.js.map
index 488809d..5e2432d 100644
--- a/HOME/Scripts/esm/popper-utils.js.map
+++ b/HOME/Scripts/esm/popper-utils.js.map
@@ -1 +1 @@
-{"version":3,"file":"popper-utils.js","sources":["../../src/utils/getStyleComputedProperty.js","../../src/utils/getParentNode.js","../../src/utils/getScrollParent.js","../../src/utils/getReferenceNode.js","../../src/utils/isBrowser.js","../../src/utils/isIE.js","../../src/utils/getOffsetParent.js","../../src/utils/isOffsetContainer.js","../../src/utils/getRoot.js","../../src/utils/findCommonOffsetParent.js","../../src/utils/getScroll.js","../../src/utils/includeScroll.js","../../src/utils/getBordersSize.js","../../src/utils/getWindowSizes.js","../../src/utils/getClientRect.js","../../src/utils/getBoundingClientRect.js","../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../src/utils/isFixed.js","../../src/utils/getFixedPositionOffsetParent.js","../../src/utils/getBoundaries.js","../../src/utils/computeAutoPlacement.js","../../src/utils/debounce.js","../../src/utils/find.js","../../src/utils/findIndex.js","../../src/utils/getOffsetRect.js","../../src/utils/getOuterSizes.js","../../src/utils/getOppositePlacement.js","../../src/utils/getPopperOffsets.js","../../src/utils/getReferenceOffsets.js","../../src/utils/getSupportedPropertyName.js","../../src/utils/isFunction.js","../../src/utils/isModifierEnabled.js","../../src/utils/isModifierRequired.js","../../src/utils/isNumeric.js","../../src/utils/getWindow.js","../../src/utils/removeEventListeners.js","../../src/utils/runModifiers.js","../../src/utils/setAttributes.js","../../src/utils/setStyles.js","../../src/utils/setupEventListeners.js","../../src/utils/index.js"],"sourcesContent":["/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`], 10) +\n parseFloat(styles[`border${sideB}Width`], 10)\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop, 10);\n const marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import getWindowSizes from './getWindowSizes';\nimport getClientRect from './getClientRect';\n\n/**\n * Get the position of the given element, relative to its offset parent\n * @method\n * @memberof Popper.Utils\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\nexport default function getOffsetRect(element) {\n let elementRect;\n if (element.nodeName === 'HTML') {\n const { width, height } = getWindowSizes(element.ownerDocument);\n elementRect = {\n width,\n height,\n left: 0,\n top: 0,\n };\n } else {\n elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop,\n };\n }\n\n // position\n return getClientRect(elementRect);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import computeAutoPlacement from './computeAutoPlacement';\nimport debounce from './debounce';\nimport findIndex from './findIndex';\nimport getBordersSize from './getBordersSize';\nimport getBoundaries from './getBoundaries';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getClientRect from './getClientRect';\nimport getOffsetParent from './getOffsetParent';\nimport getOffsetRect from './getOffsetRect';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getOuterSizes from './getOuterSizes';\nimport getParentNode from './getParentNode';\nimport getPopperOffsets from './getPopperOffsets';\nimport getReferenceOffsets from './getReferenceOffsets';\nimport getScroll from './getScroll';\nimport getScrollParent from './getScrollParent';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getSupportedPropertyName from './getSupportedPropertyName';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport isFunction from './isFunction';\nimport isModifierEnabled from './isModifierEnabled';\nimport isModifierRequired from './isModifierRequired';\nimport isNumeric from './isNumeric';\nimport removeEventListeners from './removeEventListeners';\nimport runModifiers from './runModifiers';\nimport setAttributes from './setAttributes';\nimport setStyles from './setStyles';\nimport setupEventListeners from './setupEventListeners';\n\n/** @namespace Popper.Utils */\nexport {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n\n// This is here just for backward compatibility with versions lower than v1.10.3\n// you should import the utilities using named exports, if you want them all use:\n// ```\n// import * as PopperUtils from 'popper-utils';\n// ```\n// The default export will be removed in the next major version.\nexport default {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n"],"names":["getStyleComputedProperty","element","property","nodeType","window","ownerDocument","defaultView","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","document","body","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","navigator","isIE11","isBrowser","MSInputMethodContext","documentMode","isIE10","userAgent","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","indexOf","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","getClientRect","offsets","width","height","getBoundingClientRect","e","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","Object","keys","map","key","sort","a","b","area","filteredAreas","filter","computedPlacement","length","variation","split","timeoutDuration","longerTimeoutBrowsers","i","microtaskDebounce","fn","called","Promise","resolve","then","taskDebounce","scheduled","supportsMicroTasks","find","arr","check","Array","prototype","findIndex","prop","value","cur","match","obj","getOffsetRect","elementRect","offsetLeft","offsetTop","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","getReferenceOffsets","state","commonOffsetParent","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","slice","prefix","toCheck","style","isFunction","functionToCheck","getType","toString","call","isModifierEnabled","modifiers","modifierName","some","name","enabled","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","warn","isNumeric","n","isNaN","isFinite","getWindow","removeEventListeners","removeEventListener","updateBound","scrollParents","forEach","scrollElement","eventsEnabled","runModifiers","data","ends","modifiersToRun","undefined","setAttributes","attributes","setAttribute","removeAttribute","setStyles","unit","attachToScrollParents","event","callback","isBody","target","addEventListener","passive","push","setupEventListeners","options"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"popper-utils.js","sources":["../../src/utils/getStyleComputedProperty.js","../../src/utils/getParentNode.js","../../src/utils/getScrollParent.js","../../src/utils/getReferenceNode.js","../../src/utils/isBrowser.js","../../src/utils/isIE.js","../../src/utils/getOffsetParent.js","../../src/utils/isOffsetContainer.js","../../src/utils/getRoot.js","../../src/utils/findCommonOffsetParent.js","../../src/utils/getScroll.js","../../src/utils/includeScroll.js","../../src/utils/getBordersSize.js","../../src/utils/getWindowSizes.js","../../src/utils/getClientRect.js","../../src/utils/getBoundingClientRect.js","../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../src/utils/isFixed.js","../../src/utils/getFixedPositionOffsetParent.js","../../src/utils/getBoundaries.js","../../src/utils/computeAutoPlacement.js","../../src/utils/debounce.js","../../src/utils/find.js","../../src/utils/findIndex.js","../../src/utils/getOffsetRect.js","../../src/utils/getOuterSizes.js","../../src/utils/getOppositePlacement.js","../../src/utils/getPopperOffsets.js","../../src/utils/getReferenceOffsets.js","../../src/utils/getSupportedPropertyName.js","../../src/utils/isFunction.js","../../src/utils/isModifierEnabled.js","../../src/utils/isModifierRequired.js","../../src/utils/isNumeric.js","../../src/utils/getWindow.js","../../src/utils/removeEventListeners.js","../../src/utils/runModifiers.js","../../src/utils/setAttributes.js","../../src/utils/setStyles.js","../../src/utils/setupEventListeners.js","../../src/utils/index.js"],"sourcesContent":["/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import getWindowSizes from './getWindowSizes';\nimport getClientRect from './getClientRect';\n\n/**\n * Get the position of the given element, relative to its offset parent\n * @method\n * @memberof Popper.Utils\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\nexport default function getOffsetRect(element) {\n let elementRect;\n if (element.nodeName === 'HTML') {\n const { width, height } = getWindowSizes(element.ownerDocument);\n elementRect = {\n width,\n height,\n left: 0,\n top: 0,\n };\n } else {\n elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop,\n };\n }\n\n // position\n return getClientRect(elementRect);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import computeAutoPlacement from './computeAutoPlacement';\nimport debounce from './debounce';\nimport findIndex from './findIndex';\nimport getBordersSize from './getBordersSize';\nimport getBoundaries from './getBoundaries';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getClientRect from './getClientRect';\nimport getOffsetParent from './getOffsetParent';\nimport getOffsetRect from './getOffsetRect';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getOuterSizes from './getOuterSizes';\nimport getParentNode from './getParentNode';\nimport getPopperOffsets from './getPopperOffsets';\nimport getReferenceOffsets from './getReferenceOffsets';\nimport getScroll from './getScroll';\nimport getScrollParent from './getScrollParent';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getSupportedPropertyName from './getSupportedPropertyName';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport isFunction from './isFunction';\nimport isModifierEnabled from './isModifierEnabled';\nimport isModifierRequired from './isModifierRequired';\nimport isNumeric from './isNumeric';\nimport removeEventListeners from './removeEventListeners';\nimport runModifiers from './runModifiers';\nimport setAttributes from './setAttributes';\nimport setStyles from './setStyles';\nimport setupEventListeners from './setupEventListeners';\n\n/** @namespace Popper.Utils */\nexport {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n\n// This is here just for backward compatibility with versions lower than v1.10.3\n// you should import the utilities using named exports, if you want them all use:\n// ```\n// import * as PopperUtils from 'popper-utils';\n// ```\n// The default export will be removed in the next major version.\nexport default {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n"],"names":["getStyleComputedProperty","element","property","nodeType","window","ownerDocument","defaultView","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","document","body","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","navigator","isIE11","isBrowser","MSInputMethodContext","documentMode","isIE10","userAgent","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","indexOf","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","getClientRect","offsets","width","height","getBoundingClientRect","e","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","Object","keys","map","key","sort","a","b","area","filteredAreas","filter","computedPlacement","length","variation","split","timeoutDuration","longerTimeoutBrowsers","i","microtaskDebounce","fn","called","Promise","resolve","then","taskDebounce","scheduled","supportsMicroTasks","find","arr","check","Array","prototype","findIndex","prop","value","cur","match","obj","getOffsetRect","elementRect","offsetLeft","offsetTop","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","getReferenceOffsets","state","commonOffsetParent","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","slice","prefix","toCheck","style","isFunction","functionToCheck","getType","toString","call","isModifierEnabled","modifiers","modifierName","some","name","enabled","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","warn","isNumeric","n","isNaN","isFinite","getWindow","removeEventListeners","removeEventListener","updateBound","scrollParents","forEach","scrollElement","eventsEnabled","runModifiers","data","ends","modifiersToRun","undefined","setAttributes","attributes","setAttribute","removeAttribute","setStyles","unit","attachToScrollParents","event","callback","isBody","target","addEventListener","passive","push","setupEventListeners","options"],"mappings":"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"}
\ No newline at end of file
diff --git a/HOME/Scripts/esm/popper-utils.min.js b/HOME/Scripts/esm/popper-utils.min.js
index 576db6c..32f9127 100644
--- a/HOME/Scripts/esm/popper-utils.min.js
+++ b/HOME/Scripts/esm/popper-utils.min.js
@@ -1,5 +1,5 @@
/*
- Copyright (C) Federico Zivolo 2019
+ Copyright (C) Federico Zivolo 2020
Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).
- */function a(a,b){if(1!==a.nodeType)return[];var c=a.ownerDocument.defaultView,d=c.getComputedStyle(a,null);return b?d[b]:d}function b(a){return'HTML'===a.nodeName?a:a.parentNode||a.host}function c(d){if(!d)return document.body;switch(d.nodeName){case'HTML':case'BODY':return d.ownerDocument.body;case'#document':return d.body;}var e=a(d),f=e.overflow,g=e.overflowX,h=e.overflowY;return /(auto|scroll|overlay)/.test(f+h+g)?d:c(b(d))}function d(a){return a&&a.referenceNode?a.referenceNode:a}var e='undefined'!=typeof window&&'undefined'!=typeof document&&'undefined'!=typeof navigator,f=e&&!!(window.MSInputMethodContext&&document.documentMode),g=e&&/MSIE 10/.test(navigator.userAgent);function h(a){return 11===a?f:10===a?g:f||g}function i(b){if(!b)return document.documentElement;for(var c=h(10)?document.body:null,d=b.offsetParent||null;d===c&&b.nextElementSibling;)d=(b=b.nextElementSibling).offsetParent;var e=d&&d.nodeName;return e&&'BODY'!==e&&'HTML'!==e?-1!==['TH','TD','TABLE'].indexOf(d.nodeName)&&'static'===a(d,'position')?i(d):d:b?b.ownerDocument.documentElement:document.documentElement}function j(a){var b=a.nodeName;return'BODY'!==b&&('HTML'===b||i(a.firstElementChild)===a)}function k(a){return null===a.parentNode?a:k(a.parentNode)}function l(a,b){if(!a||!a.nodeType||!b||!b.nodeType)return document.documentElement;var c=a.compareDocumentPosition(b)&Node.DOCUMENT_POSITION_FOLLOWING,d=c?a:b,e=c?b:a,f=document.createRange();f.setStart(d,0),f.setEnd(e,0);var g=f.commonAncestorContainer;if(a!==g&&b!==g||d.contains(e))return j(g)?g:i(g);var h=k(a);return h.host?l(h.host,b):l(a,k(b).host)}function m(a){var b=1=c.clientWidth&&d>=c.clientHeight}),k=0=c.clientWidth&&d>=c.clientHeight}),k=0 ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import getWindowSizes from './getWindowSizes';\nimport getClientRect from './getClientRect';\n\n/**\n * Get the position of the given element, relative to its offset parent\n * @method\n * @memberof Popper.Utils\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\nexport default function getOffsetRect(element) {\n let elementRect;\n if (element.nodeName === 'HTML') {\n const { width, height } = getWindowSizes(element.ownerDocument);\n elementRect = {\n width,\n height,\n left: 0,\n top: 0,\n };\n } else {\n elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop,\n };\n }\n\n // position\n return getClientRect(elementRect);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import computeAutoPlacement from './computeAutoPlacement';\nimport debounce from './debounce';\nimport findIndex from './findIndex';\nimport getBordersSize from './getBordersSize';\nimport getBoundaries from './getBoundaries';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getClientRect from './getClientRect';\nimport getOffsetParent from './getOffsetParent';\nimport getOffsetRect from './getOffsetRect';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getOuterSizes from './getOuterSizes';\nimport getParentNode from './getParentNode';\nimport getPopperOffsets from './getPopperOffsets';\nimport getReferenceOffsets from './getReferenceOffsets';\nimport getScroll from './getScroll';\nimport getScrollParent from './getScrollParent';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getSupportedPropertyName from './getSupportedPropertyName';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport isFunction from './isFunction';\nimport isModifierEnabled from './isModifierEnabled';\nimport isModifierRequired from './isModifierRequired';\nimport isNumeric from './isNumeric';\nimport removeEventListeners from './removeEventListeners';\nimport runModifiers from './runModifiers';\nimport setAttributes from './setAttributes';\nimport setStyles from './setStyles';\nimport setupEventListeners from './setupEventListeners';\n\n/** @namespace Popper.Utils */\nexport {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n\n// This is here just for backward compatibility with versions lower than v1.10.3\n// you should import the utilities using named exports, if you want them all use:\n// ```\n// import * as PopperUtils from 'popper-utils';\n// ```\n// The default export will be removed in the next major version.\nexport default {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n"],"names":["element","nodeType","window","ownerDocument","defaultView","css","getComputedStyle","property","nodeName","parentNode","host","document","body","getStyleComputedProperty","overflow","overflowX","overflowY","test","getScrollParent","getParentNode","reference","referenceNode","navigator","isIE10","isBrowser","userAgent","version","isIE11","documentElement","noOffsetParent","isIE","offsetParent","nextElementSibling","indexOf","getOffsetParent","firstElementChild","node","getRoot","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","isOffsetContainer","element1root","findCommonOffsetParent","side","upperSide","html","scrollingElement","subtract","scrollTop","getScroll","scrollLeft","modifier","top","bottom","left","right","sideA","axis","sideB","parseFloat","styles","Math","max","parseInt","computedStyle","getSize","offsets","width","height","rect","getBoundingClientRect","result","sizes","getWindowSizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getBordersSize","getClientRect","fixedPosition","runIsIE","isHTML","parent","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","includeScroll","excludeScroll","relativeOffset","getOffsetRectRelativeToArbitraryNode","innerWidth","innerHeight","offset","isFixed","parentElement","el","boundaries","getFixedPositionOffsetParent","getReferenceNode","boundariesElement","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","popper","padding","isPaddingNumber","placement","getBoundaries","rects","refRect","sortedAreas","Object","keys","map","getArea","sort","b","area","a","filteredAreas","filter","computedPlacement","length","key","variation","split","timeoutDuration","longerTimeoutBrowsers","i","called","Promise","resolve","then","scheduled","supportsMicroTasks","Array","prototype","find","arr","findIndex","cur","match","obj","elementRect","offsetLeft","offsetTop","x","marginBottom","y","marginRight","hash","replace","popperRect","getOuterSizes","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","referenceOffsets","getOppositePlacement","commonOffsetParent","prefixes","upperProp","charAt","toUpperCase","slice","prefix","toCheck","style","functionToCheck","getType","toString","call","modifiers","some","name","enabled","requesting","isRequired","warn","requested","n","isNaN","isFinite","removeEventListener","state","updateBound","scrollParents","forEach","scrollElement","eventsEnabled","modifiersToRun","ends","fn","isFunction","data","value","attributes","removeAttribute","setAttribute","unit","isNumeric","isBody","target","addEventListener","passive","push"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"popper-utils.min.js","sources":["../../src/utils/getStyleComputedProperty.js","../../src/utils/getParentNode.js","../../src/utils/getScrollParent.js","../../src/utils/getReferenceNode.js","../../src/utils/isBrowser.js","../../src/utils/isIE.js","../../src/utils/getOffsetParent.js","../../src/utils/isOffsetContainer.js","../../src/utils/getRoot.js","../../src/utils/findCommonOffsetParent.js","../../src/utils/getScroll.js","../../src/utils/includeScroll.js","../../src/utils/getBordersSize.js","../../src/utils/getWindowSizes.js","../../src/utils/getClientRect.js","../../src/utils/getBoundingClientRect.js","../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../src/utils/isFixed.js","../../src/utils/getFixedPositionOffsetParent.js","../../src/utils/getBoundaries.js","../../src/utils/computeAutoPlacement.js","../../src/utils/debounce.js","../../src/utils/find.js","../../src/utils/findIndex.js","../../src/utils/getOffsetRect.js","../../src/utils/getOuterSizes.js","../../src/utils/getOppositePlacement.js","../../src/utils/getPopperOffsets.js","../../src/utils/getReferenceOffsets.js","../../src/utils/getSupportedPropertyName.js","../../src/utils/isFunction.js","../../src/utils/isModifierEnabled.js","../../src/utils/isModifierRequired.js","../../src/utils/isNumeric.js","../../src/utils/getWindow.js","../../src/utils/removeEventListeners.js","../../src/utils/runModifiers.js","../../src/utils/setAttributes.js","../../src/utils/setStyles.js","../../src/utils/setupEventListeners.js","../../src/utils/index.js"],"sourcesContent":["/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import getWindowSizes from './getWindowSizes';\nimport getClientRect from './getClientRect';\n\n/**\n * Get the position of the given element, relative to its offset parent\n * @method\n * @memberof Popper.Utils\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\nexport default function getOffsetRect(element) {\n let elementRect;\n if (element.nodeName === 'HTML') {\n const { width, height } = getWindowSizes(element.ownerDocument);\n elementRect = {\n width,\n height,\n left: 0,\n top: 0,\n };\n } else {\n elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop,\n };\n }\n\n // position\n return getClientRect(elementRect);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import computeAutoPlacement from './computeAutoPlacement';\nimport debounce from './debounce';\nimport findIndex from './findIndex';\nimport getBordersSize from './getBordersSize';\nimport getBoundaries from './getBoundaries';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getClientRect from './getClientRect';\nimport getOffsetParent from './getOffsetParent';\nimport getOffsetRect from './getOffsetRect';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getOuterSizes from './getOuterSizes';\nimport getParentNode from './getParentNode';\nimport getPopperOffsets from './getPopperOffsets';\nimport getReferenceOffsets from './getReferenceOffsets';\nimport getScroll from './getScroll';\nimport getScrollParent from './getScrollParent';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getSupportedPropertyName from './getSupportedPropertyName';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport isFunction from './isFunction';\nimport isModifierEnabled from './isModifierEnabled';\nimport isModifierRequired from './isModifierRequired';\nimport isNumeric from './isNumeric';\nimport removeEventListeners from './removeEventListeners';\nimport runModifiers from './runModifiers';\nimport setAttributes from './setAttributes';\nimport setStyles from './setStyles';\nimport setupEventListeners from './setupEventListeners';\n\n/** @namespace Popper.Utils */\nexport {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n\n// This is here just for backward compatibility with versions lower than v1.10.3\n// you should import the utilities using named exports, if you want them all use:\n// ```\n// import * as PopperUtils from 'popper-utils';\n// ```\n// The default export will be removed in the next major version.\nexport default {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n"],"names":["element","nodeType","window","ownerDocument","defaultView","css","getComputedStyle","property","nodeName","parentNode","host","document","body","getStyleComputedProperty","overflow","overflowX","overflowY","test","getScrollParent","getParentNode","reference","referenceNode","navigator","isIE10","isBrowser","userAgent","version","isIE11","documentElement","noOffsetParent","isIE","offsetParent","nextElementSibling","indexOf","getOffsetParent","firstElementChild","node","getRoot","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","isOffsetContainer","element1root","findCommonOffsetParent","side","upperSide","html","scrollingElement","subtract","scrollTop","getScroll","scrollLeft","modifier","top","bottom","left","right","sideA","axis","sideB","parseFloat","styles","Math","max","parseInt","computedStyle","getSize","offsets","width","height","rect","getBoundingClientRect","result","sizes","getWindowSizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getBordersSize","getClientRect","fixedPosition","runIsIE","isHTML","parent","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","includeScroll","excludeScroll","relativeOffset","getOffsetRectRelativeToArbitraryNode","innerWidth","innerHeight","offset","isFixed","parentElement","el","boundaries","getFixedPositionOffsetParent","getReferenceNode","boundariesElement","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","popper","padding","isPaddingNumber","placement","getBoundaries","rects","refRect","sortedAreas","Object","keys","map","getArea","sort","b","area","a","filteredAreas","filter","computedPlacement","length","key","variation","split","timeoutDuration","longerTimeoutBrowsers","i","called","Promise","resolve","then","scheduled","supportsMicroTasks","Array","prototype","find","arr","findIndex","cur","match","obj","elementRect","offsetLeft","offsetTop","x","marginBottom","y","marginRight","hash","replace","popperRect","getOuterSizes","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","referenceOffsets","getOppositePlacement","commonOffsetParent","prefixes","upperProp","charAt","toUpperCase","slice","prefix","toCheck","style","functionToCheck","getType","toString","call","modifiers","some","name","enabled","requesting","isRequired","warn","requested","n","isNaN","isFinite","removeEventListener","state","updateBound","scrollParents","forEach","scrollElement","eventsEnabled","modifiersToRun","ends","fn","isFunction","data","value","attributes","removeAttribute","setAttribute","unit","isNumeric","isBody","target","addEventListener","passive","push"],"mappings":"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"}
\ No newline at end of file
diff --git a/HOME/Scripts/esm/popper.js b/HOME/Scripts/esm/popper.js
index 5a431c7..310f5d1 100644
--- a/HOME/Scripts/esm/popper.js
+++ b/HOME/Scripts/esm/popper.js
@@ -1,6 +1,6 @@
/**!
* @fileOverview Kickass library to create and place poppers near their reference elements.
- * @version 1.16.0
+ * @version 1.16.1
* @license
* Copyright (c) 2016 Federico Zivolo and contributors
*
@@ -346,7 +346,7 @@ function getBordersSize(styles, axis) {
var sideA = axis === 'x' ? 'Left' : 'Top';
var sideB = sideA === 'Left' ? 'Right' : 'Bottom';
- return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);
+ return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);
}
function getSize(axis, body, html, computedStyle) {
@@ -501,8 +501,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
var scrollParent = getScrollParent(children);
var styles = getStyleComputedProperty(parent);
- var borderTopWidth = parseFloat(styles.borderTopWidth, 10);
- var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
+ var borderTopWidth = parseFloat(styles.borderTopWidth);
+ var borderLeftWidth = parseFloat(styles.borderLeftWidth);
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
if (fixedPosition && isHTML) {
@@ -523,8 +523,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
// 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) {
- var marginTop = parseFloat(styles.marginTop, 10);
- var marginLeft = parseFloat(styles.marginLeft, 10);
+ var marginTop = parseFloat(styles.marginTop);
+ var marginLeft = parseFloat(styles.marginLeft);
offsets.top -= borderTopWidth - marginTop;
offsets.bottom -= borderTopWidth - marginTop;
@@ -1463,8 +1463,8 @@ function arrow(data, options) {
// Compute the sideValue using the updated popper offsets
// take popper margin in account because we don't have this info available
var css = getStyleComputedProperty(data.instance.popper);
- var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);
- var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);
+ var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);
+ var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);
var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
// prevent arrowElement from being placed not contiguously to its popper
diff --git a/HOME/Scripts/esm/popper.js.map b/HOME/Scripts/esm/popper.js.map
index b12517f..bbcd006 100644
--- a/HOME/Scripts/esm/popper.js.map
+++ b/HOME/Scripts/esm/popper.js.map
@@ -1 +1 @@
-{"version":3,"file":"popper.js","sources":["../../src/utils/isBrowser.js","../../src/utils/debounce.js","../../src/utils/isFunction.js","../../src/utils/getStyleComputedProperty.js","../../src/utils/getParentNode.js","../../src/utils/getScrollParent.js","../../src/utils/getReferenceNode.js","../../src/utils/isIE.js","../../src/utils/getOffsetParent.js","../../src/utils/isOffsetContainer.js","../../src/utils/getRoot.js","../../src/utils/findCommonOffsetParent.js","../../src/utils/getScroll.js","../../src/utils/includeScroll.js","../../src/utils/getBordersSize.js","../../src/utils/getWindowSizes.js","../../src/utils/getClientRect.js","../../src/utils/getBoundingClientRect.js","../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../src/utils/isFixed.js","../../src/utils/getFixedPositionOffsetParent.js","../../src/utils/getBoundaries.js","../../src/utils/computeAutoPlacement.js","../../src/utils/getReferenceOffsets.js","../../src/utils/getOuterSizes.js","../../src/utils/getOppositePlacement.js","../../src/utils/getPopperOffsets.js","../../src/utils/find.js","../../src/utils/findIndex.js","../../src/utils/runModifiers.js","../../src/methods/update.js","../../src/utils/isModifierEnabled.js","../../src/utils/getSupportedPropertyName.js","../../src/methods/destroy.js","../../src/utils/getWindow.js","../../src/utils/setupEventListeners.js","../../src/methods/enableEventListeners.js","../../src/utils/removeEventListeners.js","../../src/methods/disableEventListeners.js","../../src/utils/isNumeric.js","../../src/utils/setStyles.js","../../src/utils/setAttributes.js","../../src/modifiers/applyStyle.js","../../src/utils/getRoundedOffsets.js","../../src/modifiers/computeStyle.js","../../src/utils/isModifierRequired.js","../../src/modifiers/arrow.js","../../src/utils/getOppositeVariation.js","../../src/methods/placements.js","../../src/utils/clockwise.js","../../src/modifiers/flip.js","../../src/modifiers/keepTogether.js","../../src/modifiers/offset.js","../../src/modifiers/preventOverflow.js","../../src/modifiers/shift.js","../../src/modifiers/hide.js","../../src/modifiers/inner.js","../../src/modifiers/index.js","../../src/methods/defaults.js","../../src/index.js"],"sourcesContent":["export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`], 10) +\n parseFloat(styles[`border${sideB}Width`], 10)\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop, 10);\n const marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`], 10);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`], 10);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n"],"names":["window","document","navigator","timeoutDuration","longerTimeoutBrowsers","i","length","isBrowser","userAgent","indexOf","microtaskDebounce","fn","called","Promise","resolve","then","taskDebounce","scheduled","supportsMicroTasks","isFunction","functionToCheck","getType","toString","call","getStyleComputedProperty","element","property","nodeType","ownerDocument","defaultView","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","getClientRect","offsets","width","height","getBoundingClientRect","e","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","Object","keys","map","key","sort","a","b","area","filteredAreas","filter","computedPlacement","variation","split","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","prototype","findIndex","prop","value","cur","match","obj","runModifiers","modifiers","data","ends","modifiersToRun","undefined","slice","forEach","warn","enabled","update","isDestroyed","options","positionFixed","flip","originalPlacement","position","isCreated","onCreate","onUpdate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","attachToScrollParents","event","callback","scrollParents","isBody","target","addEventListener","passive","push","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","setAttributes","attributes","setAttribute","applyStyle","instance","arrowElement","arrowStyles","applyStyleOnLoad","modifierOptions","getRoundedOffsets","shouldRound","round","floor","noRound","v","referenceWidth","popperWidth","isVertical","isVariation","sameWidthParity","bothOddWidth","horizontalToInteger","verticalToInteger","isFirefox","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrow","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","querySelector","len","sideCapitalized","toLowerCase","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","min","getOppositeVariation","validPlacements","placements","clockwise","counter","index","concat","reverse","BEHAVIORS","flipped","placementOpposite","flipOrder","behavior","FLIP","CLOCKWISE","COUNTERCLOCKWISE","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","keepTogether","toValue","str","size","parseOffset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","index2","preventOverflow","transformProp","popperStyles","transform","priority","escapeWithReference","shift","shiftvariation","shiftOffsets","hide","bound","inner","subtractLength","Popper","requestAnimationFrame","debounce","bind","Defaults","jquery","onLoad","Utils","global","PopperUtils"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,gBAAe,OAAOA,MAAP,KAAkB,WAAlB,IAAiC,OAAOC,QAAP,KAAoB,WAArD,IAAoE,OAAOC,SAAP,KAAqB,WAAxG;;ACEA,IAAMC,kBAAmB,YAAU;MAC3BC,wBAAwB,CAAC,MAAD,EAAS,SAAT,EAAoB,SAApB,CAA9B;OACK,IAAIC,IAAI,CAAb,EAAgBA,IAAID,sBAAsBE,MAA1C,EAAkDD,KAAK,CAAvD,EAA0D;QACpDE,aAAaL,UAAUM,SAAV,CAAoBC,OAApB,CAA4BL,sBAAsBC,CAAtB,CAA5B,KAAyD,CAA1E,EAA6E;aACpE,CAAP;;;SAGG,CAAP;CAPuB,EAAzB;;AAUA,AAAO,SAASK,iBAAT,CAA2BC,EAA3B,EAA+B;MAChCC,SAAS,KAAb;SACO,YAAM;QACPA,MAAJ,EAAY;;;aAGH,IAAT;WACOC,OAAP,CAAeC,OAAf,GAAyBC,IAAzB,CAA8B,YAAM;eACzB,KAAT;;KADF;GALF;;;AAYF,AAAO,SAASC,YAAT,CAAsBL,EAAtB,EAA0B;MAC3BM,YAAY,KAAhB;SACO,YAAM;QACP,CAACA,SAAL,EAAgB;kBACF,IAAZ;iBACW,YAAM;oBACH,KAAZ;;OADF,EAGGd,eAHH;;GAHJ;;;AAWF,IAAMe,qBAAqBX,aAAaP,OAAOa,OAA/C;;;;;;;;;;;AAYA,eAAgBK,qBACZR,iBADY,GAEZM,YAFJ;;ACnDA;;;;;;;AAOA,AAAe,SAASG,UAAT,CAAoBC,eAApB,EAAqC;MAC5CC,UAAU,EAAhB;SAEED,mBACAC,QAAQC,QAAR,CAAiBC,IAAjB,CAAsBH,eAAtB,MAA2C,mBAF7C;;;ACTF;;;;;;;AAOA,AAAe,SAASI,wBAAT,CAAkCC,OAAlC,EAA2CC,QAA3C,EAAqD;MAC9DD,QAAQE,QAAR,KAAqB,CAAzB,EAA4B;WACnB,EAAP;;;MAGI3B,SAASyB,QAAQG,aAAR,CAAsBC,WAArC;MACMC,MAAM9B,OAAO+B,gBAAP,CAAwBN,OAAxB,EAAiC,IAAjC,CAAZ;SACOC,WAAWI,IAAIJ,QAAJ,CAAX,GAA2BI,GAAlC;;;ACdF;;;;;;;AAOA,AAAe,SAASE,aAAT,CAAuBP,OAAvB,EAAgC;MACzCA,QAAQQ,QAAR,KAAqB,MAAzB,EAAiC;WACxBR,OAAP;;SAEKA,QAAQS,UAAR,IAAsBT,QAAQU,IAArC;;;ACRF;;;;;;;AAOA,AAAe,SAASC,eAAT,CAAyBX,OAAzB,EAAkC;;MAE3C,CAACA,OAAL,EAAc;WACLxB,SAASoC,IAAhB;;;UAGMZ,QAAQQ,QAAhB;SACO,MAAL;SACK,MAAL;aACSR,QAAQG,aAAR,CAAsBS,IAA7B;SACG,WAAL;aACSZ,QAAQY,IAAf;;;;;8BAIuCb,yBAAyBC,OAAzB,CAfI;MAevCa,QAfuC,yBAevCA,QAfuC;MAe7BC,SAf6B,yBAe7BA,SAf6B;MAelBC,SAfkB,yBAelBA,SAfkB;;MAgB3C,wBAAwBC,IAAxB,CAA6BH,WAAWE,SAAX,GAAuBD,SAApD,CAAJ,EAAoE;WAC3Dd,OAAP;;;SAGKW,gBAAgBJ,cAAcP,OAAd,CAAhB,CAAP;;;AC9BF;;;;;;;AAOA,AAAe,SAASiB,gBAAT,CAA0BC,SAA1B,EAAqC;SAC3CA,aAAaA,UAAUC,aAAvB,GAAuCD,UAAUC,aAAjD,GAAiED,SAAxE;;;ACNF,IAAME,SAAStC,aAAa,CAAC,EAAEP,OAAO8C,oBAAP,IAA+B7C,SAAS8C,YAA1C,CAA7B;AACA,IAAMC,SAASzC,aAAa,UAAUkC,IAAV,CAAevC,UAAUM,SAAzB,CAA5B;;;;;;;;;AASA,AAAe,SAASyC,IAAT,CAAcC,OAAd,EAAuB;MAChCA,YAAY,EAAhB,EAAoB;WACXL,MAAP;;MAEEK,YAAY,EAAhB,EAAoB;WACXF,MAAP;;SAEKH,UAAUG,MAAjB;;;ACjBF;;;;;;;AAOA,AAAe,SAASG,eAAT,CAAyB1B,OAAzB,EAAkC;MAC3C,CAACA,OAAL,EAAc;WACLxB,SAASmD,eAAhB;;;MAGIC,iBAAiBJ,KAAK,EAAL,IAAWhD,SAASoC,IAApB,GAA2B,IAAlD;;;MAGIiB,eAAe7B,QAAQ6B,YAAR,IAAwB,IAA3C;;SAEOA,iBAAiBD,cAAjB,IAAmC5B,QAAQ8B,kBAAlD,EAAsE;mBACrD,CAAC9B,UAAUA,QAAQ8B,kBAAnB,EAAuCD,YAAtD;;;MAGIrB,WAAWqB,gBAAgBA,aAAarB,QAA9C;;MAEI,CAACA,QAAD,IAAaA,aAAa,MAA1B,IAAoCA,aAAa,MAArD,EAA6D;WACpDR,UAAUA,QAAQG,aAAR,CAAsBwB,eAAhC,GAAkDnD,SAASmD,eAAlE;;;;;MAMA,CAAC,IAAD,EAAO,IAAP,EAAa,OAAb,EAAsB3C,OAAtB,CAA8B6C,aAAarB,QAA3C,MAAyD,CAAC,CAA1D,IACAT,yBAAyB8B,YAAzB,EAAuC,UAAvC,MAAuD,QAFzD,EAGE;WACOH,gBAAgBG,YAAhB,CAAP;;;SAGKA,YAAP;;;ACpCa,SAASE,iBAAT,CAA2B/B,OAA3B,EAAoC;MACzCQ,QADyC,GAC5BR,OAD4B,CACzCQ,QADyC;;MAE7CA,aAAa,MAAjB,EAAyB;WAChB,KAAP;;SAGAA,aAAa,MAAb,IAAuBkB,gBAAgB1B,QAAQgC,iBAAxB,MAA+ChC,OADxE;;;ACPF;;;;;;;AAOA,AAAe,SAASiC,OAAT,CAAiBC,IAAjB,EAAuB;MAChCA,KAAKzB,UAAL,KAAoB,IAAxB,EAA8B;WACrBwB,QAAQC,KAAKzB,UAAb,CAAP;;;SAGKyB,IAAP;;;ACRF;;;;;;;;AAQA,AAAe,SAASC,sBAAT,CAAgCC,QAAhC,EAA0CC,QAA1C,EAAoD;;MAE7D,CAACD,QAAD,IAAa,CAACA,SAASlC,QAAvB,IAAmC,CAACmC,QAApC,IAAgD,CAACA,SAASnC,QAA9D,EAAwE;WAC/D1B,SAASmD,eAAhB;;;;MAIIW,QACJF,SAASG,uBAAT,CAAiCF,QAAjC,IACAG,KAAKC,2BAFP;MAGMC,QAAQJ,QAAQF,QAAR,GAAmBC,QAAjC;MACMM,MAAML,QAAQD,QAAR,GAAmBD,QAA/B;;;MAGMQ,QAAQpE,SAASqE,WAAT,EAAd;QACMC,QAAN,CAAeJ,KAAf,EAAsB,CAAtB;QACMK,MAAN,CAAaJ,GAAb,EAAkB,CAAlB;MACQK,uBAjByD,GAiB7BJ,KAjB6B,CAiBzDI,uBAjByD;;;;MAqB9DZ,aAAaY,uBAAb,IACCX,aAAaW,uBADf,IAEAN,MAAMO,QAAN,CAAeN,GAAf,CAHF,EAIE;QACIZ,kBAAkBiB,uBAAlB,CAAJ,EAAgD;aACvCA,uBAAP;;;WAGKtB,gBAAgBsB,uBAAhB,CAAP;;;;MAIIE,eAAejB,QAAQG,QAAR,CAArB;MACIc,aAAaxC,IAAjB,EAAuB;WACdyB,uBAAuBe,aAAaxC,IAApC,EAA0C2B,QAA1C,CAAP;GADF,MAEO;WACEF,uBAAuBC,QAAvB,EAAiCH,QAAQI,QAAR,EAAkB3B,IAAnD,CAAP;;;;ACjDJ;;;;;;;;AAQA,AAAe,SAASyC,SAAT,CAAmBnD,OAAnB,EAA0C;MAAdoD,IAAc,uEAAP,KAAO;;MACjDC,YAAYD,SAAS,KAAT,GAAiB,WAAjB,GAA+B,YAAjD;MACM5C,WAAWR,QAAQQ,QAAzB;;MAEIA,aAAa,MAAb,IAAuBA,aAAa,MAAxC,EAAgD;QACxC8C,OAAOtD,QAAQG,aAAR,CAAsBwB,eAAnC;QACM4B,mBAAmBvD,QAAQG,aAAR,CAAsBoD,gBAAtB,IAA0CD,IAAnE;WACOC,iBAAiBF,SAAjB,CAAP;;;SAGKrD,QAAQqD,SAAR,CAAP;;;AChBF;;;;;;;;;AASA,AAAe,SAASG,aAAT,CAAuBC,IAAvB,EAA6BzD,OAA7B,EAAwD;MAAlB0D,QAAkB,uEAAP,KAAO;;MAC/DC,YAAYR,UAAUnD,OAAV,EAAmB,KAAnB,CAAlB;MACM4D,aAAaT,UAAUnD,OAAV,EAAmB,MAAnB,CAAnB;MACM6D,WAAWH,WAAW,CAAC,CAAZ,GAAgB,CAAjC;OACKI,GAAL,IAAYH,YAAYE,QAAxB;OACKE,MAAL,IAAeJ,YAAYE,QAA3B;OACKG,IAAL,IAAaJ,aAAaC,QAA1B;OACKI,KAAL,IAAcL,aAAaC,QAA3B;SACOJ,IAAP;;;ACnBF;;;;;;;;;;AAUA,AAAe,SAASS,cAAT,CAAwBC,MAAxB,EAAgCC,IAAhC,EAAsC;MAC7CC,QAAQD,SAAS,GAAT,GAAe,MAAf,GAAwB,KAAtC;MACME,QAAQD,UAAU,MAAV,GAAmB,OAAnB,GAA6B,QAA3C;;SAGEE,WAAWJ,kBAAgBE,KAAhB,WAAX,EAA0C,EAA1C,IACAE,WAAWJ,kBAAgBG,KAAhB,WAAX,EAA0C,EAA1C,CAFF;;;ACZF,SAASE,OAAT,CAAiBJ,IAAjB,EAAuBxD,IAAvB,EAA6B0C,IAA7B,EAAmCmB,aAAnC,EAAkD;SACzCC,KAAKC,GAAL,CACL/D,gBAAcwD,IAAd,CADK,EAELxD,gBAAcwD,IAAd,CAFK,EAGLd,gBAAcc,IAAd,CAHK,EAILd,gBAAcc,IAAd,CAJK,EAKLd,gBAAcc,IAAd,CALK,EAML5C,KAAK,EAAL,IACKoD,SAAStB,gBAAcc,IAAd,CAAT,IACHQ,SAASH,0BAAuBL,SAAS,QAAT,GAAoB,KAApB,GAA4B,MAAnD,EAAT,CADG,GAEHQ,SAASH,0BAAuBL,SAAS,QAAT,GAAoB,QAApB,GAA+B,OAAtD,EAAT,CAHF,GAIE,CAVG,CAAP;;;AAcF,AAAe,SAASS,cAAT,CAAwBrG,QAAxB,EAAkC;MACzCoC,OAAOpC,SAASoC,IAAtB;MACM0C,OAAO9E,SAASmD,eAAtB;MACM8C,gBAAgBjD,KAAK,EAAL,KAAYlB,iBAAiBgD,IAAjB,CAAlC;;SAEO;YACGkB,QAAQ,QAAR,EAAkB5D,IAAlB,EAAwB0C,IAAxB,EAA8BmB,aAA9B,CADH;WAEED,QAAQ,OAAR,EAAiB5D,IAAjB,EAAuB0C,IAAvB,EAA6BmB,aAA7B;GAFT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBF;;;;;;;AAOA,AAAe,SAASK,aAAT,CAAuBC,OAAvB,EAAgC;sBAExCA,OADL;WAESA,QAAQf,IAAR,GAAee,QAAQC,KAFhC;YAGUD,QAAQjB,GAAR,GAAciB,QAAQE;;;;ACJlC;;;;;;;AAOA,AAAe,SAASC,qBAAT,CAA+BlF,OAA/B,EAAwC;MACjDyD,OAAO,EAAX;;;;;MAKI;QACEjC,KAAK,EAAL,CAAJ,EAAc;aACLxB,QAAQkF,qBAAR,EAAP;UACMvB,YAAYR,UAAUnD,OAAV,EAAmB,KAAnB,CAAlB;UACM4D,aAAaT,UAAUnD,OAAV,EAAmB,MAAnB,CAAnB;WACK8D,GAAL,IAAYH,SAAZ;WACKK,IAAL,IAAaJ,UAAb;WACKG,MAAL,IAAeJ,SAAf;WACKM,KAAL,IAAcL,UAAd;KAPF,MASK;aACI5D,QAAQkF,qBAAR,EAAP;;GAXJ,CAcA,OAAMC,CAAN,EAAQ;;MAEFC,SAAS;UACP3B,KAAKO,IADE;SAERP,KAAKK,GAFG;WAGNL,KAAKQ,KAAL,GAAaR,KAAKO,IAHZ;YAILP,KAAKM,MAAL,GAAcN,KAAKK;GAJ7B;;;MAQMuB,QAAQrF,QAAQQ,QAAR,KAAqB,MAArB,GAA8BqE,eAAe7E,QAAQG,aAAvB,CAA9B,GAAsE,EAApF;MACM6E,QACJK,MAAML,KAAN,IAAehF,QAAQsF,WAAvB,IAAsCF,OAAOJ,KAD/C;MAEMC,SACJI,MAAMJ,MAAN,IAAgBjF,QAAQuF,YAAxB,IAAwCH,OAAOH,MADjD;;MAGIO,iBAAiBxF,QAAQyF,WAAR,GAAsBT,KAA3C;MACIU,gBAAgB1F,QAAQ2F,YAAR,GAAuBV,MAA3C;;;;MAIIO,kBAAkBE,aAAtB,EAAqC;QAC7BvB,SAASpE,yBAAyBC,OAAzB,CAAf;sBACkBkE,eAAeC,MAAf,EAAuB,GAAvB,CAAlB;qBACiBD,eAAeC,MAAf,EAAuB,GAAvB,CAAjB;;WAEOa,KAAP,IAAgBQ,cAAhB;WACOP,MAAP,IAAiBS,aAAjB;;;SAGKZ,cAAcM,MAAd,CAAP;;;ACzDa,SAASQ,oCAAT,CAA8CC,QAA9C,EAAwDC,MAAxD,EAAuF;MAAvBC,aAAuB,uEAAP,KAAO;;MAC9FxE,SAASyE,KAAQ,EAAR,CAAf;MACMC,SAASH,OAAOtF,QAAP,KAAoB,MAAnC;MACM0F,eAAehB,sBAAsBW,QAAtB,CAArB;MACMM,aAAajB,sBAAsBY,MAAtB,CAAnB;MACMM,eAAezF,gBAAgBkF,QAAhB,CAArB;;MAEM1B,SAASpE,yBAAyB+F,MAAzB,CAAf;MACMO,iBAAiB9B,WAAWJ,OAAOkC,cAAlB,EAAkC,EAAlC,CAAvB;MACMC,kBAAkB/B,WAAWJ,OAAOmC,eAAlB,EAAmC,EAAnC,CAAxB;;;MAGGP,iBAAiBE,MAApB,EAA4B;eACfnC,GAAX,GAAiBY,KAAKC,GAAL,CAASwB,WAAWrC,GAApB,EAAyB,CAAzB,CAAjB;eACWE,IAAX,GAAkBU,KAAKC,GAAL,CAASwB,WAAWnC,IAApB,EAA0B,CAA1B,CAAlB;;MAEEe,UAAUD,cAAc;SACrBoB,aAAapC,GAAb,GAAmBqC,WAAWrC,GAA9B,GAAoCuC,cADf;UAEpBH,aAAalC,IAAb,GAAoBmC,WAAWnC,IAA/B,GAAsCsC,eAFlB;WAGnBJ,aAAalB,KAHM;YAIlBkB,aAAajB;GAJT,CAAd;UAMQsB,SAAR,GAAoB,CAApB;UACQC,UAAR,GAAqB,CAArB;;;;;;MAMI,CAACjF,MAAD,IAAW0E,MAAf,EAAuB;QACfM,YAAYhC,WAAWJ,OAAOoC,SAAlB,EAA6B,EAA7B,CAAlB;QACMC,aAAajC,WAAWJ,OAAOqC,UAAlB,EAA8B,EAA9B,CAAnB;;YAEQ1C,GAAR,IAAeuC,iBAAiBE,SAAhC;YACQxC,MAAR,IAAkBsC,iBAAiBE,SAAnC;YACQvC,IAAR,IAAgBsC,kBAAkBE,UAAlC;YACQvC,KAAR,IAAiBqC,kBAAkBE,UAAnC;;;YAGQD,SAAR,GAAoBA,SAApB;YACQC,UAAR,GAAqBA,UAArB;;;MAIAjF,UAAU,CAACwE,aAAX,GACID,OAAO7C,QAAP,CAAgBmD,YAAhB,CADJ,GAEIN,WAAWM,YAAX,IAA2BA,aAAa5F,QAAb,KAA0B,MAH3D,EAIE;cACUgD,cAAcuB,OAAd,EAAuBe,MAAvB,CAAV;;;SAGKf,OAAP;;;ACtDa,SAAS0B,6CAAT,CAAuDzG,OAAvD,EAAuF;MAAvB0G,aAAuB,uEAAP,KAAO;;MAC9FpD,OAAOtD,QAAQG,aAAR,CAAsBwB,eAAnC;MACMgF,iBAAiBf,qCAAqC5F,OAArC,EAA8CsD,IAA9C,CAAvB;MACM0B,QAAQN,KAAKC,GAAL,CAASrB,KAAKgC,WAAd,EAA2B/G,OAAOqI,UAAP,IAAqB,CAAhD,CAAd;MACM3B,SAASP,KAAKC,GAAL,CAASrB,KAAKiC,YAAd,EAA4BhH,OAAOsI,WAAP,IAAsB,CAAlD,CAAf;;MAEMlD,YAAY,CAAC+C,aAAD,GAAiBvD,UAAUG,IAAV,CAAjB,GAAmC,CAArD;MACMM,aAAa,CAAC8C,aAAD,GAAiBvD,UAAUG,IAAV,EAAgB,MAAhB,CAAjB,GAA2C,CAA9D;;MAEMwD,SAAS;SACRnD,YAAYgD,eAAe7C,GAA3B,GAAiC6C,eAAeJ,SADxC;UAEP3C,aAAa+C,eAAe3C,IAA5B,GAAmC2C,eAAeH,UAF3C;gBAAA;;GAAf;;SAOO1B,cAAcgC,MAAd,CAAP;;;ACjBF;;;;;;;;AAQA,AAAe,SAASC,OAAT,CAAiB/G,OAAjB,EAA0B;MACjCQ,WAAWR,QAAQQ,QAAzB;MACIA,aAAa,MAAb,IAAuBA,aAAa,MAAxC,EAAgD;WACvC,KAAP;;MAEET,yBAAyBC,OAAzB,EAAkC,UAAlC,MAAkD,OAAtD,EAA+D;WACtD,IAAP;;MAEIS,aAAaF,cAAcP,OAAd,CAAnB;MACI,CAACS,UAAL,EAAiB;WACR,KAAP;;SAEKsG,QAAQtG,UAAR,CAAP;;;ACrBF;;;;;;;;AAQA,AAAe,SAASuG,4BAAT,CAAsChH,OAAtC,EAA+C;;MAEvD,CAACA,OAAD,IAAY,CAACA,QAAQiH,aAArB,IAAsCzF,MAA1C,EAAkD;WAC1ChD,SAASmD,eAAhB;;MAEEuF,KAAKlH,QAAQiH,aAAjB;SACOC,MAAMnH,yBAAyBmH,EAAzB,EAA6B,WAA7B,MAA8C,MAA3D,EAAmE;SAC5DA,GAAGD,aAAR;;SAEKC,MAAM1I,SAASmD,eAAtB;;;ACTF;;;;;;;;;;;AAWA,AAAe,SAASwF,aAAT,CACbC,MADa,EAEblG,SAFa,EAGbmG,OAHa,EAIbC,iBAJa,EAMb;MADAvB,aACA,uEADgB,KAChB;;;;MAGIwB,aAAa,EAAEzD,KAAK,CAAP,EAAUE,MAAM,CAAhB,EAAjB;MACMnC,eAAekE,gBAAgBiB,6BAA6BI,MAA7B,CAAhB,GAAuDjF,uBAAuBiF,MAAvB,EAA+BnG,iBAAiBC,SAAjB,CAA/B,CAA5E;;;MAGIoG,sBAAsB,UAA1B,EAAuC;iBACxBb,8CAA8C5E,YAA9C,EAA4DkE,aAA5D,CAAb;GADF,MAIK;;QAECyB,uBAAJ;QACIF,sBAAsB,cAA1B,EAA0C;uBACvB3G,gBAAgBJ,cAAcW,SAAd,CAAhB,CAAjB;UACIsG,eAAehH,QAAf,KAA4B,MAAhC,EAAwC;yBACrB4G,OAAOjH,aAAP,CAAqBwB,eAAtC;;KAHJ,MAKO,IAAI2F,sBAAsB,QAA1B,EAAoC;uBACxBF,OAAOjH,aAAP,CAAqBwB,eAAtC;KADK,MAEA;uBACY2F,iBAAjB;;;QAGIvC,UAAUa,qCACd4B,cADc,EAEd3F,YAFc,EAGdkE,aAHc,CAAhB;;;QAOIyB,eAAehH,QAAf,KAA4B,MAA5B,IAAsC,CAACuG,QAAQlF,YAAR,CAA3C,EAAkE;4BACtCgD,eAAeuC,OAAOjH,aAAtB,CADsC;UACxD8E,MADwD,mBACxDA,MADwD;UAChDD,KADgD,mBAChDA,KADgD;;iBAErDlB,GAAX,IAAkBiB,QAAQjB,GAAR,GAAciB,QAAQwB,SAAxC;iBACWxC,MAAX,GAAoBkB,SAASF,QAAQjB,GAArC;iBACWE,IAAX,IAAmBe,QAAQf,IAAR,GAAee,QAAQyB,UAA1C;iBACWvC,KAAX,GAAmBe,QAAQD,QAAQf,IAAnC;KALF,MAMO;;mBAEQe,OAAb;;;;;YAKMsC,WAAW,CAArB;MACMI,kBAAkB,OAAOJ,OAAP,KAAmB,QAA3C;aACWrD,IAAX,IAAmByD,kBAAkBJ,OAAlB,GAA4BA,QAAQrD,IAAR,IAAgB,CAA/D;aACWF,GAAX,IAAkB2D,kBAAkBJ,OAAlB,GAA4BA,QAAQvD,GAAR,IAAe,CAA7D;aACWG,KAAX,IAAoBwD,kBAAkBJ,OAAlB,GAA4BA,QAAQpD,KAAR,IAAiB,CAAjE;aACWF,MAAX,IAAqB0D,kBAAkBJ,OAAlB,GAA4BA,QAAQtD,MAAR,IAAkB,CAAnE;;SAEOwD,UAAP;;;AC7EF,SAASG,OAAT,OAAoC;MAAjB1C,KAAiB,QAAjBA,KAAiB;MAAVC,MAAU,QAAVA,MAAU;;SAC3BD,QAAQC,MAAf;;;;;;;;;;;;AAYF,AAAe,SAAS0C,oBAAT,CACbC,SADa,EAEbC,OAFa,EAGbT,MAHa,EAIblG,SAJa,EAKboG,iBALa,EAOb;MADAD,OACA,uEADU,CACV;;MACIO,UAAU5I,OAAV,CAAkB,MAAlB,MAA8B,CAAC,CAAnC,EAAsC;WAC7B4I,SAAP;;;MAGIL,aAAaJ,cACjBC,MADiB,EAEjBlG,SAFiB,EAGjBmG,OAHiB,EAIjBC,iBAJiB,CAAnB;;MAOMQ,QAAQ;SACP;aACIP,WAAWvC,KADf;cAEK6C,QAAQ/D,GAAR,GAAcyD,WAAWzD;KAHvB;WAKL;aACEyD,WAAWtD,KAAX,GAAmB4D,QAAQ5D,KAD7B;cAEGsD,WAAWtC;KAPT;YASJ;aACCsC,WAAWvC,KADZ;cAEEuC,WAAWxD,MAAX,GAAoB8D,QAAQ9D;KAX1B;UAaN;aACG8D,QAAQ7D,IAAR,GAAeuD,WAAWvD,IAD7B;cAEIuD,WAAWtC;;GAfvB;;MAmBM8C,cAAcC,OAAOC,IAAP,CAAYH,KAAZ,EACjBI,GADiB,CACb;;;OAEAJ,MAAMK,GAAN,CAFA;YAGGT,QAAQI,MAAMK,GAAN,CAAR;;GAJU,EAMjBC,IANiB,CAMZ,UAACC,CAAD,EAAIC,CAAJ;WAAUA,EAAEC,IAAF,GAASF,EAAEE,IAArB;GANY,CAApB;;MAQMC,gBAAgBT,YAAYU,MAAZ,CACpB;QAAGzD,KAAH,SAAGA,KAAH;QAAUC,MAAV,SAAUA,MAAV;WACED,SAASoC,OAAO9B,WAAhB,IAA+BL,UAAUmC,OAAO7B,YADlD;GADoB,CAAtB;;MAKMmD,oBAAoBF,cAAc3J,MAAd,GAAuB,CAAvB,GACtB2J,cAAc,CAAd,EAAiBL,GADK,GAEtBJ,YAAY,CAAZ,EAAeI,GAFnB;;MAIMQ,YAAYf,UAAUgB,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAAlB;;SAEOF,qBAAqBC,kBAAgBA,SAAhB,GAA8B,EAAnD,CAAP;;;ACnEF;;;;;;;;;;AAUA,AAAe,SAASE,mBAAT,CAA6BC,KAA7B,EAAoC1B,MAApC,EAA4ClG,SAA5C,EAA6E;MAAtB6E,aAAsB,uEAAN,IAAM;;MACpFgD,qBAAqBhD,gBAAgBiB,6BAA6BI,MAA7B,CAAhB,GAAuDjF,uBAAuBiF,MAAvB,EAA+BnG,iBAAiBC,SAAjB,CAA/B,CAAlF;SACO0E,qCAAqC1E,SAArC,EAAgD6H,kBAAhD,EAAoEhD,aAApE,CAAP;;;ACjBF;;;;;;;AAOA,AAAe,SAASiD,aAAT,CAAuBhJ,OAAvB,EAAgC;MACvCzB,SAASyB,QAAQG,aAAR,CAAsBC,WAArC;MACM+D,SAAS5F,OAAO+B,gBAAP,CAAwBN,OAAxB,CAAf;MACMiJ,IAAI1E,WAAWJ,OAAOoC,SAAP,IAAoB,CAA/B,IAAoChC,WAAWJ,OAAO+E,YAAP,IAAuB,CAAlC,CAA9C;MACMC,IAAI5E,WAAWJ,OAAOqC,UAAP,IAAqB,CAAhC,IAAqCjC,WAAWJ,OAAOiF,WAAP,IAAsB,CAAjC,CAA/C;MACMhE,SAAS;WACNpF,QAAQyF,WAAR,GAAsB0D,CADhB;YAELnJ,QAAQ2F,YAAR,GAAuBsD;GAFjC;SAIO7D,MAAP;;;AChBF;;;;;;;AAOA,AAAe,SAASiE,oBAAT,CAA8BzB,SAA9B,EAAyC;MAChD0B,OAAO,EAAEtF,MAAM,OAAR,EAAiBC,OAAO,MAAxB,EAAgCF,QAAQ,KAAxC,EAA+CD,KAAK,QAApD,EAAb;SACO8D,UAAU2B,OAAV,CAAkB,wBAAlB,EAA4C;WAAWD,KAAKE,OAAL,CAAX;GAA5C,CAAP;;;ACNF;;;;;;;;;;AAUA,AAAe,SAASC,gBAAT,CAA0BrC,MAA1B,EAAkCsC,gBAAlC,EAAoD9B,SAApD,EAA+D;cAChEA,UAAUgB,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAAZ;;;MAGMe,aAAaX,cAAc5B,MAAd,CAAnB;;;MAGMwC,gBAAgB;WACbD,WAAW3E,KADE;YAEZ2E,WAAW1E;GAFrB;;;MAMM4E,UAAU,CAAC,OAAD,EAAU,MAAV,EAAkB7K,OAAlB,CAA0B4I,SAA1B,MAAyC,CAAC,CAA1D;MACMkC,WAAWD,UAAU,KAAV,GAAkB,MAAnC;MACME,gBAAgBF,UAAU,MAAV,GAAmB,KAAzC;MACMG,cAAcH,UAAU,QAAV,GAAqB,OAAzC;MACMI,uBAAuB,CAACJ,OAAD,GAAW,QAAX,GAAsB,OAAnD;;gBAEcC,QAAd,IACEJ,iBAAiBI,QAAjB,IACAJ,iBAAiBM,WAAjB,IAAgC,CADhC,GAEAL,WAAWK,WAAX,IAA0B,CAH5B;MAIIpC,cAAcmC,aAAlB,EAAiC;kBACjBA,aAAd,IACEL,iBAAiBK,aAAjB,IAAkCJ,WAAWM,oBAAX,CADpC;GADF,MAGO;kBACSF,aAAd,IACEL,iBAAiBL,qBAAqBU,aAArB,CAAjB,CADF;;;SAIKH,aAAP;;;AC5CF;;;;;;;;;AASA,AAAe,SAASM,IAAT,CAAcC,GAAd,EAAmBC,KAAnB,EAA0B;;MAEnCC,MAAMC,SAAN,CAAgBJ,IAApB,EAA0B;WACjBC,IAAID,IAAJ,CAASE,KAAT,CAAP;;;;SAIKD,IAAI1B,MAAJ,CAAW2B,KAAX,EAAkB,CAAlB,CAAP;;;ACdF;;;;;;;;;AASA,AAAe,SAASG,SAAT,CAAmBJ,GAAnB,EAAwBK,IAAxB,EAA8BC,KAA9B,EAAqC;;MAE9CJ,MAAMC,SAAN,CAAgBC,SAApB,EAA+B;WACtBJ,IAAII,SAAJ,CAAc;aAAOG,IAAIF,IAAJ,MAAcC,KAArB;KAAd,CAAP;;;;MAIIE,QAAQT,KAAKC,GAAL,EAAU;WAAOS,IAAIJ,IAAJ,MAAcC,KAArB;GAAV,CAAd;SACON,IAAInL,OAAJ,CAAY2L,KAAZ,CAAP;;;ACfF;;;;;;;;;;AAUA,AAAe,SAASE,YAAT,CAAsBC,SAAtB,EAAiCC,IAAjC,EAAuCC,IAAvC,EAA6C;MACpDC,iBAAiBD,SAASE,SAAT,GACnBJ,SADmB,GAEnBA,UAAUK,KAAV,CAAgB,CAAhB,EAAmBZ,UAAUO,SAAV,EAAqB,MAArB,EAA6BE,IAA7B,CAAnB,CAFJ;;iBAIeI,OAAf,CAAuB,oBAAY;QAC7BvH,SAAS,UAAT,CAAJ,EAA0B;;cAChBwH,IAAR,CAAa,uDAAb;;QAEInM,KAAK2E,SAAS,UAAT,KAAwBA,SAAS3E,EAA5C,CAJiC;QAK7B2E,SAASyH,OAAT,IAAoB5L,WAAWR,EAAX,CAAxB,EAAwC;;;;WAIjC6F,OAAL,CAAaqC,MAAb,GAAsBtC,cAAciG,KAAKhG,OAAL,CAAaqC,MAA3B,CAAtB;WACKrC,OAAL,CAAa7D,SAAb,GAAyB4D,cAAciG,KAAKhG,OAAL,CAAa7D,SAA3B,CAAzB;;aAEOhC,GAAG6L,IAAH,EAASlH,QAAT,CAAP;;GAZJ;;SAgBOkH,IAAP;;;AC9BF;;;;;;;AAOA,AAAe,SAASQ,MAAT,GAAkB;;MAE3B,KAAKzC,KAAL,CAAW0C,WAAf,EAA4B;;;;MAIxBT,OAAO;cACC,IADD;YAED,EAFC;iBAGI,EAHJ;gBAIG,EAJH;aAKA,KALA;aAMA;GANX;;;OAUKhG,OAAL,CAAa7D,SAAb,GAAyB2H,oBACvB,KAAKC,KADkB,EAEvB,KAAK1B,MAFkB,EAGvB,KAAKlG,SAHkB,EAIvB,KAAKuK,OAAL,CAAaC,aAJU,CAAzB;;;;;OAUK9D,SAAL,GAAiBD,qBACf,KAAK8D,OAAL,CAAa7D,SADE,EAEfmD,KAAKhG,OAAL,CAAa7D,SAFE,EAGf,KAAKkG,MAHU,EAIf,KAAKlG,SAJU,EAKf,KAAKuK,OAAL,CAAaX,SAAb,CAAuBa,IAAvB,CAA4BrE,iBALb,EAMf,KAAKmE,OAAL,CAAaX,SAAb,CAAuBa,IAAvB,CAA4BtE,OANb,CAAjB;;;OAUKuE,iBAAL,GAAyBb,KAAKnD,SAA9B;;OAEK8D,aAAL,GAAqB,KAAKD,OAAL,CAAaC,aAAlC;;;OAGK3G,OAAL,CAAaqC,MAAb,GAAsBqC,iBACpB,KAAKrC,MADe,EAEpB2D,KAAKhG,OAAL,CAAa7D,SAFO,EAGpB6J,KAAKnD,SAHe,CAAtB;;OAMK7C,OAAL,CAAaqC,MAAb,CAAoByE,QAApB,GAA+B,KAAKJ,OAAL,CAAaC,aAAb,GAC3B,OAD2B,GAE3B,UAFJ;;;SAKOb,aAAa,KAAKC,SAAlB,EAA6BC,IAA7B,CAAP;;;;MAII,CAAC,KAAKjC,KAAL,CAAWgD,SAAhB,EAA2B;SACpBhD,KAAL,CAAWgD,SAAX,GAAuB,IAAvB;SACKL,OAAL,CAAaM,QAAb,CAAsBhB,IAAtB;GAFF,MAGO;SACAU,OAAL,CAAaO,QAAb,CAAsBjB,IAAtB;;;;ACxEJ;;;;;;AAMA,AAAe,SAASkB,iBAAT,CAA2BnB,SAA3B,EAAsCoB,YAAtC,EAAoD;SAC1DpB,UAAUqB,IAAV,CACL;QAAGC,IAAH,QAAGA,IAAH;QAASd,OAAT,QAASA,OAAT;WAAuBA,WAAWc,SAASF,YAA3C;GADK,CAAP;;;ACPF;;;;;;;AAOA,AAAe,SAASG,wBAAT,CAAkCpM,QAAlC,EAA4C;MACnDqM,WAAW,CAAC,KAAD,EAAQ,IAAR,EAAc,QAAd,EAAwB,KAAxB,EAA+B,GAA/B,CAAjB;MACMC,YAAYtM,SAASuM,MAAT,CAAgB,CAAhB,EAAmBC,WAAnB,KAAmCxM,SAASkL,KAAT,CAAe,CAAf,CAArD;;OAEK,IAAIvM,IAAI,CAAb,EAAgBA,IAAI0N,SAASzN,MAA7B,EAAqCD,GAArC,EAA0C;QAClC8N,SAASJ,SAAS1N,CAAT,CAAf;QACM+N,UAAUD,cAAYA,MAAZ,GAAqBH,SAArB,GAAmCtM,QAAnD;QACI,OAAOzB,SAASoC,IAAT,CAAcgM,KAAd,CAAoBD,OAApB,CAAP,KAAwC,WAA5C,EAAyD;aAChDA,OAAP;;;SAGG,IAAP;;;ACfF;;;;;AAKA,AAAe,SAASE,OAAT,GAAmB;OAC3B/D,KAAL,CAAW0C,WAAX,GAAyB,IAAzB;;;MAGIS,kBAAkB,KAAKnB,SAAvB,EAAkC,YAAlC,CAAJ,EAAqD;SAC9C1D,MAAL,CAAY0F,eAAZ,CAA4B,aAA5B;SACK1F,MAAL,CAAYwF,KAAZ,CAAkBf,QAAlB,GAA6B,EAA7B;SACKzE,MAAL,CAAYwF,KAAZ,CAAkB9I,GAAlB,GAAwB,EAAxB;SACKsD,MAAL,CAAYwF,KAAZ,CAAkB5I,IAAlB,GAAyB,EAAzB;SACKoD,MAAL,CAAYwF,KAAZ,CAAkB3I,KAAlB,GAA0B,EAA1B;SACKmD,MAAL,CAAYwF,KAAZ,CAAkB7I,MAAlB,GAA2B,EAA3B;SACKqD,MAAL,CAAYwF,KAAZ,CAAkBG,UAAlB,GAA+B,EAA/B;SACK3F,MAAL,CAAYwF,KAAZ,CAAkBP,yBAAyB,WAAzB,CAAlB,IAA2D,EAA3D;;;OAGGW,qBAAL;;;;MAII,KAAKvB,OAAL,CAAawB,eAAjB,EAAkC;SAC3B7F,MAAL,CAAY3G,UAAZ,CAAuByM,WAAvB,CAAmC,KAAK9F,MAAxC;;SAEK,IAAP;;;AC9BF;;;;;AAKA,AAAe,SAAS+F,SAAT,CAAmBnN,OAAnB,EAA4B;MACnCG,gBAAgBH,QAAQG,aAA9B;SACOA,gBAAgBA,cAAcC,WAA9B,GAA4C7B,MAAnD;;;ACJF,SAAS6O,qBAAT,CAA+BhH,YAA/B,EAA6CiH,KAA7C,EAAoDC,QAApD,EAA8DC,aAA9D,EAA6E;MACrEC,SAASpH,aAAa5F,QAAb,KAA0B,MAAzC;MACMiN,SAASD,SAASpH,aAAajG,aAAb,CAA2BC,WAApC,GAAkDgG,YAAjE;SACOsH,gBAAP,CAAwBL,KAAxB,EAA+BC,QAA/B,EAAyC,EAAEK,SAAS,IAAX,EAAzC;;MAEI,CAACH,MAAL,EAAa;0BAET7M,gBAAgB8M,OAAOhN,UAAvB,CADF,EAEE4M,KAFF,EAGEC,QAHF,EAIEC,aAJF;;gBAOYK,IAAd,CAAmBH,MAAnB;;;;;;;;;AASF,AAAe,SAASI,mBAAT,CACb3M,SADa,EAEbuK,OAFa,EAGb3C,KAHa,EAIbgF,WAJa,EAKb;;QAEMA,WAAN,GAAoBA,WAApB;YACU5M,SAAV,EAAqBwM,gBAArB,CAAsC,QAAtC,EAAgD5E,MAAMgF,WAAtD,EAAmE,EAAEH,SAAS,IAAX,EAAnE;;;MAGMI,gBAAgBpN,gBAAgBO,SAAhB,CAAtB;wBAEE6M,aADF,EAEE,QAFF,EAGEjF,MAAMgF,WAHR,EAIEhF,MAAMyE,aAJR;QAMMQ,aAAN,GAAsBA,aAAtB;QACMC,aAAN,GAAsB,IAAtB;;SAEOlF,KAAP;;;AC5CF;;;;;;AAMA,AAAe,SAASmF,oBAAT,GAAgC;MACzC,CAAC,KAAKnF,KAAL,CAAWkF,aAAhB,EAA+B;SACxBlF,KAAL,GAAa+E,oBACX,KAAK3M,SADM,EAEX,KAAKuK,OAFM,EAGX,KAAK3C,KAHM,EAIX,KAAKoF,cAJM,CAAb;;;;ACRJ;;;;;;AAMA,AAAe,SAASC,oBAAT,CAA8BjN,SAA9B,EAAyC4H,KAAzC,EAAgD;;YAEnD5H,SAAV,EAAqBkN,mBAArB,CAAyC,QAAzC,EAAmDtF,MAAMgF,WAAzD;;;QAGMP,aAAN,CAAoBnC,OAApB,CAA4B,kBAAU;WAC7BgD,mBAAP,CAA2B,QAA3B,EAAqCtF,MAAMgF,WAA3C;GADF;;;QAKMA,WAAN,GAAoB,IAApB;QACMP,aAAN,GAAsB,EAAtB;QACMQ,aAAN,GAAsB,IAAtB;QACMC,aAAN,GAAsB,KAAtB;SACOlF,KAAP;;;ACpBF;;;;;;;AAOA,AAAe,SAASkE,qBAAT,GAAiC;MAC1C,KAAKlE,KAAL,CAAWkF,aAAf,EAA8B;yBACP,KAAKE,cAA1B;SACKpF,KAAL,GAAaqF,qBAAqB,KAAKjN,SAA1B,EAAqC,KAAK4H,KAA1C,CAAb;;;;ACZJ;;;;;;;AAOA,AAAe,SAASuF,SAAT,CAAmBC,CAAnB,EAAsB;SAC5BA,MAAM,EAAN,IAAY,CAACC,MAAMhK,WAAW+J,CAAX,CAAN,CAAb,IAAqCE,SAASF,CAAT,CAA5C;;;ACNF;;;;;;;;AAQA,AAAe,SAASG,SAAT,CAAmBzO,OAAnB,EAA4BmE,MAA5B,EAAoC;SAC1C8D,IAAP,CAAY9D,MAAZ,EAAoBiH,OAApB,CAA4B,gBAAQ;QAC9BsD,OAAO,EAAX;;QAGE,CAAC,OAAD,EAAU,QAAV,EAAoB,KAApB,EAA2B,OAA3B,EAAoC,QAApC,EAA8C,MAA9C,EAAsD1P,OAAtD,CAA8DwL,IAA9D,MACE,CAAC,CADH,IAEA6D,UAAUlK,OAAOqG,IAAP,CAAV,CAHF,EAIE;aACO,IAAP;;YAEMoC,KAAR,CAAcpC,IAAd,IAAsBrG,OAAOqG,IAAP,IAAekE,IAArC;GAVF;;;ACXF;;;;;;;;AAQA,AAAe,SAASC,aAAT,CAAuB3O,OAAvB,EAAgC4O,UAAhC,EAA4C;SAClD3G,IAAP,CAAY2G,UAAZ,EAAwBxD,OAAxB,CAAgC,UAASZ,IAAT,EAAe;QACvCC,QAAQmE,WAAWpE,IAAX,CAAd;QACIC,UAAU,KAAd,EAAqB;cACXoE,YAAR,CAAqBrE,IAArB,EAA2BoE,WAAWpE,IAAX,CAA3B;KADF,MAEO;cACGsC,eAAR,CAAwBtC,IAAxB;;GALJ;;;ACJF;;;;;;;;;AASA,AAAe,SAASsE,UAAT,CAAoB/D,IAApB,EAA0B;;;;;YAK7BA,KAAKgE,QAAL,CAAc3H,MAAxB,EAAgC2D,KAAK5G,MAArC;;;;gBAIc4G,KAAKgE,QAAL,CAAc3H,MAA5B,EAAoC2D,KAAK6D,UAAzC;;;MAGI7D,KAAKiE,YAAL,IAAqBhH,OAAOC,IAAP,CAAY8C,KAAKkE,WAAjB,EAA8BpQ,MAAvD,EAA+D;cACnDkM,KAAKiE,YAAf,EAA6BjE,KAAKkE,WAAlC;;;SAGKlE,IAAP;;;;;;;;;;;;;AAaF,AAAO,SAASmE,gBAAT,CACLhO,SADK,EAELkG,MAFK,EAGLqE,OAHK,EAIL0D,eAJK,EAKLrG,KALK,EAML;;MAEMY,mBAAmBb,oBAAoBC,KAApB,EAA2B1B,MAA3B,EAAmClG,SAAnC,EAA8CuK,QAAQC,aAAtD,CAAzB;;;;;MAKM9D,YAAYD,qBAChB8D,QAAQ7D,SADQ,EAEhB8B,gBAFgB,EAGhBtC,MAHgB,EAIhBlG,SAJgB,EAKhBuK,QAAQX,SAAR,CAAkBa,IAAlB,CAAuBrE,iBALP,EAMhBmE,QAAQX,SAAR,CAAkBa,IAAlB,CAAuBtE,OANP,CAAlB;;SASOwH,YAAP,CAAoB,aAApB,EAAmCjH,SAAnC;;;;YAIUR,MAAV,EAAkB,EAAEyE,UAAUJ,QAAQC,aAAR,GAAwB,OAAxB,GAAkC,UAA9C,EAAlB;;SAEOD,OAAP;;;ACvEF;;;;;;;;;;;;;;;;;;;AAmBA,AAAe,SAAS2D,iBAAT,CAA2BrE,IAA3B,EAAiCsE,WAAjC,EAA8C;sBAC7BtE,KAAKhG,OADwB;MACnDqC,MADmD,iBACnDA,MADmD;MAC3ClG,SAD2C,iBAC3CA,SAD2C;MAEnDoO,KAFmD,GAElC5K,IAFkC,CAEnD4K,KAFmD;MAE5CC,KAF4C,GAElC7K,IAFkC,CAE5C6K,KAF4C;;MAGrDC,UAAU,SAAVA,OAAU;WAAKC,CAAL;GAAhB;;MAEMC,iBAAiBJ,MAAMpO,UAAU8D,KAAhB,CAAvB;MACM2K,cAAcL,MAAMlI,OAAOpC,KAAb,CAApB;;MAEM4K,aAAa,CAAC,MAAD,EAAS,OAAT,EAAkB5Q,OAAlB,CAA0B+L,KAAKnD,SAA/B,MAA8C,CAAC,CAAlE;MACMiI,cAAc9E,KAAKnD,SAAL,CAAe5I,OAAf,CAAuB,GAAvB,MAAgC,CAAC,CAArD;MACM8Q,kBAAkBJ,iBAAiB,CAAjB,KAAuBC,cAAc,CAA7D;MACMI,eAAeL,iBAAiB,CAAjB,KAAuB,CAAvB,IAA4BC,cAAc,CAAd,KAAoB,CAArE;;MAEMK,sBAAsB,CAACX,WAAD,GACxBG,OADwB,GAExBI,cAAcC,WAAd,IAA6BC,eAA7B,GACAR,KADA,GAEAC,KAJJ;MAKMU,oBAAoB,CAACZ,WAAD,GAAeG,OAAf,GAAyBF,KAAnD;;SAEO;UACCU,oBACJD,gBAAgB,CAACF,WAAjB,IAAgCR,WAAhC,GACIjI,OAAOpD,IAAP,GAAc,CADlB,GAEIoD,OAAOpD,IAHP,CADD;SAMAiM,kBAAkB7I,OAAOtD,GAAzB,CANA;YAOGmM,kBAAkB7I,OAAOrD,MAAzB,CAPH;WAQEiM,oBAAoB5I,OAAOnD,KAA3B;GART;;;AChCF,IAAMiM,YAAYpR,aAAa,WAAWkC,IAAX,CAAgBvC,UAAUM,SAA1B,CAA/B;;;;;;;;;AASA,AAAe,SAASoR,YAAT,CAAsBpF,IAAtB,EAA4BU,OAA5B,EAAqC;MAC1CxC,CAD0C,GACjCwC,OADiC,CAC1CxC,CAD0C;MACvCE,CADuC,GACjCsC,OADiC,CACvCtC,CADuC;MAE1C/B,MAF0C,GAE/B2D,KAAKhG,OAF0B,CAE1CqC,MAF0C;;;;MAK5CgJ,8BAA8BlG,KAClCa,KAAKgE,QAAL,CAAcjE,SADoB,EAElC;WAAYjH,SAASuI,IAAT,KAAkB,YAA9B;GAFkC,EAGlCiE,eAHF;MAIID,gCAAgClF,SAApC,EAA+C;YACrCG,IAAR,CACE,+HADF;;MAIIgF,kBACJD,gCAAgClF,SAAhC,GACIkF,2BADJ,GAEI3E,QAAQ4E,eAHd;;MAKMxO,eAAeH,gBAAgBqJ,KAAKgE,QAAL,CAAc3H,MAA9B,CAArB;MACMkJ,mBAAmBpL,sBAAsBrD,YAAtB,CAAzB;;;MAGMsC,SAAS;cACHiD,OAAOyE;GADnB;;MAIM9G,UAAUqK,kBACdrE,IADc,EAEdxM,OAAOgS,gBAAP,GAA0B,CAA1B,IAA+B,CAACL,SAFlB,CAAhB;;MAKM7L,QAAQ4E,MAAM,QAAN,GAAiB,KAAjB,GAAyB,QAAvC;MACM3E,QAAQ6E,MAAM,OAAN,GAAgB,MAAhB,GAAyB,OAAvC;;;;;MAKMqH,mBAAmBnE,yBAAyB,WAAzB,CAAzB;;;;;;;;;;;MAWIrI,aAAJ;MAAUF,YAAV;MACIO,UAAU,QAAd,EAAwB;;;QAGlBxC,aAAarB,QAAb,KAA0B,MAA9B,EAAsC;YAC9B,CAACqB,aAAa0D,YAAd,GAA6BR,QAAQhB,MAA3C;KADF,MAEO;YACC,CAACuM,iBAAiBrL,MAAlB,GAA2BF,QAAQhB,MAAzC;;GANJ,MAQO;UACCgB,QAAQjB,GAAd;;MAEEQ,UAAU,OAAd,EAAuB;QACjBzC,aAAarB,QAAb,KAA0B,MAA9B,EAAsC;aAC7B,CAACqB,aAAayD,WAAd,GAA4BP,QAAQd,KAA3C;KADF,MAEO;aACE,CAACqM,iBAAiBtL,KAAlB,GAA0BD,QAAQd,KAAzC;;GAJJ,MAMO;WACEc,QAAQf,IAAf;;MAEEqM,mBAAmBG,gBAAvB,EAAyC;WAChCA,gBAAP,qBAA0CxM,IAA1C,YAAqDF,GAArD;WACOO,KAAP,IAAgB,CAAhB;WACOC,KAAP,IAAgB,CAAhB;WACOyI,UAAP,GAAoB,WAApB;GAJF,MAKO;;QAEC0D,YAAYpM,UAAU,QAAV,GAAqB,CAAC,CAAtB,GAA0B,CAA5C;QACMqM,aAAapM,UAAU,OAAV,GAAoB,CAAC,CAArB,GAAyB,CAA5C;WACOD,KAAP,IAAgBP,MAAM2M,SAAtB;WACOnM,KAAP,IAAgBN,OAAO0M,UAAvB;WACO3D,UAAP,GAAuB1I,KAAvB,UAAiCC,KAAjC;;;;MAIIsK,aAAa;mBACF7D,KAAKnD;GADtB;;;OAKKgH,UAAL,gBAAuBA,UAAvB,EAAsC7D,KAAK6D,UAA3C;OACKzK,MAAL,gBAAmBA,MAAnB,EAA8B4G,KAAK5G,MAAnC;OACK8K,WAAL,gBAAwBlE,KAAKhG,OAAL,CAAa4L,KAArC,EAA+C5F,KAAKkE,WAApD;;SAEOlE,IAAP;;;AC5GF;;;;;;;;;;AAUA,AAAe,SAAS6F,kBAAT,CACb9F,SADa,EAEb+F,cAFa,EAGbC,aAHa,EAIb;MACMC,aAAa7G,KAAKY,SAAL,EAAgB;QAAGsB,IAAH,QAAGA,IAAH;WAAcA,SAASyE,cAAvB;GAAhB,CAAnB;;MAEMG,aACJ,CAAC,CAACD,UAAF,IACAjG,UAAUqB,IAAV,CAAe,oBAAY;WAEvBtI,SAASuI,IAAT,KAAkB0E,aAAlB,IACAjN,SAASyH,OADT,IAEAzH,SAASvB,KAAT,GAAiByO,WAAWzO,KAH9B;GADF,CAFF;;MAUI,CAAC0O,UAAL,EAAiB;QACTD,oBAAkBF,cAAlB,MAAN;QACMI,kBAAiBH,aAAjB,MAAN;YACQzF,IAAR,CACK4F,SADL,iCAC0CF,WAD1C,iEACgHA,WADhH;;SAIKC,UAAP;;;AC/BF;;;;;;;AAOA,AAAe,SAASL,KAAT,CAAe5F,IAAf,EAAqBU,OAArB,EAA8B;;;;MAEvC,CAACmF,mBAAmB7F,KAAKgE,QAAL,CAAcjE,SAAjC,EAA4C,OAA5C,EAAqD,cAArD,CAAL,EAA2E;WAClEC,IAAP;;;MAGEiE,eAAevD,QAAQzL,OAA3B;;;MAGI,OAAOgP,YAAP,KAAwB,QAA5B,EAAsC;mBACrBjE,KAAKgE,QAAL,CAAc3H,MAAd,CAAqB8J,aAArB,CAAmClC,YAAnC,CAAf;;;QAGI,CAACA,YAAL,EAAmB;aACVjE,IAAP;;GALJ,MAOO;;;QAGD,CAACA,KAAKgE,QAAL,CAAc3H,MAAd,CAAqBnE,QAArB,CAA8B+L,YAA9B,CAAL,EAAkD;cACxC3D,IAAR,CACE,+DADF;aAGON,IAAP;;;;MAIEnD,YAAYmD,KAAKnD,SAAL,CAAegB,KAAf,CAAqB,GAArB,EAA0B,CAA1B,CAAlB;sBAC8BmC,KAAKhG,OA5BQ;MA4BnCqC,MA5BmC,iBA4BnCA,MA5BmC;MA4B3BlG,SA5B2B,iBA4B3BA,SA5B2B;;MA6BrC0O,aAAa,CAAC,MAAD,EAAS,OAAT,EAAkB5Q,OAAlB,CAA0B4I,SAA1B,MAAyC,CAAC,CAA7D;;MAEMuJ,MAAMvB,aAAa,QAAb,GAAwB,OAApC;MACMwB,kBAAkBxB,aAAa,KAAb,GAAqB,MAA7C;MACMxM,OAAOgO,gBAAgBC,WAAhB,EAAb;MACMC,UAAU1B,aAAa,MAAb,GAAsB,KAAtC;MACM2B,SAAS3B,aAAa,QAAb,GAAwB,OAAvC;MACM4B,mBAAmBxI,cAAcgG,YAAd,EAA4BmC,GAA5B,CAAzB;;;;;;;;MAQIjQ,UAAUqQ,MAAV,IAAoBC,gBAApB,GAAuCpK,OAAOhE,IAAP,CAA3C,EAAyD;SAClD2B,OAAL,CAAaqC,MAAb,CAAoBhE,IAApB,KACEgE,OAAOhE,IAAP,KAAgBlC,UAAUqQ,MAAV,IAAoBC,gBAApC,CADF;;;MAIEtQ,UAAUkC,IAAV,IAAkBoO,gBAAlB,GAAqCpK,OAAOmK,MAAP,CAAzC,EAAyD;SAClDxM,OAAL,CAAaqC,MAAb,CAAoBhE,IAApB,KACElC,UAAUkC,IAAV,IAAkBoO,gBAAlB,GAAqCpK,OAAOmK,MAAP,CADvC;;OAGGxM,OAAL,CAAaqC,MAAb,GAAsBtC,cAAciG,KAAKhG,OAAL,CAAaqC,MAA3B,CAAtB;;;MAGMqK,SAASvQ,UAAUkC,IAAV,IAAkBlC,UAAUiQ,GAAV,IAAiB,CAAnC,GAAuCK,mBAAmB,CAAzE;;;;MAIMnR,MAAMN,yBAAyBgL,KAAKgE,QAAL,CAAc3H,MAAvC,CAAZ;MACMsK,mBAAmBnN,WAAWlE,eAAa+Q,eAAb,CAAX,EAA4C,EAA5C,CAAzB;MACMO,mBAAmBpN,WAAWlE,eAAa+Q,eAAb,WAAX,EAAiD,EAAjD,CAAzB;MACIQ,YACFH,SAAS1G,KAAKhG,OAAL,CAAaqC,MAAb,CAAoBhE,IAApB,CAAT,GAAqCsO,gBAArC,GAAwDC,gBAD1D;;;cAIYjN,KAAKC,GAAL,CAASD,KAAKmN,GAAL,CAASzK,OAAO+J,GAAP,IAAcK,gBAAvB,EAAyCI,SAAzC,CAAT,EAA8D,CAA9D,CAAZ;;OAEK5C,YAAL,GAAoBA,YAApB;OACKjK,OAAL,CAAa4L,KAAb,kEACGvN,IADH,EACUsB,KAAK4K,KAAL,CAAWsC,SAAX,CADV,uCAEGN,OAFH,EAEa,EAFb;;SAKOvG,IAAP;;;ACvFF;;;;;;;AAOA,AAAe,SAAS+G,oBAAT,CAA8BnJ,SAA9B,EAAyC;MAClDA,cAAc,KAAlB,EAAyB;WAChB,OAAP;GADF,MAEO,IAAIA,cAAc,OAAlB,EAA2B;WACzB,KAAP;;SAEKA,SAAP;;;ACbF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,iBAAe,CACb,YADa,EAEb,MAFa,EAGb,UAHa,EAIb,WAJa,EAKb,KALa,EAMb,SANa,EAOb,aAPa,EAQb,OARa,EASb,WATa,EAUb,YAVa,EAWb,QAXa,EAYb,cAZa,EAab,UAba,EAcb,MAda,EAeb,YAfa,CAAf;;AC7BA;AACA,IAAMoJ,kBAAkBC,WAAW7G,KAAX,CAAiB,CAAjB,CAAxB;;;;;;;;;;;;AAYA,AAAe,SAAS8G,SAAT,CAAmBrK,SAAnB,EAA+C;MAAjBsK,OAAiB,uEAAP,KAAO;;MACtDC,QAAQJ,gBAAgB/S,OAAhB,CAAwB4I,SAAxB,CAAd;MACMuC,MAAM4H,gBACT5G,KADS,CACHgH,QAAQ,CADL,EAETC,MAFS,CAEFL,gBAAgB5G,KAAhB,CAAsB,CAAtB,EAAyBgH,KAAzB,CAFE,CAAZ;SAGOD,UAAU/H,IAAIkI,OAAJ,EAAV,GAA0BlI,GAAjC;;;ACZF,IAAMmI,YAAY;QACV,MADU;aAEL,WAFK;oBAGE;CAHpB;;;;;;;;;AAaA,AAAe,SAAS3G,IAAT,CAAcZ,IAAd,EAAoBU,OAApB,EAA6B;;MAEtCQ,kBAAkBlB,KAAKgE,QAAL,CAAcjE,SAAhC,EAA2C,OAA3C,CAAJ,EAAyD;WAChDC,IAAP;;;MAGEA,KAAKwH,OAAL,IAAgBxH,KAAKnD,SAAL,KAAmBmD,KAAKa,iBAA5C,EAA+D;;WAEtDb,IAAP;;;MAGIxD,aAAaJ,cACjB4D,KAAKgE,QAAL,CAAc3H,MADG,EAEjB2D,KAAKgE,QAAL,CAAc7N,SAFG,EAGjBuK,QAAQpE,OAHS,EAIjBoE,QAAQnE,iBAJS,EAKjByD,KAAKW,aALY,CAAnB;;MAQI9D,YAAYmD,KAAKnD,SAAL,CAAegB,KAAf,CAAqB,GAArB,EAA0B,CAA1B,CAAhB;MACI4J,oBAAoBnJ,qBAAqBzB,SAArB,CAAxB;MACIe,YAAYoC,KAAKnD,SAAL,CAAegB,KAAf,CAAqB,GAArB,EAA0B,CAA1B,KAAgC,EAAhD;;MAEI6J,YAAY,EAAhB;;UAEQhH,QAAQiH,QAAhB;SACOJ,UAAUK,IAAf;kBACc,CAAC/K,SAAD,EAAY4K,iBAAZ,CAAZ;;SAEGF,UAAUM,SAAf;kBACcX,UAAUrK,SAAV,CAAZ;;SAEG0K,UAAUO,gBAAf;kBACcZ,UAAUrK,SAAV,EAAqB,IAArB,CAAZ;;;kBAGY6D,QAAQiH,QAApB;;;YAGMtH,OAAV,CAAkB,UAAC0H,IAAD,EAAOX,KAAP,EAAiB;QAC7BvK,cAAckL,IAAd,IAAsBL,UAAU5T,MAAV,KAAqBsT,QAAQ,CAAvD,EAA0D;aACjDpH,IAAP;;;gBAGUA,KAAKnD,SAAL,CAAegB,KAAf,CAAqB,GAArB,EAA0B,CAA1B,CAAZ;wBACoBS,qBAAqBzB,SAArB,CAApB;;QAEMgC,gBAAgBmB,KAAKhG,OAAL,CAAaqC,MAAnC;QACM2L,aAAahI,KAAKhG,OAAL,CAAa7D,SAAhC;;;QAGMqO,QAAQ7K,KAAK6K,KAAnB;QACMyD,cACHpL,cAAc,MAAd,IACC2H,MAAM3F,cAAc3F,KAApB,IAA6BsL,MAAMwD,WAAW/O,IAAjB,CAD/B,IAEC4D,cAAc,OAAd,IACC2H,MAAM3F,cAAc5F,IAApB,IAA4BuL,MAAMwD,WAAW9O,KAAjB,CAH9B,IAIC2D,cAAc,KAAd,IACC2H,MAAM3F,cAAc7F,MAApB,IAA8BwL,MAAMwD,WAAWjP,GAAjB,CALhC,IAMC8D,cAAc,QAAd,IACC2H,MAAM3F,cAAc9F,GAApB,IAA2ByL,MAAMwD,WAAWhP,MAAjB,CAR/B;;QAUMkP,gBAAgB1D,MAAM3F,cAAc5F,IAApB,IAA4BuL,MAAMhI,WAAWvD,IAAjB,CAAlD;QACMkP,iBAAiB3D,MAAM3F,cAAc3F,KAApB,IAA6BsL,MAAMhI,WAAWtD,KAAjB,CAApD;QACMkP,eAAe5D,MAAM3F,cAAc9F,GAApB,IAA2ByL,MAAMhI,WAAWzD,GAAjB,CAAhD;QACMsP,kBACJ7D,MAAM3F,cAAc7F,MAApB,IAA8BwL,MAAMhI,WAAWxD,MAAjB,CADhC;;QAGMsP,sBACHzL,cAAc,MAAd,IAAwBqL,aAAzB,IACCrL,cAAc,OAAd,IAAyBsL,cAD1B,IAECtL,cAAc,KAAd,IAAuBuL,YAFxB,IAGCvL,cAAc,QAAd,IAA0BwL,eAJ7B;;;QAOMxD,aAAa,CAAC,KAAD,EAAQ,QAAR,EAAkB5Q,OAAlB,CAA0B4I,SAA1B,MAAyC,CAAC,CAA7D;;;QAGM0L,wBACJ,CAAC,CAAC7H,QAAQ8H,cAAV,KACE3D,cAAcjH,cAAc,OAA5B,IAAuCsK,aAAxC,IACErD,cAAcjH,cAAc,KAA5B,IAAqCuK,cADvC,IAEE,CAACtD,UAAD,IAAejH,cAAc,OAA7B,IAAwCwK,YAF1C,IAGE,CAACvD,UAAD,IAAejH,cAAc,KAA7B,IAAsCyK,eAJzC,CADF;;;QAQMI,4BACJ,CAAC,CAAC/H,QAAQgI,uBAAV,KACE7D,cAAcjH,cAAc,OAA5B,IAAuCuK,cAAxC,IACEtD,cAAcjH,cAAc,KAA5B,IAAqCsK,aADvC,IAEE,CAACrD,UAAD,IAAejH,cAAc,OAA7B,IAAwCyK,eAF1C,IAGE,CAACxD,UAAD,IAAejH,cAAc,KAA7B,IAAsCwK,YAJzC,CADF;;QAOMO,mBAAmBJ,yBAAyBE,yBAAlD;;QAEIR,eAAeK,mBAAf,IAAsCK,gBAA1C,EAA4D;;WAErDnB,OAAL,GAAe,IAAf;;UAEIS,eAAeK,mBAAnB,EAAwC;oBAC1BZ,UAAUN,QAAQ,CAAlB,CAAZ;;;UAGEuB,gBAAJ,EAAsB;oBACR5B,qBAAqBnJ,SAArB,CAAZ;;;WAGGf,SAAL,GAAiBA,aAAae,YAAY,MAAMA,SAAlB,GAA8B,EAA3C,CAAjB;;;;WAIK5D,OAAL,CAAaqC,MAAb,gBACK2D,KAAKhG,OAAL,CAAaqC,MADlB,EAEKqC,iBACDsB,KAAKgE,QAAL,CAAc3H,MADb,EAED2D,KAAKhG,OAAL,CAAa7D,SAFZ,EAGD6J,KAAKnD,SAHJ,CAFL;;aASOiD,aAAaE,KAAKgE,QAAL,CAAcjE,SAA3B,EAAsCC,IAAtC,EAA4C,MAA5C,CAAP;;GAjFJ;SAoFOA,IAAP;;;AChJF;;;;;;;AAOA,AAAe,SAAS4I,YAAT,CAAsB5I,IAAtB,EAA4B;sBACXA,KAAKhG,OADM;MACjCqC,MADiC,iBACjCA,MADiC;MACzBlG,SADyB,iBACzBA,SADyB;;MAEnC0G,YAAYmD,KAAKnD,SAAL,CAAegB,KAAf,CAAqB,GAArB,EAA0B,CAA1B,CAAlB;MACM2G,QAAQ7K,KAAK6K,KAAnB;MACMK,aAAa,CAAC,KAAD,EAAQ,QAAR,EAAkB5Q,OAAlB,CAA0B4I,SAA1B,MAAyC,CAAC,CAA7D;MACMxE,OAAOwM,aAAa,OAAb,GAAuB,QAApC;MACM2B,SAAS3B,aAAa,MAAb,GAAsB,KAArC;MACM5F,cAAc4F,aAAa,OAAb,GAAuB,QAA3C;;MAEIxI,OAAOhE,IAAP,IAAemM,MAAMrO,UAAUqQ,MAAV,CAAN,CAAnB,EAA6C;SACtCxM,OAAL,CAAaqC,MAAb,CAAoBmK,MAApB,IACEhC,MAAMrO,UAAUqQ,MAAV,CAAN,IAA2BnK,OAAO4C,WAAP,CAD7B;;MAGE5C,OAAOmK,MAAP,IAAiBhC,MAAMrO,UAAUkC,IAAV,CAAN,CAArB,EAA6C;SACtC2B,OAAL,CAAaqC,MAAb,CAAoBmK,MAApB,IAA8BhC,MAAMrO,UAAUkC,IAAV,CAAN,CAA9B;;;SAGK2H,IAAP;;;ACpBF;;;;;;;;;;;;AAYA,AAAO,SAAS6I,OAAT,CAAiBC,GAAjB,EAAsB7J,WAAtB,EAAmCJ,aAAnC,EAAkDF,gBAAlD,EAAoE;;MAEnEd,QAAQiL,IAAIlJ,KAAJ,CAAU,2BAAV,CAAd;MACMF,QAAQ,CAAC7B,MAAM,CAAN,CAAf;MACM8F,OAAO9F,MAAM,CAAN,CAAb;;;MAGI,CAAC6B,KAAL,EAAY;WACHoJ,GAAP;;;MAGEnF,KAAK1P,OAAL,CAAa,GAAb,MAAsB,CAA1B,EAA6B;QACvBgB,gBAAJ;YACQ0O,IAAR;WACO,IAAL;kBACY9E,aAAV;;WAEG,GAAL;WACK,IAAL;;kBAEYF,gBAAV;;;QAGEjG,OAAOqB,cAAc9E,OAAd,CAAb;WACOyD,KAAKuG,WAAL,IAAoB,GAApB,GAA0BS,KAAjC;GAbF,MAcO,IAAIiE,SAAS,IAAT,IAAiBA,SAAS,IAA9B,EAAoC;;QAErCoF,aAAJ;QACIpF,SAAS,IAAb,EAAmB;aACVhK,KAAKC,GAAL,CACLnG,SAASmD,eAAT,CAAyB4D,YADpB,EAELhH,OAAOsI,WAAP,IAAsB,CAFjB,CAAP;KADF,MAKO;aACEnC,KAAKC,GAAL,CACLnG,SAASmD,eAAT,CAAyB2D,WADpB,EAEL/G,OAAOqI,UAAP,IAAqB,CAFhB,CAAP;;WAKKkN,OAAO,GAAP,GAAarJ,KAApB;GAdK,MAeA;;;WAGEA,KAAP;;;;;;;;;;;;;;;AAeJ,AAAO,SAASsJ,WAAT,CACLjN,MADK,EAEL8C,aAFK,EAGLF,gBAHK,EAILsK,aAJK,EAKL;MACMjP,UAAU,CAAC,CAAD,EAAI,CAAJ,CAAhB;;;;;MAKMkP,YAAY,CAAC,OAAD,EAAU,MAAV,EAAkBjV,OAAlB,CAA0BgV,aAA1B,MAA6C,CAAC,CAAhE;;;;MAIME,YAAYpN,OAAO8B,KAAP,CAAa,SAAb,EAAwBV,GAAxB,CAA4B;WAAQiM,KAAKC,IAAL,EAAR;GAA5B,CAAlB;;;;MAIMC,UAAUH,UAAUlV,OAAV,CACdkL,KAAKgK,SAAL,EAAgB;WAAQC,KAAKG,MAAL,CAAY,MAAZ,MAAwB,CAAC,CAAjC;GAAhB,CADc,CAAhB;;MAIIJ,UAAUG,OAAV,KAAsBH,UAAUG,OAAV,EAAmBrV,OAAnB,CAA2B,GAA3B,MAAoC,CAAC,CAA/D,EAAkE;YACxDqM,IAAR,CACE,8EADF;;;;;MAOIkJ,aAAa,aAAnB;MACIC,MAAMH,YAAY,CAAC,CAAb,GACN,CACEH,UACG/I,KADH,CACS,CADT,EACYkJ,OADZ,EAEGjC,MAFH,CAEU,CAAC8B,UAAUG,OAAV,EAAmBzL,KAAnB,CAAyB2L,UAAzB,EAAqC,CAArC,CAAD,CAFV,CADF,EAIE,CAACL,UAAUG,OAAV,EAAmBzL,KAAnB,CAAyB2L,UAAzB,EAAqC,CAArC,CAAD,EAA0CnC,MAA1C,CACE8B,UAAU/I,KAAV,CAAgBkJ,UAAU,CAA1B,CADF,CAJF,CADM,GASN,CAACH,SAAD,CATJ;;;QAYMM,IAAItM,GAAJ,CAAQ,UAACuM,EAAD,EAAKtC,KAAL,EAAe;;QAErBnI,cAAc,CAACmI,UAAU,CAAV,GAAc,CAAC8B,SAAf,GAA2BA,SAA5B,IAChB,QADgB,GAEhB,OAFJ;QAGIS,oBAAoB,KAAxB;WAEED;;;KAGGE,MAHH,CAGU,UAACtM,CAAD,EAAIC,CAAJ,EAAU;UACZD,EAAEA,EAAExJ,MAAF,GAAW,CAAb,MAAoB,EAApB,IAA0B,CAAC,GAAD,EAAM,GAAN,EAAWG,OAAX,CAAmBsJ,CAAnB,MAA0B,CAAC,CAAzD,EAA4D;UACxDD,EAAExJ,MAAF,GAAW,CAAb,IAAkByJ,CAAlB;4BACoB,IAApB;eACOD,CAAP;OAHF,MAIO,IAAIqM,iBAAJ,EAAuB;UAC1BrM,EAAExJ,MAAF,GAAW,CAAb,KAAmByJ,CAAnB;4BACoB,KAApB;eACOD,CAAP;OAHK,MAIA;eACEA,EAAE+J,MAAF,CAAS9J,CAAT,CAAP;;KAbN,EAeK,EAfL;;KAiBGJ,GAjBH,CAiBO;aAAO0L,QAAQC,GAAR,EAAa7J,WAAb,EAA0BJ,aAA1B,EAAyCF,gBAAzC,CAAP;KAjBP,CADF;GANI,CAAN;;;MA6BI0B,OAAJ,CAAY,UAACqJ,EAAD,EAAKtC,KAAL,EAAe;OACtB/G,OAAH,CAAW,UAAC+I,IAAD,EAAOS,MAAP,EAAkB;UACvBvG,UAAU8F,IAAV,CAAJ,EAAqB;gBACXhC,KAAR,KAAkBgC,QAAQM,GAAGG,SAAS,CAAZ,MAAmB,GAAnB,GAAyB,CAAC,CAA1B,GAA8B,CAAtC,CAAlB;;KAFJ;GADF;SAOO7P,OAAP;;;;;;;;;;;;AAYF,AAAe,SAAS+B,MAAT,CAAgBiE,IAAhB,QAAkC;MAAVjE,MAAU,QAAVA,MAAU;MACvCc,SADuC,GACOmD,IADP,CACvCnD,SADuC;sBACOmD,IADP,CAC5BhG,OAD4B;MACjBqC,MADiB,iBACjBA,MADiB;MACTlG,SADS,iBACTA,SADS;;MAEzC8S,gBAAgBpM,UAAUgB,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAAtB;;MAEI7D,gBAAJ;MACIsJ,UAAU,CAACvH,MAAX,CAAJ,EAAwB;cACZ,CAAC,CAACA,MAAF,EAAU,CAAV,CAAV;GADF,MAEO;cACKiN,YAAYjN,MAAZ,EAAoBM,MAApB,EAA4BlG,SAA5B,EAAuC8S,aAAvC,CAAV;;;MAGEA,kBAAkB,MAAtB,EAA8B;WACrBlQ,GAAP,IAAciB,QAAQ,CAAR,CAAd;WACOf,IAAP,IAAee,QAAQ,CAAR,CAAf;GAFF,MAGO,IAAIiP,kBAAkB,OAAtB,EAA+B;WAC7BlQ,GAAP,IAAciB,QAAQ,CAAR,CAAd;WACOf,IAAP,IAAee,QAAQ,CAAR,CAAf;GAFK,MAGA,IAAIiP,kBAAkB,KAAtB,EAA6B;WAC3BhQ,IAAP,IAAee,QAAQ,CAAR,CAAf;WACOjB,GAAP,IAAciB,QAAQ,CAAR,CAAd;GAFK,MAGA,IAAIiP,kBAAkB,QAAtB,EAAgC;WAC9BhQ,IAAP,IAAee,QAAQ,CAAR,CAAf;WACOjB,GAAP,IAAciB,QAAQ,CAAR,CAAd;;;OAGGqC,MAAL,GAAcA,MAAd;SACO2D,IAAP;;;AC5LF;;;;;;;AAOA,AAAe,SAAS8J,eAAT,CAAyB9J,IAAzB,EAA+BU,OAA/B,EAAwC;MACjDnE,oBACFmE,QAAQnE,iBAAR,IAA6B5F,gBAAgBqJ,KAAKgE,QAAL,CAAc3H,MAA9B,CAD/B;;;;;MAMI2D,KAAKgE,QAAL,CAAc7N,SAAd,KAA4BoG,iBAAhC,EAAmD;wBAC7B5F,gBAAgB4F,iBAAhB,CAApB;;;;;;MAMIwN,gBAAgBzI,yBAAyB,WAAzB,CAAtB;MACM0I,eAAehK,KAAKgE,QAAL,CAAc3H,MAAd,CAAqBwF,KAA1C,CAfqD;MAgB7C9I,GAhB6C,GAgBHiR,YAhBG,CAgB7CjR,GAhB6C;MAgBxCE,IAhBwC,GAgBH+Q,YAhBG,CAgBxC/Q,IAhBwC;MAgBjBgR,SAhBiB,GAgBHD,YAhBG,CAgBjCD,aAhBiC;;eAiBxChR,GAAb,GAAmB,EAAnB;eACaE,IAAb,GAAoB,EAApB;eACa8Q,aAAb,IAA8B,EAA9B;;MAEMvN,aAAaJ,cACjB4D,KAAKgE,QAAL,CAAc3H,MADG,EAEjB2D,KAAKgE,QAAL,CAAc7N,SAFG,EAGjBuK,QAAQpE,OAHS,EAIjBC,iBAJiB,EAKjByD,KAAKW,aALY,CAAnB;;;;eAUa5H,GAAb,GAAmBA,GAAnB;eACaE,IAAb,GAAoBA,IAApB;eACa8Q,aAAb,IAA8BE,SAA9B;;UAEQzN,UAAR,GAAqBA,UAArB;;MAEMjF,QAAQmJ,QAAQwJ,QAAtB;MACI7N,SAAS2D,KAAKhG,OAAL,CAAaqC,MAA1B;;MAEMgD,QAAQ;WAAA,mBACJxC,SADI,EACO;UACb6C,QAAQrD,OAAOQ,SAAP,CAAZ;UAEER,OAAOQ,SAAP,IAAoBL,WAAWK,SAAX,CAApB,IACA,CAAC6D,QAAQyJ,mBAFX,EAGE;gBACQxQ,KAAKC,GAAL,CAASyC,OAAOQ,SAAP,CAAT,EAA4BL,WAAWK,SAAX,CAA5B,CAAR;;gCAEQA,SAAV,EAAsB6C,KAAtB;KATU;aAAA,qBAWF7C,SAXE,EAWS;UACbkC,WAAWlC,cAAc,OAAd,GAAwB,MAAxB,GAAiC,KAAlD;UACI6C,QAAQrD,OAAO0C,QAAP,CAAZ;UAEE1C,OAAOQ,SAAP,IAAoBL,WAAWK,SAAX,CAApB,IACA,CAAC6D,QAAQyJ,mBAFX,EAGE;gBACQxQ,KAAKmN,GAAL,CACNzK,OAAO0C,QAAP,CADM,EAENvC,WAAWK,SAAX,KACGA,cAAc,OAAd,GAAwBR,OAAOpC,KAA/B,GAAuCoC,OAAOnC,MADjD,CAFM,CAAR;;gCAMQ6E,QAAV,EAAqBW,KAArB;;GAxBJ;;QA4BMW,OAAN,CAAc,qBAAa;QACnBhI,OACJ,CAAC,MAAD,EAAS,KAAT,EAAgBpE,OAAhB,CAAwB4I,SAAxB,MAAuC,CAAC,CAAxC,GAA4C,SAA5C,GAAwD,WAD1D;0BAEcR,MAAd,EAAyBgD,MAAMhH,IAAN,EAAYwE,SAAZ,CAAzB;GAHF;;OAMK7C,OAAL,CAAaqC,MAAb,GAAsBA,MAAtB;;SAEO2D,IAAP;;;ACvFF;;;;;;;AAOA,AAAe,SAASoK,KAAT,CAAepK,IAAf,EAAqB;MAC5BnD,YAAYmD,KAAKnD,SAAvB;MACMoM,gBAAgBpM,UAAUgB,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAAtB;MACMwM,iBAAiBxN,UAAUgB,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAAvB;;;MAGIwM,cAAJ,EAAoB;wBACYrK,KAAKhG,OADjB;QACV7D,SADU,iBACVA,SADU;QACCkG,MADD,iBACCA,MADD;;QAEZwI,aAAa,CAAC,QAAD,EAAW,KAAX,EAAkB5Q,OAAlB,CAA0BgV,aAA1B,MAA6C,CAAC,CAAjE;QACM5Q,OAAOwM,aAAa,MAAb,GAAsB,KAAnC;QACM5F,cAAc4F,aAAa,OAAb,GAAuB,QAA3C;;QAEMyF,eAAe;gCACTjS,IAAV,EAAiBlC,UAAUkC,IAAV,CAAjB,CADmB;8BAGhBA,IADH,EACUlC,UAAUkC,IAAV,IAAkBlC,UAAU8I,WAAV,CAAlB,GAA2C5C,OAAO4C,WAAP,CADrD;KAFF;;SAOKjF,OAAL,CAAaqC,MAAb,gBAA2BA,MAA3B,EAAsCiO,aAAaD,cAAb,CAAtC;;;SAGKrK,IAAP;;;AC1BF;;;;;;;AAOA,AAAe,SAASuK,IAAT,CAAcvK,IAAd,EAAoB;MAC7B,CAAC6F,mBAAmB7F,KAAKgE,QAAL,CAAcjE,SAAjC,EAA4C,MAA5C,EAAoD,iBAApD,CAAL,EAA6E;WACpEC,IAAP;;;MAGIlD,UAAUkD,KAAKhG,OAAL,CAAa7D,SAA7B;MACMqU,QAAQrL,KACZa,KAAKgE,QAAL,CAAcjE,SADF,EAEZ;WAAYjH,SAASuI,IAAT,KAAkB,iBAA9B;GAFY,EAGZ7E,UAHF;;MAMEM,QAAQ9D,MAAR,GAAiBwR,MAAMzR,GAAvB,IACA+D,QAAQ7D,IAAR,GAAeuR,MAAMtR,KADrB,IAEA4D,QAAQ/D,GAAR,GAAcyR,MAAMxR,MAFpB,IAGA8D,QAAQ5D,KAAR,GAAgBsR,MAAMvR,IAJxB,EAKE;;QAEI+G,KAAKuK,IAAL,KAAc,IAAlB,EAAwB;aACfvK,IAAP;;;SAGGuK,IAAL,GAAY,IAAZ;SACK1G,UAAL,CAAgB,qBAAhB,IAAyC,EAAzC;GAZF,MAaO;;QAED7D,KAAKuK,IAAL,KAAc,KAAlB,EAAyB;aAChBvK,IAAP;;;SAGGuK,IAAL,GAAY,KAAZ;SACK1G,UAAL,CAAgB,qBAAhB,IAAyC,KAAzC;;;SAGK7D,IAAP;;;ACzCF;;;;;;;AAOA,AAAe,SAASyK,KAAT,CAAezK,IAAf,EAAqB;MAC5BnD,YAAYmD,KAAKnD,SAAvB;MACMoM,gBAAgBpM,UAAUgB,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAAtB;sBAC8BmC,KAAKhG,OAHD;MAG1BqC,MAH0B,iBAG1BA,MAH0B;MAGlBlG,SAHkB,iBAGlBA,SAHkB;;MAI5B2I,UAAU,CAAC,MAAD,EAAS,OAAT,EAAkB7K,OAAlB,CAA0BgV,aAA1B,MAA6C,CAAC,CAA9D;;MAEMyB,iBAAiB,CAAC,KAAD,EAAQ,MAAR,EAAgBzW,OAAhB,CAAwBgV,aAAxB,MAA2C,CAAC,CAAnE;;SAEOnK,UAAU,MAAV,GAAmB,KAA1B,IACE3I,UAAU8S,aAAV,KACCyB,iBAAiBrO,OAAOyC,UAAU,OAAV,GAAoB,QAA3B,CAAjB,GAAwD,CADzD,CADF;;OAIKjC,SAAL,GAAiByB,qBAAqBzB,SAArB,CAAjB;OACK7C,OAAL,CAAaqC,MAAb,GAAsBtC,cAAcsC,MAAd,CAAtB;;SAEO2D,IAAP;;;ACdF;;;;;;;;;;;;;;;;;;;;;AAqBA,gBAAe;;;;;;;;;SASN;;WAEE,GAFF;;aAII,IAJJ;;QAMDoK;GAfO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAwDL;;WAEC,GAFD;;aAIG,IAJH;;QAMFrO,MANE;;;;YAUE;GAlEG;;;;;;;;;;;;;;;;;;;mBAsFI;;WAER,GAFQ;;aAIN,IAJM;;QAMX+N,eANW;;;;;;cAYL,CAAC,MAAD,EAAS,OAAT,EAAkB,KAAlB,EAAyB,QAAzB,CAZK;;;;;;;aAmBN,CAnBM;;;;;;uBAyBI;GA/GR;;;;;;;;;;;gBA2HC;;WAEL,GAFK;;aAIH,IAJG;;QAMRlB;GAjIO;;;;;;;;;;;;SA8IN;;WAEE,GAFF;;aAII,IAJJ;;QAMDhD,KANC;;aAQI;GAtJE;;;;;;;;;;;;;QAoKP;;WAEG,GAFH;;aAIK,IAJL;;QAMAhF,IANA;;;;;;;cAaM,MAbN;;;;;aAkBK,CAlBL;;;;;;;uBAyBe,UAzBf;;;;;;;;oBAiCY,KAjCZ;;;;;;;;6BAyCqB;GA7Md;;;;;;;;;SAuNN;;WAEE,GAFF;;aAII,KAJJ;;QAMD6J;GA7NO;;;;;;;;;;;;QA0OP;;WAEG,GAFH;;aAIK,IAJL;;QAMAF;GAhPO;;;;;;;;;;;;;;;;;gBAkQC;;WAEL,GAFK;;aAIH,IAJG;;QAMRnF,YANQ;;;;;;qBAYK,IAZL;;;;;;OAkBT,QAlBS;;;;;;OAwBT;GA1RQ;;;;;;;;;;;;;;;;;cA4SD;;WAEH,GAFG;;aAID,IAJC;;QAMNrB,UANM;;YAQFI,gBARE;;;;;;;qBAeOhE;;CA3TrB;;;;;;;;;;;;;;;;;;;;;AC9BA;;;;;;;;;;;;;;;;AAgBA,eAAe;;;;;aAKF,QALE;;;;;;iBAWE,KAXF;;;;;;iBAiBE,IAjBF;;;;;;;mBAwBI,KAxBJ;;;;;;;;YAgCH,oBAAM,EAhCH;;;;;;;;;;YA0CH,oBAAM,EA1CH;;;;;;;;CAAf;;;;;;;;;;;;AClBA;AACA,AAGA;AACA,IAOqBwK;;;;;;;;;kBASPxU,SAAZ,EAAuBkG,MAAvB,EAA6C;;;QAAdqE,OAAc,uEAAJ,EAAI;;;SAyF7CyC,cAzF6C,GAyF5B;aAAMyH,sBAAsB,MAAKpK,MAA3B,CAAN;KAzF4B;;;SAEtCA,MAAL,GAAcqK,SAAS,KAAKrK,MAAL,CAAYsK,IAAZ,CAAiB,IAAjB,CAAT,CAAd;;;SAGKpK,OAAL,gBAAoBiK,OAAOI,QAA3B,EAAwCrK,OAAxC;;;SAGK3C,KAAL,GAAa;mBACE,KADF;iBAEA,KAFA;qBAGI;KAHjB;;;SAOK5H,SAAL,GAAiBA,aAAaA,UAAU6U,MAAvB,GAAgC7U,UAAU,CAAV,CAAhC,GAA+CA,SAAhE;SACKkG,MAAL,GAAcA,UAAUA,OAAO2O,MAAjB,GAA0B3O,OAAO,CAAP,CAA1B,GAAsCA,MAApD;;;SAGKqE,OAAL,CAAaX,SAAb,GAAyB,EAAzB;WACO7C,IAAP,cACKyN,OAAOI,QAAP,CAAgBhL,SADrB,EAEKW,QAAQX,SAFb,GAGGM,OAHH,CAGW,gBAAQ;YACZK,OAAL,CAAaX,SAAb,CAAuBsB,IAAvB,iBAEMsJ,OAAOI,QAAP,CAAgBhL,SAAhB,CAA0BsB,IAA1B,KAAmC,EAFzC,EAIMX,QAAQX,SAAR,GAAoBW,QAAQX,SAAR,CAAkBsB,IAAlB,CAApB,GAA8C,EAJpD;KAJF;;;SAaKtB,SAAL,GAAiB9C,OAAOC,IAAP,CAAY,KAAKwD,OAAL,CAAaX,SAAzB,EACd5C,GADc,CACV;;;SAEA,MAAKuD,OAAL,CAAaX,SAAb,CAAuBsB,IAAvB,CAFA;KADU;;KAMdhE,IANc,CAMT,UAACC,CAAD,EAAIC,CAAJ;aAAUD,EAAE/F,KAAF,GAAUgG,EAAEhG,KAAtB;KANS,CAAjB;;;;;;SAYKwI,SAAL,CAAeM,OAAf,CAAuB,2BAAmB;UACpC+D,gBAAgB7D,OAAhB,IAA2B5L,WAAWyP,gBAAgB6G,MAA3B,CAA/B,EAAmE;wBACjDA,MAAhB,CACE,MAAK9U,SADP,EAEE,MAAKkG,MAFP,EAGE,MAAKqE,OAHP,EAIE0D,eAJF,EAKE,MAAKrG,KALP;;KAFJ;;;SAaKyC,MAAL;;QAEMyC,gBAAgB,KAAKvC,OAAL,CAAauC,aAAnC;QACIA,aAAJ,EAAmB;;WAEZC,oBAAL;;;SAGGnF,KAAL,CAAWkF,aAAX,GAA2BA,aAA3B;;;;;;;;;gCAKO;aACAzC,OAAOzL,IAAP,CAAY,IAAZ,CAAP;;;;iCAEQ;aACD+M,QAAQ/M,IAAR,CAAa,IAAb,CAAP;;;;8CAEqB;aACdmO,qBAAqBnO,IAArB,CAA0B,IAA1B,CAAP;;;;+CAEsB;aACfkN,sBAAsBlN,IAAtB,CAA2B,IAA3B,CAAP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA1FiB4V,OAoHZO,QAAQ,CAAC,OAAO1X,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyC2X,MAA1C,EAAkDC;AApH9CT,OAsHZ1D,aAAaA;AAtHD0D,OAwHZI,WAAWA;;;;"}
\ No newline at end of file
+{"version":3,"file":"popper.js","sources":["../../src/utils/isBrowser.js","../../src/utils/debounce.js","../../src/utils/isFunction.js","../../src/utils/getStyleComputedProperty.js","../../src/utils/getParentNode.js","../../src/utils/getScrollParent.js","../../src/utils/getReferenceNode.js","../../src/utils/isIE.js","../../src/utils/getOffsetParent.js","../../src/utils/isOffsetContainer.js","../../src/utils/getRoot.js","../../src/utils/findCommonOffsetParent.js","../../src/utils/getScroll.js","../../src/utils/includeScroll.js","../../src/utils/getBordersSize.js","../../src/utils/getWindowSizes.js","../../src/utils/getClientRect.js","../../src/utils/getBoundingClientRect.js","../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../src/utils/isFixed.js","../../src/utils/getFixedPositionOffsetParent.js","../../src/utils/getBoundaries.js","../../src/utils/computeAutoPlacement.js","../../src/utils/getReferenceOffsets.js","../../src/utils/getOuterSizes.js","../../src/utils/getOppositePlacement.js","../../src/utils/getPopperOffsets.js","../../src/utils/find.js","../../src/utils/findIndex.js","../../src/utils/runModifiers.js","../../src/methods/update.js","../../src/utils/isModifierEnabled.js","../../src/utils/getSupportedPropertyName.js","../../src/methods/destroy.js","../../src/utils/getWindow.js","../../src/utils/setupEventListeners.js","../../src/methods/enableEventListeners.js","../../src/utils/removeEventListeners.js","../../src/methods/disableEventListeners.js","../../src/utils/isNumeric.js","../../src/utils/setStyles.js","../../src/utils/setAttributes.js","../../src/modifiers/applyStyle.js","../../src/utils/getRoundedOffsets.js","../../src/modifiers/computeStyle.js","../../src/utils/isModifierRequired.js","../../src/modifiers/arrow.js","../../src/utils/getOppositeVariation.js","../../src/methods/placements.js","../../src/utils/clockwise.js","../../src/modifiers/flip.js","../../src/modifiers/keepTogether.js","../../src/modifiers/offset.js","../../src/modifiers/preventOverflow.js","../../src/modifiers/shift.js","../../src/modifiers/hide.js","../../src/modifiers/inner.js","../../src/modifiers/index.js","../../src/methods/defaults.js","../../src/index.js"],"sourcesContent":["export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`]);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n"],"names":["window","document","navigator","timeoutDuration","longerTimeoutBrowsers","i","length","isBrowser","userAgent","indexOf","microtaskDebounce","fn","called","Promise","resolve","then","taskDebounce","scheduled","supportsMicroTasks","isFunction","functionToCheck","getType","toString","call","getStyleComputedProperty","element","property","nodeType","ownerDocument","defaultView","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","getClientRect","offsets","width","height","getBoundingClientRect","e","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","Object","keys","map","key","sort","a","b","area","filteredAreas","filter","computedPlacement","variation","split","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","prototype","findIndex","prop","value","cur","match","obj","runModifiers","modifiers","data","ends","modifiersToRun","undefined","slice","forEach","warn","enabled","update","isDestroyed","options","positionFixed","flip","originalPlacement","position","isCreated","onCreate","onUpdate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","attachToScrollParents","event","callback","scrollParents","isBody","target","addEventListener","passive","push","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","setAttributes","attributes","setAttribute","applyStyle","instance","arrowElement","arrowStyles","applyStyleOnLoad","modifierOptions","getRoundedOffsets","shouldRound","round","floor","noRound","v","referenceWidth","popperWidth","isVertical","isVariation","sameWidthParity","bothOddWidth","horizontalToInteger","verticalToInteger","isFirefox","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrow","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","querySelector","len","sideCapitalized","toLowerCase","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","min","getOppositeVariation","validPlacements","placements","clockwise","counter","index","concat","reverse","BEHAVIORS","flipped","placementOpposite","flipOrder","behavior","FLIP","CLOCKWISE","COUNTERCLOCKWISE","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","keepTogether","toValue","str","size","parseOffset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","index2","preventOverflow","transformProp","popperStyles","transform","priority","escapeWithReference","shift","shiftvariation","shiftOffsets","hide","bound","inner","subtractLength","Popper","requestAnimationFrame","debounce","bind","Defaults","jquery","onLoad","Utils","global","PopperUtils"],"mappings":"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"}
\ No newline at end of file
diff --git a/HOME/Scripts/esm/popper.min.js b/HOME/Scripts/esm/popper.min.js
index 3c6f16b..6bd7692 100644
--- a/HOME/Scripts/esm/popper.min.js
+++ b/HOME/Scripts/esm/popper.min.js
@@ -1,5 +1,5 @@
/*
- Copyright (C) Federico Zivolo 2019
+ Copyright (C) Federico Zivolo 2020
Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).
- */var e='undefined'!=typeof window&&'undefined'!=typeof document&&'undefined'!=typeof navigator,t=function(){for(var t=['Edge','Trident','Firefox'],o=0;o=o.clientWidth&&n>=o.clientHeight}),l=0window.devicePixelRatio||!re),h='bottom'===o?'top':'bottom',g='right'===n?'left':'right',u=K('transform');if(s='bottom'==h?'HTML'===a.nodeName?-a.clientHeight+m.bottom:-l.height+m.bottom:m.top,p='right'==g?'HTML'===a.nodeName?-a.clientWidth+m.right:-l.width+m.right:m.left,d&&u)f[u]='translate3d('+p+'px, '+s+'px, 0)',f[h]=0,f[g]=0,f.willChange='transform';else{var b='bottom'==h?-1:1,w='right'==g?-1:1;f[h]=s*b,f[g]=p*w,f.willChange=h+', '+g}var y={"x-placement":e.placement};return e.attributes=T({},y,e.attributes),e.styles=T({},f,e.styles),e.arrowStyles=T({},e.offsets.arrow,e.arrowStyles),e}function se(e,t,o){var n=U(e,function(e){var o=e.name;return o===t}),i=!!n&&e.some(function(e){return e.name===o&&e.enabled&&e.orderp[c]&&(e.offsets.popper[m]+=d[m]+g-p[c]),e.offsets.popper=C(e.offsets.popper);var u=d[m]+d[l]/2-g/2,b=s(e.instance.popper),w=parseFloat(b['margin'+f],10),y=parseFloat(b['border'+f+'Width'],10),E=u-e.offsets.popper[m]-w-y;return E=Math.max(Math.min(p[l]-g,E),0),e.arrowElement=n,e.offsets.arrow=(o={},S(o,m,Math.round(E)),S(o,h,''),o),e}function ae(e){if('end'===e)return'start';return'start'===e?'end':e}var le=['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'],fe=le.slice(3);function me(e){var t=1f(l.left)||'right'===n&&f(a.left)f(l.top)||'bottom'===n&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&u||!w&&'end'===r&&g),x=y||E;(m||b||x)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),x&&(r=ae(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=T({},e.offsets.popper,R(e.instance.popper,e.offsets.reference,e.placement)),e=V(e.instance.modifiers,e,'flip'))}),e}function ge(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Math.floor,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}function ue(e,t,o,n){var i=Math.max,r=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),p=+r[1],s=r[2];if(!p)return e;if(0===s.indexOf('%')){var d;switch(s){case'%p':d=o;break;case'%':case'%r':default:d=n;}var a=C(d);return a[t]/100*p}if('vh'===s||'vw'===s){var l;return l='vh'===s?i(document.documentElement.clientHeight,window.innerHeight||0):i(document.documentElement.clientWidth,window.innerWidth||0),l/100*p}return p}function be(e,t,o,n){var i=[0,0],r=-1!==['right','left'].indexOf(n),p=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=p.indexOf(U(p,function(e){return-1!==e.search(/,|\s/)}));p[s]&&-1===p[s].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var d=/\s*,\s*|\s+/,a=-1===s?[p]:[p.slice(0,s).concat([p[s].split(d)[0]]),[p[s].split(d)[1]].concat(p.slice(s+1))];return a=a.map(function(e,n){var i=(1===n?!r:r)?'height':'width',p=!1;return e.reduce(function(e,t){return''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t)},[]).map(function(e){return ue(e,i,t,o)})}),a.forEach(function(e,t){e.forEach(function(o,n){$(o)&&(i[t]+=o*('-'===e[n-1]?-1:1))})}),i}function we(e,t){var o,n=t.offset,i=e.placement,r=e.offsets,p=r.popper,s=r.reference,d=i.split('-')[0];return o=$(+n)?[+n,0]:be(n,p,s,d),'left'===d?(p.top+=o[0],p.left-=o[1]):'right'===d?(p.top+=o[0],p.left+=o[1]):'top'===d?(p.left+=o[0],p.top-=o[1]):'bottom'===d&&(p.left+=o[0],p.top+=o[1]),e.popper=p,e}function ye(e,t){var o=t.boundariesElement||c(e.instance.popper);e.instance.reference===o&&(o=c(o));var n=K('transform'),i=e.instance.popper.style,r=i.top,p=i.left,s=i[n];i.top='',i.left='',i[n]='';var d=B(e.instance.popper,e.instance.reference,t.padding,o,e.positionFixed);i.top=r,i.left=p,i[n]=s,t.boundaries=d;var a=t.priority,l=e.offsets.popper,f={primary:function(e){var o=l[e];return l[e]d[e]&&!t.escapeWithReference&&(n=Math.min(l[o],d[e]-('right'===e?l.width:l.height))),S({},o,n)}};return a.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';l=T({},l,f[t](e))}),e.offsets.popper=l,e}function Ee(e){var t=e.placement,o=t.split('-')[0],n=t.split('-')[1];if(n){var i=e.offsets,r=i.reference,p=i.popper,s=-1!==['bottom','top'].indexOf(o),d=s?'left':'top',a=s?'width':'height',l={start:S({},d,r[d]),end:S({},d,r[d]+r[a]-p[a])};e.offsets.popper=T({},p,l[n])}return e}function xe(e){if(!se(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=U(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.right=o.clientWidth&&n>=o.clientHeight}),l=0window.devicePixelRatio||!re),h='bottom'===o?'top':'bottom',g='right'===n?'left':'right',u=K('transform');if(s='bottom'==h?'HTML'===a.nodeName?-a.clientHeight+m.bottom:-l.height+m.bottom:m.top,p='right'==g?'HTML'===a.nodeName?-a.clientWidth+m.right:-l.width+m.right:m.left,d&&u)f[u]='translate3d('+p+'px, '+s+'px, 0)',f[h]=0,f[g]=0,f.willChange='transform';else{var b='bottom'==h?-1:1,w='right'==g?-1:1;f[h]=s*b,f[g]=p*w,f.willChange=h+', '+g}var y={"x-placement":e.placement};return e.attributes=T({},y,e.attributes),e.styles=T({},f,e.styles),e.arrowStyles=T({},e.offsets.arrow,e.arrowStyles),e}function se(e,t,o){var n=U(e,function(e){var o=e.name;return o===t}),i=!!n&&e.some(function(e){return e.name===o&&e.enabled&&e.orderp[c]&&(e.offsets.popper[m]+=d[m]+g-p[c]),e.offsets.popper=C(e.offsets.popper);var u=d[m]+d[l]/2-g/2,b=s(e.instance.popper),w=parseFloat(b['margin'+f]),y=parseFloat(b['border'+f+'Width']),E=u-e.offsets.popper[m]-w-y;return E=Math.max(Math.min(p[l]-g,E),0),e.arrowElement=n,e.offsets.arrow=(o={},S(o,m,Math.round(E)),S(o,h,''),o),e}function ae(e){if('end'===e)return'start';return'start'===e?'end':e}var le=['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'],fe=le.slice(3);function me(e){var t=1f(l.left)||'right'===n&&f(a.left)f(l.top)||'bottom'===n&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&u||!w&&'end'===r&&g),x=y||E;(m||b||x)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),x&&(r=ae(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=T({},e.offsets.popper,R(e.instance.popper,e.offsets.reference,e.placement)),e=V(e.instance.modifiers,e,'flip'))}),e}function ge(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Math.floor,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}function ue(e,t,o,n){var i=Math.max,r=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),p=+r[1],s=r[2];if(!p)return e;if(0===s.indexOf('%')){var d;switch(s){case'%p':d=o;break;case'%':case'%r':default:d=n;}var a=C(d);return a[t]/100*p}if('vh'===s||'vw'===s){var l;return l='vh'===s?i(document.documentElement.clientHeight,window.innerHeight||0):i(document.documentElement.clientWidth,window.innerWidth||0),l/100*p}return p}function be(e,t,o,n){var i=[0,0],r=-1!==['right','left'].indexOf(n),p=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=p.indexOf(U(p,function(e){return-1!==e.search(/,|\s/)}));p[s]&&-1===p[s].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var d=/\s*,\s*|\s+/,a=-1===s?[p]:[p.slice(0,s).concat([p[s].split(d)[0]]),[p[s].split(d)[1]].concat(p.slice(s+1))];return a=a.map(function(e,n){var i=(1===n?!r:r)?'height':'width',p=!1;return e.reduce(function(e,t){return''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t)},[]).map(function(e){return ue(e,i,t,o)})}),a.forEach(function(e,t){e.forEach(function(o,n){$(o)&&(i[t]+=o*('-'===e[n-1]?-1:1))})}),i}function we(e,t){var o,n=t.offset,i=e.placement,r=e.offsets,p=r.popper,s=r.reference,d=i.split('-')[0];return o=$(+n)?[+n,0]:be(n,p,s,d),'left'===d?(p.top+=o[0],p.left-=o[1]):'right'===d?(p.top+=o[0],p.left+=o[1]):'top'===d?(p.left+=o[0],p.top-=o[1]):'bottom'===d&&(p.left+=o[0],p.top+=o[1]),e.popper=p,e}function ye(e,t){var o=t.boundariesElement||c(e.instance.popper);e.instance.reference===o&&(o=c(o));var n=K('transform'),i=e.instance.popper.style,r=i.top,p=i.left,s=i[n];i.top='',i.left='',i[n]='';var d=B(e.instance.popper,e.instance.reference,t.padding,o,e.positionFixed);i.top=r,i.left=p,i[n]=s,t.boundaries=d;var a=t.priority,l=e.offsets.popper,f={primary:function(e){var o=l[e];return l[e]d[e]&&!t.escapeWithReference&&(n=Math.min(l[o],d[e]-('right'===e?l.width:l.height))),S({},o,n)}};return a.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';l=T({},l,f[t](e))}),e.offsets.popper=l,e}function Ee(e){var t=e.placement,o=t.split('-')[0],n=t.split('-')[1];if(n){var i=e.offsets,r=i.reference,p=i.popper,s=-1!==['bottom','top'].indexOf(o),d=s?'left':'top',a=s?'width':'height',l={start:S({},d,r[d]),end:S({},d,r[d]+r[a]-p[a])};e.offsets.popper=T({},p,l[n])}return e}function xe(e){if(!se(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=U(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.right= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`], 10) +\n parseFloat(styles[`border${sideB}Width`], 10)\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop, 10);\n const marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`], 10);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`], 10);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n"],"names":["window","document","navigator","longerTimeoutBrowsers","i","length","isBrowser","userAgent","indexOf","called","Promise","resolve","then","scheduled","supportsMicroTasks","functionToCheck","getType","toString","call","element","nodeType","ownerDocument","defaultView","css","getComputedStyle","property","nodeName","parentNode","host","body","getStyleComputedProperty","overflow","overflowX","overflowY","test","getScrollParent","getParentNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","version","documentElement","noOffsetParent","isIE","offsetParent","nextElementSibling","getOffsetParent","firstElementChild","node","getRoot","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","isOffsetContainer","element1root","findCommonOffsetParent","side","upperSide","html","scrollingElement","subtract","scrollTop","getScroll","scrollLeft","modifier","top","bottom","left","right","sideA","axis","sideB","parseFloat","styles","Math","max","parseInt","computedStyle","getSize","offsets","width","height","rect","getBoundingClientRect","result","sizes","getWindowSizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getBordersSize","getClientRect","fixedPosition","runIsIE","isHTML","parent","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","includeScroll","excludeScroll","relativeOffset","getOffsetRectRelativeToArbitraryNode","innerWidth","innerHeight","offset","isFixed","parentElement","el","boundaries","getFixedPositionOffsetParent","getReferenceNode","boundariesElement","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","popper","padding","isPaddingNumber","placement","getBoundaries","rects","refRect","sortedAreas","Object","keys","map","getArea","sort","b","area","a","filteredAreas","filter","computedPlacement","key","variation","split","commonOffsetParent","x","marginBottom","y","marginRight","hash","replace","popperRect","getOuterSizes","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","referenceOffsets","getOppositePlacement","Array","prototype","find","arr","findIndex","cur","match","obj","modifiersToRun","ends","modifiers","slice","forEach","warn","fn","enabled","isFunction","data","state","isDestroyed","getReferenceOffsets","options","positionFixed","computeAutoPlacement","flip","originalPlacement","getPopperOffsets","position","runModifiers","isCreated","onUpdate","onCreate","some","name","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","isModifierEnabled","removeAttribute","willChange","getSupportedPropertyName","disableEventListeners","removeOnDestroy","removeChild","isBody","target","addEventListener","passive","push","updateBound","scrollElement","scrollParents","eventsEnabled","setupEventListeners","scheduleUpdate","removeEventListener","removeEventListeners","n","isNaN","isFinite","unit","isNumeric","value","attributes","setAttribute","instance","arrowElement","arrowStyles","round","floor","noRound","referenceWidth","popperWidth","isVertical","isVariation","horizontalToInteger","verticalToInteger","bothOddWidth","isFirefox","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrow","requesting","isRequired","requested","isModifierRequired","querySelector","len","sideCapitalized","toLowerCase","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","min","validPlacements","placements","counter","index","concat","reverse","BEHAVIORS","flipped","placementOpposite","flipOrder","behavior","FLIP","CLOCKWISE","clockwise","COUNTERCLOCKWISE","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","str","size","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","mergeWithPrevious","op","reduce","toValue","index2","basePlacement","parseOffset","transformProp","popperStyles","transform","priority","check","escapeWithReference","shiftvariation","shiftOffsets","bound","hide","subtractLength","Popper","requestAnimationFrame","update","debounce","bind","Defaults","jquery","modifierOptions","onLoad","enableEventListeners","destroy","Utils","global","PopperUtils"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"popper.min.js","sources":["../../src/utils/isBrowser.js","../../src/utils/debounce.js","../../src/utils/isFunction.js","../../src/utils/getStyleComputedProperty.js","../../src/utils/getParentNode.js","../../src/utils/getScrollParent.js","../../src/utils/getReferenceNode.js","../../src/utils/isIE.js","../../src/utils/getOffsetParent.js","../../src/utils/isOffsetContainer.js","../../src/utils/getRoot.js","../../src/utils/findCommonOffsetParent.js","../../src/utils/getScroll.js","../../src/utils/includeScroll.js","../../src/utils/getBordersSize.js","../../src/utils/getWindowSizes.js","../../src/utils/getClientRect.js","../../src/utils/getBoundingClientRect.js","../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../src/utils/isFixed.js","../../src/utils/getFixedPositionOffsetParent.js","../../src/utils/getBoundaries.js","../../src/utils/computeAutoPlacement.js","../../src/utils/getReferenceOffsets.js","../../src/utils/getOuterSizes.js","../../src/utils/getOppositePlacement.js","../../src/utils/getPopperOffsets.js","../../src/utils/find.js","../../src/utils/findIndex.js","../../src/utils/runModifiers.js","../../src/methods/update.js","../../src/utils/isModifierEnabled.js","../../src/utils/getSupportedPropertyName.js","../../src/methods/destroy.js","../../src/utils/getWindow.js","../../src/utils/setupEventListeners.js","../../src/methods/enableEventListeners.js","../../src/utils/removeEventListeners.js","../../src/methods/disableEventListeners.js","../../src/utils/isNumeric.js","../../src/utils/setStyles.js","../../src/utils/setAttributes.js","../../src/modifiers/applyStyle.js","../../src/utils/getRoundedOffsets.js","../../src/modifiers/computeStyle.js","../../src/utils/isModifierRequired.js","../../src/modifiers/arrow.js","../../src/utils/getOppositeVariation.js","../../src/methods/placements.js","../../src/utils/clockwise.js","../../src/modifiers/flip.js","../../src/modifiers/keepTogether.js","../../src/modifiers/offset.js","../../src/modifiers/preventOverflow.js","../../src/modifiers/shift.js","../../src/modifiers/hide.js","../../src/modifiers/inner.js","../../src/modifiers/index.js","../../src/methods/defaults.js","../../src/index.js"],"sourcesContent":["export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`]);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n"],"names":["window","document","navigator","longerTimeoutBrowsers","i","length","isBrowser","userAgent","indexOf","called","Promise","resolve","then","scheduled","supportsMicroTasks","functionToCheck","getType","toString","call","element","nodeType","ownerDocument","defaultView","css","getComputedStyle","property","nodeName","parentNode","host","body","getStyleComputedProperty","overflow","overflowX","overflowY","test","getScrollParent","getParentNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","version","documentElement","noOffsetParent","isIE","offsetParent","nextElementSibling","getOffsetParent","firstElementChild","node","getRoot","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","isOffsetContainer","element1root","findCommonOffsetParent","side","upperSide","html","scrollingElement","subtract","scrollTop","getScroll","scrollLeft","modifier","top","bottom","left","right","sideA","axis","sideB","parseFloat","styles","Math","max","parseInt","computedStyle","getSize","offsets","width","height","rect","getBoundingClientRect","result","sizes","getWindowSizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getBordersSize","getClientRect","fixedPosition","runIsIE","isHTML","parent","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","includeScroll","excludeScroll","relativeOffset","getOffsetRectRelativeToArbitraryNode","innerWidth","innerHeight","offset","isFixed","parentElement","el","boundaries","getFixedPositionOffsetParent","getReferenceNode","boundariesElement","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","popper","padding","isPaddingNumber","placement","getBoundaries","rects","refRect","sortedAreas","Object","keys","map","getArea","sort","b","area","a","filteredAreas","filter","computedPlacement","key","variation","split","commonOffsetParent","x","marginBottom","y","marginRight","hash","replace","popperRect","getOuterSizes","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","referenceOffsets","getOppositePlacement","Array","prototype","find","arr","findIndex","cur","match","obj","modifiersToRun","ends","modifiers","slice","forEach","warn","fn","enabled","isFunction","data","state","isDestroyed","getReferenceOffsets","options","positionFixed","computeAutoPlacement","flip","originalPlacement","getPopperOffsets","position","runModifiers","isCreated","onUpdate","onCreate","some","name","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","isModifierEnabled","removeAttribute","willChange","getSupportedPropertyName","disableEventListeners","removeOnDestroy","removeChild","isBody","target","addEventListener","passive","push","updateBound","scrollElement","scrollParents","eventsEnabled","setupEventListeners","scheduleUpdate","removeEventListener","removeEventListeners","n","isNaN","isFinite","unit","isNumeric","value","attributes","setAttribute","instance","arrowElement","arrowStyles","round","floor","noRound","referenceWidth","popperWidth","isVertical","isVariation","horizontalToInteger","verticalToInteger","bothOddWidth","isFirefox","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrow","requesting","isRequired","requested","isModifierRequired","querySelector","len","sideCapitalized","toLowerCase","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","min","validPlacements","placements","counter","index","concat","reverse","BEHAVIORS","flipped","placementOpposite","flipOrder","behavior","FLIP","CLOCKWISE","clockwise","COUNTERCLOCKWISE","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","str","size","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","mergeWithPrevious","op","reduce","toValue","index2","basePlacement","parseOffset","transformProp","popperStyles","transform","priority","check","escapeWithReference","shiftvariation","shiftOffsets","bound","hide","subtractLength","Popper","requestAnimationFrame","update","debounce","bind","Defaults","jquery","modifierOptions","onLoad","enableEventListeners","destroy","Utils","global","PopperUtils"],"mappings":"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"}
\ No newline at end of file
diff --git a/HOME/Scripts/jquery.validate.unobtrusive.js b/HOME/Scripts/jquery.validate.unobtrusive.js
index 0503334..73f5298 100644
--- a/HOME/Scripts/jquery.validate.unobtrusive.js
+++ b/HOME/Scripts/jquery.validate.unobtrusive.js
@@ -1,26 +1,23 @@
-/* NUGET: BEGIN LICENSE TEXT
- *
- * Microsoft grants you the right to use these script files for the sole
- * purpose of either: (i) interacting through your browser with the Microsoft
- * website or online service, subject to the applicable licensing or use
- * terms; or (ii) using the files as included with a Microsoft product subject
- * to that product's license terms. Microsoft reserves all other rights to the
- * files not expressly granted by Microsoft, whether by implication, estoppel
- * or otherwise. Insofar as a script file is dual licensed under GPL,
- * Microsoft neither took the code under GPL nor distributes it thereunder but
- * under the terms set out in this paragraph. All notices and licenses
- * below are for informational purposes only.
- *
- * NUGET: END LICENSE TEXT */
-/*!
-** Unobtrusive validation support library for jQuery and jQuery Validate
-** Copyright (C) Microsoft Corporation. All rights reserved.
-*/
+// Unobtrusive validation support library for jQuery and jQuery Validate
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+// @version v3.2.11
/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */
/*global document: false, jQuery: false */
-(function ($) {
+(function (factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD. Register as an anonymous module.
+ define("jquery.validate.unobtrusive", ['jquery-validation'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // CommonJS-like environments that support module.exports
+ module.exports = factory(require('jquery-validation'));
+ } else {
+ // Browser global
+ jQuery.validator.unobtrusive = factory(jQuery);
+ }
+}(function ($) {
var $jQval = $.validator,
adapters,
data_validation = "unobtrusiveValidation";
@@ -84,11 +81,12 @@
}
function onSuccess(error) { // 'this' is the form element
- var container = error.data("unobtrusiveContainer"),
- replaceAttrValue = container.attr("data-valmsg-replace"),
- replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null;
+ var container = error.data("unobtrusiveContainer");
if (container) {
+ var replaceAttrValue = container.attr("data-valmsg-replace"),
+ replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null;
+
container.addClass("field-validation-valid").removeClass("field-validation-error");
error.removeData("unobtrusiveContainer");
@@ -120,7 +118,7 @@
.removeClass("field-validation-error")
.removeData("unobtrusiveContainer")
.find(">*") // If we were using valmsg-replace, get the underlying error
- .removeData("unobtrusiveContainer");
+ .removeData("unobtrusiveContainer");
}
function validationInfo(form) {
@@ -131,7 +129,7 @@
execInContext = function (name, args) {
var func = defaultOptions[name];
func && $.isFunction(func) && func.apply(form, args);
- }
+ };
if (!result) {
result = {
@@ -236,10 +234,10 @@
// element with data-val=true
var $selector = $(selector),
$forms = $selector.parents()
- .addBack()
- .filter("form")
- .add($selector.find("form"))
- .has("[data-val=true]");
+ .addBack()
+ .filter("form")
+ .add($selector.find("form"))
+ .has("[data-val=true]");
$selector.find("[data-val=true]").each(function () {
$jQval.unobtrusive.parseElement(this, true);
@@ -422,8 +420,13 @@
setValidationValues(options, "regex", options.params.regex);
}
});
+ adapters.add("fileextensions", ["extensions"], function (options) {
+ setValidationValues(options, "extension", options.params.extensions);
+ });
$(function () {
$jQval.unobtrusive.parse(document);
});
-}(jQuery));
\ No newline at end of file
+
+ return $jQval.unobtrusive;
+}));
diff --git a/HOME/Scripts/jquery.validate.unobtrusive.min.js b/HOME/Scripts/jquery.validate.unobtrusive.min.js
index dfeaf38..57e8b2e 100644
--- a/HOME/Scripts/jquery.validate.unobtrusive.min.js
+++ b/HOME/Scripts/jquery.validate.unobtrusive.min.js
@@ -1,19 +1,5 @@
-/* NUGET: BEGIN LICENSE TEXT
- *
- * Microsoft grants you the right to use these script files for the sole
- * purpose of either: (i) interacting through your browser with the Microsoft
- * website or online service, subject to the applicable licensing or use
- * terms; or (ii) using the files as included with a Microsoft product subject
- * to that product's license terms. Microsoft reserves all other rights to the
- * files not expressly granted by Microsoft, whether by implication, estoppel
- * or otherwise. Insofar as a script file is dual licensed under GPL,
- * Microsoft neither took the code under GPL nor distributes it thereunder but
- * under the terms set out in this paragraph. All notices and licenses
- * below are for informational purposes only.
- *
- * NUGET: END LICENSE TEXT */
-/*
-** Unobtrusive validation support library for jQuery and jQuery Validate
-** Copyright (C) Microsoft Corporation. All rights reserved.
-*/
-(function(a){var d=a.validator,b,e="unobtrusiveValidation";function c(a,b,c){a.rules[b]=c;if(a.message)a.messages[b]=a.message}function j(a){return a.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g)}function f(a){return a.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g,"\\$1")}function h(a){return a.substr(0,a.lastIndexOf(".")+1)}function g(a,b){if(a.indexOf("*.")===0)a=a.replace("*.",b);return a}function m(c,e){var b=a(this).find("[data-valmsg-for='"+f(e[0].name)+"']"),d=b.attr("data-valmsg-replace"),g=d?a.parseJSON(d)!==false:null;b.removeClass("field-validation-valid").addClass("field-validation-error");c.data("unobtrusiveContainer",b);if(g){b.empty();c.removeClass("input-validation-error").appendTo(b)}else c.hide()}function l(e,d){var c=a(this).find("[data-valmsg-summary=true]"),b=c.find("ul");if(b&&b.length&&d.errorList.length){b.empty();c.addClass("validation-summary-errors").removeClass("validation-summary-valid");a.each(d.errorList,function(){a("").html(this.message).appendTo(b)})}}function k(d){var b=d.data("unobtrusiveContainer"),c=b.attr("data-valmsg-replace"),e=c?a.parseJSON(c):null;if(b){b.addClass("field-validation-valid").removeClass("field-validation-error");d.removeData("unobtrusiveContainer");e&&b.empty()}}function n(){var b=a(this),c="__jquery_unobtrusive_validation_form_reset";if(b.data(c))return;b.data(c,true);try{b.data("validator").resetForm()}finally{b.removeData(c)}b.find(".validation-summary-errors").addClass("validation-summary-valid").removeClass("validation-summary-errors");b.find(".field-validation-error").addClass("field-validation-valid").removeClass("field-validation-error").removeData("unobtrusiveContainer").find(">*").removeData("unobtrusiveContainer")}function i(b){var c=a(b),f=c.data(e),i=a.proxy(n,b),g=d.unobtrusive.options||{},h=function(e,d){var c=g[e];c&&a.isFunction(c)&&c.apply(b,d)};if(!f){f={options:{errorClass:g.errorClass||"input-validation-error",errorElement:g.errorElement||"span",errorPlacement:function(){m.apply(b,arguments);h("errorPlacement",arguments)},invalidHandler:function(){l.apply(b,arguments);h("invalidHandler",arguments)},messages:{},rules:{},success:function(){k.apply(b,arguments);h("success",arguments)}},attachValidation:function(){c.off("reset."+e,i).on("reset."+e,i).validate(this.options)},validate:function(){c.validate();return c.valid()}};c.data(e,f)}return f}d.unobtrusive={adapters:[],parseElement:function(b,h){var d=a(b),f=d.parents("form")[0],c,e,g;if(!f)return;c=i(f);c.options.rules[b.name]=e={};c.options.messages[b.name]=g={};a.each(this.adapters,function(){var c="data-val-"+this.name,i=d.attr(c),h={};if(i!==undefined){c+="-";a.each(this.params,function(){h[this]=d.attr(c+this)});this.adapt({element:b,form:f,message:i,params:h,rules:e,messages:g})}});a.extend(e,{__dummy__:true});!h&&c.attachValidation()},parse:function(c){var b=a(c),e=b.parents().addBack().filter("form").add(b.find("form")).has("[data-val=true]");b.find("[data-val=true]").each(function(){d.unobtrusive.parseElement(this,true)});e.each(function(){var a=i(this);a&&a.attachValidation()})}};b=d.unobtrusive.adapters;b.add=function(c,a,b){if(!b){b=a;a=[]}this.push({name:c,params:a,adapt:b});return this};b.addBool=function(a,b){return this.add(a,function(d){c(d,b||a,true)})};b.addMinMax=function(e,g,f,a,d,b){return this.add(e,[d||"min",b||"max"],function(b){var e=b.params.min,d=b.params.max;if(e&&d)c(b,a,[e,d]);else if(e)c(b,g,e);else d&&c(b,f,d)})};b.addSingleVal=function(a,b,d){return this.add(a,[b||"val"],function(e){c(e,d||a,e.params[b])})};d.addMethod("__dummy__",function(){return true});d.addMethod("regex",function(b,c,d){var a;if(this.optional(c))return true;a=(new RegExp(d)).exec(b);return a&&a.index===0&&a[0].length===b.length});d.addMethod("nonalphamin",function(c,d,b){var a;if(b){a=c.match(/\W/g);a=a&&a.length>=b}return a});if(d.methods.extension){b.addSingleVal("accept","mimtype");b.addSingleVal("extension","extension")}else b.addSingleVal("extension","extension","accept");b.addSingleVal("regex","pattern");b.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");b.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range");b.addMinMax("minlength","minlength").addMinMax("maxlength","minlength","maxlength");b.add("equalto",["other"],function(b){var i=h(b.element.name),j=b.params.other,d=g(j,i),e=a(b.form).find(":input").filter("[name='"+f(d)+"']")[0];c(b,"equalTo",e)});b.add("required",function(a){(a.element.tagName.toUpperCase()!=="INPUT"||a.element.type.toUpperCase()!=="CHECKBOX")&&c(a,"required",true)});b.add("remote",["url","type","additionalfields"],function(b){var d={url:b.params.url,type:b.params.type||"GET",data:{}},e=h(b.element.name);a.each(j(b.params.additionalfields||b.element.name),function(i,h){var c=g(h,e);d.data[c]=function(){var d=a(b.form).find(":input").filter("[name='"+f(c)+"']");return d.is(":checkbox")?d.filter(":checked").val()||d.filter(":hidden").val()||"":d.is(":radio")?d.filter(":checked").val()||"":d.val()}});c(b,"remote",d)});b.add("password",["min","nonalphamin","regex"],function(a){a.params.min&&c(a,"minlength",a.params.min);a.params.nonalphamin&&c(a,"nonalphamin",a.params.nonalphamin);a.params.regex&&c(a,"regex",a.params.regex)});a(function(){d.unobtrusive.parse(document)})})(jQuery);
\ No newline at end of file
+// Unobtrusive validation support library for jQuery and jQuery Validate
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+// @version v3.2.11
+!function(a){"function"==typeof define&&define.amd?define("jquery.validate.unobtrusive",["jquery-validation"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery-validation")):jQuery.validator.unobtrusive=a(jQuery)}(function(a){function e(a,e,n){a.rules[e]=n,a.message&&(a.messages[e]=a.message)}function n(a){return a.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g)}function t(a){return a.replace(/([!"#$%&'()*+,.\/:;<=>?@\[\\\]^`{|}~])/g,"\\$1")}function r(a){return a.substr(0,a.lastIndexOf(".")+1)}function i(a,e){return 0===a.indexOf("*.")&&(a=a.replace("*.",e)),a}function o(e,n){var r=a(this).find("[data-valmsg-for='"+t(n[0].name)+"']"),i=r.attr("data-valmsg-replace"),o=i?a.parseJSON(i)!==!1:null;r.removeClass("field-validation-valid").addClass("field-validation-error"),e.data("unobtrusiveContainer",r),o?(r.empty(),e.removeClass("input-validation-error").appendTo(r)):e.hide()}function d(e,n){var t=a(this).find("[data-valmsg-summary=true]"),r=t.find("ul");r&&r.length&&n.errorList.length&&(r.empty(),t.addClass("validation-summary-errors").removeClass("validation-summary-valid"),a.each(n.errorList,function(){a("").html(this.message).appendTo(r)}))}function s(e){var n=e.data("unobtrusiveContainer");if(n){var t=n.attr("data-valmsg-replace"),r=t?a.parseJSON(t):null;n.addClass("field-validation-valid").removeClass("field-validation-error"),e.removeData("unobtrusiveContainer"),r&&n.empty()}}function l(e){var n=a(this),t="__jquery_unobtrusive_validation_form_reset";if(!n.data(t)){n.data(t,!0);try{n.data("validator").resetForm()}finally{n.removeData(t)}n.find(".validation-summary-errors").addClass("validation-summary-valid").removeClass("validation-summary-errors"),n.find(".field-validation-error").addClass("field-validation-valid").removeClass("field-validation-error").removeData("unobtrusiveContainer").find(">*").removeData("unobtrusiveContainer")}}function u(e){var n=a(e),t=n.data(v),r=a.proxy(l,e),i=f.unobtrusive.options||{},u=function(n,t){var r=i[n];r&&a.isFunction(r)&&r.apply(e,t)};return t||(t={options:{errorClass:i.errorClass||"input-validation-error",errorElement:i.errorElement||"span",errorPlacement:function(){o.apply(e,arguments),u("errorPlacement",arguments)},invalidHandler:function(){d.apply(e,arguments),u("invalidHandler",arguments)},messages:{},rules:{},success:function(){s.apply(e,arguments),u("success",arguments)}},attachValidation:function(){n.off("reset."+v,r).on("reset."+v,r).validate(this.options)},validate:function(){return n.validate(),n.valid()}},n.data(v,t)),t}var m,f=a.validator,v="unobtrusiveValidation";return f.unobtrusive={adapters:[],parseElement:function(e,n){var t,r,i,o=a(e),d=o.parents("form")[0];d&&(t=u(d),t.options.rules[e.name]=r={},t.options.messages[e.name]=i={},a.each(this.adapters,function(){var n="data-val-"+this.name,t=o.attr(n),s={};void 0!==t&&(n+="-",a.each(this.params,function(){s[this]=o.attr(n+this)}),this.adapt({element:e,form:d,message:t,params:s,rules:r,messages:i}))}),a.extend(r,{__dummy__:!0}),n||t.attachValidation())},parse:function(e){var n=a(e),t=n.parents().addBack().filter("form").add(n.find("form")).has("[data-val=true]");n.find("[data-val=true]").each(function(){f.unobtrusive.parseElement(this,!0)}),t.each(function(){var a=u(this);a&&a.attachValidation()})}},m=f.unobtrusive.adapters,m.add=function(a,e,n){return n||(n=e,e=[]),this.push({name:a,params:e,adapt:n}),this},m.addBool=function(a,n){return this.add(a,function(t){e(t,n||a,!0)})},m.addMinMax=function(a,n,t,r,i,o){return this.add(a,[i||"min",o||"max"],function(a){var i=a.params.min,o=a.params.max;i&&o?e(a,r,[i,o]):i?e(a,n,i):o&&e(a,t,o)})},m.addSingleVal=function(a,n,t){return this.add(a,[n||"val"],function(r){e(r,t||a,r.params[n])})},f.addMethod("__dummy__",function(a,e,n){return!0}),f.addMethod("regex",function(a,e,n){var t;return!!this.optional(e)||(t=new RegExp(n).exec(a),t&&0===t.index&&t[0].length===a.length)}),f.addMethod("nonalphamin",function(a,e,n){var t;return n&&(t=a.match(/\W/g),t=t&&t.length>=n),t}),f.methods.extension?(m.addSingleVal("accept","mimtype"),m.addSingleVal("extension","extension")):m.addSingleVal("extension","extension","accept"),m.addSingleVal("regex","pattern"),m.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url"),m.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range"),m.addMinMax("minlength","minlength").addMinMax("maxlength","minlength","maxlength"),m.add("equalto",["other"],function(n){var o=r(n.element.name),d=n.params.other,s=i(d,o),l=a(n.form).find(":input").filter("[name='"+t(s)+"']")[0];e(n,"equalTo",l)}),m.add("required",function(a){"INPUT"===a.element.tagName.toUpperCase()&&"CHECKBOX"===a.element.type.toUpperCase()||e(a,"required",!0)}),m.add("remote",["url","type","additionalfields"],function(o){var d={url:o.params.url,type:o.params.type||"GET",data:{}},s=r(o.element.name);a.each(n(o.params.additionalfields||o.element.name),function(e,n){var r=i(n,s);d.data[r]=function(){var e=a(o.form).find(":input").filter("[name='"+t(r)+"']");return e.is(":checkbox")?e.filter(":checked").val()||e.filter(":hidden").val()||"":e.is(":radio")?e.filter(":checked").val()||"":e.val()}}),e(o,"remote",d)}),m.add("password",["min","nonalphamin","regex"],function(a){a.params.min&&e(a,"minlength",a.params.min),a.params.nonalphamin&&e(a,"nonalphamin",a.params.nonalphamin),a.params.regex&&e(a,"regex",a.params.regex)}),m.add("fileextensions",["extensions"],function(a){e(a,"extension",a.params.extensions)}),a(function(){f.unobtrusive.parse(document)}),f.unobtrusive});
\ No newline at end of file
diff --git a/HOME/Scripts/popper-utils.js b/HOME/Scripts/popper-utils.js
index b586e45..ba7bee1 100644
--- a/HOME/Scripts/popper-utils.js
+++ b/HOME/Scripts/popper-utils.js
@@ -1,6 +1,6 @@
/**!
* @fileOverview Kickass library to create and place poppers near their reference elements.
- * @version 1.16.0
+ * @version 1.16.1
* @license
* Copyright (c) 2016 Federico Zivolo and contributors
*
@@ -273,7 +273,7 @@ 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);
+ return parseFloat(styles[`border${sideA}Width`]) + parseFloat(styles[`border${sideB}Width`]);
}
function getSize(axis, body, html, computedStyle) {
@@ -383,8 +383,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition =
const scrollParent = getScrollParent(children);
const styles = getStyleComputedProperty(parent);
- const borderTopWidth = parseFloat(styles.borderTopWidth, 10);
- const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
+ const borderTopWidth = parseFloat(styles.borderTopWidth);
+ const borderLeftWidth = parseFloat(styles.borderLeftWidth);
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
if (fixedPosition && isHTML) {
@@ -405,8 +405,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition =
// 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);
+ const marginTop = parseFloat(styles.marginTop);
+ const marginLeft = parseFloat(styles.marginLeft);
offsets.top -= borderTopWidth - marginTop;
offsets.bottom -= borderTopWidth - marginTop;
diff --git a/HOME/Scripts/popper-utils.js.map b/HOME/Scripts/popper-utils.js.map
index 2536c0a..a2702cd 100644
--- a/HOME/Scripts/popper-utils.js.map
+++ b/HOME/Scripts/popper-utils.js.map
@@ -1 +1 @@
-{"version":3,"file":"popper-utils.js","sources":["../src/utils/getStyleComputedProperty.js","../src/utils/getParentNode.js","../src/utils/getScrollParent.js","../src/utils/getReferenceNode.js","../src/utils/isBrowser.js","../src/utils/isIE.js","../src/utils/getOffsetParent.js","../src/utils/isOffsetContainer.js","../src/utils/getRoot.js","../src/utils/findCommonOffsetParent.js","../src/utils/getScroll.js","../src/utils/includeScroll.js","../src/utils/getBordersSize.js","../src/utils/getWindowSizes.js","../src/utils/getClientRect.js","../src/utils/getBoundingClientRect.js","../src/utils/getOffsetRectRelativeToArbitraryNode.js","../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../src/utils/isFixed.js","../src/utils/getFixedPositionOffsetParent.js","../src/utils/getBoundaries.js","../src/utils/computeAutoPlacement.js","../src/utils/debounce.js","../src/utils/find.js","../src/utils/findIndex.js","../src/utils/getOffsetRect.js","../src/utils/getOuterSizes.js","../src/utils/getOppositePlacement.js","../src/utils/getPopperOffsets.js","../src/utils/getReferenceOffsets.js","../src/utils/getSupportedPropertyName.js","../src/utils/isFunction.js","../src/utils/isModifierEnabled.js","../src/utils/isModifierRequired.js","../src/utils/isNumeric.js","../src/utils/getWindow.js","../src/utils/removeEventListeners.js","../src/utils/runModifiers.js","../src/utils/setAttributes.js","../src/utils/setStyles.js","../src/utils/setupEventListeners.js","../src/utils/index.js"],"sourcesContent":["/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`], 10) +\n parseFloat(styles[`border${sideB}Width`], 10)\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop, 10);\n const marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import getWindowSizes from './getWindowSizes';\nimport getClientRect from './getClientRect';\n\n/**\n * Get the position of the given element, relative to its offset parent\n * @method\n * @memberof Popper.Utils\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\nexport default function getOffsetRect(element) {\n let elementRect;\n if (element.nodeName === 'HTML') {\n const { width, height } = getWindowSizes(element.ownerDocument);\n elementRect = {\n width,\n height,\n left: 0,\n top: 0,\n };\n } else {\n elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop,\n };\n }\n\n // position\n return getClientRect(elementRect);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import computeAutoPlacement from './computeAutoPlacement';\nimport debounce from './debounce';\nimport findIndex from './findIndex';\nimport getBordersSize from './getBordersSize';\nimport getBoundaries from './getBoundaries';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getClientRect from './getClientRect';\nimport getOffsetParent from './getOffsetParent';\nimport getOffsetRect from './getOffsetRect';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getOuterSizes from './getOuterSizes';\nimport getParentNode from './getParentNode';\nimport getPopperOffsets from './getPopperOffsets';\nimport getReferenceOffsets from './getReferenceOffsets';\nimport getScroll from './getScroll';\nimport getScrollParent from './getScrollParent';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getSupportedPropertyName from './getSupportedPropertyName';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport isFunction from './isFunction';\nimport isModifierEnabled from './isModifierEnabled';\nimport isModifierRequired from './isModifierRequired';\nimport isNumeric from './isNumeric';\nimport removeEventListeners from './removeEventListeners';\nimport runModifiers from './runModifiers';\nimport setAttributes from './setAttributes';\nimport setStyles from './setStyles';\nimport setupEventListeners from './setupEventListeners';\n\n/** @namespace Popper.Utils */\nexport {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n\n// This is here just for backward compatibility with versions lower than v1.10.3\n// you should import the utilities using named exports, if you want them all use:\n// ```\n// import * as PopperUtils from 'popper-utils';\n// ```\n// The default export will be removed in the next major version.\nexport default {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n"],"names":["getStyleComputedProperty","element","property","nodeType","window","ownerDocument","defaultView","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","document","body","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","navigator","isIE11","isBrowser","MSInputMethodContext","documentMode","isIE10","userAgent","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","indexOf","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","getClientRect","offsets","width","height","getBoundingClientRect","e","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","Object","keys","map","key","sort","a","b","area","filteredAreas","filter","computedPlacement","length","variation","split","timeoutDuration","longerTimeoutBrowsers","i","microtaskDebounce","fn","called","Promise","resolve","then","taskDebounce","scheduled","supportsMicroTasks","find","arr","check","Array","prototype","findIndex","prop","value","cur","match","obj","getOffsetRect","elementRect","offsetLeft","offsetTop","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","getReferenceOffsets","state","commonOffsetParent","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","slice","prefix","toCheck","style","isFunction","functionToCheck","getType","toString","call","isModifierEnabled","modifiers","modifierName","some","name","enabled","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","warn","isNumeric","n","isNaN","isFinite","getWindow","removeEventListeners","removeEventListener","updateBound","scrollParents","forEach","target","scrollElement","eventsEnabled","runModifiers","data","ends","modifiersToRun","undefined","setAttributes","attributes","setAttribute","removeAttribute","setStyles","unit","attachToScrollParents","event","callback","isBody","addEventListener","passive","push","setupEventListeners","options"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"popper-utils.js","sources":["../src/utils/getStyleComputedProperty.js","../src/utils/getParentNode.js","../src/utils/getScrollParent.js","../src/utils/getReferenceNode.js","../src/utils/isBrowser.js","../src/utils/isIE.js","../src/utils/getOffsetParent.js","../src/utils/isOffsetContainer.js","../src/utils/getRoot.js","../src/utils/findCommonOffsetParent.js","../src/utils/getScroll.js","../src/utils/includeScroll.js","../src/utils/getBordersSize.js","../src/utils/getWindowSizes.js","../src/utils/getClientRect.js","../src/utils/getBoundingClientRect.js","../src/utils/getOffsetRectRelativeToArbitraryNode.js","../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../src/utils/isFixed.js","../src/utils/getFixedPositionOffsetParent.js","../src/utils/getBoundaries.js","../src/utils/computeAutoPlacement.js","../src/utils/debounce.js","../src/utils/find.js","../src/utils/findIndex.js","../src/utils/getOffsetRect.js","../src/utils/getOuterSizes.js","../src/utils/getOppositePlacement.js","../src/utils/getPopperOffsets.js","../src/utils/getReferenceOffsets.js","../src/utils/getSupportedPropertyName.js","../src/utils/isFunction.js","../src/utils/isModifierEnabled.js","../src/utils/isModifierRequired.js","../src/utils/isNumeric.js","../src/utils/getWindow.js","../src/utils/removeEventListeners.js","../src/utils/runModifiers.js","../src/utils/setAttributes.js","../src/utils/setStyles.js","../src/utils/setupEventListeners.js","../src/utils/index.js"],"sourcesContent":["/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import getWindowSizes from './getWindowSizes';\nimport getClientRect from './getClientRect';\n\n/**\n * Get the position of the given element, relative to its offset parent\n * @method\n * @memberof Popper.Utils\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\nexport default function getOffsetRect(element) {\n let elementRect;\n if (element.nodeName === 'HTML') {\n const { width, height } = getWindowSizes(element.ownerDocument);\n elementRect = {\n width,\n height,\n left: 0,\n top: 0,\n };\n } else {\n elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop,\n };\n }\n\n // position\n return getClientRect(elementRect);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import computeAutoPlacement from './computeAutoPlacement';\nimport debounce from './debounce';\nimport findIndex from './findIndex';\nimport getBordersSize from './getBordersSize';\nimport getBoundaries from './getBoundaries';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getClientRect from './getClientRect';\nimport getOffsetParent from './getOffsetParent';\nimport getOffsetRect from './getOffsetRect';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getOuterSizes from './getOuterSizes';\nimport getParentNode from './getParentNode';\nimport getPopperOffsets from './getPopperOffsets';\nimport getReferenceOffsets from './getReferenceOffsets';\nimport getScroll from './getScroll';\nimport getScrollParent from './getScrollParent';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getSupportedPropertyName from './getSupportedPropertyName';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport isFunction from './isFunction';\nimport isModifierEnabled from './isModifierEnabled';\nimport isModifierRequired from './isModifierRequired';\nimport isNumeric from './isNumeric';\nimport removeEventListeners from './removeEventListeners';\nimport runModifiers from './runModifiers';\nimport setAttributes from './setAttributes';\nimport setStyles from './setStyles';\nimport setupEventListeners from './setupEventListeners';\n\n/** @namespace Popper.Utils */\nexport {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n\n// This is here just for backward compatibility with versions lower than v1.10.3\n// you should import the utilities using named exports, if you want them all use:\n// ```\n// import * as PopperUtils from 'popper-utils';\n// ```\n// The default export will be removed in the next major version.\nexport default {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n"],"names":["getStyleComputedProperty","element","property","nodeType","window","ownerDocument","defaultView","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","document","body","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","navigator","isIE11","isBrowser","MSInputMethodContext","documentMode","isIE10","userAgent","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","indexOf","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","getClientRect","offsets","width","height","getBoundingClientRect","e","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","Object","keys","map","key","sort","a","b","area","filteredAreas","filter","computedPlacement","length","variation","split","timeoutDuration","longerTimeoutBrowsers","i","microtaskDebounce","fn","called","Promise","resolve","then","taskDebounce","scheduled","supportsMicroTasks","find","arr","check","Array","prototype","findIndex","prop","value","cur","match","obj","getOffsetRect","elementRect","offsetLeft","offsetTop","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","getReferenceOffsets","state","commonOffsetParent","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","slice","prefix","toCheck","style","isFunction","functionToCheck","getType","toString","call","isModifierEnabled","modifiers","modifierName","some","name","enabled","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","warn","isNumeric","n","isNaN","isFinite","getWindow","removeEventListeners","removeEventListener","updateBound","scrollParents","forEach","target","scrollElement","eventsEnabled","runModifiers","data","ends","modifiersToRun","undefined","setAttributes","attributes","setAttribute","removeAttribute","setStyles","unit","attachToScrollParents","event","callback","isBody","addEventListener","passive","push","setupEventListeners","options"],"mappings":"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"}
\ No newline at end of file
diff --git a/HOME/Scripts/popper-utils.min.js b/HOME/Scripts/popper-utils.min.js
index adbf564..85c0899 100644
--- a/HOME/Scripts/popper-utils.min.js
+++ b/HOME/Scripts/popper-utils.min.js
@@ -1,5 +1,5 @@
/*
- Copyright (C) Federico Zivolo 2019
+ Copyright (C) Federico Zivolo 2020
Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).
- */function a(a,b){if(1!==a.nodeType)return[];const c=a.ownerDocument.defaultView,d=c.getComputedStyle(a,null);return b?d[b]:d}function b(a){return'HTML'===a.nodeName?a:a.parentNode||a.host}function c(d){if(!d)return document.body;switch(d.nodeName){case'HTML':case'BODY':return d.ownerDocument.body;case'#document':return d.body;}const{overflow:e,overflowX:f,overflowY:g}=a(d);return /(auto|scroll|overlay)/.test(e+g+f)?d:c(b(d))}function d(a){return a&&a.referenceNode?a.referenceNode:a}var e='undefined'!=typeof window&&'undefined'!=typeof document&&'undefined'!=typeof navigator;const f=e&&!!(window.MSInputMethodContext&&document.documentMode),g=e&&/MSIE 10/.test(navigator.userAgent);function h(a){return 11===a?f:10===a?g:f||g}function i(b){if(!b)return document.documentElement;const c=h(10)?document.body:null;let d=b.offsetParent||null;for(;d===c&&b.nextElementSibling;)d=(b=b.nextElementSibling).offsetParent;const e=d&&d.nodeName;return e&&'BODY'!==e&&'HTML'!==e?-1!==['TH','TD','TABLE'].indexOf(d.nodeName)&&'static'===a(d,'position')?i(d):d:b?b.ownerDocument.documentElement:document.documentElement}function j(a){const{nodeName:b}=a;return'BODY'!==b&&('HTML'===b||i(a.firstElementChild)===a)}function k(a){return null===a.parentNode?a:k(a.parentNode)}function l(a,b){if(!a||!a.nodeType||!b||!b.nodeType)return document.documentElement;const c=a.compareDocumentPosition(b)&Node.DOCUMENT_POSITION_FOLLOWING,d=c?a:b,e=c?b:a,f=document.createRange();f.setStart(d,0),f.setEnd(e,0);const{commonAncestorContainer:g}=f;if(a!==g&&b!==g||d.contains(e))return j(g)?g:i(g);const h=k(a);return h.host?l(h.host,b):l(a,k(b).host)}function m(a,b='top'){const c='top'===b?'scrollTop':'scrollLeft',d=a.nodeName;if('BODY'===d||'HTML'===d){const b=a.ownerDocument.documentElement,d=a.ownerDocument.scrollingElement||b;return d[c]}return a[c]}function n(a,b,c=!1){const d=m(b,'top'),e=m(b,'left'),f=c?-1:1;return a.top+=d*f,a.bottom+=d*f,a.left+=e*f,a.right+=e*f,a}function o(a,b){const c='x'===b?'Left':'Top',d='Left'==c?'Right':'Bottom';return parseFloat(a[`border${c}Width`],10)+parseFloat(a[`border${d}Width`],10)}function p(a,b,c,d){return Math.max(b[`offset${a}`],b[`scroll${a}`],c[`client${a}`],c[`offset${a}`],c[`scroll${a}`],h(10)?parseInt(c[`offset${a}`])+parseInt(d[`margin${'Height'===a?'Top':'Left'}`])+parseInt(d[`margin${'Height'===a?'Bottom':'Right'}`]):0)}function q(a){const b=a.body,c=a.documentElement,d=h(10)&&getComputedStyle(c);return{height:p('Height',b,c,d),width:p('Width',b,c,d)}}var r=Object.assign||function(a){for(var b,c=1;cr({key:a},h[a],{area:z(h[a])})).sort((c,a)=>a.area-c.area),j=i.filter(({width:a,height:b})=>a>=c.clientWidth&&b>=c.clientHeight),k=0{b||(b=!0,window.Promise.resolve().then(()=>{b=!1,a()}))}}function D(a){let b=!1;return()=>{b||(b=!0,setTimeout(()=>{b=!1,a()},B))}}const E=e&&window.Promise;var F=E?C:D;function G(a,b){return Array.prototype.find?a.find(b):a.filter(b)[0]}function H(a,b,c){if(Array.prototype.findIndex)return a.findIndex((a)=>a[b]===c);const d=G(a,(a)=>a[b]===c);return a.indexOf(d)}function I(a){let b;if('HTML'===a.nodeName){const{width:c,height:d}=q(a.ownerDocument);b={width:c,height:d,left:0,top:0}}else b={width:a.offsetWidth,height:a.offsetHeight,left:a.offsetLeft,top:a.offsetTop};return s(b)}function J(a){const b=a.ownerDocument.defaultView,c=b.getComputedStyle(a),d=parseFloat(c.marginTop||0)+parseFloat(c.marginBottom||0),e=parseFloat(c.marginLeft||0)+parseFloat(c.marginRight||0),f={width:a.offsetWidth+e,height:a.offsetHeight+d};return f}function K(a){const b={left:'right',right:'left',bottom:'top',top:'bottom'};return a.replace(/left|right|bottom|top/g,(a)=>b[a])}function L(a,b,c){c=c.split('-')[0];const d=J(a),e={width:d.width,height:d.height},f=-1!==['right','left'].indexOf(c),g=f?'top':'left',h=f?'left':'top',i=f?'height':'width',j=f?'width':'height';return e[g]=b[g]+b[i]/2-d[i]/2,e[h]=c===h?b[h]-d[j]:b[K(h)],e}function M(a,b,c,e=null){const f=e?x(b):l(b,d(c));return u(c,f,e)}function N(a){const b=[!1,'ms','Webkit','Moz','O'],c=a.charAt(0).toUpperCase()+a.slice(1);for(let d=0;dc&&a===b)}function Q(a,b,c){const d=G(a,({name:a})=>a===b),e=!!d&&a.some((a)=>a.name===c&&a.enabled&&a.order{a.removeEventListener('scroll',b.updateBound)}),b.updateBound=null,b.scrollParents=[],b.scrollElement=null,b.eventsEnabled=!1,b}function U(a,b,c){const d=void 0===c?a:a.slice(0,H(a,'name',c));return d.forEach((a)=>{a['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');const c=a['function']||a.fn;a.enabled&&O(c)&&(b.offsets.popper=s(b.offsets.popper),b.offsets.reference=s(b.offsets.reference),b=c(b,a))}),b}function V(a,b){Object.keys(b).forEach(function(c){const d=b[c];!1===d?a.removeAttribute(c):a.setAttribute(c,b[c])})}function W(a,b){Object.keys(b).forEach((c)=>{let d='';-1!==['width','height','top','right','bottom','left'].indexOf(c)&&R(b[c])&&(d='px'),a.style[c]=b[c]+d})}function X(a,b,d,e){const f='BODY'===a.nodeName,g=f?a.ownerDocument.defaultView:a;g.addEventListener(b,d,{passive:!0}),f||X(c(g.parentNode),b,d,e),e.push(g)}function Y(a,b,d,e){d.updateBound=e,S(a).addEventListener('resize',d.updateBound,{passive:!0});const f=c(a);return X(f,'scroll',d.updateBound,d.scrollParents),d.scrollElement=f,d.eventsEnabled=!0,d}var Z={computeAutoPlacement:A,debounce:F,findIndex:H,getBordersSize:o,getBoundaries:y,getBoundingClientRect:t,getClientRect:s,getOffsetParent:i,getOffsetRect:I,getOffsetRectRelativeToArbitraryNode:u,getOuterSizes:J,getParentNode:b,getPopperOffsets:L,getReferenceOffsets:M,getScroll:m,getScrollParent:c,getStyleComputedProperty:a,getSupportedPropertyName:N,getWindowSizes:q,isFixed:w,isFunction:O,isModifierEnabled:P,isModifierRequired:Q,isNumeric:R,removeEventListeners:T,runModifiers:U,setAttributes:V,setStyles:W,setupEventListeners:Y};export{A as computeAutoPlacement,F as debounce,H as findIndex,o as getBordersSize,y as getBoundaries,t as getBoundingClientRect,s as getClientRect,i as getOffsetParent,I as getOffsetRect,u as getOffsetRectRelativeToArbitraryNode,J as getOuterSizes,b as getParentNode,L as getPopperOffsets,M as getReferenceOffsets,m as getScroll,c as getScrollParent,a as getStyleComputedProperty,N as getSupportedPropertyName,q as getWindowSizes,w as isFixed,O as isFunction,P as isModifierEnabled,Q as isModifierRequired,R as isNumeric,T as removeEventListeners,U as runModifiers,V as setAttributes,W as setStyles,Y as setupEventListeners};export default Z;
+ */function a(a,b){if(1!==a.nodeType)return[];const c=a.ownerDocument.defaultView,d=c.getComputedStyle(a,null);return b?d[b]:d}function b(a){return'HTML'===a.nodeName?a:a.parentNode||a.host}function c(d){if(!d)return document.body;switch(d.nodeName){case'HTML':case'BODY':return d.ownerDocument.body;case'#document':return d.body;}const{overflow:e,overflowX:f,overflowY:g}=a(d);return /(auto|scroll|overlay)/.test(e+g+f)?d:c(b(d))}function d(a){return a&&a.referenceNode?a.referenceNode:a}var e='undefined'!=typeof window&&'undefined'!=typeof document&&'undefined'!=typeof navigator;const f=e&&!!(window.MSInputMethodContext&&document.documentMode),g=e&&/MSIE 10/.test(navigator.userAgent);function h(a){return 11===a?f:10===a?g:f||g}function i(b){if(!b)return document.documentElement;const c=h(10)?document.body:null;let d=b.offsetParent||null;for(;d===c&&b.nextElementSibling;)d=(b=b.nextElementSibling).offsetParent;const e=d&&d.nodeName;return e&&'BODY'!==e&&'HTML'!==e?-1!==['TH','TD','TABLE'].indexOf(d.nodeName)&&'static'===a(d,'position')?i(d):d:b?b.ownerDocument.documentElement:document.documentElement}function j(a){const{nodeName:b}=a;return'BODY'!==b&&('HTML'===b||i(a.firstElementChild)===a)}function k(a){return null===a.parentNode?a:k(a.parentNode)}function l(a,b){if(!a||!a.nodeType||!b||!b.nodeType)return document.documentElement;const c=a.compareDocumentPosition(b)&Node.DOCUMENT_POSITION_FOLLOWING,d=c?a:b,e=c?b:a,f=document.createRange();f.setStart(d,0),f.setEnd(e,0);const{commonAncestorContainer:g}=f;if(a!==g&&b!==g||d.contains(e))return j(g)?g:i(g);const h=k(a);return h.host?l(h.host,b):l(a,k(b).host)}function m(a,b='top'){const c='top'===b?'scrollTop':'scrollLeft',d=a.nodeName;if('BODY'===d||'HTML'===d){const b=a.ownerDocument.documentElement,d=a.ownerDocument.scrollingElement||b;return d[c]}return a[c]}function n(a,b,c=!1){const d=m(b,'top'),e=m(b,'left'),f=c?-1:1;return a.top+=d*f,a.bottom+=d*f,a.left+=e*f,a.right+=e*f,a}function o(a,b){const c='x'===b?'Left':'Top',d='Left'==c?'Right':'Bottom';return parseFloat(a[`border${c}Width`])+parseFloat(a[`border${d}Width`])}function p(a,b,c,d){return Math.max(b[`offset${a}`],b[`scroll${a}`],c[`client${a}`],c[`offset${a}`],c[`scroll${a}`],h(10)?parseInt(c[`offset${a}`])+parseInt(d[`margin${'Height'===a?'Top':'Left'}`])+parseInt(d[`margin${'Height'===a?'Bottom':'Right'}`]):0)}function q(a){const b=a.body,c=a.documentElement,d=h(10)&&getComputedStyle(c);return{height:p('Height',b,c,d),width:p('Width',b,c,d)}}var r=Object.assign||function(a){for(var b,c=1;cr({key:a},h[a],{area:z(h[a])})).sort((c,a)=>a.area-c.area),j=i.filter(({width:a,height:b})=>a>=c.clientWidth&&b>=c.clientHeight),k=0{b||(b=!0,window.Promise.resolve().then(()=>{b=!1,a()}))}}function D(a){let b=!1;return()=>{b||(b=!0,setTimeout(()=>{b=!1,a()},B))}}const E=e&&window.Promise;var F=E?C:D;function G(a,b){return Array.prototype.find?a.find(b):a.filter(b)[0]}function H(a,b,c){if(Array.prototype.findIndex)return a.findIndex((a)=>a[b]===c);const d=G(a,(a)=>a[b]===c);return a.indexOf(d)}function I(a){let b;if('HTML'===a.nodeName){const{width:c,height:d}=q(a.ownerDocument);b={width:c,height:d,left:0,top:0}}else b={width:a.offsetWidth,height:a.offsetHeight,left:a.offsetLeft,top:a.offsetTop};return s(b)}function J(a){const b=a.ownerDocument.defaultView,c=b.getComputedStyle(a),d=parseFloat(c.marginTop||0)+parseFloat(c.marginBottom||0),e=parseFloat(c.marginLeft||0)+parseFloat(c.marginRight||0),f={width:a.offsetWidth+e,height:a.offsetHeight+d};return f}function K(a){const b={left:'right',right:'left',bottom:'top',top:'bottom'};return a.replace(/left|right|bottom|top/g,(a)=>b[a])}function L(a,b,c){c=c.split('-')[0];const d=J(a),e={width:d.width,height:d.height},f=-1!==['right','left'].indexOf(c),g=f?'top':'left',h=f?'left':'top',i=f?'height':'width',j=f?'width':'height';return e[g]=b[g]+b[i]/2-d[i]/2,e[h]=c===h?b[h]-d[j]:b[K(h)],e}function M(a,b,c,e=null){const f=e?x(b):l(b,d(c));return u(c,f,e)}function N(a){const b=[!1,'ms','Webkit','Moz','O'],c=a.charAt(0).toUpperCase()+a.slice(1);for(let d=0;dc&&a===b)}function Q(a,b,c){const d=G(a,({name:a})=>a===b),e=!!d&&a.some((a)=>a.name===c&&a.enabled&&a.order{a.removeEventListener('scroll',b.updateBound)}),b.updateBound=null,b.scrollParents=[],b.scrollElement=null,b.eventsEnabled=!1,b}function U(a,b,c){const d=void 0===c?a:a.slice(0,H(a,'name',c));return d.forEach((a)=>{a['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');const c=a['function']||a.fn;a.enabled&&O(c)&&(b.offsets.popper=s(b.offsets.popper),b.offsets.reference=s(b.offsets.reference),b=c(b,a))}),b}function V(a,b){Object.keys(b).forEach(function(c){const d=b[c];!1===d?a.removeAttribute(c):a.setAttribute(c,b[c])})}function W(a,b){Object.keys(b).forEach((c)=>{let d='';-1!==['width','height','top','right','bottom','left'].indexOf(c)&&R(b[c])&&(d='px'),a.style[c]=b[c]+d})}function X(a,b,d,e){const f='BODY'===a.nodeName,g=f?a.ownerDocument.defaultView:a;g.addEventListener(b,d,{passive:!0}),f||X(c(g.parentNode),b,d,e),e.push(g)}function Y(a,b,d,e){d.updateBound=e,S(a).addEventListener('resize',d.updateBound,{passive:!0});const f=c(a);return X(f,'scroll',d.updateBound,d.scrollParents),d.scrollElement=f,d.eventsEnabled=!0,d}var Z={computeAutoPlacement:A,debounce:F,findIndex:H,getBordersSize:o,getBoundaries:y,getBoundingClientRect:t,getClientRect:s,getOffsetParent:i,getOffsetRect:I,getOffsetRectRelativeToArbitraryNode:u,getOuterSizes:J,getParentNode:b,getPopperOffsets:L,getReferenceOffsets:M,getScroll:m,getScrollParent:c,getStyleComputedProperty:a,getSupportedPropertyName:N,getWindowSizes:q,isFixed:w,isFunction:O,isModifierEnabled:P,isModifierRequired:Q,isNumeric:R,removeEventListeners:T,runModifiers:U,setAttributes:V,setStyles:W,setupEventListeners:Y};export{A as computeAutoPlacement,F as debounce,H as findIndex,o as getBordersSize,y as getBoundaries,t as getBoundingClientRect,s as getClientRect,i as getOffsetParent,I as getOffsetRect,u as getOffsetRectRelativeToArbitraryNode,J as getOuterSizes,b as getParentNode,L as getPopperOffsets,M as getReferenceOffsets,m as getScroll,c as getScrollParent,a as getStyleComputedProperty,N as getSupportedPropertyName,q as getWindowSizes,w as isFixed,O as isFunction,P as isModifierEnabled,Q as isModifierRequired,R as isNumeric,T as removeEventListeners,U as runModifiers,V as setAttributes,W as setStyles,Y as setupEventListeners};export default Z;
//# sourceMappingURL=popper-utils.min.js.map
diff --git a/HOME/Scripts/popper-utils.min.js.map b/HOME/Scripts/popper-utils.min.js.map
index fb37078..bb446de 100644
--- a/HOME/Scripts/popper-utils.min.js.map
+++ b/HOME/Scripts/popper-utils.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"popper-utils.min.js","sources":["../src/utils/getStyleComputedProperty.js","../src/utils/getParentNode.js","../src/utils/getScrollParent.js","../src/utils/getReferenceNode.js","../src/utils/isBrowser.js","../src/utils/isIE.js","../src/utils/getOffsetParent.js","../src/utils/isOffsetContainer.js","../src/utils/getRoot.js","../src/utils/findCommonOffsetParent.js","../src/utils/getScroll.js","../src/utils/includeScroll.js","../src/utils/getBordersSize.js","../src/utils/getWindowSizes.js","../src/utils/getClientRect.js","../src/utils/getBoundingClientRect.js","../src/utils/getOffsetRectRelativeToArbitraryNode.js","../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../src/utils/isFixed.js","../src/utils/getFixedPositionOffsetParent.js","../src/utils/getBoundaries.js","../src/utils/computeAutoPlacement.js","../src/utils/debounce.js","../src/utils/find.js","../src/utils/findIndex.js","../src/utils/getOffsetRect.js","../src/utils/getOuterSizes.js","../src/utils/getOppositePlacement.js","../src/utils/getPopperOffsets.js","../src/utils/getReferenceOffsets.js","../src/utils/getSupportedPropertyName.js","../src/utils/isFunction.js","../src/utils/isModifierEnabled.js","../src/utils/isModifierRequired.js","../src/utils/isNumeric.js","../src/utils/getWindow.js","../src/utils/removeEventListeners.js","../src/utils/runModifiers.js","../src/utils/setAttributes.js","../src/utils/setStyles.js","../src/utils/setupEventListeners.js","../src/utils/index.js"],"sourcesContent":["/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`], 10) +\n parseFloat(styles[`border${sideB}Width`], 10)\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop, 10);\n const marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import getWindowSizes from './getWindowSizes';\nimport getClientRect from './getClientRect';\n\n/**\n * Get the position of the given element, relative to its offset parent\n * @method\n * @memberof Popper.Utils\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\nexport default function getOffsetRect(element) {\n let elementRect;\n if (element.nodeName === 'HTML') {\n const { width, height } = getWindowSizes(element.ownerDocument);\n elementRect = {\n width,\n height,\n left: 0,\n top: 0,\n };\n } else {\n elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop,\n };\n }\n\n // position\n return getClientRect(elementRect);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import computeAutoPlacement from './computeAutoPlacement';\nimport debounce from './debounce';\nimport findIndex from './findIndex';\nimport getBordersSize from './getBordersSize';\nimport getBoundaries from './getBoundaries';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getClientRect from './getClientRect';\nimport getOffsetParent from './getOffsetParent';\nimport getOffsetRect from './getOffsetRect';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getOuterSizes from './getOuterSizes';\nimport getParentNode from './getParentNode';\nimport getPopperOffsets from './getPopperOffsets';\nimport getReferenceOffsets from './getReferenceOffsets';\nimport getScroll from './getScroll';\nimport getScrollParent from './getScrollParent';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getSupportedPropertyName from './getSupportedPropertyName';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport isFunction from './isFunction';\nimport isModifierEnabled from './isModifierEnabled';\nimport isModifierRequired from './isModifierRequired';\nimport isNumeric from './isNumeric';\nimport removeEventListeners from './removeEventListeners';\nimport runModifiers from './runModifiers';\nimport setAttributes from './setAttributes';\nimport setStyles from './setStyles';\nimport setupEventListeners from './setupEventListeners';\n\n/** @namespace Popper.Utils */\nexport {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n\n// This is here just for backward compatibility with versions lower than v1.10.3\n// you should import the utilities using named exports, if you want them all use:\n// ```\n// import * as PopperUtils from 'popper-utils';\n// ```\n// The default export will be removed in the next major version.\nexport default {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n"],"names":["element","nodeType","window","ownerDocument","defaultView","css","getComputedStyle","property","nodeName","parentNode","host","document","body","overflow","overflowX","overflowY","getStyleComputedProperty","test","getScrollParent","getParentNode","reference","referenceNode","navigator","isIE10","isBrowser","userAgent","version","isIE11","documentElement","noOffsetParent","isIE","offsetParent","nextElementSibling","indexOf","getOffsetParent","firstElementChild","node","getRoot","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","isOffsetContainer","element1root","findCommonOffsetParent","side","upperSide","html","scrollingElement","subtract","scrollTop","getScroll","scrollLeft","modifier","top","bottom","left","right","sideA","axis","sideB","parseFloat","styles","Math","max","parseInt","computedStyle","getSize","offsets","width","height","rect","getBoundingClientRect","result","sizes","getWindowSizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getBordersSize","getClientRect","fixedPosition","runIsIE","isHTML","parent","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","includeScroll","excludeScroll","relativeOffset","getOffsetRectRelativeToArbitraryNode","innerWidth","innerHeight","offset","isFixed","parentElement","el","boundaries","getFixedPositionOffsetParent","getReferenceNode","boundariesElement","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","popper","padding","isPaddingNumber","placement","getBoundaries","rects","refRect","sortedAreas","Object","keys","map","key","getArea","sort","b","area","a","filteredAreas","filter","computedPlacement","length","variation","split","timeoutDuration","longerTimeoutBrowsers","i","called","Promise","resolve","then","scheduled","supportsMicroTasks","Array","prototype","find","arr","findIndex","cur","match","obj","elementRect","offsetLeft","offsetTop","x","marginBottom","y","marginRight","hash","replace","matched","popperRect","getOuterSizes","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","referenceOffsets","getOppositePlacement","commonOffsetParent","prefixes","upperProp","charAt","toUpperCase","slice","prefix","toCheck","style","functionToCheck","getType","toString","call","modifiers","some","name","enabled","requesting","isRequired","requested","warn","n","isNaN","isFinite","removeEventListener","state","updateBound","scrollParents","forEach","target","scrollElement","eventsEnabled","modifiersToRun","ends","fn","isFunction","data","value","attributes","removeAttribute","setAttribute","prop","unit","isNumeric","isBody","addEventListener","passive","push"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"popper-utils.min.js","sources":["../src/utils/getStyleComputedProperty.js","../src/utils/getParentNode.js","../src/utils/getScrollParent.js","../src/utils/getReferenceNode.js","../src/utils/isBrowser.js","../src/utils/isIE.js","../src/utils/getOffsetParent.js","../src/utils/isOffsetContainer.js","../src/utils/getRoot.js","../src/utils/findCommonOffsetParent.js","../src/utils/getScroll.js","../src/utils/includeScroll.js","../src/utils/getBordersSize.js","../src/utils/getWindowSizes.js","../src/utils/getClientRect.js","../src/utils/getBoundingClientRect.js","../src/utils/getOffsetRectRelativeToArbitraryNode.js","../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../src/utils/isFixed.js","../src/utils/getFixedPositionOffsetParent.js","../src/utils/getBoundaries.js","../src/utils/computeAutoPlacement.js","../src/utils/debounce.js","../src/utils/find.js","../src/utils/findIndex.js","../src/utils/getOffsetRect.js","../src/utils/getOuterSizes.js","../src/utils/getOppositePlacement.js","../src/utils/getPopperOffsets.js","../src/utils/getReferenceOffsets.js","../src/utils/getSupportedPropertyName.js","../src/utils/isFunction.js","../src/utils/isModifierEnabled.js","../src/utils/isModifierRequired.js","../src/utils/isNumeric.js","../src/utils/getWindow.js","../src/utils/removeEventListeners.js","../src/utils/runModifiers.js","../src/utils/setAttributes.js","../src/utils/setStyles.js","../src/utils/setupEventListeners.js","../src/utils/index.js"],"sourcesContent":["/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import getWindowSizes from './getWindowSizes';\nimport getClientRect from './getClientRect';\n\n/**\n * Get the position of the given element, relative to its offset parent\n * @method\n * @memberof Popper.Utils\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\nexport default function getOffsetRect(element) {\n let elementRect;\n if (element.nodeName === 'HTML') {\n const { width, height } = getWindowSizes(element.ownerDocument);\n elementRect = {\n width,\n height,\n left: 0,\n top: 0,\n };\n } else {\n elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop,\n };\n }\n\n // position\n return getClientRect(elementRect);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import computeAutoPlacement from './computeAutoPlacement';\nimport debounce from './debounce';\nimport findIndex from './findIndex';\nimport getBordersSize from './getBordersSize';\nimport getBoundaries from './getBoundaries';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getClientRect from './getClientRect';\nimport getOffsetParent from './getOffsetParent';\nimport getOffsetRect from './getOffsetRect';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getOuterSizes from './getOuterSizes';\nimport getParentNode from './getParentNode';\nimport getPopperOffsets from './getPopperOffsets';\nimport getReferenceOffsets from './getReferenceOffsets';\nimport getScroll from './getScroll';\nimport getScrollParent from './getScrollParent';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getSupportedPropertyName from './getSupportedPropertyName';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport isFunction from './isFunction';\nimport isModifierEnabled from './isModifierEnabled';\nimport isModifierRequired from './isModifierRequired';\nimport isNumeric from './isNumeric';\nimport removeEventListeners from './removeEventListeners';\nimport runModifiers from './runModifiers';\nimport setAttributes from './setAttributes';\nimport setStyles from './setStyles';\nimport setupEventListeners from './setupEventListeners';\n\n/** @namespace Popper.Utils */\nexport {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n\n// This is here just for backward compatibility with versions lower than v1.10.3\n// you should import the utilities using named exports, if you want them all use:\n// ```\n// import * as PopperUtils from 'popper-utils';\n// ```\n// The default export will be removed in the next major version.\nexport default {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n"],"names":["element","nodeType","window","ownerDocument","defaultView","css","getComputedStyle","property","nodeName","parentNode","host","document","body","overflow","overflowX","overflowY","getStyleComputedProperty","test","getScrollParent","getParentNode","reference","referenceNode","navigator","isIE10","isBrowser","userAgent","version","isIE11","documentElement","noOffsetParent","isIE","offsetParent","nextElementSibling","indexOf","getOffsetParent","firstElementChild","node","getRoot","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","isOffsetContainer","element1root","findCommonOffsetParent","side","upperSide","html","scrollingElement","subtract","scrollTop","getScroll","scrollLeft","modifier","top","bottom","left","right","sideA","axis","sideB","parseFloat","styles","Math","max","parseInt","computedStyle","getSize","offsets","width","height","rect","getBoundingClientRect","result","sizes","getWindowSizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getBordersSize","getClientRect","fixedPosition","runIsIE","isHTML","parent","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","includeScroll","excludeScroll","relativeOffset","getOffsetRectRelativeToArbitraryNode","innerWidth","innerHeight","offset","isFixed","parentElement","el","boundaries","getFixedPositionOffsetParent","getReferenceNode","boundariesElement","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","popper","padding","isPaddingNumber","placement","getBoundaries","rects","refRect","sortedAreas","Object","keys","map","key","getArea","sort","b","area","a","filteredAreas","filter","computedPlacement","length","variation","split","timeoutDuration","longerTimeoutBrowsers","i","called","Promise","resolve","then","scheduled","supportsMicroTasks","Array","prototype","find","arr","findIndex","cur","match","obj","elementRect","offsetLeft","offsetTop","x","marginBottom","y","marginRight","hash","replace","matched","popperRect","getOuterSizes","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","referenceOffsets","getOppositePlacement","commonOffsetParent","prefixes","upperProp","charAt","toUpperCase","slice","prefix","toCheck","style","functionToCheck","getType","toString","call","modifiers","some","name","enabled","requesting","isRequired","requested","warn","n","isNaN","isFinite","removeEventListener","state","updateBound","scrollParents","forEach","target","scrollElement","eventsEnabled","modifiersToRun","ends","fn","isFunction","data","value","attributes","removeAttribute","setAttribute","prop","unit","isNumeric","isBody","addEventListener","passive","push"],"mappings":"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"}
\ No newline at end of file
diff --git a/HOME/Scripts/popper.js b/HOME/Scripts/popper.js
index a7b81a1..7ce8395 100644
--- a/HOME/Scripts/popper.js
+++ b/HOME/Scripts/popper.js
@@ -1,6 +1,6 @@
/**!
* @fileOverview Kickass library to create and place poppers near their reference elements.
- * @version 1.16.0
+ * @version 1.16.1
* @license
* Copyright (c) 2016 Federico Zivolo and contributors
*
@@ -335,7 +335,7 @@ 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);
+ return parseFloat(styles[`border${sideA}Width`]) + parseFloat(styles[`border${sideB}Width`]);
}
function getSize(axis, body, html, computedStyle) {
@@ -445,8 +445,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition =
const scrollParent = getScrollParent(children);
const styles = getStyleComputedProperty(parent);
- const borderTopWidth = parseFloat(styles.borderTopWidth, 10);
- const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
+ const borderTopWidth = parseFloat(styles.borderTopWidth);
+ const borderLeftWidth = parseFloat(styles.borderLeftWidth);
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
if (fixedPosition && isHTML) {
@@ -467,8 +467,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition =
// 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);
+ const marginTop = parseFloat(styles.marginTop);
+ const marginLeft = parseFloat(styles.marginLeft);
offsets.top -= borderTopWidth - marginTop;
offsets.bottom -= borderTopWidth - marginTop;
@@ -1356,8 +1356,8 @@ function arrow(data, options) {
// 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);
+ const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`]);
+ const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);
let sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
// prevent arrowElement from being placed not contiguously to its popper
diff --git a/HOME/Scripts/popper.js.map b/HOME/Scripts/popper.js.map
index 3b79b48..98948de 100644
--- a/HOME/Scripts/popper.js.map
+++ b/HOME/Scripts/popper.js.map
@@ -1 +1 @@
-{"version":3,"file":"popper.js","sources":["../src/utils/isBrowser.js","../src/utils/debounce.js","../src/utils/isFunction.js","../src/utils/getStyleComputedProperty.js","../src/utils/getParentNode.js","../src/utils/getScrollParent.js","../src/utils/getReferenceNode.js","../src/utils/isIE.js","../src/utils/getOffsetParent.js","../src/utils/isOffsetContainer.js","../src/utils/getRoot.js","../src/utils/findCommonOffsetParent.js","../src/utils/getScroll.js","../src/utils/includeScroll.js","../src/utils/getBordersSize.js","../src/utils/getWindowSizes.js","../src/utils/getClientRect.js","../src/utils/getBoundingClientRect.js","../src/utils/getOffsetRectRelativeToArbitraryNode.js","../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../src/utils/isFixed.js","../src/utils/getFixedPositionOffsetParent.js","../src/utils/getBoundaries.js","../src/utils/computeAutoPlacement.js","../src/utils/getReferenceOffsets.js","../src/utils/getOuterSizes.js","../src/utils/getOppositePlacement.js","../src/utils/getPopperOffsets.js","../src/utils/find.js","../src/utils/findIndex.js","../src/utils/runModifiers.js","../src/methods/update.js","../src/utils/isModifierEnabled.js","../src/utils/getSupportedPropertyName.js","../src/methods/destroy.js","../src/utils/getWindow.js","../src/utils/setupEventListeners.js","../src/methods/enableEventListeners.js","../src/utils/removeEventListeners.js","../src/methods/disableEventListeners.js","../src/utils/isNumeric.js","../src/utils/setStyles.js","../src/utils/setAttributes.js","../src/modifiers/applyStyle.js","../src/utils/getRoundedOffsets.js","../src/modifiers/computeStyle.js","../src/utils/isModifierRequired.js","../src/modifiers/arrow.js","../src/utils/getOppositeVariation.js","../src/methods/placements.js","../src/utils/clockwise.js","../src/modifiers/flip.js","../src/modifiers/keepTogether.js","../src/modifiers/offset.js","../src/modifiers/preventOverflow.js","../src/modifiers/shift.js","../src/modifiers/hide.js","../src/modifiers/inner.js","../src/modifiers/index.js","../src/methods/defaults.js","../src/index.js"],"sourcesContent":["export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`], 10) +\n parseFloat(styles[`border${sideB}Width`], 10)\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop, 10);\n const marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`], 10);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`], 10);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n"],"names":["window","document","navigator","timeoutDuration","longerTimeoutBrowsers","i","length","isBrowser","userAgent","indexOf","microtaskDebounce","fn","called","Promise","resolve","then","taskDebounce","scheduled","supportsMicroTasks","isFunction","functionToCheck","getType","toString","call","getStyleComputedProperty","element","property","nodeType","ownerDocument","defaultView","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","getClientRect","offsets","width","height","getBoundingClientRect","e","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","Object","keys","map","key","sort","a","b","area","filteredAreas","filter","computedPlacement","variation","split","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","prototype","findIndex","prop","value","cur","match","obj","runModifiers","modifiers","data","ends","modifiersToRun","undefined","slice","forEach","warn","enabled","update","isDestroyed","options","positionFixed","flip","originalPlacement","position","isCreated","onCreate","onUpdate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","attachToScrollParents","event","callback","scrollParents","isBody","target","addEventListener","passive","push","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","setAttributes","attributes","setAttribute","applyStyle","instance","arrowElement","arrowStyles","applyStyleOnLoad","modifierOptions","getRoundedOffsets","shouldRound","round","floor","noRound","v","referenceWidth","popperWidth","isVertical","isVariation","sameWidthParity","bothOddWidth","horizontalToInteger","verticalToInteger","isFirefox","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrow","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","querySelector","len","sideCapitalized","toLowerCase","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","min","getOppositeVariation","validPlacements","placements","clockwise","counter","index","concat","reverse","BEHAVIORS","flipped","placementOpposite","flipOrder","behavior","FLIP","CLOCKWISE","COUNTERCLOCKWISE","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","keepTogether","toValue","str","size","parseOffset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","index2","preventOverflow","transformProp","popperStyles","transform","priority","escapeWithReference","shift","shiftvariation","shiftOffsets","hide","bound","inner","subtractLength","Popper","requestAnimationFrame","debounce","bind","Defaults","jquery","onLoad","Utils","global","PopperUtils"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"popper.js","sources":["../src/utils/isBrowser.js","../src/utils/debounce.js","../src/utils/isFunction.js","../src/utils/getStyleComputedProperty.js","../src/utils/getParentNode.js","../src/utils/getScrollParent.js","../src/utils/getReferenceNode.js","../src/utils/isIE.js","../src/utils/getOffsetParent.js","../src/utils/isOffsetContainer.js","../src/utils/getRoot.js","../src/utils/findCommonOffsetParent.js","../src/utils/getScroll.js","../src/utils/includeScroll.js","../src/utils/getBordersSize.js","../src/utils/getWindowSizes.js","../src/utils/getClientRect.js","../src/utils/getBoundingClientRect.js","../src/utils/getOffsetRectRelativeToArbitraryNode.js","../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../src/utils/isFixed.js","../src/utils/getFixedPositionOffsetParent.js","../src/utils/getBoundaries.js","../src/utils/computeAutoPlacement.js","../src/utils/getReferenceOffsets.js","../src/utils/getOuterSizes.js","../src/utils/getOppositePlacement.js","../src/utils/getPopperOffsets.js","../src/utils/find.js","../src/utils/findIndex.js","../src/utils/runModifiers.js","../src/methods/update.js","../src/utils/isModifierEnabled.js","../src/utils/getSupportedPropertyName.js","../src/methods/destroy.js","../src/utils/getWindow.js","../src/utils/setupEventListeners.js","../src/methods/enableEventListeners.js","../src/utils/removeEventListeners.js","../src/methods/disableEventListeners.js","../src/utils/isNumeric.js","../src/utils/setStyles.js","../src/utils/setAttributes.js","../src/modifiers/applyStyle.js","../src/utils/getRoundedOffsets.js","../src/modifiers/computeStyle.js","../src/utils/isModifierRequired.js","../src/modifiers/arrow.js","../src/utils/getOppositeVariation.js","../src/methods/placements.js","../src/utils/clockwise.js","../src/modifiers/flip.js","../src/modifiers/keepTogether.js","../src/modifiers/offset.js","../src/modifiers/preventOverflow.js","../src/modifiers/shift.js","../src/modifiers/hide.js","../src/modifiers/inner.js","../src/modifiers/index.js","../src/methods/defaults.js","../src/index.js"],"sourcesContent":["export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`]);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n"],"names":["window","document","navigator","timeoutDuration","longerTimeoutBrowsers","i","length","isBrowser","userAgent","indexOf","microtaskDebounce","fn","called","Promise","resolve","then","taskDebounce","scheduled","supportsMicroTasks","isFunction","functionToCheck","getType","toString","call","getStyleComputedProperty","element","property","nodeType","ownerDocument","defaultView","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","getClientRect","offsets","width","height","getBoundingClientRect","e","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","Object","keys","map","key","sort","a","b","area","filteredAreas","filter","computedPlacement","variation","split","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","prototype","findIndex","prop","value","cur","match","obj","runModifiers","modifiers","data","ends","modifiersToRun","undefined","slice","forEach","warn","enabled","update","isDestroyed","options","positionFixed","flip","originalPlacement","position","isCreated","onCreate","onUpdate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","attachToScrollParents","event","callback","scrollParents","isBody","target","addEventListener","passive","push","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","setAttributes","attributes","setAttribute","applyStyle","instance","arrowElement","arrowStyles","applyStyleOnLoad","modifierOptions","getRoundedOffsets","shouldRound","round","floor","noRound","v","referenceWidth","popperWidth","isVertical","isVariation","sameWidthParity","bothOddWidth","horizontalToInteger","verticalToInteger","isFirefox","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrow","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","querySelector","len","sideCapitalized","toLowerCase","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","min","getOppositeVariation","validPlacements","placements","clockwise","counter","index","concat","reverse","BEHAVIORS","flipped","placementOpposite","flipOrder","behavior","FLIP","CLOCKWISE","COUNTERCLOCKWISE","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","keepTogether","toValue","str","size","parseOffset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","index2","preventOverflow","transformProp","popperStyles","transform","priority","escapeWithReference","shift","shiftvariation","shiftOffsets","hide","bound","inner","subtractLength","Popper","requestAnimationFrame","debounce","bind","Defaults","jquery","onLoad","Utils","global","PopperUtils"],"mappings":"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"}
\ No newline at end of file
diff --git a/HOME/Scripts/popper.min.js b/HOME/Scripts/popper.min.js
index 4572b3f..ad9949c 100644
--- a/HOME/Scripts/popper.min.js
+++ b/HOME/Scripts/popper.min.js
@@ -1,5 +1,5 @@
/*
- Copyright (C) Federico Zivolo 2019
+ Copyright (C) Federico Zivolo 2020
Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).
- */var e='undefined'!=typeof window&&'undefined'!=typeof document&&'undefined'!=typeof navigator;const t=function(){const t=['Edge','Trident','Firefox'];for(let o=0;o{t||(t=!0,window.Promise.resolve().then(()=>{t=!1,e()}))}}function n(e){let o=!1;return()=>{o||(o=!0,setTimeout(()=>{o=!1,e()},t))}}const i=e&&window.Promise;var r=i?o:n;function p(e){return e&&'[object Function]'==={}.toString.call(e)}function d(e,t){if(1!==e.nodeType)return[];const o=e.ownerDocument.defaultView,n=o.getComputedStyle(e,null);return t?n[t]:n}function s(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function f(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}const{overflow:t,overflowX:o,overflowY:n}=d(e);return /(auto|scroll|overlay)/.test(t+n+o)?e:f(s(e))}function a(e){return e&&e.referenceNode?e.referenceNode:e}const l=e&&!!(window.MSInputMethodContext&&document.documentMode),m=e&&/MSIE 10/.test(navigator.userAgent);function h(e){return 11===e?l:10===e?m:l||m}function c(e){if(!e)return document.documentElement;const t=h(10)?document.body:null;let o=e.offsetParent||null;for(;o===t&&e.nextElementSibling;)o=(e=e.nextElementSibling).offsetParent;const n=o&&o.nodeName;return n&&'BODY'!==n&&'HTML'!==n?-1!==['TH','TD','TABLE'].indexOf(o.nodeName)&&'static'===d(o,'position')?c(o):o:e?e.ownerDocument.documentElement:document.documentElement}function u(e){const{nodeName:t}=e;return'BODY'!==t&&('HTML'===t||c(e.firstElementChild)===e)}function g(e){return null===e.parentNode?e:g(e.parentNode)}function b(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;const o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);const{commonAncestorContainer:p}=r;if(e!==p&&t!==p||n.contains(i))return u(p)?p:c(p);const d=g(e);return d.host?b(d.host,t):b(e,g(t).host)}function w(e,t='top'){const o='top'===t?'scrollTop':'scrollLeft',n=e.nodeName;if('BODY'===n||'HTML'===n){const t=e.ownerDocument.documentElement,n=e.ownerDocument.scrollingElement||t;return n[o]}return e[o]}function y(e,t,o=!1){const n=w(t,'top'),i=w(t,'left'),r=o?-1:1;return e.top+=n*r,e.bottom+=n*r,e.left+=i*r,e.right+=i*r,e}function E(e,t){const o='x'===t?'Left':'Top',n='Left'==o?'Right':'Bottom';return parseFloat(e[`border${o}Width`],10)+parseFloat(e[`border${n}Width`],10)}function x(e,t,o,n){return Math.max(t[`offset${e}`],t[`scroll${e}`],o[`client${e}`],o[`offset${e}`],o[`scroll${e}`],h(10)?parseInt(o[`offset${e}`])+parseInt(n[`margin${'Height'===e?'Top':'Left'}`])+parseInt(n[`margin${'Height'===e?'Bottom':'Right'}`]):0)}function v(e){const t=e.body,o=e.documentElement,n=h(10)&&getComputedStyle(o);return{height:x('Height',t,o,n),width:x('Width',t,o,n)}}var O=Object.assign||function(e){for(var t,o=1;oO({key:e},d[e],{area:B(d[e])})).sort((e,t)=>t.area-e.area),f=s.filter(({width:e,height:t})=>e>=o.clientWidth&&t>=o.clientHeight),a=0t[e])}function M(e,t,o){o=o.split('-')[0];const n=k(e),i={width:n.width,height:n.height},r=-1!==['right','left'].indexOf(o),p=r?'top':'left',d=r?'left':'top',s=r?'height':'width',f=r?'width':'height';return i[p]=t[p]+t[s]/2-n[s]/2,i[d]=o===d?t[d]-n[f]:t[A(d)],i}function F(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function I(e,t,o){if(Array.prototype.findIndex)return e.findIndex((e)=>e[t]===o);const n=F(e,(e)=>e[t]===o);return e.indexOf(n)}function R(e,t,o){const n=void 0===o?e:e.slice(0,I(e,'name',o));return n.forEach((e)=>{e['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');const o=e['function']||e.fn;e.enabled&&p(o)&&(t.offsets.popper=L(t.offsets.popper),t.offsets.reference=L(t.offsets.reference),t=o(t,e))}),t}function U(){if(this.state.isDestroyed)return;let e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=W(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=H(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=M(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?'fixed':'absolute',e=R(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}function Y(e,t){return e.some(({name:e,enabled:o})=>o&&e===t)}function V(e){const t=[!1,'ms','Webkit','Moz','O'],o=e.charAt(0).toUpperCase()+e.slice(1);for(let n=0;n{e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function X(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=_(this.reference,this.state))}function J(e){return''!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function Q(e,t){Object.keys(t).forEach((o)=>{let n='';-1!==['width','height','top','right','bottom','left'].indexOf(o)&&J(t[o])&&(n='px'),e.style[o]=t[o]+n})}function Z(e,t){Object.keys(t).forEach(function(o){const n=t[o];!1===n?e.removeAttribute(o):e.setAttribute(o,t[o])})}function $(e){return Q(e.instance.popper,e.styles),Z(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&Q(e.arrowElement,e.arrowStyles),e}function ee(e,t,o,n,i){const r=W(i,t,e,o.positionFixed),p=H(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),Q(t,{position:o.positionFixed?'fixed':'absolute'}),o}function te(e,t){const{popper:o,reference:n}=e.offsets,{round:i,floor:r}=Math,p=(e)=>e,d=i(n.width),s=i(o.width),f=-1!==['left','right'].indexOf(e.placement),a=-1!==e.placement.indexOf('-'),l=t?f||a||d%2==s%2?i:r:p,m=t?i:p;return{left:l(1==d%2&&1==s%2&&!a&&t?o.left-1:o.left),top:m(o.top),bottom:m(o.bottom),right:l(o.right)}}const oe=e&&/Firefox/i.test(navigator.userAgent);function ne(e,t){const{x:o,y:n}=t,{popper:i}=e.offsets,r=F(e.instance.modifiers,(e)=>'applyStyle'===e.name).gpuAcceleration;void 0!==r&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');const p=void 0===r?t.gpuAcceleration:r,d=c(e.instance.popper),s=S(d),f={position:i.position},a=te(e,2>window.devicePixelRatio||!oe),l='bottom'===o?'top':'bottom',m='right'===n?'left':'right',h=V('transform');let u,g;if(g='bottom'==l?'HTML'===d.nodeName?-d.clientHeight+a.bottom:-s.height+a.bottom:a.top,u='right'==m?'HTML'===d.nodeName?-d.clientWidth+a.right:-s.width+a.right:a.left,p&&h)f[h]=`translate3d(${u}px, ${g}px, 0)`,f[l]=0,f[m]=0,f.willChange='transform';else{const e='bottom'==l?-1:1,t='right'==m?-1:1;f[l]=g*e,f[m]=u*t,f.willChange=`${l}, ${m}`}const b={"x-placement":e.placement};return e.attributes=O({},b,e.attributes),e.styles=O({},f,e.styles),e.arrowStyles=O({},e.offsets.arrow,e.arrowStyles),e}function ie(e,t,o){const n=F(e,({name:e})=>e===t),i=!!n&&e.some((e)=>e.name===o&&e.enabled&&e.orderi[m]&&(e.offsets.popper[a]+=r[a]+h-i[m]),e.offsets.popper=L(e.offsets.popper);const c=r[a]+r[s]/2-h/2,u=d(e.instance.popper),g=parseFloat(u[`margin${f}`],10),b=parseFloat(u[`border${f}Width`],10);let w=c-e.offsets.popper[a]-g-b;return w=Math.max(Math.min(i[s]-h,w),0),e.arrowElement=o,e.offsets.arrow={[a]:Math.round(w),[l]:''},e}function pe(e){if('end'===e)return'start';return'start'===e?'end':e}var de=['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'];const se=de.slice(3);function fe(e,t=!1){const o=se.indexOf(e),n=se.slice(o+1).concat(se.slice(0,o));return t?n.reverse():n}const ae={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'};function le(e,t){if(Y(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;const o=P(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed);let n=e.placement.split('-')[0],i=A(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ae.FLIP:p=[n,i];break;case ae.CLOCKWISE:p=fe(n);break;case ae.COUNTERCLOCKWISE:p=fe(n,!0);break;default:p=t.behavior;}return p.forEach((d,s)=>{if(n!==d||p.length===s+1)return e;n=e.placement.split('-')[0],i=A(n);const f=e.offsets.popper,a=e.offsets.reference,l=Math.floor,m='left'===n&&l(f.right)>l(a.left)||'right'===n&&l(f.left)l(a.top)||'bottom'===n&&l(f.top)l(o.right),u=l(f.top)l(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&u||'bottom'===n&&g,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&u||!w&&'end'===r&&g),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&g||!w&&'end'===r&&u),x=y||E;(m||b||x)&&(e.flipped=!0,(m||b)&&(n=p[s+1]),x&&(r=pe(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=O({},e.offsets.popper,M(e.instance.popper,e.offsets.reference,e.placement)),e=R(e.instance.modifiers,e,'flip'))}),e}function me(e){const{popper:t,reference:o}=e.offsets,n=e.placement.split('-')[0],i=Math.floor,r=-1!==['top','bottom'].indexOf(n),p=r?'right':'bottom',d=r?'left':'top',s=r?'width':'height';return t[p]i(o[p])&&(e.offsets.popper[d]=i(o[p])),e}function he(e,t,o,n){var i=Math.max;const r=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),p=+r[1],d=r[2];if(!p)return e;if(0===d.indexOf('%')){let e;switch(d){case'%p':e=o;break;case'%':case'%r':default:e=n;}const i=L(e);return i[t]/100*p}if('vh'===d||'vw'===d){let e;return e='vh'===d?i(document.documentElement.clientHeight,window.innerHeight||0):i(document.documentElement.clientWidth,window.innerWidth||0),e/100*p}return p}function ce(e,t,o,n){const i=[0,0],r=-1!==['right','left'].indexOf(n),p=e.split(/(\+|\-)/).map((e)=>e.trim()),d=p.indexOf(F(p,(e)=>-1!==e.search(/,|\s/)));p[d]&&-1===p[d].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');const s=/\s*,\s*|\s+/;let f=-1===d?[p]:[p.slice(0,d).concat([p[d].split(s)[0]]),[p[d].split(s)[1]].concat(p.slice(d+1))];return f=f.map((e,n)=>{const i=(1===n?!r:r)?'height':'width';let p=!1;return e.reduce((e,t)=>''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t),[]).map((e)=>he(e,i,t,o))}),f.forEach((e,t)=>{e.forEach((o,n)=>{J(o)&&(i[t]+=o*('-'===e[n-1]?-1:1))})}),i}function ue(e,{offset:t}){const{placement:o,offsets:{popper:n,reference:i}}=e,r=o.split('-')[0];let p;return p=J(+t)?[+t,0]:ce(t,n,i,r),'left'===r?(n.top+=p[0],n.left-=p[1]):'right'===r?(n.top+=p[0],n.left+=p[1]):'top'===r?(n.left+=p[0],n.top-=p[1]):'bottom'===r&&(n.left+=p[0],n.top+=p[1]),e.popper=n,e}function ge(e,t){let o=t.boundariesElement||c(e.instance.popper);e.instance.reference===o&&(o=c(o));const n=V('transform'),i=e.instance.popper.style,{top:r,left:p,[n]:d}=i;i.top='',i.left='',i[n]='';const s=P(e.instance.popper,e.instance.reference,t.padding,o,e.positionFixed);i.top=r,i.left=p,i[n]=d,t.boundaries=s;const f=t.priority;let a=e.offsets.popper;const l={primary(e){let o=a[e];return a[e]s[e]&&!t.escapeWithReference&&(n=Math.min(a[o],s[e]-('right'===e?a.width:a.height))),{[o]:n}}};return f.forEach((e)=>{const t=-1===['left','top'].indexOf(e)?'secondary':'primary';a=O({},a,l[t](e))}),e.offsets.popper=a,e}function be(e){const t=e.placement,o=t.split('-')[0],n=t.split('-')[1];if(n){const{reference:t,popper:i}=e.offsets,r=-1!==['bottom','top'].indexOf(o),p=r?'left':'top',d=r?'width':'height',s={start:{[p]:t[p]},end:{[p]:t[p]+t[d]-i[d]}};e.offsets.popper=O({},i,s[n])}return e}function we(e){if(!ie(e.instance.modifiers,'hide','preventOverflow'))return e;const t=e.offsets.reference,o=F(e.instance.modifiers,(e)=>'preventOverflow'===e.name).boundaries;if(t.bottomo.right||t.top>o.bottom||t.right{},onUpdate:()=>{},modifiers:Ee};class ve{constructor(e,t,o={}){this.scheduleUpdate=()=>requestAnimationFrame(this.update),this.update=r(this.update.bind(this)),this.options=O({},ve.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=t&&t.jquery?t[0]:t,this.options.modifiers={},Object.keys(O({},ve.Defaults.modifiers,o.modifiers)).forEach((e)=>{this.options.modifiers[e]=O({},ve.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map((e)=>O({name:e},this.options.modifiers[e])).sort((e,t)=>e.order-t.order),this.modifiers.forEach((e)=>{e.enabled&&p(e.onLoad)&&e.onLoad(this.reference,this.popper,this.options,e,this.state)}),this.update();const n=this.options.eventsEnabled;n&&this.enableEventListeners(),this.state.eventsEnabled=n}update(){return U.call(this)}destroy(){return j.call(this)}enableEventListeners(){return G.call(this)}disableEventListeners(){return X.call(this)}}ve.Utils=('undefined'==typeof window?global:window).PopperUtils,ve.placements=de,ve.Defaults=xe;export default ve;
+ */var e='undefined'!=typeof window&&'undefined'!=typeof document&&'undefined'!=typeof navigator;const t=function(){const t=['Edge','Trident','Firefox'];for(let o=0;o{t||(t=!0,window.Promise.resolve().then(()=>{t=!1,e()}))}}function n(e){let o=!1;return()=>{o||(o=!0,setTimeout(()=>{o=!1,e()},t))}}const i=e&&window.Promise;var r=i?o:n;function p(e){return e&&'[object Function]'==={}.toString.call(e)}function d(e,t){if(1!==e.nodeType)return[];const o=e.ownerDocument.defaultView,n=o.getComputedStyle(e,null);return t?n[t]:n}function s(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function f(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}const{overflow:t,overflowX:o,overflowY:n}=d(e);return /(auto|scroll|overlay)/.test(t+n+o)?e:f(s(e))}function a(e){return e&&e.referenceNode?e.referenceNode:e}const l=e&&!!(window.MSInputMethodContext&&document.documentMode),m=e&&/MSIE 10/.test(navigator.userAgent);function h(e){return 11===e?l:10===e?m:l||m}function c(e){if(!e)return document.documentElement;const t=h(10)?document.body:null;let o=e.offsetParent||null;for(;o===t&&e.nextElementSibling;)o=(e=e.nextElementSibling).offsetParent;const n=o&&o.nodeName;return n&&'BODY'!==n&&'HTML'!==n?-1!==['TH','TD','TABLE'].indexOf(o.nodeName)&&'static'===d(o,'position')?c(o):o:e?e.ownerDocument.documentElement:document.documentElement}function u(e){const{nodeName:t}=e;return'BODY'!==t&&('HTML'===t||c(e.firstElementChild)===e)}function g(e){return null===e.parentNode?e:g(e.parentNode)}function b(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;const o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);const{commonAncestorContainer:p}=r;if(e!==p&&t!==p||n.contains(i))return u(p)?p:c(p);const d=g(e);return d.host?b(d.host,t):b(e,g(t).host)}function w(e,t='top'){const o='top'===t?'scrollTop':'scrollLeft',n=e.nodeName;if('BODY'===n||'HTML'===n){const t=e.ownerDocument.documentElement,n=e.ownerDocument.scrollingElement||t;return n[o]}return e[o]}function y(e,t,o=!1){const n=w(t,'top'),i=w(t,'left'),r=o?-1:1;return e.top+=n*r,e.bottom+=n*r,e.left+=i*r,e.right+=i*r,e}function E(e,t){const o='x'===t?'Left':'Top',n='Left'==o?'Right':'Bottom';return parseFloat(e[`border${o}Width`])+parseFloat(e[`border${n}Width`])}function x(e,t,o,n){return Math.max(t[`offset${e}`],t[`scroll${e}`],o[`client${e}`],o[`offset${e}`],o[`scroll${e}`],h(10)?parseInt(o[`offset${e}`])+parseInt(n[`margin${'Height'===e?'Top':'Left'}`])+parseInt(n[`margin${'Height'===e?'Bottom':'Right'}`]):0)}function v(e){const t=e.body,o=e.documentElement,n=h(10)&&getComputedStyle(o);return{height:x('Height',t,o,n),width:x('Width',t,o,n)}}var O=Object.assign||function(e){for(var t,o=1;oO({key:e},d[e],{area:B(d[e])})).sort((e,t)=>t.area-e.area),f=s.filter(({width:e,height:t})=>e>=o.clientWidth&&t>=o.clientHeight),a=0t[e])}function M(e,t,o){o=o.split('-')[0];const n=k(e),i={width:n.width,height:n.height},r=-1!==['right','left'].indexOf(o),p=r?'top':'left',d=r?'left':'top',s=r?'height':'width',f=r?'width':'height';return i[p]=t[p]+t[s]/2-n[s]/2,i[d]=o===d?t[d]-n[f]:t[A(d)],i}function F(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function I(e,t,o){if(Array.prototype.findIndex)return e.findIndex((e)=>e[t]===o);const n=F(e,(e)=>e[t]===o);return e.indexOf(n)}function R(e,t,o){const n=void 0===o?e:e.slice(0,I(e,'name',o));return n.forEach((e)=>{e['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');const o=e['function']||e.fn;e.enabled&&p(o)&&(t.offsets.popper=L(t.offsets.popper),t.offsets.reference=L(t.offsets.reference),t=o(t,e))}),t}function U(){if(this.state.isDestroyed)return;let e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=W(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=H(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=M(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?'fixed':'absolute',e=R(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}function Y(e,t){return e.some(({name:e,enabled:o})=>o&&e===t)}function V(e){const t=[!1,'ms','Webkit','Moz','O'],o=e.charAt(0).toUpperCase()+e.slice(1);for(let n=0;n{e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function X(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=_(this.reference,this.state))}function J(e){return''!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function Q(e,t){Object.keys(t).forEach((o)=>{let n='';-1!==['width','height','top','right','bottom','left'].indexOf(o)&&J(t[o])&&(n='px'),e.style[o]=t[o]+n})}function Z(e,t){Object.keys(t).forEach(function(o){const n=t[o];!1===n?e.removeAttribute(o):e.setAttribute(o,t[o])})}function $(e){return Q(e.instance.popper,e.styles),Z(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&Q(e.arrowElement,e.arrowStyles),e}function ee(e,t,o,n,i){const r=W(i,t,e,o.positionFixed),p=H(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),Q(t,{position:o.positionFixed?'fixed':'absolute'}),o}function te(e,t){const{popper:o,reference:n}=e.offsets,{round:i,floor:r}=Math,p=(e)=>e,d=i(n.width),s=i(o.width),f=-1!==['left','right'].indexOf(e.placement),a=-1!==e.placement.indexOf('-'),l=t?f||a||d%2==s%2?i:r:p,m=t?i:p;return{left:l(1==d%2&&1==s%2&&!a&&t?o.left-1:o.left),top:m(o.top),bottom:m(o.bottom),right:l(o.right)}}const oe=e&&/Firefox/i.test(navigator.userAgent);function ne(e,t){const{x:o,y:n}=t,{popper:i}=e.offsets,r=F(e.instance.modifiers,(e)=>'applyStyle'===e.name).gpuAcceleration;void 0!==r&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');const p=void 0===r?t.gpuAcceleration:r,d=c(e.instance.popper),s=S(d),f={position:i.position},a=te(e,2>window.devicePixelRatio||!oe),l='bottom'===o?'top':'bottom',m='right'===n?'left':'right',h=V('transform');let u,g;if(g='bottom'==l?'HTML'===d.nodeName?-d.clientHeight+a.bottom:-s.height+a.bottom:a.top,u='right'==m?'HTML'===d.nodeName?-d.clientWidth+a.right:-s.width+a.right:a.left,p&&h)f[h]=`translate3d(${u}px, ${g}px, 0)`,f[l]=0,f[m]=0,f.willChange='transform';else{const e='bottom'==l?-1:1,t='right'==m?-1:1;f[l]=g*e,f[m]=u*t,f.willChange=`${l}, ${m}`}const b={"x-placement":e.placement};return e.attributes=O({},b,e.attributes),e.styles=O({},f,e.styles),e.arrowStyles=O({},e.offsets.arrow,e.arrowStyles),e}function ie(e,t,o){const n=F(e,({name:e})=>e===t),i=!!n&&e.some((e)=>e.name===o&&e.enabled&&e.orderi[m]&&(e.offsets.popper[a]+=r[a]+h-i[m]),e.offsets.popper=L(e.offsets.popper);const c=r[a]+r[s]/2-h/2,u=d(e.instance.popper),g=parseFloat(u[`margin${f}`]),b=parseFloat(u[`border${f}Width`]);let w=c-e.offsets.popper[a]-g-b;return w=Math.max(Math.min(i[s]-h,w),0),e.arrowElement=o,e.offsets.arrow={[a]:Math.round(w),[l]:''},e}function pe(e){if('end'===e)return'start';return'start'===e?'end':e}var de=['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'];const se=de.slice(3);function fe(e,t=!1){const o=se.indexOf(e),n=se.slice(o+1).concat(se.slice(0,o));return t?n.reverse():n}const ae={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'};function le(e,t){if(Y(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;const o=P(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed);let n=e.placement.split('-')[0],i=A(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ae.FLIP:p=[n,i];break;case ae.CLOCKWISE:p=fe(n);break;case ae.COUNTERCLOCKWISE:p=fe(n,!0);break;default:p=t.behavior;}return p.forEach((d,s)=>{if(n!==d||p.length===s+1)return e;n=e.placement.split('-')[0],i=A(n);const f=e.offsets.popper,a=e.offsets.reference,l=Math.floor,m='left'===n&&l(f.right)>l(a.left)||'right'===n&&l(f.left)l(a.top)||'bottom'===n&&l(f.top)l(o.right),u=l(f.top)l(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&u||'bottom'===n&&g,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&u||!w&&'end'===r&&g),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&g||!w&&'end'===r&&u),x=y||E;(m||b||x)&&(e.flipped=!0,(m||b)&&(n=p[s+1]),x&&(r=pe(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=O({},e.offsets.popper,M(e.instance.popper,e.offsets.reference,e.placement)),e=R(e.instance.modifiers,e,'flip'))}),e}function me(e){const{popper:t,reference:o}=e.offsets,n=e.placement.split('-')[0],i=Math.floor,r=-1!==['top','bottom'].indexOf(n),p=r?'right':'bottom',d=r?'left':'top',s=r?'width':'height';return t[p]i(o[p])&&(e.offsets.popper[d]=i(o[p])),e}function he(e,t,o,n){var i=Math.max;const r=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),p=+r[1],d=r[2];if(!p)return e;if(0===d.indexOf('%')){let e;switch(d){case'%p':e=o;break;case'%':case'%r':default:e=n;}const i=L(e);return i[t]/100*p}if('vh'===d||'vw'===d){let e;return e='vh'===d?i(document.documentElement.clientHeight,window.innerHeight||0):i(document.documentElement.clientWidth,window.innerWidth||0),e/100*p}return p}function ce(e,t,o,n){const i=[0,0],r=-1!==['right','left'].indexOf(n),p=e.split(/(\+|\-)/).map((e)=>e.trim()),d=p.indexOf(F(p,(e)=>-1!==e.search(/,|\s/)));p[d]&&-1===p[d].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');const s=/\s*,\s*|\s+/;let f=-1===d?[p]:[p.slice(0,d).concat([p[d].split(s)[0]]),[p[d].split(s)[1]].concat(p.slice(d+1))];return f=f.map((e,n)=>{const i=(1===n?!r:r)?'height':'width';let p=!1;return e.reduce((e,t)=>''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t),[]).map((e)=>he(e,i,t,o))}),f.forEach((e,t)=>{e.forEach((o,n)=>{J(o)&&(i[t]+=o*('-'===e[n-1]?-1:1))})}),i}function ue(e,{offset:t}){const{placement:o,offsets:{popper:n,reference:i}}=e,r=o.split('-')[0];let p;return p=J(+t)?[+t,0]:ce(t,n,i,r),'left'===r?(n.top+=p[0],n.left-=p[1]):'right'===r?(n.top+=p[0],n.left+=p[1]):'top'===r?(n.left+=p[0],n.top-=p[1]):'bottom'===r&&(n.left+=p[0],n.top+=p[1]),e.popper=n,e}function ge(e,t){let o=t.boundariesElement||c(e.instance.popper);e.instance.reference===o&&(o=c(o));const n=V('transform'),i=e.instance.popper.style,{top:r,left:p,[n]:d}=i;i.top='',i.left='',i[n]='';const s=P(e.instance.popper,e.instance.reference,t.padding,o,e.positionFixed);i.top=r,i.left=p,i[n]=d,t.boundaries=s;const f=t.priority;let a=e.offsets.popper;const l={primary(e){let o=a[e];return a[e]s[e]&&!t.escapeWithReference&&(n=Math.min(a[o],s[e]-('right'===e?a.width:a.height))),{[o]:n}}};return f.forEach((e)=>{const t=-1===['left','top'].indexOf(e)?'secondary':'primary';a=O({},a,l[t](e))}),e.offsets.popper=a,e}function be(e){const t=e.placement,o=t.split('-')[0],n=t.split('-')[1];if(n){const{reference:t,popper:i}=e.offsets,r=-1!==['bottom','top'].indexOf(o),p=r?'left':'top',d=r?'width':'height',s={start:{[p]:t[p]},end:{[p]:t[p]+t[d]-i[d]}};e.offsets.popper=O({},i,s[n])}return e}function we(e){if(!ie(e.instance.modifiers,'hide','preventOverflow'))return e;const t=e.offsets.reference,o=F(e.instance.modifiers,(e)=>'preventOverflow'===e.name).boundaries;if(t.bottomo.right||t.top>o.bottom||t.right{},onUpdate:()=>{},modifiers:Ee};class ve{constructor(e,t,o={}){this.scheduleUpdate=()=>requestAnimationFrame(this.update),this.update=r(this.update.bind(this)),this.options=O({},ve.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=t&&t.jquery?t[0]:t,this.options.modifiers={},Object.keys(O({},ve.Defaults.modifiers,o.modifiers)).forEach((e)=>{this.options.modifiers[e]=O({},ve.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map((e)=>O({name:e},this.options.modifiers[e])).sort((e,t)=>e.order-t.order),this.modifiers.forEach((e)=>{e.enabled&&p(e.onLoad)&&e.onLoad(this.reference,this.popper,this.options,e,this.state)}),this.update();const n=this.options.eventsEnabled;n&&this.enableEventListeners(),this.state.eventsEnabled=n}update(){return U.call(this)}destroy(){return j.call(this)}enableEventListeners(){return G.call(this)}disableEventListeners(){return X.call(this)}}ve.Utils=('undefined'==typeof window?global:window).PopperUtils,ve.placements=de,ve.Defaults=xe;export default ve;
//# sourceMappingURL=popper.min.js.map
diff --git a/HOME/Scripts/popper.min.js.map b/HOME/Scripts/popper.min.js.map
index c8c6770..ee76585 100644
--- a/HOME/Scripts/popper.min.js.map
+++ b/HOME/Scripts/popper.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"popper.min.js","sources":["../src/utils/isBrowser.js","../src/utils/debounce.js","../src/utils/isFunction.js","../src/utils/getStyleComputedProperty.js","../src/utils/getParentNode.js","../src/utils/getScrollParent.js","../src/utils/getReferenceNode.js","../src/utils/isIE.js","../src/utils/getOffsetParent.js","../src/utils/isOffsetContainer.js","../src/utils/getRoot.js","../src/utils/findCommonOffsetParent.js","../src/utils/getScroll.js","../src/utils/includeScroll.js","../src/utils/getBordersSize.js","../src/utils/getWindowSizes.js","../src/utils/getClientRect.js","../src/utils/getBoundingClientRect.js","../src/utils/getOffsetRectRelativeToArbitraryNode.js","../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../src/utils/isFixed.js","../src/utils/getFixedPositionOffsetParent.js","../src/utils/getBoundaries.js","../src/utils/computeAutoPlacement.js","../src/utils/getReferenceOffsets.js","../src/utils/getOuterSizes.js","../src/utils/getOppositePlacement.js","../src/utils/getPopperOffsets.js","../src/utils/find.js","../src/utils/findIndex.js","../src/utils/runModifiers.js","../src/methods/update.js","../src/utils/isModifierEnabled.js","../src/utils/getSupportedPropertyName.js","../src/methods/destroy.js","../src/utils/getWindow.js","../src/utils/setupEventListeners.js","../src/methods/enableEventListeners.js","../src/utils/removeEventListeners.js","../src/methods/disableEventListeners.js","../src/utils/isNumeric.js","../src/utils/setStyles.js","../src/utils/setAttributes.js","../src/modifiers/applyStyle.js","../src/utils/getRoundedOffsets.js","../src/modifiers/computeStyle.js","../src/utils/isModifierRequired.js","../src/modifiers/arrow.js","../src/utils/getOppositeVariation.js","../src/methods/placements.js","../src/utils/clockwise.js","../src/modifiers/flip.js","../src/modifiers/keepTogether.js","../src/modifiers/offset.js","../src/modifiers/preventOverflow.js","../src/modifiers/shift.js","../src/modifiers/hide.js","../src/modifiers/inner.js","../src/modifiers/index.js","../src/methods/defaults.js","../src/index.js"],"sourcesContent":["export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`], 10) +\n parseFloat(styles[`border${sideB}Width`], 10)\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop, 10);\n const marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`], 10);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`], 10);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n"],"names":["window","document","navigator","longerTimeoutBrowsers","i","length","isBrowser","userAgent","indexOf","called","Promise","resolve","then","scheduled","supportsMicroTasks","functionToCheck","getType","toString","call","element","nodeType","ownerDocument","defaultView","css","getComputedStyle","property","nodeName","parentNode","host","body","overflow","overflowX","overflowY","getStyleComputedProperty","test","getScrollParent","getParentNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","version","documentElement","noOffsetParent","isIE","offsetParent","nextElementSibling","getOffsetParent","firstElementChild","node","getRoot","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","isOffsetContainer","element1root","findCommonOffsetParent","side","upperSide","html","scrollingElement","subtract","scrollTop","getScroll","scrollLeft","modifier","top","bottom","left","right","sideA","axis","sideB","parseFloat","styles","Math","max","parseInt","computedStyle","getSize","offsets","width","height","rect","getBoundingClientRect","result","sizes","getWindowSizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getBordersSize","getClientRect","fixedPosition","runIsIE","isHTML","parent","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","includeScroll","excludeScroll","relativeOffset","getOffsetRectRelativeToArbitraryNode","innerWidth","innerHeight","offset","isFixed","parentElement","el","boundaries","getFixedPositionOffsetParent","getReferenceNode","boundariesElement","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","popper","padding","isPaddingNumber","placement","getBoundaries","rects","refRect","sortedAreas","Object","keys","map","key","getArea","sort","b","area","a","filteredAreas","filter","computedPlacement","variation","split","commonOffsetParent","x","marginBottom","y","marginRight","hash","replace","matched","popperRect","getOuterSizes","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","referenceOffsets","getOppositePlacement","Array","prototype","find","arr","findIndex","cur","match","obj","modifiersToRun","ends","modifiers","slice","forEach","warn","fn","enabled","isFunction","data","state","isDestroyed","getReferenceOffsets","options","positionFixed","computeAutoPlacement","flip","originalPlacement","getPopperOffsets","position","runModifiers","isCreated","onUpdate","onCreate","some","name","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","isModifierEnabled","removeAttribute","willChange","getSupportedPropertyName","disableEventListeners","removeOnDestroy","removeChild","isBody","target","addEventListener","passive","push","updateBound","scrollElement","scrollParents","eventsEnabled","setupEventListeners","scheduleUpdate","removeEventListener","removeEventListeners","n","isNaN","isFinite","prop","unit","isNumeric","value","attributes","setAttribute","instance","arrowElement","arrowStyles","round","floor","noRound","v","referenceWidth","popperWidth","isVertical","isVariation","horizontalToInteger","verticalToInteger","bothOddWidth","isFirefox","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrow","requesting","isRequired","requested","isModifierRequired","querySelector","len","sideCapitalized","toLowerCase","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","min","validPlacements","placements","counter","index","concat","reverse","BEHAVIORS","flipped","placementOpposite","flipOrder","behavior","FLIP","CLOCKWISE","clockwise","COUNTERCLOCKWISE","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","str","size","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","mergeWithPrevious","op","reduce","toValue","index2","basePlacement","parseOffset","transformProp","popperStyles","priority","check","escapeWithReference","shiftvariation","shiftOffsets","bound","hide","subtractLength","requestAnimationFrame","update","debounce","bind","Popper","Defaults","jquery","modifierOptions","onLoad","enableEventListeners","destroy","Utils","global","PopperUtils"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"popper.min.js","sources":["../src/utils/isBrowser.js","../src/utils/debounce.js","../src/utils/isFunction.js","../src/utils/getStyleComputedProperty.js","../src/utils/getParentNode.js","../src/utils/getScrollParent.js","../src/utils/getReferenceNode.js","../src/utils/isIE.js","../src/utils/getOffsetParent.js","../src/utils/isOffsetContainer.js","../src/utils/getRoot.js","../src/utils/findCommonOffsetParent.js","../src/utils/getScroll.js","../src/utils/includeScroll.js","../src/utils/getBordersSize.js","../src/utils/getWindowSizes.js","../src/utils/getClientRect.js","../src/utils/getBoundingClientRect.js","../src/utils/getOffsetRectRelativeToArbitraryNode.js","../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../src/utils/isFixed.js","../src/utils/getFixedPositionOffsetParent.js","../src/utils/getBoundaries.js","../src/utils/computeAutoPlacement.js","../src/utils/getReferenceOffsets.js","../src/utils/getOuterSizes.js","../src/utils/getOppositePlacement.js","../src/utils/getPopperOffsets.js","../src/utils/find.js","../src/utils/findIndex.js","../src/utils/runModifiers.js","../src/methods/update.js","../src/utils/isModifierEnabled.js","../src/utils/getSupportedPropertyName.js","../src/methods/destroy.js","../src/utils/getWindow.js","../src/utils/setupEventListeners.js","../src/methods/enableEventListeners.js","../src/utils/removeEventListeners.js","../src/methods/disableEventListeners.js","../src/utils/isNumeric.js","../src/utils/setStyles.js","../src/utils/setAttributes.js","../src/modifiers/applyStyle.js","../src/utils/getRoundedOffsets.js","../src/modifiers/computeStyle.js","../src/utils/isModifierRequired.js","../src/modifiers/arrow.js","../src/utils/getOppositeVariation.js","../src/methods/placements.js","../src/utils/clockwise.js","../src/modifiers/flip.js","../src/modifiers/keepTogether.js","../src/modifiers/offset.js","../src/modifiers/preventOverflow.js","../src/modifiers/shift.js","../src/modifiers/hide.js","../src/modifiers/inner.js","../src/modifiers/index.js","../src/methods/defaults.js","../src/index.js"],"sourcesContent":["export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`]);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n"],"names":["window","document","navigator","longerTimeoutBrowsers","i","length","isBrowser","userAgent","indexOf","called","Promise","resolve","then","scheduled","supportsMicroTasks","functionToCheck","getType","toString","call","element","nodeType","ownerDocument","defaultView","css","getComputedStyle","property","nodeName","parentNode","host","body","overflow","overflowX","overflowY","getStyleComputedProperty","test","getScrollParent","getParentNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","version","documentElement","noOffsetParent","isIE","offsetParent","nextElementSibling","getOffsetParent","firstElementChild","node","getRoot","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","isOffsetContainer","element1root","findCommonOffsetParent","side","upperSide","html","scrollingElement","subtract","scrollTop","getScroll","scrollLeft","modifier","top","bottom","left","right","sideA","axis","sideB","parseFloat","styles","Math","max","parseInt","computedStyle","getSize","offsets","width","height","rect","getBoundingClientRect","result","sizes","getWindowSizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getBordersSize","getClientRect","fixedPosition","runIsIE","isHTML","parent","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","includeScroll","excludeScroll","relativeOffset","getOffsetRectRelativeToArbitraryNode","innerWidth","innerHeight","offset","isFixed","parentElement","el","boundaries","getFixedPositionOffsetParent","getReferenceNode","boundariesElement","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","popper","padding","isPaddingNumber","placement","getBoundaries","rects","refRect","sortedAreas","Object","keys","map","key","getArea","sort","b","area","a","filteredAreas","filter","computedPlacement","variation","split","commonOffsetParent","x","marginBottom","y","marginRight","hash","replace","matched","popperRect","getOuterSizes","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","referenceOffsets","getOppositePlacement","Array","prototype","find","arr","findIndex","cur","match","obj","modifiersToRun","ends","modifiers","slice","forEach","warn","fn","enabled","isFunction","data","state","isDestroyed","getReferenceOffsets","options","positionFixed","computeAutoPlacement","flip","originalPlacement","getPopperOffsets","position","runModifiers","isCreated","onUpdate","onCreate","some","name","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","isModifierEnabled","removeAttribute","willChange","getSupportedPropertyName","disableEventListeners","removeOnDestroy","removeChild","isBody","target","addEventListener","passive","push","updateBound","scrollElement","scrollParents","eventsEnabled","setupEventListeners","scheduleUpdate","removeEventListener","removeEventListeners","n","isNaN","isFinite","prop","unit","isNumeric","value","attributes","setAttribute","instance","arrowElement","arrowStyles","round","floor","noRound","v","referenceWidth","popperWidth","isVertical","isVariation","horizontalToInteger","verticalToInteger","bothOddWidth","isFirefox","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrow","requesting","isRequired","requested","isModifierRequired","querySelector","len","sideCapitalized","toLowerCase","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","min","validPlacements","placements","counter","index","concat","reverse","BEHAVIORS","flipped","placementOpposite","flipOrder","behavior","FLIP","CLOCKWISE","clockwise","COUNTERCLOCKWISE","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","str","size","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","mergeWithPrevious","op","reduce","toValue","index2","basePlacement","parseOffset","transformProp","popperStyles","priority","check","escapeWithReference","shiftvariation","shiftOffsets","bound","hide","subtractLength","requestAnimationFrame","update","debounce","bind","Popper","Defaults","jquery","modifierOptions","onLoad","enableEventListeners","destroy","Utils","global","PopperUtils"],"mappings":"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"}
\ No newline at end of file
diff --git a/HOME/Scripts/src/modifiers/arrow.js b/HOME/Scripts/src/modifiers/arrow.js
index 94bab5a..5b68920 100644
--- a/HOME/Scripts/src/modifiers/arrow.js
+++ b/HOME/Scripts/src/modifiers/arrow.js
@@ -71,8 +71,8 @@ export default function arrow(data, options) {
// 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);
+ const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`]);
+ const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);
let sideValue =
center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
diff --git a/HOME/Scripts/src/utils/getBordersSize.js b/HOME/Scripts/src/utils/getBordersSize.js
index 0dcc824..1fe551d 100644
--- a/HOME/Scripts/src/utils/getBordersSize.js
+++ b/HOME/Scripts/src/utils/getBordersSize.js
@@ -13,7 +13,7 @@ export default function getBordersSize(styles, axis) {
const sideB = sideA === 'Left' ? 'Right' : 'Bottom';
return (
- parseFloat(styles[`border${sideA}Width`], 10) +
- parseFloat(styles[`border${sideB}Width`], 10)
+ parseFloat(styles[`border${sideA}Width`]) +
+ parseFloat(styles[`border${sideB}Width`])
);
}
diff --git a/HOME/Scripts/src/utils/getOffsetRectRelativeToArbitraryNode.js b/HOME/Scripts/src/utils/getOffsetRectRelativeToArbitraryNode.js
index 08d039b..362b5b3 100644
--- a/HOME/Scripts/src/utils/getOffsetRectRelativeToArbitraryNode.js
+++ b/HOME/Scripts/src/utils/getOffsetRectRelativeToArbitraryNode.js
@@ -13,8 +13,8 @@ export default function getOffsetRectRelativeToArbitraryNode(children, parent, f
const scrollParent = getScrollParent(children);
const styles = getStyleComputedProperty(parent);
- const borderTopWidth = parseFloat(styles.borderTopWidth, 10);
- const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
+ const borderTopWidth = parseFloat(styles.borderTopWidth);
+ const borderLeftWidth = parseFloat(styles.borderLeftWidth);
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
if(fixedPosition && isHTML) {
@@ -35,8 +35,8 @@ export default function getOffsetRectRelativeToArbitraryNode(children, parent, f
// 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);
+ const marginTop = parseFloat(styles.marginTop);
+ const marginLeft = parseFloat(styles.marginLeft);
offsets.top -= borderTopWidth - marginTop;
offsets.bottom -= borderTopWidth - marginTop;
diff --git a/HOME/Scripts/umd/popper-utils.js b/HOME/Scripts/umd/popper-utils.js
index a88adb2..c7b9f83 100644
--- a/HOME/Scripts/umd/popper-utils.js
+++ b/HOME/Scripts/umd/popper-utils.js
@@ -1,6 +1,6 @@
/**!
* @fileOverview Kickass library to create and place poppers near their reference elements.
- * @version 1.16.0
+ * @version 1.16.1
* @license
* Copyright (c) 2016 Federico Zivolo and contributors
*
@@ -290,7 +290,7 @@ function getBordersSize(styles, axis) {
var sideA = axis === 'x' ? 'Left' : 'Top';
var sideB = sideA === 'Left' ? 'Right' : 'Bottom';
- return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);
+ return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);
}
function getSize(axis, body, html, computedStyle) {
@@ -402,8 +402,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
var scrollParent = getScrollParent(children);
var styles = getStyleComputedProperty(parent);
- var borderTopWidth = parseFloat(styles.borderTopWidth, 10);
- var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
+ var borderTopWidth = parseFloat(styles.borderTopWidth);
+ var borderLeftWidth = parseFloat(styles.borderLeftWidth);
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
if (fixedPosition && isHTML) {
@@ -424,8 +424,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
// 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) {
- var marginTop = parseFloat(styles.marginTop, 10);
- var marginLeft = parseFloat(styles.marginLeft, 10);
+ var marginTop = parseFloat(styles.marginTop);
+ var marginLeft = parseFloat(styles.marginLeft);
offsets.top -= borderTopWidth - marginTop;
offsets.bottom -= borderTopWidth - marginTop;
diff --git a/HOME/Scripts/umd/popper-utils.js.map b/HOME/Scripts/umd/popper-utils.js.map
index 50e078a..a9eb298 100644
--- a/HOME/Scripts/umd/popper-utils.js.map
+++ b/HOME/Scripts/umd/popper-utils.js.map
@@ -1 +1 @@
-{"version":3,"file":"popper-utils.js","sources":["../../src/utils/getStyleComputedProperty.js","../../src/utils/getParentNode.js","../../src/utils/getScrollParent.js","../../src/utils/getReferenceNode.js","../../src/utils/isBrowser.js","../../src/utils/isIE.js","../../src/utils/getOffsetParent.js","../../src/utils/isOffsetContainer.js","../../src/utils/getRoot.js","../../src/utils/findCommonOffsetParent.js","../../src/utils/getScroll.js","../../src/utils/includeScroll.js","../../src/utils/getBordersSize.js","../../src/utils/getWindowSizes.js","../../src/utils/getClientRect.js","../../src/utils/getBoundingClientRect.js","../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../src/utils/isFixed.js","../../src/utils/getFixedPositionOffsetParent.js","../../src/utils/getBoundaries.js","../../src/utils/computeAutoPlacement.js","../../src/utils/debounce.js","../../src/utils/find.js","../../src/utils/findIndex.js","../../src/utils/getOffsetRect.js","../../src/utils/getOuterSizes.js","../../src/utils/getOppositePlacement.js","../../src/utils/getPopperOffsets.js","../../src/utils/getReferenceOffsets.js","../../src/utils/getSupportedPropertyName.js","../../src/utils/isFunction.js","../../src/utils/isModifierEnabled.js","../../src/utils/isModifierRequired.js","../../src/utils/isNumeric.js","../../src/utils/getWindow.js","../../src/utils/removeEventListeners.js","../../src/utils/runModifiers.js","../../src/utils/setAttributes.js","../../src/utils/setStyles.js","../../src/utils/setupEventListeners.js","../../src/utils/index.js"],"sourcesContent":["/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`], 10) +\n parseFloat(styles[`border${sideB}Width`], 10)\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop, 10);\n const marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import getWindowSizes from './getWindowSizes';\nimport getClientRect from './getClientRect';\n\n/**\n * Get the position of the given element, relative to its offset parent\n * @method\n * @memberof Popper.Utils\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\nexport default function getOffsetRect(element) {\n let elementRect;\n if (element.nodeName === 'HTML') {\n const { width, height } = getWindowSizes(element.ownerDocument);\n elementRect = {\n width,\n height,\n left: 0,\n top: 0,\n };\n } else {\n elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop,\n };\n }\n\n // position\n return getClientRect(elementRect);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import computeAutoPlacement from './computeAutoPlacement';\nimport debounce from './debounce';\nimport findIndex from './findIndex';\nimport getBordersSize from './getBordersSize';\nimport getBoundaries from './getBoundaries';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getClientRect from './getClientRect';\nimport getOffsetParent from './getOffsetParent';\nimport getOffsetRect from './getOffsetRect';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getOuterSizes from './getOuterSizes';\nimport getParentNode from './getParentNode';\nimport getPopperOffsets from './getPopperOffsets';\nimport getReferenceOffsets from './getReferenceOffsets';\nimport getScroll from './getScroll';\nimport getScrollParent from './getScrollParent';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getSupportedPropertyName from './getSupportedPropertyName';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport isFunction from './isFunction';\nimport isModifierEnabled from './isModifierEnabled';\nimport isModifierRequired from './isModifierRequired';\nimport isNumeric from './isNumeric';\nimport removeEventListeners from './removeEventListeners';\nimport runModifiers from './runModifiers';\nimport setAttributes from './setAttributes';\nimport setStyles from './setStyles';\nimport setupEventListeners from './setupEventListeners';\n\n/** @namespace Popper.Utils */\nexport {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n\n// This is here just for backward compatibility with versions lower than v1.10.3\n// you should import the utilities using named exports, if you want them all use:\n// ```\n// import * as PopperUtils from 'popper-utils';\n// ```\n// The default export will be removed in the next major version.\nexport default {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n"],"names":["getStyleComputedProperty","element","property","nodeType","window","ownerDocument","defaultView","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","document","body","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","navigator","isIE11","isBrowser","MSInputMethodContext","documentMode","isIE10","userAgent","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","indexOf","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","getClientRect","offsets","width","height","getBoundingClientRect","e","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","Object","keys","map","key","sort","a","b","area","filteredAreas","filter","computedPlacement","length","variation","split","timeoutDuration","longerTimeoutBrowsers","i","microtaskDebounce","fn","called","Promise","resolve","then","taskDebounce","scheduled","supportsMicroTasks","find","arr","check","Array","prototype","findIndex","prop","value","cur","match","obj","getOffsetRect","elementRect","offsetLeft","offsetTop","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","getReferenceOffsets","state","commonOffsetParent","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","slice","prefix","toCheck","style","isFunction","functionToCheck","getType","toString","call","isModifierEnabled","modifiers","modifierName","some","name","enabled","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","warn","isNumeric","n","isNaN","isFinite","getWindow","removeEventListeners","removeEventListener","updateBound","scrollParents","forEach","scrollElement","eventsEnabled","runModifiers","data","ends","modifiersToRun","undefined","setAttributes","attributes","setAttribute","removeAttribute","setStyles","unit","attachToScrollParents","event","callback","isBody","target","addEventListener","passive","push","setupEventListeners","options"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"popper-utils.js","sources":["../../src/utils/getStyleComputedProperty.js","../../src/utils/getParentNode.js","../../src/utils/getScrollParent.js","../../src/utils/getReferenceNode.js","../../src/utils/isBrowser.js","../../src/utils/isIE.js","../../src/utils/getOffsetParent.js","../../src/utils/isOffsetContainer.js","../../src/utils/getRoot.js","../../src/utils/findCommonOffsetParent.js","../../src/utils/getScroll.js","../../src/utils/includeScroll.js","../../src/utils/getBordersSize.js","../../src/utils/getWindowSizes.js","../../src/utils/getClientRect.js","../../src/utils/getBoundingClientRect.js","../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../src/utils/isFixed.js","../../src/utils/getFixedPositionOffsetParent.js","../../src/utils/getBoundaries.js","../../src/utils/computeAutoPlacement.js","../../src/utils/debounce.js","../../src/utils/find.js","../../src/utils/findIndex.js","../../src/utils/getOffsetRect.js","../../src/utils/getOuterSizes.js","../../src/utils/getOppositePlacement.js","../../src/utils/getPopperOffsets.js","../../src/utils/getReferenceOffsets.js","../../src/utils/getSupportedPropertyName.js","../../src/utils/isFunction.js","../../src/utils/isModifierEnabled.js","../../src/utils/isModifierRequired.js","../../src/utils/isNumeric.js","../../src/utils/getWindow.js","../../src/utils/removeEventListeners.js","../../src/utils/runModifiers.js","../../src/utils/setAttributes.js","../../src/utils/setStyles.js","../../src/utils/setupEventListeners.js","../../src/utils/index.js"],"sourcesContent":["/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import getWindowSizes from './getWindowSizes';\nimport getClientRect from './getClientRect';\n\n/**\n * Get the position of the given element, relative to its offset parent\n * @method\n * @memberof Popper.Utils\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\nexport default function getOffsetRect(element) {\n let elementRect;\n if (element.nodeName === 'HTML') {\n const { width, height } = getWindowSizes(element.ownerDocument);\n elementRect = {\n width,\n height,\n left: 0,\n top: 0,\n };\n } else {\n elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop,\n };\n }\n\n // position\n return getClientRect(elementRect);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import computeAutoPlacement from './computeAutoPlacement';\nimport debounce from './debounce';\nimport findIndex from './findIndex';\nimport getBordersSize from './getBordersSize';\nimport getBoundaries from './getBoundaries';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getClientRect from './getClientRect';\nimport getOffsetParent from './getOffsetParent';\nimport getOffsetRect from './getOffsetRect';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getOuterSizes from './getOuterSizes';\nimport getParentNode from './getParentNode';\nimport getPopperOffsets from './getPopperOffsets';\nimport getReferenceOffsets from './getReferenceOffsets';\nimport getScroll from './getScroll';\nimport getScrollParent from './getScrollParent';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getSupportedPropertyName from './getSupportedPropertyName';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport isFunction from './isFunction';\nimport isModifierEnabled from './isModifierEnabled';\nimport isModifierRequired from './isModifierRequired';\nimport isNumeric from './isNumeric';\nimport removeEventListeners from './removeEventListeners';\nimport runModifiers from './runModifiers';\nimport setAttributes from './setAttributes';\nimport setStyles from './setStyles';\nimport setupEventListeners from './setupEventListeners';\n\n/** @namespace Popper.Utils */\nexport {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n\n// This is here just for backward compatibility with versions lower than v1.10.3\n// you should import the utilities using named exports, if you want them all use:\n// ```\n// import * as PopperUtils from 'popper-utils';\n// ```\n// The default export will be removed in the next major version.\nexport default {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n"],"names":["getStyleComputedProperty","element","property","nodeType","window","ownerDocument","defaultView","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","document","body","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","navigator","isIE11","isBrowser","MSInputMethodContext","documentMode","isIE10","userAgent","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","indexOf","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","getClientRect","offsets","width","height","getBoundingClientRect","e","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","Object","keys","map","key","sort","a","b","area","filteredAreas","filter","computedPlacement","length","variation","split","timeoutDuration","longerTimeoutBrowsers","i","microtaskDebounce","fn","called","Promise","resolve","then","taskDebounce","scheduled","supportsMicroTasks","find","arr","check","Array","prototype","findIndex","prop","value","cur","match","obj","getOffsetRect","elementRect","offsetLeft","offsetTop","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","getReferenceOffsets","state","commonOffsetParent","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","slice","prefix","toCheck","style","isFunction","functionToCheck","getType","toString","call","isModifierEnabled","modifiers","modifierName","some","name","enabled","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","warn","isNumeric","n","isNaN","isFinite","getWindow","removeEventListeners","removeEventListener","updateBound","scrollParents","forEach","scrollElement","eventsEnabled","runModifiers","data","ends","modifiersToRun","undefined","setAttributes","attributes","setAttribute","removeAttribute","setStyles","unit","attachToScrollParents","event","callback","isBody","target","addEventListener","passive","push","setupEventListeners","options"],"mappings":"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"}
\ No newline at end of file
diff --git a/HOME/Scripts/umd/popper-utils.min.js b/HOME/Scripts/umd/popper-utils.min.js
index f6560a1..b15a85e 100644
--- a/HOME/Scripts/umd/popper-utils.min.js
+++ b/HOME/Scripts/umd/popper-utils.min.js
@@ -1,5 +1,5 @@
/*
- Copyright (C) Federico Zivolo 2019
+ Copyright (C) Federico Zivolo 2020
Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).
- */(function(a,b){'object'==typeof exports&&'undefined'!=typeof module?b(exports):'function'==typeof define&&define.amd?define(['exports'],b):b(a.PopperUtils={})})(this,function(a){'use strict';function b(a,b){if(1!==a.nodeType)return[];var c=a.ownerDocument.defaultView,d=c.getComputedStyle(a,null);return b?d[b]:d}function c(a){return'HTML'===a.nodeName?a:a.parentNode||a.host}function d(a){if(!a)return document.body;switch(a.nodeName){case'HTML':case'BODY':return a.ownerDocument.body;case'#document':return a.body;}var e=b(a),f=e.overflow,g=e.overflowX,h=e.overflowY;return /(auto|scroll|overlay)/.test(f+h+g)?a:d(c(a))}function e(a){return a&&a.referenceNode?a.referenceNode:a}function f(a){return 11===a?T:10===a?U:T||U}function g(a){if(!a)return document.documentElement;for(var c=f(10)?document.body:null,d=a.offsetParent||null;d===c&&a.nextElementSibling;)d=(a=a.nextElementSibling).offsetParent;var e=d&&d.nodeName;return e&&'BODY'!==e&&'HTML'!==e?-1!==['TH','TD','TABLE'].indexOf(d.nodeName)&&'static'===b(d,'position')?g(d):d:a?a.ownerDocument.documentElement:document.documentElement}function h(a){var b=a.nodeName;return'BODY'!==b&&('HTML'===b||g(a.firstElementChild)===a)}function i(a){return null===a.parentNode?a:i(a.parentNode)}function j(a,b){if(!a||!a.nodeType||!b||!b.nodeType)return document.documentElement;var c=a.compareDocumentPosition(b)&Node.DOCUMENT_POSITION_FOLLOWING,d=c?a:b,e=c?b:a,f=document.createRange();f.setStart(d,0),f.setEnd(e,0);var k=f.commonAncestorContainer;if(a!==k&&b!==k||d.contains(e))return h(k)?k:g(k);var l=i(a);return l.host?j(l.host,b):j(a,i(b).host)}function k(a){var b=1=c.clientWidth&&d>=c.clientHeight}),k=0=c.clientWidth&&d>=c.clientHeight}),k=0 ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import getWindowSizes from './getWindowSizes';\nimport getClientRect from './getClientRect';\n\n/**\n * Get the position of the given element, relative to its offset parent\n * @method\n * @memberof Popper.Utils\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\nexport default function getOffsetRect(element) {\n let elementRect;\n if (element.nodeName === 'HTML') {\n const { width, height } = getWindowSizes(element.ownerDocument);\n elementRect = {\n width,\n height,\n left: 0,\n top: 0,\n };\n } else {\n elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop,\n };\n }\n\n // position\n return getClientRect(elementRect);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","import computeAutoPlacement from './computeAutoPlacement';\nimport debounce from './debounce';\nimport findIndex from './findIndex';\nimport getBordersSize from './getBordersSize';\nimport getBoundaries from './getBoundaries';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getClientRect from './getClientRect';\nimport getOffsetParent from './getOffsetParent';\nimport getOffsetRect from './getOffsetRect';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getOuterSizes from './getOuterSizes';\nimport getParentNode from './getParentNode';\nimport getPopperOffsets from './getPopperOffsets';\nimport getReferenceOffsets from './getReferenceOffsets';\nimport getScroll from './getScroll';\nimport getScrollParent from './getScrollParent';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getSupportedPropertyName from './getSupportedPropertyName';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport isFunction from './isFunction';\nimport isModifierEnabled from './isModifierEnabled';\nimport isModifierRequired from './isModifierRequired';\nimport isNumeric from './isNumeric';\nimport removeEventListeners from './removeEventListeners';\nimport runModifiers from './runModifiers';\nimport setAttributes from './setAttributes';\nimport setStyles from './setStyles';\nimport setupEventListeners from './setupEventListeners';\n\n/** @namespace Popper.Utils */\nexport {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n\n// This is here just for backward compatibility with versions lower than v1.10.3\n// you should import the utilities using named exports, if you want them all use:\n// ```\n// import * as PopperUtils from 'popper-utils';\n// ```\n// The default export will be removed in the next major version.\nexport default {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n"],"names":["element","nodeType","window","ownerDocument","defaultView","css","getComputedStyle","property","nodeName","parentNode","host","document","body","getStyleComputedProperty","overflow","overflowX","overflowY","test","getScrollParent","getParentNode","reference","referenceNode","version","isIE11","documentElement","noOffsetParent","isIE","offsetParent","nextElementSibling","indexOf","getOffsetParent","firstElementChild","node","getRoot","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","isOffsetContainer","element1root","findCommonOffsetParent","side","upperSide","html","scrollingElement","subtract","scrollTop","getScroll","scrollLeft","modifier","top","bottom","left","right","sideA","axis","sideB","parseFloat","styles","Math","parseInt","computedStyle","getSize","offsets","width","height","rect","getBoundingClientRect","result","sizes","getWindowSizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getBordersSize","getClientRect","fixedPosition","isIE10","runIsIE","isHTML","parent","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","includeScroll","excludeScroll","relativeOffset","getOffsetRectRelativeToArbitraryNode","innerWidth","innerHeight","offset","isFixed","parentElement","el","boundaries","getFixedPositionOffsetParent","getReferenceNode","boundariesElement","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","popper","padding","isPaddingNumber","placement","getBoundaries","rects","refRect","sortedAreas","Object","keys","map","getArea","sort","b","area","a","filteredAreas","filter","computedPlacement","length","key","variation","split","Array","prototype","find","arr","findIndex","cur","match","obj","elementRect","offsetLeft","offsetTop","x","marginBottom","y","marginRight","hash","replace","popperRect","getOuterSizes","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","referenceOffsets","getOppositePlacement","commonOffsetParent","prefixes","upperProp","charAt","toUpperCase","slice","i","prefix","toCheck","style","functionToCheck","getType","toString","call","modifiers","some","name","enabled","requesting","isRequired","warn","requested","n","isNaN","isFinite","removeEventListener","state","updateBound","scrollParents","forEach","scrollElement","eventsEnabled","modifiersToRun","ends","fn","isFunction","data","value","attributes","removeAttribute","setAttribute","unit","isNumeric","isBody","target","addEventListener","passive","push","max","navigator","isBrowser","userAgent","timeoutDuration","longerTimeoutBrowsers","supportsMicroTasks","Promise","called","resolve","then","scheduled"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"popper-utils.min.js","sources":["../../src/utils/getStyleComputedProperty.js","../../src/utils/getParentNode.js","../../src/utils/getScrollParent.js","../../src/utils/getReferenceNode.js","../../src/utils/isIE.js","../../src/utils/getOffsetParent.js","../../src/utils/isOffsetContainer.js","../../src/utils/getRoot.js","../../src/utils/findCommonOffsetParent.js","../../src/utils/getScroll.js","../../src/utils/includeScroll.js","../../src/utils/getBordersSize.js","../../src/utils/getWindowSizes.js","../../src/utils/getClientRect.js","../../src/utils/getBoundingClientRect.js","../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../src/utils/isFixed.js","../../src/utils/getFixedPositionOffsetParent.js","../../src/utils/getBoundaries.js","../../src/utils/computeAutoPlacement.js","../../src/utils/find.js","../../src/utils/findIndex.js","../../src/utils/getOffsetRect.js","../../src/utils/getOuterSizes.js","../../src/utils/getOppositePlacement.js","../../src/utils/getPopperOffsets.js","../../src/utils/getReferenceOffsets.js","../../src/utils/getSupportedPropertyName.js","../../src/utils/isFunction.js","../../src/utils/isModifierEnabled.js","../../src/utils/isModifierRequired.js","../../src/utils/isNumeric.js","../../src/utils/getWindow.js","../../src/utils/removeEventListeners.js","../../src/utils/runModifiers.js","../../src/utils/setAttributes.js","../../src/utils/setStyles.js","../../src/utils/setupEventListeners.js","../../src/utils/isBrowser.js","../../src/utils/debounce.js","../../src/utils/index.js"],"sourcesContent":["/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import getWindowSizes from './getWindowSizes';\nimport getClientRect from './getClientRect';\n\n/**\n * Get the position of the given element, relative to its offset parent\n * @method\n * @memberof Popper.Utils\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\nexport default function getOffsetRect(element) {\n let elementRect;\n if (element.nodeName === 'HTML') {\n const { width, height } = getWindowSizes(element.ownerDocument);\n elementRect = {\n width,\n height,\n left: 0,\n top: 0,\n };\n } else {\n elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop,\n };\n }\n\n // position\n return getClientRect(elementRect);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","import computeAutoPlacement from './computeAutoPlacement';\nimport debounce from './debounce';\nimport findIndex from './findIndex';\nimport getBordersSize from './getBordersSize';\nimport getBoundaries from './getBoundaries';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport getClientRect from './getClientRect';\nimport getOffsetParent from './getOffsetParent';\nimport getOffsetRect from './getOffsetRect';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getOuterSizes from './getOuterSizes';\nimport getParentNode from './getParentNode';\nimport getPopperOffsets from './getPopperOffsets';\nimport getReferenceOffsets from './getReferenceOffsets';\nimport getScroll from './getScroll';\nimport getScrollParent from './getScrollParent';\nimport getStyleComputedProperty from './getStyleComputedProperty';\nimport getSupportedPropertyName from './getSupportedPropertyName';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport isFunction from './isFunction';\nimport isModifierEnabled from './isModifierEnabled';\nimport isModifierRequired from './isModifierRequired';\nimport isNumeric from './isNumeric';\nimport removeEventListeners from './removeEventListeners';\nimport runModifiers from './runModifiers';\nimport setAttributes from './setAttributes';\nimport setStyles from './setStyles';\nimport setupEventListeners from './setupEventListeners';\n\n/** @namespace Popper.Utils */\nexport {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n\n// This is here just for backward compatibility with versions lower than v1.10.3\n// you should import the utilities using named exports, if you want them all use:\n// ```\n// import * as PopperUtils from 'popper-utils';\n// ```\n// The default export will be removed in the next major version.\nexport default {\n computeAutoPlacement,\n debounce,\n findIndex,\n getBordersSize,\n getBoundaries,\n getBoundingClientRect,\n getClientRect,\n getOffsetParent,\n getOffsetRect,\n getOffsetRectRelativeToArbitraryNode,\n getOuterSizes,\n getParentNode,\n getPopperOffsets,\n getReferenceOffsets,\n getScroll,\n getScrollParent,\n getStyleComputedProperty,\n getSupportedPropertyName,\n getWindowSizes,\n isFixed,\n isFunction,\n isModifierEnabled,\n isModifierRequired,\n isNumeric,\n removeEventListeners,\n runModifiers,\n setAttributes,\n setStyles,\n setupEventListeners,\n};\n"],"names":["element","nodeType","window","ownerDocument","defaultView","css","getComputedStyle","property","nodeName","parentNode","host","document","body","getStyleComputedProperty","overflow","overflowX","overflowY","test","getScrollParent","getParentNode","reference","referenceNode","version","isIE11","documentElement","noOffsetParent","isIE","offsetParent","nextElementSibling","indexOf","getOffsetParent","firstElementChild","node","getRoot","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","isOffsetContainer","element1root","findCommonOffsetParent","side","upperSide","html","scrollingElement","subtract","scrollTop","getScroll","scrollLeft","modifier","top","bottom","left","right","sideA","axis","sideB","parseFloat","styles","Math","parseInt","computedStyle","getSize","offsets","width","height","rect","getBoundingClientRect","result","sizes","getWindowSizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getBordersSize","getClientRect","fixedPosition","isIE10","runIsIE","isHTML","parent","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","includeScroll","excludeScroll","relativeOffset","getOffsetRectRelativeToArbitraryNode","innerWidth","innerHeight","offset","isFixed","parentElement","el","boundaries","getFixedPositionOffsetParent","getReferenceNode","boundariesElement","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","popper","padding","isPaddingNumber","placement","getBoundaries","rects","refRect","sortedAreas","Object","keys","map","getArea","sort","b","area","a","filteredAreas","filter","computedPlacement","length","key","variation","split","Array","prototype","find","arr","findIndex","cur","match","obj","elementRect","offsetLeft","offsetTop","x","marginBottom","y","marginRight","hash","replace","popperRect","getOuterSizes","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","referenceOffsets","getOppositePlacement","commonOffsetParent","prefixes","upperProp","charAt","toUpperCase","slice","i","prefix","toCheck","style","functionToCheck","getType","toString","call","modifiers","some","name","enabled","requesting","isRequired","warn","requested","n","isNaN","isFinite","removeEventListener","state","updateBound","scrollParents","forEach","scrollElement","eventsEnabled","modifiersToRun","ends","fn","isFunction","data","value","attributes","removeAttribute","setAttribute","unit","isNumeric","isBody","target","addEventListener","passive","push","max","navigator","isBrowser","userAgent","timeoutDuration","longerTimeoutBrowsers","supportsMicroTasks","Promise","called","resolve","then","scheduled"],"mappings":"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"}
\ No newline at end of file
diff --git a/HOME/Scripts/umd/popper.js b/HOME/Scripts/umd/popper.js
index 7fa913d..acb1d81 100644
--- a/HOME/Scripts/umd/popper.js
+++ b/HOME/Scripts/umd/popper.js
@@ -1,6 +1,6 @@
/**!
* @fileOverview Kickass library to create and place poppers near their reference elements.
- * @version 1.16.0
+ * @version 1.16.1
* @license
* Copyright (c) 2016 Federico Zivolo and contributors
*
@@ -352,7 +352,7 @@ function getBordersSize(styles, axis) {
var sideA = axis === 'x' ? 'Left' : 'Top';
var sideB = sideA === 'Left' ? 'Right' : 'Bottom';
- return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);
+ return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);
}
function getSize(axis, body, html, computedStyle) {
@@ -507,8 +507,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
var scrollParent = getScrollParent(children);
var styles = getStyleComputedProperty(parent);
- var borderTopWidth = parseFloat(styles.borderTopWidth, 10);
- var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
+ var borderTopWidth = parseFloat(styles.borderTopWidth);
+ var borderLeftWidth = parseFloat(styles.borderLeftWidth);
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
if (fixedPosition && isHTML) {
@@ -529,8 +529,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
// 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) {
- var marginTop = parseFloat(styles.marginTop, 10);
- var marginLeft = parseFloat(styles.marginLeft, 10);
+ var marginTop = parseFloat(styles.marginTop);
+ var marginLeft = parseFloat(styles.marginLeft);
offsets.top -= borderTopWidth - marginTop;
offsets.bottom -= borderTopWidth - marginTop;
@@ -1469,8 +1469,8 @@ function arrow(data, options) {
// Compute the sideValue using the updated popper offsets
// take popper margin in account because we don't have this info available
var css = getStyleComputedProperty(data.instance.popper);
- var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);
- var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);
+ var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);
+ var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);
var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
// prevent arrowElement from being placed not contiguously to its popper
diff --git a/HOME/Scripts/umd/popper.js.map b/HOME/Scripts/umd/popper.js.map
index 9633363..d0207ee 100644
--- a/HOME/Scripts/umd/popper.js.map
+++ b/HOME/Scripts/umd/popper.js.map
@@ -1 +1 @@
-{"version":3,"file":"popper.js","sources":["../../src/utils/isBrowser.js","../../src/utils/debounce.js","../../src/utils/isFunction.js","../../src/utils/getStyleComputedProperty.js","../../src/utils/getParentNode.js","../../src/utils/getScrollParent.js","../../src/utils/getReferenceNode.js","../../src/utils/isIE.js","../../src/utils/getOffsetParent.js","../../src/utils/isOffsetContainer.js","../../src/utils/getRoot.js","../../src/utils/findCommonOffsetParent.js","../../src/utils/getScroll.js","../../src/utils/includeScroll.js","../../src/utils/getBordersSize.js","../../src/utils/getWindowSizes.js","../../src/utils/getClientRect.js","../../src/utils/getBoundingClientRect.js","../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../src/utils/isFixed.js","../../src/utils/getFixedPositionOffsetParent.js","../../src/utils/getBoundaries.js","../../src/utils/computeAutoPlacement.js","../../src/utils/getReferenceOffsets.js","../../src/utils/getOuterSizes.js","../../src/utils/getOppositePlacement.js","../../src/utils/getPopperOffsets.js","../../src/utils/find.js","../../src/utils/findIndex.js","../../src/utils/runModifiers.js","../../src/methods/update.js","../../src/utils/isModifierEnabled.js","../../src/utils/getSupportedPropertyName.js","../../src/methods/destroy.js","../../src/utils/getWindow.js","../../src/utils/setupEventListeners.js","../../src/methods/enableEventListeners.js","../../src/utils/removeEventListeners.js","../../src/methods/disableEventListeners.js","../../src/utils/isNumeric.js","../../src/utils/setStyles.js","../../src/utils/setAttributes.js","../../src/modifiers/applyStyle.js","../../src/utils/getRoundedOffsets.js","../../src/modifiers/computeStyle.js","../../src/utils/isModifierRequired.js","../../src/modifiers/arrow.js","../../src/utils/getOppositeVariation.js","../../src/methods/placements.js","../../src/utils/clockwise.js","../../src/modifiers/flip.js","../../src/modifiers/keepTogether.js","../../src/modifiers/offset.js","../../src/modifiers/preventOverflow.js","../../src/modifiers/shift.js","../../src/modifiers/hide.js","../../src/modifiers/inner.js","../../src/modifiers/index.js","../../src/methods/defaults.js","../../src/index.js"],"sourcesContent":["export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`], 10) +\n parseFloat(styles[`border${sideB}Width`], 10)\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop, 10);\n const marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`], 10);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`], 10);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n"],"names":["window","document","navigator","timeoutDuration","longerTimeoutBrowsers","i","length","isBrowser","userAgent","indexOf","microtaskDebounce","fn","called","Promise","resolve","then","taskDebounce","scheduled","supportsMicroTasks","isFunction","functionToCheck","getType","toString","call","getStyleComputedProperty","element","property","nodeType","ownerDocument","defaultView","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","getClientRect","offsets","width","height","getBoundingClientRect","e","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","Object","keys","map","key","sort","a","b","area","filteredAreas","filter","computedPlacement","variation","split","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","prototype","findIndex","prop","value","cur","match","obj","runModifiers","modifiers","data","ends","modifiersToRun","undefined","slice","forEach","warn","enabled","update","isDestroyed","options","positionFixed","flip","originalPlacement","position","isCreated","onCreate","onUpdate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","attachToScrollParents","event","callback","scrollParents","isBody","target","addEventListener","passive","push","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","setAttributes","attributes","setAttribute","applyStyle","instance","arrowElement","arrowStyles","applyStyleOnLoad","modifierOptions","getRoundedOffsets","shouldRound","round","floor","noRound","v","referenceWidth","popperWidth","isVertical","isVariation","sameWidthParity","bothOddWidth","horizontalToInteger","verticalToInteger","isFirefox","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrow","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","querySelector","len","sideCapitalized","toLowerCase","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","min","getOppositeVariation","validPlacements","placements","clockwise","counter","index","concat","reverse","BEHAVIORS","flipped","placementOpposite","flipOrder","behavior","FLIP","CLOCKWISE","COUNTERCLOCKWISE","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","keepTogether","toValue","str","size","parseOffset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","index2","preventOverflow","transformProp","popperStyles","transform","priority","escapeWithReference","shift","shiftvariation","shiftOffsets","hide","bound","inner","subtractLength","Popper","requestAnimationFrame","debounce","bind","Defaults","jquery","onLoad","Utils","global","PopperUtils"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"popper.js","sources":["../../src/utils/isBrowser.js","../../src/utils/debounce.js","../../src/utils/isFunction.js","../../src/utils/getStyleComputedProperty.js","../../src/utils/getParentNode.js","../../src/utils/getScrollParent.js","../../src/utils/getReferenceNode.js","../../src/utils/isIE.js","../../src/utils/getOffsetParent.js","../../src/utils/isOffsetContainer.js","../../src/utils/getRoot.js","../../src/utils/findCommonOffsetParent.js","../../src/utils/getScroll.js","../../src/utils/includeScroll.js","../../src/utils/getBordersSize.js","../../src/utils/getWindowSizes.js","../../src/utils/getClientRect.js","../../src/utils/getBoundingClientRect.js","../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../src/utils/isFixed.js","../../src/utils/getFixedPositionOffsetParent.js","../../src/utils/getBoundaries.js","../../src/utils/computeAutoPlacement.js","../../src/utils/getReferenceOffsets.js","../../src/utils/getOuterSizes.js","../../src/utils/getOppositePlacement.js","../../src/utils/getPopperOffsets.js","../../src/utils/find.js","../../src/utils/findIndex.js","../../src/utils/runModifiers.js","../../src/methods/update.js","../../src/utils/isModifierEnabled.js","../../src/utils/getSupportedPropertyName.js","../../src/methods/destroy.js","../../src/utils/getWindow.js","../../src/utils/setupEventListeners.js","../../src/methods/enableEventListeners.js","../../src/utils/removeEventListeners.js","../../src/methods/disableEventListeners.js","../../src/utils/isNumeric.js","../../src/utils/setStyles.js","../../src/utils/setAttributes.js","../../src/modifiers/applyStyle.js","../../src/utils/getRoundedOffsets.js","../../src/modifiers/computeStyle.js","../../src/utils/isModifierRequired.js","../../src/modifiers/arrow.js","../../src/utils/getOppositeVariation.js","../../src/methods/placements.js","../../src/utils/clockwise.js","../../src/modifiers/flip.js","../../src/modifiers/keepTogether.js","../../src/modifiers/offset.js","../../src/modifiers/preventOverflow.js","../../src/modifiers/shift.js","../../src/modifiers/hide.js","../../src/modifiers/inner.js","../../src/modifiers/index.js","../../src/methods/defaults.js","../../src/index.js"],"sourcesContent":["export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`]);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n"],"names":["window","document","navigator","timeoutDuration","longerTimeoutBrowsers","i","length","isBrowser","userAgent","indexOf","microtaskDebounce","fn","called","Promise","resolve","then","taskDebounce","scheduled","supportsMicroTasks","isFunction","functionToCheck","getType","toString","call","getStyleComputedProperty","element","property","nodeType","ownerDocument","defaultView","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","getClientRect","offsets","width","height","getBoundingClientRect","e","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","Object","keys","map","key","sort","a","b","area","filteredAreas","filter","computedPlacement","variation","split","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","prototype","findIndex","prop","value","cur","match","obj","runModifiers","modifiers","data","ends","modifiersToRun","undefined","slice","forEach","warn","enabled","update","isDestroyed","options","positionFixed","flip","originalPlacement","position","isCreated","onCreate","onUpdate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","attachToScrollParents","event","callback","scrollParents","isBody","target","addEventListener","passive","push","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListeners","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","setAttributes","attributes","setAttribute","applyStyle","instance","arrowElement","arrowStyles","applyStyleOnLoad","modifierOptions","getRoundedOffsets","shouldRound","round","floor","noRound","v","referenceWidth","popperWidth","isVertical","isVariation","sameWidthParity","bothOddWidth","horizontalToInteger","verticalToInteger","isFirefox","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrow","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","querySelector","len","sideCapitalized","toLowerCase","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","min","getOppositeVariation","validPlacements","placements","clockwise","counter","index","concat","reverse","BEHAVIORS","flipped","placementOpposite","flipOrder","behavior","FLIP","CLOCKWISE","COUNTERCLOCKWISE","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","keepTogether","toValue","str","size","parseOffset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","index2","preventOverflow","transformProp","popperStyles","transform","priority","escapeWithReference","shift","shiftvariation","shiftOffsets","hide","bound","inner","subtractLength","Popper","requestAnimationFrame","debounce","bind","Defaults","jquery","onLoad","Utils","global","PopperUtils"],"mappings":"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"}
\ No newline at end of file
diff --git a/HOME/Scripts/umd/popper.min.js b/HOME/Scripts/umd/popper.min.js
index 8a17212..bb1aaae 100644
--- a/HOME/Scripts/umd/popper.min.js
+++ b/HOME/Scripts/umd/popper.min.js
@@ -1,5 +1,5 @@
/*
- Copyright (C) Federico Zivolo 2019
+ Copyright (C) Federico Zivolo 2020
Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).
- */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=e.ownerDocument.defaultView,n=o.getComputedStyle(e,null);return t?n[t]:n}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function i(e){return e&&e.referenceNode?e.referenceNode:e}function r(e){return 11===e?re:10===e?pe:re||pe}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent||null;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TH','TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1=o.clientWidth&&n>=o.clientHeight}),l=0a[e]&&!t.escapeWithReference&&(n=Q(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!K(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-us[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f],10),E=parseFloat(w['border'+f+'Width'],10),v=b-e.offsets.popper[m]-y-E;return v=ee(Q(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,$(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ce.FLIP:p=[n,i];break;case ce.CLOCKWISE:p=G(n);break;case ce.COUNTERCLOCKWISE:p=G(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)f(l.top)||'bottom'===n&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&u||!w&&'end'===r&&g),v=y||E;(m||b||v)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),v&&(r=z(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport',flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!K(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.rightwindow.devicePixelRatio||!fe),c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?'HTML'===l.nodeName?-l.clientHeight+h.bottom:-f.height+h.bottom:h.top,s='right'==g?'HTML'===l.nodeName?-l.clientWidth+h.right:-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var w='bottom'==c?-1:1,y='right'==g?-1:1;m[c]=d*w,m[g]=s*y,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=le({},E,e.attributes),e.styles=le({},m,e.styles),e.arrowStyles=le({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return V(e.instance.popper,e.styles),j(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&V(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),V(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ge});
+ */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=e.ownerDocument.defaultView,n=o.getComputedStyle(e,null);return t?n[t]:n}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function i(e){return e&&e.referenceNode?e.referenceNode:e}function r(e){return 11===e?re:10===e?pe:re||pe}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent||null;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TH','TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1=o.clientWidth&&n>=o.clientHeight}),l=0a[e]&&!t.escapeWithReference&&(n=Q(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!K(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-us[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f]),E=parseFloat(w['border'+f+'Width']),v=b-e.offsets.popper[m]-y-E;return v=ee(Q(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,$(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ce.FLIP:p=[n,i];break;case ce.CLOCKWISE:p=G(n);break;case ce.COUNTERCLOCKWISE:p=G(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)f(l.top)||'bottom'===n&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&u||!w&&'end'===r&&g),v=y||E;(m||b||v)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),v&&(r=z(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport',flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!K(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.rightwindow.devicePixelRatio||!fe),c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?'HTML'===l.nodeName?-l.clientHeight+h.bottom:-f.height+h.bottom:h.top,s='right'==g?'HTML'===l.nodeName?-l.clientWidth+h.right:-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var w='bottom'==c?-1:1,y='right'==g?-1:1;m[c]=d*w,m[g]=s*y,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=le({},E,e.attributes),e.styles=le({},m,e.styles),e.arrowStyles=le({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return V(e.instance.popper,e.styles),j(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&V(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),V(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ge});
//# sourceMappingURL=popper.min.js.map
diff --git a/HOME/Scripts/umd/popper.min.js.map b/HOME/Scripts/umd/popper.min.js.map
index 7107f61..9423c22 100644
--- a/HOME/Scripts/umd/popper.min.js.map
+++ b/HOME/Scripts/umd/popper.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"popper.min.js","sources":["../../src/utils/isFunction.js","../../src/utils/getStyleComputedProperty.js","../../src/utils/getParentNode.js","../../src/utils/getScrollParent.js","../../src/utils/getReferenceNode.js","../../src/utils/isIE.js","../../src/utils/getOffsetParent.js","../../src/utils/isOffsetContainer.js","../../src/utils/getRoot.js","../../src/utils/findCommonOffsetParent.js","../../src/utils/getScroll.js","../../src/utils/includeScroll.js","../../src/utils/getBordersSize.js","../../src/utils/getWindowSizes.js","../../src/utils/getClientRect.js","../../src/utils/getBoundingClientRect.js","../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../src/utils/isFixed.js","../../src/utils/getFixedPositionOffsetParent.js","../../src/utils/getBoundaries.js","../../src/utils/computeAutoPlacement.js","../../src/utils/getReferenceOffsets.js","../../src/utils/getOuterSizes.js","../../src/utils/getOppositePlacement.js","../../src/utils/getPopperOffsets.js","../../src/utils/find.js","../../src/utils/findIndex.js","../../src/utils/runModifiers.js","../../src/methods/update.js","../../src/utils/isModifierEnabled.js","../../src/utils/getSupportedPropertyName.js","../../src/methods/destroy.js","../../src/utils/getWindow.js","../../src/utils/setupEventListeners.js","../../src/methods/enableEventListeners.js","../../src/utils/removeEventListeners.js","../../src/methods/disableEventListeners.js","../../src/utils/isNumeric.js","../../src/utils/setStyles.js","../../src/utils/setAttributes.js","../../src/utils/getRoundedOffsets.js","../../src/utils/isModifierRequired.js","../../src/utils/getOppositeVariation.js","../../src/utils/clockwise.js","../../src/modifiers/offset.js","../../src/modifiers/arrow.js","../../src/utils/isBrowser.js","../../src/utils/debounce.js","../../src/modifiers/computeStyle.js","../../src/modifiers/flip.js","../../src/index.js","../../src/methods/defaults.js","../../src/modifiers/index.js","../../src/modifiers/shift.js","../../src/modifiers/preventOverflow.js","../../src/modifiers/keepTogether.js","../../src/modifiers/inner.js","../../src/modifiers/hide.js","../../src/modifiers/applyStyle.js"],"sourcesContent":["/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`], 10) +\n parseFloat(styles[`border${sideB}Width`], 10)\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop, 10);\n const marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`], 10);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`], 10);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n"],"names":["functionToCheck","getType","toString","call","element","nodeType","window","ownerDocument","defaultView","css","getComputedStyle","property","nodeName","parentNode","host","document","body","getStyleComputedProperty","overflow","overflowX","overflowY","test","getScrollParent","getParentNode","reference","referenceNode","version","isIE11","documentElement","noOffsetParent","isIE","offsetParent","nextElementSibling","indexOf","getOffsetParent","firstElementChild","node","getRoot","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","isOffsetContainer","element1root","findCommonOffsetParent","side","upperSide","html","scrollingElement","subtract","scrollTop","getScroll","scrollLeft","modifier","top","bottom","left","right","sideA","axis","sideB","parseFloat","styles","Math","parseInt","computedStyle","getSize","offsets","width","height","rect","getBoundingClientRect","result","sizes","getWindowSizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getBordersSize","getClientRect","fixedPosition","isIE10","runIsIE","isHTML","parent","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","includeScroll","excludeScroll","relativeOffset","getOffsetRectRelativeToArbitraryNode","innerWidth","innerHeight","offset","isFixed","parentElement","el","boundaries","getFixedPositionOffsetParent","getReferenceNode","boundariesElement","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","popper","padding","isPaddingNumber","placement","getBoundaries","rects","refRect","sortedAreas","Object","keys","map","getArea","sort","b","area","a","filteredAreas","filter","computedPlacement","length","key","variation","split","commonOffsetParent","x","marginBottom","y","marginRight","hash","replace","popperRect","getOuterSizes","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","referenceOffsets","getOppositePlacement","Array","prototype","find","arr","findIndex","cur","match","obj","modifiersToRun","ends","modifiers","slice","forEach","warn","fn","enabled","isFunction","data","state","isDestroyed","getReferenceOffsets","options","positionFixed","computeAutoPlacement","flip","originalPlacement","getPopperOffsets","position","runModifiers","isCreated","onUpdate","onCreate","some","name","prefixes","upperProp","charAt","toUpperCase","i","prefix","toCheck","style","isModifierEnabled","removeAttribute","willChange","getSupportedPropertyName","disableEventListeners","removeOnDestroy","removeChild","isBody","target","addEventListener","passive","push","updateBound","scrollElement","scrollParents","eventsEnabled","setupEventListeners","scheduleUpdate","removeEventListener","removeEventListeners","n","isNaN","isFinite","unit","isNumeric","value","attributes","setAttribute","round","noRound","referenceWidth","popperWidth","isVertical","isVariation","horizontalToInteger","verticalToInteger","bothOddWidth","requesting","isRequired","requested","counter","index","validPlacements","concat","reverse","str","size","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","mergeWithPrevious","op","reduce","toValue","index2","basePlacement","parseOffset","min","floor","max","navigator","longerTimeoutBrowsers","isBrowser","userAgent","supportsMicroTasks","Promise","called","resolve","then","scheduled","MSInputMethodContext","documentMode","isFirefox","placements","BEHAVIORS","Popper","requestAnimationFrame","update","debounce","bind","Defaults","jquery","modifierOptions","onLoad","enableEventListeners","destroy","Utils","global","PopperUtils","shiftvariation","shiftOffsets","instance","transformProp","popperStyles","transform","priority","check","escapeWithReference","opSide","isModifierRequired","arrowElement","querySelector","len","sideCapitalized","toLowerCase","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","arrow","flipped","placementOpposite","flipOrder","behavior","FLIP","CLOCKWISE","clockwise","COUNTERCLOCKWISE","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","subtractLength","bound","hide","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrowStyles"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"popper.min.js","sources":["../../src/utils/isFunction.js","../../src/utils/getStyleComputedProperty.js","../../src/utils/getParentNode.js","../../src/utils/getScrollParent.js","../../src/utils/getReferenceNode.js","../../src/utils/isIE.js","../../src/utils/getOffsetParent.js","../../src/utils/isOffsetContainer.js","../../src/utils/getRoot.js","../../src/utils/findCommonOffsetParent.js","../../src/utils/getScroll.js","../../src/utils/includeScroll.js","../../src/utils/getBordersSize.js","../../src/utils/getWindowSizes.js","../../src/utils/getClientRect.js","../../src/utils/getBoundingClientRect.js","../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../src/utils/isFixed.js","../../src/utils/getFixedPositionOffsetParent.js","../../src/utils/getBoundaries.js","../../src/utils/computeAutoPlacement.js","../../src/utils/getReferenceOffsets.js","../../src/utils/getOuterSizes.js","../../src/utils/getOppositePlacement.js","../../src/utils/getPopperOffsets.js","../../src/utils/find.js","../../src/utils/findIndex.js","../../src/utils/runModifiers.js","../../src/methods/update.js","../../src/utils/isModifierEnabled.js","../../src/utils/getSupportedPropertyName.js","../../src/methods/destroy.js","../../src/utils/getWindow.js","../../src/utils/setupEventListeners.js","../../src/methods/enableEventListeners.js","../../src/utils/removeEventListeners.js","../../src/methods/disableEventListeners.js","../../src/utils/isNumeric.js","../../src/utils/setStyles.js","../../src/utils/setAttributes.js","../../src/utils/getRoundedOffsets.js","../../src/utils/isModifierRequired.js","../../src/utils/getOppositeVariation.js","../../src/utils/clockwise.js","../../src/modifiers/offset.js","../../src/modifiers/arrow.js","../../src/utils/isBrowser.js","../../src/utils/debounce.js","../../src/modifiers/computeStyle.js","../../src/modifiers/flip.js","../../src/index.js","../../src/methods/defaults.js","../../src/modifiers/index.js","../../src/modifiers/shift.js","../../src/modifiers/preventOverflow.js","../../src/modifiers/keepTogether.js","../../src/modifiers/inner.js","../../src/modifiers/hide.js","../../src/modifiers/applyStyle.js"],"sourcesContent":["/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`]);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n"],"names":["functionToCheck","getType","toString","call","element","nodeType","window","ownerDocument","defaultView","css","getComputedStyle","property","nodeName","parentNode","host","document","body","getStyleComputedProperty","overflow","overflowX","overflowY","test","getScrollParent","getParentNode","reference","referenceNode","version","isIE11","documentElement","noOffsetParent","isIE","offsetParent","nextElementSibling","indexOf","getOffsetParent","firstElementChild","node","getRoot","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","isOffsetContainer","element1root","findCommonOffsetParent","side","upperSide","html","scrollingElement","subtract","scrollTop","getScroll","scrollLeft","modifier","top","bottom","left","right","sideA","axis","sideB","parseFloat","styles","Math","parseInt","computedStyle","getSize","offsets","width","height","rect","getBoundingClientRect","result","sizes","getWindowSizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getBordersSize","getClientRect","fixedPosition","isIE10","runIsIE","isHTML","parent","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","includeScroll","excludeScroll","relativeOffset","getOffsetRectRelativeToArbitraryNode","innerWidth","innerHeight","offset","isFixed","parentElement","el","boundaries","getFixedPositionOffsetParent","getReferenceNode","boundariesElement","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","popper","padding","isPaddingNumber","placement","getBoundaries","rects","refRect","sortedAreas","Object","keys","map","getArea","sort","b","area","a","filteredAreas","filter","computedPlacement","length","key","variation","split","commonOffsetParent","x","marginBottom","y","marginRight","hash","replace","popperRect","getOuterSizes","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","referenceOffsets","getOppositePlacement","Array","prototype","find","arr","findIndex","cur","match","obj","modifiersToRun","ends","modifiers","slice","forEach","warn","fn","enabled","isFunction","data","state","isDestroyed","getReferenceOffsets","options","positionFixed","computeAutoPlacement","flip","originalPlacement","getPopperOffsets","position","runModifiers","isCreated","onUpdate","onCreate","some","name","prefixes","upperProp","charAt","toUpperCase","i","prefix","toCheck","style","isModifierEnabled","removeAttribute","willChange","getSupportedPropertyName","disableEventListeners","removeOnDestroy","removeChild","isBody","target","addEventListener","passive","push","updateBound","scrollElement","scrollParents","eventsEnabled","setupEventListeners","scheduleUpdate","removeEventListener","removeEventListeners","n","isNaN","isFinite","unit","isNumeric","value","attributes","setAttribute","round","noRound","referenceWidth","popperWidth","isVertical","isVariation","horizontalToInteger","verticalToInteger","bothOddWidth","requesting","isRequired","requested","counter","index","validPlacements","concat","reverse","str","size","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","mergeWithPrevious","op","reduce","toValue","index2","basePlacement","parseOffset","min","floor","max","navigator","longerTimeoutBrowsers","isBrowser","userAgent","supportsMicroTasks","Promise","called","resolve","then","scheduled","MSInputMethodContext","documentMode","isFirefox","placements","BEHAVIORS","Popper","requestAnimationFrame","update","debounce","bind","Defaults","jquery","modifierOptions","onLoad","enableEventListeners","destroy","Utils","global","PopperUtils","shiftvariation","shiftOffsets","instance","transformProp","popperStyles","transform","priority","check","escapeWithReference","opSide","isModifierRequired","arrowElement","querySelector","len","sideCapitalized","toLowerCase","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","arrow","flipped","placementOpposite","flipOrder","behavior","FLIP","CLOCKWISE","clockwise","COUNTERCLOCKWISE","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","subtractLength","bound","hide","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrowStyles"],"mappings":"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"}
\ No newline at end of file
diff --git a/HOME/Web.config b/HOME/Web.config
index ba8a5a1..d819129 100644
--- a/HOME/Web.config
+++ b/HOME/Web.config
@@ -62,6 +62,14 @@
+
+
+
+
+
+
+
+
@@ -72,15 +80,7 @@
-
-
-
-
-
-
-
-
-
+
diff --git a/HOME/packages.config b/HOME/packages.config
index d6d8378..46b94c9 100644
--- a/HOME/packages.config
+++ b/HOME/packages.config
@@ -8,22 +8,22 @@
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.Mvc.5.2.3/Content/Web.config.install.xdt b/packages/Microsoft.AspNet.Mvc.5.2.3/Content/Web.config.install.xdt
deleted file mode 100644
index 2b7fbfb..0000000
--- a/packages/Microsoft.AspNet.Mvc.5.2.3/Content/Web.config.install.xdt
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.Mvc.5.2.3/Content/Web.config.uninstall.xdt b/packages/Microsoft.AspNet.Mvc.5.2.3/Content/Web.config.uninstall.xdt
deleted file mode 100644
index efc0325..0000000
--- a/packages/Microsoft.AspNet.Mvc.5.2.3/Content/Web.config.uninstall.xdt
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.Mvc.5.2.3/Microsoft.AspNet.Mvc.5.2.3.nupkg b/packages/Microsoft.AspNet.Mvc.5.2.3/Microsoft.AspNet.Mvc.5.2.3.nupkg
deleted file mode 100644
index 858c2df..0000000
Binary files a/packages/Microsoft.AspNet.Mvc.5.2.3/Microsoft.AspNet.Mvc.5.2.3.nupkg and /dev/null differ
diff --git a/packages/Microsoft.AspNet.Mvc.5.2.3/lib/net45/System.Web.Mvc.dll b/packages/Microsoft.AspNet.Mvc.5.2.3/lib/net45/System.Web.Mvc.dll
deleted file mode 100644
index eb088f2..0000000
Binary files a/packages/Microsoft.AspNet.Mvc.5.2.3/lib/net45/System.Web.Mvc.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.Mvc.5.2.3/lib/net45/System.Web.Mvc.xml b/packages/Microsoft.AspNet.Mvc.5.2.3/lib/net45/System.Web.Mvc.xml
deleted file mode 100644
index b4b6df8..0000000
--- a/packages/Microsoft.AspNet.Mvc.5.2.3/lib/net45/System.Web.Mvc.xml
+++ /dev/null
@@ -1,11485 +0,0 @@
-
-
-
- System.Web.Mvc
-
-
-
- Represents an attribute that specifies which HTTP verbs an action method will respond to.
-
-
- Initializes a new instance of the class by using a list of HTTP verbs that the action method will respond to.
- The HTTP verbs that the action method will respond to.
- The parameter is null or zero length.
-
-
- Initializes a new instance of the class using the HTTP verbs that the action method will respond to.
- The HTTP verbs that the action method will respond to.
-
-
- Determines whether the specified method information is valid for the specified controller context.
- true if the method information is valid; otherwise, false.
- The controller context.
- The method information.
- The parameter is null.
-
-
- Gets or sets the list of HTTP verbs that the action method will respond to.
- The list of HTTP verbs that the action method will respond to.
-
-
- Provides information about an action method, such as its name, controller, parameters, attributes, and filters.
-
-
- Initializes a new instance of the class.
-
-
- Gets the name of the action method.
- The name of the action method.
-
-
- Gets the controller descriptor.
- The controller descriptor.
-
-
- Executes the action method by using the specified parameters and controller context.
- The result of executing the action method.
- The controller context.
- The parameters of the action method.
-
-
- Returns an array of custom attributes that are defined for this member, excluding named attributes.
- An array of custom attributes, or an empty array if no custom attributes exist.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
- The custom attribute type cannot be loaded.
- There is more than one attribute of type defined for this member.
-
-
- Returns an array of custom attributes that are defined for this member, identified by type.
- An array of custom attributes, or an empty array if no custom attributes of the specified type exist.
- The type of the custom attributes.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
- The custom attribute type cannot be loaded.
- There is more than one attribute of type defined for this member.
- The parameter is null.
-
-
- Gets the filter attributes.
- The filter attributes.
- true to use the cache, otherwise false.
-
-
- Returns the filters that are associated with this action method.
- The filters that are associated with this action method.
-
-
- Returns the parameters of the action method.
- The parameters of the action method.
-
-
- Returns the action-method selectors.
- The action-method selectors.
-
-
- Determines whether one or more instances of the specified attribute type are defined for this member.
- true if is defined for this member; otherwise, false.
- The type of the custom attribute.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
- The parameter is null.
-
-
- Gets the unique ID for the action descriptor using lazy initialization.
- The unique ID.
-
-
- Provides the context for the ActionExecuted method of the class.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class.
- The controller context.
- The action method descriptor.
- true if the action is canceled.
- The exception object.
- The parameter is null.
-
-
- Gets or sets the action descriptor.
- The action descriptor.
-
-
- Gets or sets a value that indicates that this object is canceled.
- true if the context canceled; otherwise, false.
-
-
- Gets or sets the exception that occurred during the execution of the action method, if any.
- The exception that occurred during the execution of the action method.
-
-
- Gets or sets a value that indicates whether the exception is handled.
- true if the exception is handled; otherwise, false.
-
-
- Gets or sets the result returned by the action method.
- The result returned by the action method.
-
-
- Provides the context for the ActionExecuting method of the class.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class by using the specified controller context, action descriptor, and action-method parameters.
- The controller context.
- The action descriptor.
- The action-method parameters.
- The or parameter is null.
-
-
- Gets or sets the action descriptor.
- The action descriptor.
-
-
- Gets or sets the action-method parameters.
- The action-method parameters.
-
-
- Gets or sets the result that is returned by the action method.
- The result that is returned by the action method.
-
-
- Represents the base class for filter attributes.
-
-
- Initializes a new instance of the class.
-
-
- Called by the ASP.NET MVC framework after the action method executes.
- The filter context.
-
-
- Called by the ASP.NET MVC framework before the action method executes.
- The filter context.
-
-
- Called by the ASP.NET MVC framework after the action result executes.
- The filter context.
-
-
- Called by the ASP.NET MVC framework before the action result executes.
- The filter context.
-
-
- Represents an attribute that is used to influence the selection of an action method.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether the action method selection is valid for the specified controller context.
- true if the action method selection is valid for the specified controller context; otherwise, false.
- The controller context.
- Information about the action method.
-
-
- Represents an attribute that is used for the name of an action.
-
-
- Initializes a new instance of the class.
- Name of the action.
- The parameter is null or empty.
-
-
- Determines whether the action name is valid within the specified controller context.
- true if the action name is valid within the specified controller context; otherwise, false.
- The controller context.
- The name of the action.
- Information about the action method.
-
-
- Gets or sets the name of the action.
- The name of the action.
-
-
- Represents an attribute that affects the selection of an action method.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether the action name is valid in the specified controller context.
- true if the action name is valid in the specified controller context; otherwise, false.
- The controller context.
- The name of the action.
- Information about the action method.
-
-
- Represents the result of an action method.
-
-
- Initializes a new instance of the class.
-
-
- Enables processing of the result of an action method by a custom type that inherits from the class.
- The context in which the result is executed. The context information includes the controller, HTTP content, request context, and route data.
-
-
- Represents a delegate that contains the logic for selecting an action method.
-
-
- Provides a class that implements the interface in order to support additional metadata.
-
-
- Initializes a new instance of the class.
- The name of the model metadata.
- The value of the model metadata.
-
-
- Gets the name of the additional metadata attribute.
- The name of the of the additional metadata attribute.
-
-
- Provides metadata to the model metadata creation process.
- The meta data.
-
-
- Gets the type of the of the additional metadata attribute.
- The type of the of the additional metadata attribute.
-
-
- Gets the value of the of the additional metadata attribute.
- The value of the of the additional metadata attribute.
-
-
- Represents support for rendering HTML in AJAX scenarios within a view.
-
-
- Initializes a new instance of the class using the specified view context and view data container.
- The view context.
- The view data container.
- One or both of the parameters is null.
-
-
- Initializes a new instance of the class by using the specified view context, view data container, and route collection.
- The view context.
- The view data container.
- The URL route collection.
- One or more of the parameters is null.
-
-
- Gets or sets the root path for the location to use for globalization script files.
- The location of the folder where globalization script files are stored. The default location is "~/Scripts/Globalization".
-
-
- Serializes the specified message and returns the resulting JSON-formatted string.
- The serialized message as a JSON-formatted string.
- The message to serialize.
-
-
- Gets the collection of URL routes for the application.
- The collection of routes for the application.
-
-
- Gets the ViewBag.
- The ViewBag.
-
-
- Gets the context information about the view.
- The context of the view.
-
-
- Gets the current view data dictionary.
- The view data dictionary.
-
-
- Gets the view data container.
- The view data container.
-
-
- Represents support for rendering HTML in AJAX scenarios within a strongly typed view.
- The type of the model.
-
-
- Initializes a new instance of the class by using the specified view context and view data container.
- The view context.
- The view data container.
-
-
- Initializes a new instance of the class by using the specified view context, view data container, and URL route collection.
- The view context.
- The view data container.
- The URL route collection.
-
-
- Gets the ViewBag.
- The ViewBag.
-
-
- Gets the strongly typed version of the view data dictionary.
- The strongly typed data dictionary of the view.
-
-
- Represents a class that extends the class by adding the ability to determine whether an HTTP request is an AJAX request.
-
-
- Determines whether the specified HTTP request is an AJAX request.
- true if the specified HTTP request is an AJAX request; otherwise, false.
- The HTTP request.
- The parameter is null (Nothing in Visual Basic).
-
-
- Represents an attribute that marks controllers and actions to skip the during authorization.
-
-
- Initializes a new instance of the class.
-
-
- Allows a request to include HTML markup during model binding by skipping request validation for the property. (It is strongly recommended that your application explicitly check all models where you disable request validation in order to prevent script exploits.)
-
-
- Initializes a new instance of the class.
-
-
- This method supports the ASP.NET MVC validation infrastructure and is not intended to be used directly from your code.
- The model metadata.
-
-
- Controls interpretation of a controller name when constructing a .
-
-
- Find the controller in the current area.
-
-
- Find the controller in the root area.
-
-
- Provides a way to register one or more areas in an ASP.NET MVC application.
-
-
- Initializes a new instance of the class.
-
-
- Gets the name of the area to register.
- The name of the area to register.
-
-
- Registers all areas in an ASP.NET MVC application.
-
-
- Registers all areas in an ASP.NET MVC application by using the specified user-defined information.
- An object that contains user-defined information to pass to the area.
-
-
- Registers an area in an ASP.NET MVC application using the specified area's context information.
- Encapsulates the information that is required in order to register the area.
-
-
- Encapsulates the information that is required in order to register an area within an ASP.NET MVC application.
-
-
- Initializes a new instance of the class using the specified area name and routes collection.
- The name of the area to register.
- The collection of routes for the application.
-
-
- Initializes a new instance of the class using the specified area name, routes collection, and user-defined data.
- The name of the area to register.
- The collection of routes for the application.
- An object that contains user-defined information to pass to the area.
-
-
- Gets the name of the area to register.
- The name of the area to register.
-
-
- Maps the specified URL route and associates it with the area that is specified by the property.
- A reference to the mapped route.
- The name of the route.
- The URL pattern for the route.
- The parameter is null.
-
-
- Maps the specified URL route and associates it with the area that is specified by the property, using the specified route default values.
- A reference to the mapped route.
- The name of the route.
- The URL pattern for the route.
- An object that contains default route values.
- The parameter is null.
-
-
- Maps the specified URL route and associates it with the area that is specified by the property, using the specified route default values and constraint.
- A reference to the mapped route.
- The name of the route.
- The URL pattern for the route.
- An object that contains default route values.
- A set of expressions that specify valid values for a URL parameter.
- The parameter is null.
-
-
- Maps the specified URL route and associates it with the area that is specified by the property, using the specified route default values, constraints, and namespaces.
- A reference to the mapped route.
- The name of the route.
- The URL pattern for the route.
- An object that contains default route values.
- A set of expressions that specify valid values for a URL parameter.
- An enumerable set of namespaces for the application.
- The parameter is null.
-
-
- Maps the specified URL route and associates it with the area that is specified by the property, using the specified route default values and namespaces.
- A reference to the mapped route.
- The name of the route.
- The URL pattern for the route.
- An object that contains default route values.
- An enumerable set of namespaces for the application.
- The parameter is null.
-
-
- Maps the specified URL route and associates it with the area that is specified by the property, using the specified namespaces.
- A reference to the mapped route.
- The name of the route.
- The URL pattern for the route.
- An enumerable set of namespaces for the application.
- The parameter is null.
-
-
- Gets the namespaces for the application.
- An enumerable set of namespaces for the application.
-
-
- Gets a collection of defined routes for the application.
- A collection of defined routes for the application.
-
-
- Gets an object that contains user-defined information to pass to the area.
- An object that contains user-defined information to pass to the area.
-
-
- Provides an abstract class to implement a metadata provider.
-
-
- Called from constructors in a derived class to initialize the class.
-
-
- When overridden in a derived class, creates the model metadata for the property.
- The model metadata for the property.
- The set of attributes.
- The type of the container.
- The model accessor.
- The type of the model.
- The name of the property.
-
-
- Gets a list of attributes.
- A list of attributes.
- The type of the container.
- The property descriptor.
- The attribute container.
-
-
- Returns a list of properties for the model.
- A list of properties for the model.
- The model container.
- The type of the container.
-
-
- Returns the metadata for the specified property using the container type and property descriptor.
- The metadata for the specified property using the container type and property descriptor.
- The model accessor.
- The type of the container.
- The property descriptor
-
-
- Returns the metadata for the specified property using the container type and property name.
- The metadata for the specified property using the container type and property name.
- The model accessor.
- The type of the container.
- The name of the property.
-
-
- Returns the metadata for the specified property using the type of the model.
- The metadata for the specified property using the type of the model.
- The model accessor.
- The type of the model.
-
-
- Returns the type descriptor from the specified type.
- The type descriptor.
- The type.
-
-
- Provides an abstract class for classes that implement a validation provider.
-
-
- Called from constructors in derived classes to initialize the class.
-
-
- Gets a type descriptor for the specified type.
- A type descriptor for the specified type.
- The type of the validation provider.
-
-
- Gets the validators for the model using the metadata and controller context.
- The validators for the model.
- The metadata.
- The controller context.
-
-
- Gets the validators for the model using the metadata, the controller context, and a list of attributes.
- The validators for the model.
- The metadata.
- The controller context.
- The list of attributes.
-
-
- Provided for backward compatibility with ASP.NET MVC 3.
-
-
- Initializes a new instance of the class.
-
-
- Represents an attribute that is used to set the timeout value, in milliseconds, for an asynchronous method.
-
-
- Initializes a new instance of the class.
- The timeout value, in milliseconds.
-
-
- Gets the timeout duration, in milliseconds.
- The timeout duration, in milliseconds.
-
-
- Called by ASP.NET before the asynchronous action method executes.
- The filter context.
-
-
- Encapsulates the information that is required for using an attribute.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using the specified controller context.
- The context within which the result is executed. The context information includes the controller, HTTP content, request context, and route data.
-
-
- Initializes a new instance of the class using the specified controller context and action descriptor.
- The context in which the result is executed. The context information includes the controller, HTTP content, request context, and route data.
- An object that provides information about an action method, such as its name, controller, parameters, attributes, and filters.
-
-
- Provides information about the action method that is marked by the attribute, such as its name, controller, parameters, attributes, and filters.
- The action descriptor for the action method that is marked by the attribute.
-
-
- Gets or sets the result that is returned by an action method.
- The result that is returned by an action method.
-
-
- Specifies that access to a controller or action method is restricted to users who meet the authorization requirement.
-
-
- Initializes a new instance of the class.
-
-
- When overridden, provides an entry point for custom authorization checks.
- true if the user is authorized; otherwise, false.
- The HTTP context, which encapsulates all HTTP-specific information about an individual HTTP request.
- The parameter is null.
-
-
- Processes HTTP requests that fail authorization.
- Encapsulates the information for using . The object contains the controller, HTTP context, request context, action result, and route data.
-
-
- Called when a process requests authorization.
- The filter context, which encapsulates information for using .
- The parameter is null.
-
-
- Called when the caching module requests authorization.
- A reference to the validation status.
- The HTTP context, which encapsulates all HTTP-specific information about an individual HTTP request.
- The parameter is null.
-
-
- Gets or sets the user roles that are authorized to access the controller or action method.
- The user roles that are authorized to access the controller or action method.
-
-
- Gets the unique identifier for this attribute.
- The unique identifier for this attribute.
-
-
- Gets or sets the users that are authorized to access the controller or action method.
- The users that are authorized to access the controller or action method.
-
-
- Represents an attribute that is used to provide details about how model binding to a parameter should occur.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets a comma-delimited list of property names for which binding is not allowed.
- The exclude list.
-
-
- Gets or sets a comma-delimited list of property names for which binding is allowed.
- The include list.
-
-
- Determines whether the specified property is allowed.
- true if the specified property is allowed; otherwise, false.
- The name of the property.
-
-
- Gets or sets the prefix to use when markup is rendered for binding to an action argument or to a model property.
- The prefix to use.
-
-
- Represents the base class for views that are compiled by the BuildManager class before being rendered by a view engine.
-
-
- Initializes a new instance of the class using the specified controller context and view path.
- The controller context.
- The view path.
-
-
- Initializes a new instance of the class using the specified controller context, view path, and view page activator.
- Context information for the current controller. This information includes the HTTP context, request context, route data, parent action view context, and more.
- The path to the view that will be rendered.
- The object responsible for dynamically constructing the view page at run time.
- The parameter is null.
- The parameter is null or empty.
-
-
- Renders the specified view context by using the specified the writer object.
- Information related to rendering a view, such as view data, temporary data, and form context.
- The writer object.
- The parameter is null.
- An instance of the view type could not be created.
-
-
- When overridden in a derived class, renders the specified view context by using the specified writer object and object instance.
- Information related to rendering a view, such as view data, temporary data, and form context.
- The writer object.
- An object that contains additional information that can be used in the view.
-
-
- Gets or sets the view path.
- The view path.
-
-
- Provides a base class for view engines.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using the specified view page activator.
- The view page activator.
-
-
- Gets a value that indicates whether a file exists in the specified virtual file system (path).
- true if the file exists in the virtual file system; otherwise, false.
- The controller context.
- The virtual path.
-
-
-
- Gets the view page activator.
- The view page activator.
-
-
- Maps a browser request to a byte array.
-
-
- Initializes a new instance of the class.
-
-
- Binds the model by using the specified controller context and binding context.
- The bound data object.Implements
- The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
- The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
- The parameter is null.
-
-
- Provides an abstract class to implement a cached metadata provider.
-
-
-
- Initializes a new instance of the class.
-
-
- Gets the cache item policy.
- The cache item policy.
-
-
- Gets the cache key prefix.
- The cache key prefix.
-
-
- When overridden in a derived class, creates the cached model metadata for the property.
- The cached model metadata for the property.
- The attributes.
- The container type.
- The model accessor.
- The model type.
- The property name.
-
-
- Creates prototype metadata by applying the prototype and model access to yield the final metadata.
- The prototype metadata.
- The prototype.
- The model accessor.
-
-
- Creates a metadata prototype.
- A metadata prototype.
- The attributes.
- The container type.
- The model type.
- The property name.
-
-
- Gets the metadata for the properties.
- The metadata for the properties.
- The container.
- The container type.
-
-
- Returns the metadata for the specified property.
- The metadata for the specified property.
- The model accessor.
- The container type.
- The property descriptor.
-
-
- Returns the metadata for the specified property.
- The metadata for the specified property.
- The model accessor.
- The container type.
- The property name.
-
-
- Returns the cached metadata for the specified property using the type of the model.
- The cached metadata for the specified property using the type of the model.
- The model accessor.
- The type of the container.
-
-
- Gets the prototype cache.
- The prototype cache.
-
-
- Provides a container to cache attributes.
-
-
- Initializes a new instance of the class.
- The attributes.
-
-
- Gets the data type.
- The data type.
-
-
- Gets the display.
- The display.
-
-
- Gets the display column.
- The display column.
-
-
- Gets the display format.
- The display format.
-
-
- Gets the display name.
- The display name.
-
-
- Indicates whether a data field is editable.
- true if the field is editable; otherwise, false.
-
-
- Gets the hidden input.
- The hidden input.
-
-
- Indicates whether a data field is read only.
- true if the field is read only; otherwise, false.
-
-
- Indicates whether a data field is required.
- true if the field is required; otherwise, false.
-
-
- Indicates whether a data field is scaffold.
- true if the field is scaffold; otherwise, false.
-
-
- Gets the UI hint.
- The UI hint.
-
-
- Provides a container to cache .
-
-
- Initializes a new instance of the class using the prototype and model accessor.
- The prototype.
- The model accessor.
-
-
- Initializes a new instance of the class using the provider, container type, model type, property name and attributes.
- The provider.
- The container type.
- The model type.
- The property name.
- The attributes.
-
-
- Gets a value that indicates whether empty strings that are posted back in forms should be converted to Nothing.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- A value that indicates whether empty strings that are posted back in forms should be converted to Nothing.
-
-
- Gets meta information about the data type.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- Meta information about the data type.
-
-
- Gets the description of the model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- The description of the model.
-
-
- Gets the display format string for the model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- The display format string for the model.
-
-
- Gets the display name of the model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- The display name of the model.
-
-
- Gets the edit format string of the model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- The edit format string of the model.
-
-
- Gets a value that indicates whether the model uses a non-default edit format.
- A value that indicates whether non-default edit format is used.
-
-
- Gets a value that indicates whether the model object should be rendered using associated HTML elements.Gets a value that indicates whether the model object should be rendered using associated HTML elements.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- A value that indicates whether the model object should be rendered using associated HTML elements.
-
-
- Gets a value that indicates whether the model is read-only.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- A value that indicates whether the model is read-only.
-
-
- Gets a value that indicates whether the model is required.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- A value that indicates whether the model is required.
-
-
- Gets the string to display for null values.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- The string to display for null values.
-
-
- Gets a value that represents order of the current metadata.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- A value that represents order of the current metadata.
-
-
- Gets a short display name.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- A short display name.
-
-
- Gets a value that indicates whether the property should be displayed in read-only views such as list and detail views.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- A value that indicates whether the property should be displayed in read-only views such as list and detail views.
-
-
- Gets or sets a value that indicates whether the model should be displayed in editable views.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- Returns .
-
-
- Gets the simple display string for the model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- The simple display string for the model.
-
-
- Gets a hint that suggests what template to use for this model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- A hint that suggests what template to use for this model.
-
-
- Gets a value that can be used as a watermark.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
- A value that can be used as a watermark.
-
-
- Implements the default cached model metadata provider for ASP.NET MVC.
-
-
- Initializes a new instance of the class.
-
-
- Returns a container of real instances of the cached metadata class based on prototype and model accessor.
- A container of real instances of the cached metadata class.
- The prototype.
- The model accessor.
-
-
- Returns a container prototype instances of the metadata class.
- a container prototype instances of the metadata class.
- The attributes type.
- The container type.
- The model type.
- The property name.
-
-
- Provides a container for cached metadata.
- he type of the container.
-
-
- Constructor for creating real instances of the metadata class based on a prototype.
- The provider.
- The container type.
- The model type.
- The property name.
- The prototype.
-
-
- Constructor for creating the prototype instances of the metadata class.
- The prototype.
- The model accessor.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether empty strings that are posted back in forms should be converted to null.
- A cached value that indicates whether empty strings that are posted back in forms should be converted to null.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets meta information about the data type.
- Meta information about the data type.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the description of the model.
- The description of the model.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the display format string for the model.
- The display format string for the model.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the display name of the model.
- The display name of the model.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the edit format string of the model.
- The edit format string of the model.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .
- A value that indicates whether a non-default edit format is used.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether the model object should be rendered using associated HTML elements.
- A cached value that indicates whether the model object should be rendered using associated HTML elements.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether the model is read-only.
- A cached value that indicates whether the model is read-only.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether the model is required.
- A cached value that indicates whether the model is required.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the cached string to display for null values.
- The cached string to display for null values.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that represents order of the current metadata.
- A cached value that represents order of the current metadata.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a short display name.
- A short display name.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether the property should be displayed in read-only views such as list and detail views.
- A cached value that indicates whether the property should be displayed in read-only views such as list and detail views.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether the model should be displayed in editable views.
- A cached value that indicates whether the model should be displayed in editable views.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the cached simple display string for the model.
- The cached simple display string for the model.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached hint that suggests what template to use for this model.
- A cached hint that suggests what template to use for this model.
-
-
- This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that can be used as a watermark.
- A cached value that can be used as a watermark.
-
-
- Gets or sets a cached value that indicates whether empty strings that are posted back in forms should be converted to null.
- A cached value that indicates whether empty strings that are posted back in forms should be converted to null.
-
-
- Gets or sets meta information about the data type.
- The meta information about the data type.
-
-
- Gets or sets the description of the model.
- The description of the model.
-
-
- Gets or sets the display format string for the model.
- The display format string for the model.
-
-
- Gets or sets the display name of the model.
- The display name of the model.
-
-
- Gets or sets the edit format string of the model.
- The edit format string of the model.
-
-
- Gets or sets the simple display string for the model.
- The simple display string for the model.
-
-
- Gets or sets a value that indicates whether the model object should be rendered using associated HTML elements.
- A value that indicates whether the model object should be rendered using associated HTML elements.
-
-
- Gets or sets a value that indicates whether the model is read-only.
- A value that indicates whether the model is read-only.
-
-
- Gets or sets a value that indicates whether the model is required.
- A value that indicates whether the model is required.
-
-
- Gets or sets the string to display for null values.
- The string to display for null values.
-
-
- Gets or sets a value that represents order of the current metadata.
- The order value of the current metadata.
-
-
- Gets or sets the prototype cache.
- The prototype cache.
-
-
- Gets or sets a short display name.
- The short display name.
-
-
- Gets or sets a value that indicates whether the property should be displayed in read-only views such as list and detail views.
- true if the model should be displayed in read-only views; otherwise, false.
-
-
- Gets or sets a value that indicates whether the model should be displayed in editable views.
- true if the model should be displayed in editable views; otherwise, false.
-
-
- Gets or sets the simple display string for the model.
- The simple display string for the model.
-
-
- Gets or sets a hint that suggests what template to use for this model.
- A hint that suggests what template to use for this model.
-
-
- Gets or sets a value that can be used as a watermark.
- A value that can be used as a watermark.
-
-
- Provides a mechanism to propagates notification that model binder operations should be canceled.
-
-
- Initializes a new instance of the class.
-
-
- Returns the default cancellation token.
- The default cancellation token.Implements
- The controller context.
- The binding context.
-
-
- Represents an attribute that is used to indicate that an action method should be called only as a child action.
-
-
- Initializes a new instance of the class.
-
-
- Called when authorization is required.
- An object that encapsulates the information that is required in order to authorize access to the child action.
-
-
- Represents a value provider for values from child actions.
-
-
- Initializes a new instance of the class.
- The controller context.
-
-
- Retrieves a value object using the specified key.
- The value object for the specified key.
- The key.
-
-
- Represents a factory for creating value provider objects for child actions.
-
-
- Initializes a new instance of the class.
-
-
- Returns a object for the specified controller context.
- A object.
- The controller context.
-
-
- Returns the client data-type model validators.
-
-
- Initializes a new instance of the class.
-
-
- Returns the client data-type model validators.
- The client data-type model validators.
- The metadata.
- The context.
-
-
- Gets the resource class key.
- The resource class key.
-
-
- Provides an attribute that compares two properties of a model.
-
-
- Initializes a new instance of the class.
- The property to compare with the current property.
-
-
- Applies formatting to an error message based on the data field where the compare error occurred.
- The formatted error message.
- The name of the field that caused the validation failure.
-
-
- Formats the property for client validation by prepending an asterisk (*) and a dot.
- The string "*." is prepended to the property.
- The property.
-
-
- Gets a list of compare-value client validation rules for the property using the specified model metadata and controller context.
- A list of compare-value client validation rules.
- The model metadata.
- The controller context.
-
-
- Determines whether the specified object is equal to the compared object.
- null if the value of the compared property is equal to the value parameter; otherwise, a validation result that contains the error message that indicates that the comparison failed.
- The value of the object to compare.
- The validation context.
-
-
- Gets the property to compare with the current property.
- The property to compare with the current property.
-
-
- Gets the other properties display name.
- The other properties display name.
-
-
- Represents a user-defined content type that is the result of an action method.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the content.
- The content.
-
-
- Gets or sets the content encoding.
- The content encoding.
-
-
- Gets or sets the type of the content.
- The type of the content.
-
-
- Enables processing of the result of an action method by a custom type that inherits from the class.
- The context within which the result is executed.
- The parameter is null.
-
-
- Provides methods that respond to HTTP requests that are made to an ASP.NET MVC Web site.
-
-
- Initializes a new instance of the class.
-
-
- Gets the action invoker for the controller.
- The action invoker.
-
-
- Provides asynchronous operations.
- Returns .
-
-
- Begins execution of the specified request context
- Returns an IAsyncController instance.
- The request context.
- The asynchronous callback.
- The state.
-
-
- Begins to invoke the action in the current controller context.
- Returns an IAsyncController instance.
- The callback.
- The state.
-
-
- Gets or sets the binder.
- The binder.
-
-
- Creates a content result object by using a string.
- The content result instance.
- The content to write to the response.
-
-
- Creates a content result object by using a string and the content type.
- The content result instance.
- The content to write to the response.
- The content type (MIME type).
-
-
- Creates a content result object by using a string, the content type, and content encoding.
- The content result instance.
- The content to write to the response.
- The content type (MIME type).
- The content encoding.
-
-
- Creates an action invoker.
- An action invoker.
-
-
- Creates a temporary data provider.
- A temporary data provider.
-
-
- Gets whether to disable the asynchronous support for the controller.
- true to disable the asynchronous support for the controller; otherwise, false.
-
-
- Releases all resources that are used by the current instance of the class.
-
-
- Releases unmanaged resources and optionally releases managed resources.
- true to release both managed and unmanaged resources; false to release only unmanaged resources.
-
-
- Ends the invocation of the action in the current controller context.
- The asynchronous result.
-
-
- Ends the execute core.
- The asynchronous result.
-
-
- Invokes the action in the current controller context.
-
-
- Creates a FileContentResult object by using the file contents and file type.
- The file-content result object.
- The binary content to send to the response.
- The content type (MIME type).
-
-
- Creates a FileContentResult object by using the file contents, content type, and the destination file name.
- The file-content result object.
- The binary content to send to the response.
- The content type (MIME type).
- The file name to use in the file-download dialog box that is displayed in the browser.
-
-
- Creates a FileStreamResult object by using the Stream object and content type.
- The file-content result object.
- The stream to send to the response.
- The content type (MIME type).
-
-
- Creates a FileStreamResult object using the Stream object, the content type, and the target file name.
- The file-stream result object.
- The stream to send to the response.
- The content type (MIME type)
- The file name to use in the file-download dialog box that is displayed in the browser.
-
-
- Creates a FilePathResult object by using the file name and the content type.
- The file-stream result object.
- The path of the file to send to the response.
- The content type (MIME type).
-
-
- Creates a FilePathResult object by using the file name, the content type, and the file download name.
- The file-stream result object.
- The path of the file to send to the response.
- The content type (MIME type).
- The file name to use in the file-download dialog box that is displayed in the browser.
-
-
- Called when a request matches this controller, but no method with the specified action name is found in the controller.
- The name of the attempted action.
-
-
- Gets HTTP-specific information about an individual HTTP request.
- The HTTP context.
-
-
- Returns an instance of the class.
- An instance of the class.
-
-
- Returns an instance of the class.
- An instance of the class.
- The status description.
-
-
- Initializes data that might not be available when the constructor is called.
- The HTTP context and route data.
-
-
- Creates a object.
- The object that writes the script to the response.
- The JavaScript code to run on the client
-
-
- Creates a object that serializes the specified object to JavaScript Object Notation (JSON).
- The JSON result object that serializes the specified object to JSON format. The result object that is prepared by this method is written to the response by the ASP.NET MVC framework when the object is executed.
- The JavaScript object graph to serialize.
-
-
- Creates a object that serializes the specified object to JavaScript Object Notation (JSON) format.
- The JSON result object that serializes the specified object to JSON format.
- The JavaScript object graph to serialize.
- The content type (MIME type).
-
-
- Creates a object that serializes the specified object to JavaScript Object Notation (JSON) format.
- The JSON result object that serializes the specified object to JSON format.
- The JavaScript object graph to serialize.
- The content type (MIME type).
- The content encoding.
-
-
- Creates a object that serializes the specified object to JavaScript Object Notation (JSON) format using the content type, content encoding, and the JSON request behavior.
- The result object that serializes the specified object to JSON format.
- The JavaScript object graph to serialize.
- The content type (MIME type).
- The content encoding.
- The JSON request behavior
-
-
- Creates a object that serializes the specified object to JavaScript Object Notation (JSON) format using the specified content type and JSON request behavior.
- The result object that serializes the specified object to JSON format.
- The JavaScript object graph to serialize.
- The content type (MIME type).
- The JSON request behavior
-
-
- Creates a JsonResult object that serializes the specified object to JavaScript Object Notation (JSON) format using the specified JSON request behavior.
- The result object that serializes the specified object to JSON format.
- The JavaScript object graph to serialize.
- The JSON request behavior.
-
-
- Gets the model state dictionary object that contains the state of the model and of model-binding validation.
- The model state dictionary.
-
-
- Called after the action method is invoked.
- Information about the current request and action.
-
-
- Called before the action method is invoked.
- Information about the current request and action.
-
-
- Called when authorization occurs.
- Information about the current request and action.
-
-
- Called when authorization challenge occurs.
- Information about the current request and action.
-
-
- Called when authorization occurs.
- Information about the current request and action.
-
-
- Called when an unhandled exception occurs in the action.
- Information about the current request and action.
-
-
- Called after the action result that is returned by an action method is executed.
- Information about the current request and action result.
-
-
- Called before the action result that is returned by an action method is executed.
- Information about the current request and action result.
-
-
- Creates a object that renders a partial view.
- A partial-view result object.
-
-
- Creates a object that renders a partial view, by using the specified model.
- A partial-view result object.
- The model that is rendered by the partial view
-
-
- Creates a object that renders a partial view, by using the specified view name.
- A partial-view result object.
- The name of the view that is rendered to the response.
-
-
- Creates a object that renders a partial view, by using the specified view name and model.
- A partial-view result object.
- The name of the view that is rendered to the response.
- The model that is rendered by the partial view
-
-
- Gets the HTTP context profile.
- The HTTP context profile.
-
-
- Creates a object that redirects to the specified URL.
- The redirect result object.
- The URL to redirect to.
-
-
- Returns an instance of the class with the Permanent property set to true.
- An instance of the class with the Permanent property set to true.
- The URL to redirect to.
-
-
- Redirects to the specified action using the action name.
- The redirect result object.
- The name of the action.
-
-
- Redirects to the specified action using the action name and route values.
- The redirect result object.
- The name of the action.
- The parameters for a route.
-
-
- Redirects to the specified action using the action name and controller name.
- The redirect result object.
- The name of the action.
- The name of the controller.
-
-
- Redirects to the specified action using the action name, controller name, and route dictionary.
- The redirect result object.
- The name of the action.
- The name of the controller.
- The parameters for a route.
-
-
- Redirects to the specified action using the action name, controller name, and route values.
- The redirect result object.
- The name of the action.
- The name of the controller.
- The parameters for a route.
-
-
- Redirects to the specified action using the action name and route dictionary.
- The redirect result object.
- The name of the action.
- The parameters for a route.
-
-
- Returns an instance of the class with the Permanent property set to true using the specified action name.
- An instance of the class with the Permanent property set to true using the specified action name, controller name, and route values.
- The action name.
-
-
- Returns an instance of the class with the Permanent property set to true using the specified action name, and route values.
- An instance of the class with the Permanent property set to true using the specified action name, and route values.
- The action name.
- The route values.
-
-
- Returns an instance of the class with the Permanent property set to true using the specified action name, and controller name.
- An instance of the class with the Permanent property set to true using the specified action name, and controller name.
- The action name.
- The controller name.
-
-
- Returns an instance of the class with the Permanent property set to true using the specified action name, controller name, and route values.
- An instance of the class with the Permanent property set to true using the specified action name, controller name, and route values.
- The action name.
- The controller name.
- The route values.
-
-
- Returns an instance of the class with the Permanent property set to true using the specified action name, controller name, and route values.
- An instance of the class with the Permanent property set to true using the specified action name, controller name, and route values.
- The action name.
- The controller name.
- The route values.
-
-
- Returns an instance of the class with the Permanent property set to true using the specified action name, and route values.
- An instance of the class with the Permanent property set to true using the specified action name, and route values.
- The action name.
- The route values.
-
-
- Redirects to the specified route using the specified route values.
- The redirect-to-route result object.
- The parameters for a route.
-
-
- Redirects to the specified route using the route name.
- The redirect-to-route result object.
- The name of the route.
-
-
- Redirects to the specified route using the route name and route values.
- The redirect-to-route result object.
- The name of the route.
- The parameters for a route.
-
-
- Redirects to the specified route using the route name and route dictionary.
- The redirect-to-route result object.
- The name of the route.
- The parameters for a route.
-
-
- Redirects to the specified route using the route dictionary.
- The redirect-to-route result object.
- The parameters for a route.
-
-
- Returns an instance of the RedirectResult class with the Permanent property set to true using the specified route values.
- Returns an instance of the RedirectResult class with the Permanent property set to true.
- The route name.
-
-
- Returns an instance of the RedirectResult class with the Permanent property set to true using the specified route name.
- Returns an instance of the RedirectResult class with the Permanent property set to true using the specified route name.
- The route name.
-
-
- Returns an instance of the RedirectResult class with the Permanent property set to true using the specified route name and route values.
- An instance of the RedirectResult class with the Permanent property set to true using the specified route name and route values.
- The route name.
- The route values.
-
-
- Returns an instance of the RedirectResult class with the Permanent property set to true using the specified route name and route values.
- An instance of the RedirectResult class with the Permanent property set to true.
- The route name.
- The route values.
-
-
- Returns an instance of the RedirectResult class with the Permanent property set to true using the specified route values.
- An instance of the RedirectResult class with the Permanent property set to true using the specified route values.
- The route values.
-
-
- Gets the HttpRequestBase object for the current HTTP request.
- The request object.
-
-
- Represents a replaceable dependency resolver providing services. By default, it uses the .
-
-
- Gets the HttpResponseBase object for the current HTTP response.
- The HttpResponseBase object for the current HTTP response.
-
-
- Gets the route data for the current request.
- The route data.
-
-
- Gets the HttpServerUtilityBase object that provides methods that are used during Web request processing.
- The HTTP server object.
-
-
- Gets the HttpSessionStateBase object for the current HTTP request.
- The HTTP session-state object for the current HTTP request.
-
-
- This method calls the BeginExecute method.
- The result of the operation.
- The request context.
- The asynchronous callback.
- The state of the object.
-
-
- This method calls the EndExecute method.
- The asynchronous result of the operation.
-
-
- This method calls the OnAuthentication method.
- The filter context.
-
-
- This method calls the OnAuthenticationChallenge method.
- The filter context.
-
-
- This method calls the OnActionExecuted method.
- The filter context.
-
-
- This method calls the OnActionExecuting method.
- The filter context.
-
-
- This method calls the OnAuthorization method.
- The filter context.
-
-
- This method calls the OnException method.
- The filter context.
-
-
- This method calls the OnResultExecuted method.
- The filter context.
-
-
- This method calls the OnResultExecuting method.
- The filter context.
-
-
- Gets the temporary-data provider object that is used to store data for the next request.
- The temporary-data provider.
-
-
- Updates the specified model instance using values from the controller's current value provider.
- true if the update is successful; otherwise, false.
- The model instance to update.
- The type of the model object.
- The parameter or the ValueProvider property is null.
-
-
- Updates the specified model instance using values from the controller's current value provider and a prefix.
- true if the update is successful; otherwise, false.
- The model instance to update.
- The prefix to use when looking up values in the value provider.
- The type of the model object.
- The parameter or the ValueProvider property is null.
-
-
- Updates the specified model instance using values from the controller's current value provider, a prefix, and included properties.
- true if the update is successful; otherwise, false.
- The model instance to update.
- The prefix to use when looking up values in the value provider.
- A list of properties of the model to update.
- The type of the model object.
- The parameter or the ValueProvider property is null.
-
-
- Updates the specified model instance using values from the controller's current value provider, a prefix, a list of properties to exclude, and a list of properties to include.
- true if the update is successful; otherwise, false.
- The model instance to update.
- The prefix to use when looking up values in the value provider.
- A list of properties of the model to update.
- A list of properties to explicitly exclude from the update. These are excluded even if they are listed in the includeProperties parameter list.
- The type of the model object.
- The parameter or the ValueProvider property is null.
-
-
- Updates the specified model instance using values from the value provider, a prefix, a list of properties to exclude , and a list of properties to include.
- true if the update is successful; otherwise, false.
- The model instance to update.
- The prefix to use when looking up values in the value provider.
- A list of properties of the model to update.
- A list of properties to explicitly exclude from the update. These are excluded even if they are listed in the includeProperties parameter list.
- A dictionary of values that is used to update the model.
- The type of the model object.
-
-
- Updates the specified model instance using values from the value provider, a prefix, and included properties.
- true if the update is successful; otherwise, false.
- The model instance to update.
- The prefix to use when looking up values in the value provider.
- A list of properties of the model to update.
- A dictionary of values that is used to update the model.
- The type of the model object.
-
-
- Updates the specified model instance using values from the value provider and a list of properties to include.
- true if the update is successful; otherwise, false.
- The model instance to update.
- A list of properties of the model to update.
- A dictionary of values that is used to update the model.
- The type of the model object.
-
-
- Updates the specified model instance using values from the controller's current value provider and included properties.
- true if the update is successful; otherwise, false.
- The model instance to update.
- A list of properties of the model to update.
- The type of the model object.
-
-
- Updates the specified model instance using values from the value provider and a list of properties to include.
- true if the update is successful; otherwise, false.
- The model instance to update.
- A list of properties of the model to update.
- A dictionary of values that is used to update the model.
- The type of the model object.
-
-
- Updates the specified model instance using values from the value provider.
- true if the update is successful; otherwise, false.
- The model instance to update.
- A dictionary of values that is used to update the model.
- The type of the model object.
-
-
- Validates the specified model instance.
- true if the model validation is successful; otherwise, false.
- The model to validate.
-
-
- Validates the specified model instance using an HTML prefix.
- true if the model validation is successful; otherwise, false.
- The model to validate.
- The prefix to use when looking up values in the model provider.
-
-
- Updates the specified model instance using values from the controller's current value provider.
- The model instance to update.
- The type of the model object.
-
-
- Updates the specified model instance using values from the controller's current value provider and a prefix.
- The model instance to update.
- A prefix to use when looking up values in the value provider.
- The type of the model object.
-
-
- Updates the specified model instance using values from the controller's current value provider, a prefix, and included properties.
- The model instance to update.
- A prefix to use when looking up values in the value provider.
- A list of properties of the model to update.
- The type of the model object.
-
-
- Updates the specified model instance using values from the controller's current value provider, a prefix, a list of properties to exclude, and a list of properties to include.
- The model instance to update.
- A prefix to use when looking up values in the value provider.
- A list of properties of the model to update.
- A list of properties to explicitly exclude from the update. These are excluded even if they are listed in the includeProperties list.
- The type of the model object.
-
-
- Updates the specified model instance using values from the value provider, a prefix, a list of properties to exclude, and a list of properties to include.
- The model instance to update.
- The prefix to use when looking up values in the value provider.
- A list of properties of the model to update.
- A list of properties to explicitly exclude from the update. These are excluded even if they are listed in the includeProperties parameter list.
- A dictionary of values that is used to update the model.
- The type of the model object.
-
-
- Updates the specified model instance using values from the value provider, a prefix, and a list of properties to include.
- The model instance to update.
- The prefix to use when looking up values in the value provider.
- A list of properties of the model to update.
- A dictionary of values that is used to update the model.
- The type of the model object.
-
-
- Updates the specified model instance using values from the value provider, a prefix, and a list of properties to include.
- The model instance to update.
- A list of properties of the model to update.
- A dictionary of values that is used to update the model.
- The type of the model object.
-
-
- Updates the specified model instance using values from the controller object's current value provider.
- The model instance to update.
- A list of properties of the model to update.
- The type of the model object.
-
-
- Updates the specified model instance using values from the value provider, a prefix, and a list of properties to include.
- The model instance to update.
- A list of properties of the model to update.
- A dictionary of values that is used to update the model.
- The type of the model object.
-
-
- Updates the specified model instance using values from the value provider.
- The model instance to update.
- A dictionary of values that is used to update the model.
- The type of the model object.
-
-
- Gets the URL helper object that is used to generate URLs by using routing.
- The URL helper object.
-
-
- Gets the user security information for the current HTTP request.
- The user security information for the current HTTP request.
-
-
- Validates the specified model instance.
- The model to validate.
-
-
- Validates the specified model instance using an HTML prefix.
- The model to validate.
- The prefix to use when looking up values in the model provider.
-
-
- Creates a object that renders a view to the response.
- The result that renders a view to the response.
-
-
- Creates a object by using the model that renders a view to the response.
- The view result.
- The model that is rendered by the view.
-
-
- Creates a object by using the view name that renders a view.
- The view result.
- The name of the view that is rendered to the response.
-
-
- Creates a object that renders the specified IView object.
- The view result.
- The view that is rendered to the response.
- The model that is rendered by the view.
-
-
- Creates a object using the view name and master-page name that renders a view to the response.
- The view result.
- The name of the view that is rendered to the response.
- The name of the master page or template to use when the view is rendered.
-
-
- Creates a object using the view name, master-page name, and model that renders a view.
- The view result.
- The name of the view that is rendered to the response.
- The name of the master page or template to use when the view is rendered.
- The model that is rendered by the view.
-
-
- Creates a object that renders the specified IView object.
- The view result.
- The view that is rendered to the response.
-
-
- Creates a object that renders the specified object.
- The view result.
- The view that is rendered to the response.
- The model that is rendered by the view.
-
-
- Gets the view engine collection.
- The view engine collection.
-
-
- Represents a class that is responsible for invoking the action methods of a controller.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the model binders that are associated with the action.
- The model binders that are associated with the action.
-
-
- Creates the action result.
- The action result object.
- The controller context.
- The action descriptor.
- The action return value.
-
-
- Finds the information about the action method.
- Information about the action method.
- The controller context.
- The controller descriptor.
- The name of the action.
-
-
- Retrieves information about the controller by using the specified controller context.
- Information about the controller.
- The controller context.
-
-
- Retrieves information about the action filters.
- Information about the action filters.
- The controller context.
- The action descriptor.
-
-
- Gets the value of the specified action-method parameter.
- The value of the action-method parameter.
- The controller context.
- The parameter descriptor.
-
-
- Gets the values of the action-method parameters.
- The values of the action-method parameters.
- The controller context.
- The action descriptor.
-
-
- Invokes the specified action by using the specified controller context.
- The result of executing the action.
- The controller context.
- The name of the action to invoke.
- The parameter is null.
- The parameter is null or empty.
- The thread was aborted during invocation of the action.
- An unspecified error occurred during invocation of the action.
-
-
- Invokes the specified action method by using the specified parameters and the controller context.
- The result of executing the action method.
- The controller context.
- The action descriptor.
- The parameters.
-
-
- Invokes the specified action method by using the specified parameters, controller context, and action filters.
- The context for the ActionExecuted method of the class.
- The controller context.
- The action filters.
- The action descriptor.
- The parameters.
-
-
- Invokes the specified action result by using the specified controller context.
- The controller context.
- The action result.
-
-
- Invokes the specified action result by using the specified action filters and the controller context.
- The context for the ResultExecuted method of the class.
- The controller context.
- The action filters.
- The action result.
-
-
-
-
- Invokes the specified authorization filters by using the specified action descriptor and controller context.
- The context for the object.
- The controller context.
- The authorization filters.
- The action descriptor.
-
-
- Invokes the specified exception filters by using the specified exception and controller context.
- The context for the object.
- The controller context.
- The exception filters.
- The exception.
-
-
- Represents the base class for all MVC controllers.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the controller context.
- The controller context.
-
-
- Executes the specified request context.
- The request context.
- The parameter is null.
-
-
- Executes the request.
-
-
- Initializes the specified request context.
- The request context.
-
-
- Executes the specified request context.
- The request context.
-
-
- Gets or sets the dictionary for temporary data.
- The dictionary for temporary data.
-
-
- Gets or sets a value that indicates whether request validation is enabled for this request.
- true if request validation is enabled for this request; otherwise, false. The default is true.
-
-
- Gets or sets the value provider for the controller.
- The value provider for the controller.
-
-
- Gets the dynamic view data dictionary.
- The dynamic view data dictionary.
-
-
- Gets or sets the dictionary for view data.
- The dictionary for the view data.
-
-
- Represents a class that is responsible for dynamically building a controller.
-
-
- Initializes a new instance of the class.
-
-
- Gets the current controller builder object.
- The current controller builder.
-
-
- Gets the default namespaces.
- The default namespaces.
-
-
- Gets the associated controller factory.
- The controller factory.
-
-
- Sets the controller factory by using the specified type.
- The type of the controller factory.
- The parameter is null.
- The controller factory cannot be assigned from the type in the parameter.
- An error occurred while the controller factory was being set.
-
-
- Sets the specified controller factory.
- The controller factory.
- The parameter is null.
-
-
- Encapsulates information about an HTTP request that matches specified and instances.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class by using the specified HTTP context, URL route data, and controller.
- The HTTP context.
- The route data.
- The controller.
-
-
- Initializes a new instance of the class by using the specified controller context.
- The controller context.
- The parameter is null.
-
-
- Initializes a new instance of the class by using the specified request context and controller.
- The request context.
- The controller.
- One or both parameters are null.
-
-
- Gets or sets the controller.
- The controller.
-
-
- Gets the display mode.
- The display mode.
-
-
- Gets or sets the HTTP context.
- The HTTP context.
-
-
- Gets a value that indicates whether the associated action method is a child action.
- true if the associated action method is a child action; otherwise, false.
-
-
- Gets an object that contains the view context information for the parent action method.
- An object that contains the view context information for the parent action method.
-
-
- Gets or sets the request context.
- The request context.
-
-
- Gets or sets the URL route data.
- The URL route data.
-
-
- Encapsulates information that describes a controller, such as its name, type, and actions.
-
-
- Initializes a new instance of the class.
-
-
- Gets the name of the controller.
- The name of the controller.
-
-
- Gets the type of the controller.
- The type of the controller.
-
-
- Finds an action method by using the specified name and controller context.
- The information about the action method.
- The controller context.
- The name of the action.
-
-
- Retrieves a list of action-method descriptors in the controller.
- A list of action-method descriptors in the controller.
-
-
- Retrieves custom attributes that are defined for this member, excluding named attributes.
- An array of custom attributes, or an empty array if no custom attributes exist.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
- The custom attribute type cannot be loaded.
- There is more than one attribute of type defined for this member.
-
-
- Retrieves custom attributes of a specified type that are defined for this member, excluding named attributes.
- An array of custom attributes, or an empty array if no custom attributes exist.
- The type of the custom attributes.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
- The custom attribute type cannot be loaded.
- There is more than one attribute of type defined for this member.
- The parameter is null (Nothing in Visual Basic).
-
-
- Gets the filter attributes.
- The filter attributes.
- true if the cache should be used; otherwise, false.
-
-
- Retrieves a value that indicates whether one or more instance of the specified custom attribute are defined for this member.
- true if the is defined for this member; otherwise, false.
- The type of the custom attribute.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
- The parameter is null (Nothing in Visual Basic).
-
-
- When implemented in a derived class, gets the unique ID for the controller descriptor using lazy initialization.
- The unique ID.
-
-
- Adds the controller to the instance.
-
-
- Initializes a new instance of the class.
-
-
- Returns the collection of controller instance filters.
- The collection of controller instance filters.
- The controller context.
- The action descriptor.
-
-
- Represents an attribute that invokes a custom model binder.
-
-
- Initializes a new instance of the class.
-
-
- Retrieves the associated model binder.
- A reference to an object that implements the interface.
-
-
- Provides a container for common metadata, for the class, and for the class for a data model.
-
-
- Initializes a new instance of the class.
- The data-annotations model metadata provider.
- The type of the container.
- The model accessor.
- The type of the model.
- The name of the property.
- The display column attribute.
-
-
- Returns simple text for the model data.
- Simple text for the model data.
-
-
- Implements the default model metadata provider for ASP.NET MVC.
-
-
- Initializes a new instance of the class.
-
-
- Gets the metadata for the specified property.
- The metadata for the property.
- The attributes.
- The type of the container.
- The model accessor.
- The type of the model.
- The name of the property.
-
-
- Represents the method that creates a instance.
-
-
- Provides a model validator.
-
-
- Initializes a new instance of the class.
- The metadata for the model.
- The controller context for the model.
- The validation attribute for the model.
-
-
- Gets the validation attribute for the model validator.
- The validation attribute for the model validator.
-
-
- Gets the error message for the validation failure.
- The error message for the validation failure.
-
-
- Retrieves a collection of client validation rules.
- A collection of client validation rules.
-
-
- Gets a value that indicates whether model validation is required.
- true if model validation is required; otherwise, false.
-
-
- Returns a list of validation error messages for the model.
- A list of validation error messages for the model, or an empty list if no errors have occurred.
- The container for the model.
-
-
- Provides a model validator for a specified validation type.
-
-
-
- Initializes a new instance of the class.
- The metadata for the model.
- The controller context for the model.
- The validation attribute for the model.
-
-
- Gets the validation attribute from the model validator.
- The validation attribute from the model validator.
-
-
- Implements the default validation provider for ASP.NET MVC.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets a value that indicates whether non-nullable value types are required.
- true if non-nullable value types are required; otherwise, false.
-
-
- Gets a list of validators.
- A list of validators.
- The metadata.
- The context.
- The list of validation attributes.
-
-
- Registers an adapter to provide client-side validation.
- The type of the validation attribute.
- The type of the adapter.
-
-
- Registers an adapter factory for the validation provider.
- The type of the attribute.
- The factory that will be used to create the object for the specified attribute.
-
-
- Registers the default adapter.
- The type of the adapter.
-
-
- Registers the default adapter factory.
- The factory that will be used to create the object for the default adapter.
-
-
- Registers an adapter to provide default object validation.
- The type of the adapter.
-
-
- Registers an adapter factory for the default object validation provider.
- The factory.
-
-
- Registers an adapter to provide object validation.
- The type of the model.
- The type of the adapter.
-
-
- Registers an adapter factory for the object validation provider.
- The type of the model.
- The factory.
-
-
- Provides a factory for validators that are based on .
-
-
- Provides a container for the error-information model validator.
-
-
- Initializes a new instance of the class.
-
-
- Gets a list of error-information model validators.
- A list of error-information model validators.
- The model metadata.
- The controller context.
-
-
- Represents the controller factory that is registered by default.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using a controller activator.
- An object that implements the controller activator interface.
-
-
- Creates the specified controller by using the specified request context.
- The controller.
- The context of the HTTP request, which includes the HTTP context and route data.
- The name of the controller.
- The parameter is null.
- The parameter is null or empty.
-
-
- Retrieves the controller instance for the specified request context and controller type.
- The controller instance.
- The context of the HTTP request, which includes the HTTP context and route data.
- The type of the controller.
-
- is null.
-
- cannot be assigned.
- An instance of cannot be created.
-
-
- Returns the controller's session behavior.
- The controller's session behavior.
- The request context.
- The type of the controller.
-
-
- Retrieves the controller type for the specified name and request context.
- The controller type.
- The context of the HTTP request, which includes the HTTP context and route data.
- The name of the controller.
-
-
- Releases the specified controller.
- The controller to release.
-
-
- This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. This method calls the method.
- The controller's session behavior.
- The request context.
- The controller name.
-
-
- Maps a browser request to a data object. This class provides a concrete implementation of a model binder.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the model binders for the application.
- The model binders for the application.
-
-
- Binds the model by using the specified controller context and binding context.
- The bound object.
- The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
- The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
- The parameter is null.
-
-
- Binds the specified property by using the specified controller context and binding context and the specified property descriptor.
- The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
- The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
- Describes a property to be bound. The descriptor provides information such as the component type, property type, and property value. It also provides methods to get or set the property value.
-
-
- Creates the specified model type by using the specified controller context and binding context.
- A data object of the specified type.
- The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
- The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
- The type of the model object to return.
-
-
- Creates an index (a subindex) based on a category of components that make up a larger index, where the specified index value is an integer.
- The name of the subindex.
- The prefix for the subindex.
- The index value.
-
-
- Creates an index (a subindex) based on a category of components that make up a larger index, where the specified index value is a string.
- The name of the subindex.
- The prefix for the subindex.
- The index value.
-
-
- Creates the name of the subproperty by using the specified prefix and property name.
- The name of the subproperty.
- The prefix for the subproperty.
- The name of the property.
-
-
- Returns a set of properties that match the property filter restrictions that are established by the specified .
- An enumerable set of property descriptors.
- The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
- The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
-
-
- Returns the properties of the model by using the specified controller context and binding context.
- A collection of property descriptors.
- The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
- The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
-
-
- Returns the value of a property using the specified controller context, binding context, property descriptor, and property binder.
- An object that represents the property value.
- The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
- The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
- The descriptor for the property to access. The descriptor provides information such as the component type, property type, and property value. It also provides methods to get or set the property value.
- An object that provides a way to bind the property.
-
-
- Returns the descriptor object for a type that is specified by its controller context and binding context.
- A custom type descriptor object.
- The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
- The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
-
-
- Determines whether a data model is valid for the specified binding context.
- true if the model is valid; otherwise, false.
- The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
- The parameter is null.
-
-
- Called when the model is updated.
- The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
- The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
-
-
- Called when the model is updating.
- true if the model is updating; otherwise, false.
- The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
- The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
-
-
- Called when the specified property is validated.
- The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
- The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
- Describes a property to be validated. The descriptor provides information such as the component type, property type, and property value. It also provides methods to get or set the property value.
- The value to set for the property.
-
-
- Called when the specified property is validating.
- true if the property is validating; otherwise, false.
- The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
- The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
- Describes a property being validated. The descriptor provides information such as component type, property type, and property value. It also provides methods to get or set the property value.
- The value to set for the property.
-
-
- Gets or sets the name of the resource file (class key) that contains localized string values.
- The name of the resource file (class key).
-
-
- Sets the specified property by using the specified controller context, binding context, and property value.
- The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
- The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
- Describes a property to be set. The descriptor provides information such as the component type, property type, and property value. It also provides methods to get or set the property value.
- The value to set for the property.
-
-
- Represents a memory cache for view locations.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class by using the specified cache time span.
- The cache time span.
- The Ticks attribute of the parameter is set to a negative number.
-
-
- Retrieves the default view location by using the specified HTTP context and cache key.
- The default view location.
- The HTTP context.
- The cache key
- The parameter is null.
-
-
- Inserts the view in the specified virtual path by using the specified HTTP context, cache key, and virtual path.
- The HTTP context.
- The cache key.
- The virtual path
- The parameter is null.
-
-
- Creates an empty view location cache.
-
-
- Gets or sets the cache time span.
- The cache time span.
-
-
- Provides a registration point for dependency resolvers that implement or the Common Service Locator IServiceLocator interface.
-
-
- Initializes a new instance of the class.
-
-
- Gets the implementation of the dependency resolver.
- The implementation of the dependency resolver.
-
-
- This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
- The implementation of the dependency resolver.
-
-
- This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
- The function that provides the service.
- The function that provides the services.
-
-
- This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
- The common service locator.
-
-
- This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
- The object that implements the dependency resolver.
-
-
- Provides a registration point for dependency resolvers using the specified service delegate and specified service collection delegates.
- The service delegate.
- The services delegates.
-
-
- Provides a registration point for dependency resolvers using the provided common service locator when using a service locator interface.
- The common service locator.
-
-
- Provides a registration point for dependency resolvers, using the specified dependency resolver interface.
- The dependency resolver.
-
-
- Provides a type-safe implementation of and .
-
-
- Resolves singly registered services that support arbitrary object creation.
- The requested service or object.
- The dependency resolver instance that this method extends.
- The type of the requested service or object.
-
-
- Resolves multiply registered services.
- The requested services.
- The dependency resolver instance that this method extends.
- The type of the requested services.
-
-
- Represents the base class for value providers whose values come from a collection that implements the interface.
- The type of the value.
-
-
- Initializes a new instance of the class.
- The name/value pairs that are used to initialize the value provider.
- Information about a specific culture, such as the names of the culture, the writing system, and the calendar used.
- The parameter is null.
-
-
- Determines whether the collection contains the specified prefix.
- true if the collection contains the specified prefix; otherwise, false.
- The prefix to search for.
- The parameter is null.
-
-
- Gets the keys from the prefix.
- The keys from the prefix.
- the prefix.
-
-
- Returns a value object using the specified key and controller context.
- The value object for the specified key.
- The key of the value object to retrieve.
- The parameter is null.
-
-
- Provides an empty metadata provider for data models that do not require metadata.
-
-
- Initializes a new instance of the class.
-
-
- Creates a new instance of the class.
- A new instance of the class.
- The attributes.
- The type of the container.
- The model accessor.
- The type of the model.
- The name of the model.
-
-
- Provides an empty validation provider for models that do not require a validator.
-
-
- Initializes a new instance of the class.
-
-
- Gets the empty model validator.
- The empty model validator.
- The metadata.
- The context.
-
-
- Represents a result that does nothing, such as a controller action method that returns nothing.
-
-
- Initializes a new instance of the class.
-
-
- Executes the specified result context.
- The result context.
-
-
- Provides the context for using the class.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class for the specified exception by using the specified controller context.
- The controller context.
- The exception.
- The parameter is null.
-
-
- Gets or sets the exception object.
- The exception object.
-
-
- Gets or sets a value that indicates whether the exception has been handled.
- true if the exception has been handled; otherwise, false.
-
-
- Gets or sets the action result.
- The action result.
-
-
- Provides a helper class to get the model name from an expression.
-
-
- Gets the model name from a lambda expression.
- The model name.
- The expression.
-
-
- Gets the model name from a string expression.
- The model name.
- The expression.
-
-
- Provides a container for client-side field validation metadata.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the name of the data field.
- The name of the data field.
-
-
- Gets or sets a value that indicates whether the validation message contents should be replaced with the client validation error.
- true if the validation message contents should be replaced with the client validation error; otherwise, false.
-
-
- Gets or sets the validator message ID.
- The validator message ID.
-
-
- Gets the client validation rules.
- The client validation rules.
-
-
- Sends the contents of a binary file to the response.
-
-
- Initializes a new instance of the class by using the specified file contents and content type.
- The byte array to send to the response.
- The content type to use for the response.
- The parameter is null.
-
-
- The binary content to send to the response.
- The file contents.
-
-
- Writes the file content to the response.
- The response.
-
-
- Sends the contents of a file to the response.
-
-
- Initializes a new instance of the class by using the specified file name and content type.
- The name of the file to send to the response.
- The content type of the response.
- The parameter is null or empty.
-
-
- Gets or sets the path of the file that is sent to the response.
- The path of the file that is sent to the response.
-
-
- Writes the file to the response.
- The response.
-
-
- Represents a base class that is used to send binary file content to the response.
-
-
- Initializes a new instance of the class.
- The type of the content.
- The parameter is null or empty.
-
-
- Gets the content type to use for the response.
- The type of the content.
-
-
- Enables processing of the result of an action method by a custom type that inherits from the class.
- The context within which the result is executed.
- The parameter is null.
-
-
- Gets or sets the content-disposition header so that a file-download dialog box is displayed in the browser with the specified file name.
- The name of the file.
-
-
- Writes the file to the response.
- The response.
-
-
- Sends binary content to the response by using a instance.
-
-
- Initializes a new instance of the class.
- The stream to send to the response.
- The content type to use for the response.
- The parameter is null.
-
-
- Gets the stream that will be sent to the response.
- The file stream.
-
-
- Writes the file to the response.
- The response.
-
-
- Represents a metadata class that contains a reference to the implementation of one or more of the filter interfaces, the filter's order, and the filter's scope.
-
-
- Initializes a new instance of the class.
- The instance.
- The scope.
- The order.
-
-
- Represents a constant that is used to specify the default ordering of filters.
-
-
- Gets the instance of this class.
- The instance of this class.
-
-
- Gets the order in which the filter is applied.
- The order in which the filter is applied.
-
-
- Gets the scope ordering of the filter.
- The scope ordering of the filter.
-
-
- Represents the base class for action and result filter attributes.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets a value that indicates whether more than one instance of the filter attribute can be specified.
- true if more than one instance of the filter attribute can be specified; otherwise, false.
-
-
- Gets or sets the order in which the action filters are executed.
- The order in which the action filters are executed.
-
-
- Defines a filter provider for filter attributes.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class and optionally caches attribute instances.
- true to cache attribute instances; otherwise, false.
-
-
- Gets a collection of custom action attributes.
- A collection of custom action attributes.
- The controller context.
- The action descriptor.
-
-
- Gets a collection of controller attributes.
- A collection of controller attributes.
- The controller context.
- The action descriptor.
-
-
- Aggregates the filters from all of the filter providers into one collection.
- The collection filters from all of the filter providers.
- The controller context.
- The action descriptor.
-
-
- Encapsulates information about the available action filters.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using the specified filters collection.
- The filters collection.
-
-
- Gets all the action filters in the application.
- The action filters.
-
-
- Gets all the authentication filters in the application.
- The list of authentication filters.
-
-
- Gets all the authorization filters in the application.
- The authorization filters.
-
-
- Gets all the exception filters in the application.
- The exception filters.
-
-
- Gets all the result filters in the application.
- The result filters.
-
-
- Represents the collection of filter providers for the application.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class with specified list of filter provider.
- The list of filter providers.
-
-
- Removes all elements from the collection.
-
-
- Returns the collection of filter providers.
- The collection of filter providers.
- The controller context.
- The action descriptor.
-
-
- Inserts an element into the collection at the specified index.
- The zero-based index at which item should be inserted.
- The object to insert. The value can be null for reference types.
-
-
- Removes the element at the specified index of the collection
- The zero-based index of the element to remove.
-
-
- Replaces the element at the specified index.
- The zero-based index of the element to replace.
- The new value for the element at the specified index. The value can be null for reference types.
-
-
- Provides a registration point for filters.
-
-
- Provides a registration point for filters.
- The collection of filters.
-
-
- Defines values that specify the order in which ASP.NET MVC filters run within the same filter type and filter order.
-
-
- Specifies an order before and after .
-
-
- Specifies an order before and after .
-
-
- Specifies first.
-
-
- Specifies an order before and after .
-
-
- Specifies last.
-
-
- Contains the form value providers for the application.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class.
- The collection.
- The parameter is null.
-
-
- Gets the specified value provider.
- The value provider.
- The name of the value provider to get.
- The parameter is null or empty.
-
-
- Gets a value that indicates whether the value provider contains an entry that has the specified prefix.
- true if the value provider contains an entry that has the specified prefix; otherwise, false.
- The prefix to look for.
-
-
- Gets a value from a value provider using the specified key.
- A value from a value provider.
- The key.
-
-
- Returns a dictionary that contains the value providers.
- A dictionary of value providers.
-
-
- Encapsulates information that is required in order to validate and process the input data from an HTML form.
-
-
- Initializes a new instance of the class.
-
-
- Gets the field validators for the form.
- A dictionary of field validators for the form.
-
-
- Gets or sets the form identifier.
- The form identifier.
-
-
- Returns a serialized object that contains the form identifier and field-validation values for the form.
- A serialized object that contains the form identifier and field-validation values for the form.
-
-
- Returns the validation value for the specified input field.
- The value to validate the field input with.
- The name of the field to retrieve the validation value for.
- The parameter is either null or empty.
-
-
- Returns the validation value for the specified input field and a value that indicates what to do if the validation value is not found.
- The value to validate the field input with.
- The name of the field to retrieve the validation value for.
- true to create a validation value if one is not found; otherwise, false.
- The parameter is either null or empty.
-
-
- Returns a value that indicates whether the specified field has been rendered in the form.
- true if the field has been rendered; otherwise, false.
- The field name.
-
-
- Sets a value that indicates whether the specified field has been rendered in the form.
- The field name.
- true to specify that the field has been rendered in the form; otherwise, false.
-
-
- Determines whether client validation errors should be dynamically added to the validation summary.
- true if client validation errors should be added to the validation summary; otherwise, false.
-
-
- Gets or sets the identifier for the validation summary.
- The identifier for the validation summary.
-
-
- Enumerates the HTTP request types for a form.
-
-
- Specifies a GET request.
-
-
- Specifies a POST request.
-
-
- Represents a value provider for form values that are contained in a object.
-
-
- Initializes a new instance of the class.
- An object that encapsulates information about the current HTTP request.
-
-
- Represents a class that is responsible for creating a new instance of a form-value provider object.
-
-
- Initializes a new instance of the class.
-
-
- Returns a form-value provider object for the specified controller context.
- A form-value provider object.
- An object that encapsulates information about the current HTTP request.
- The parameter is null.
-
-
- Represents a class that contains all the global filters.
-
-
- Initializes a new instance of the class.
-
-
- Adds the specified filter to the global filter collection.
- The filter.
-
-
- Adds the specified filter to the global filter collection using the specified filter run order.
- The filter.
- The filter run order.
-
-
- Removes all filters from the global filter collection.
-
-
- Determines whether a filter is in the global filter collection.
- true if is found in the global filter collection; otherwise, false.
- The filter.
-
-
- Gets the number of filters in the global filter collection.
- The number of filters in the global filter collection.
-
-
- Returns an enumerator that iterates through the global filter collection.
- An enumerator that iterates through the global filter collection.
-
-
- Removes all the filters that match the specified filter.
- The filter to remove.
-
-
- This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
- An enumerator that iterates through the global filter collection.
-
-
- This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
- An enumerator that iterates through the global filter collection.
- The controller context.
- The action descriptor.
-
-
- Represents the global filter collection.
-
-
- Gets or sets the global filter collection.
- The global filter collection.
-
-
- Represents an attribute that is used to handle an exception that is thrown by an action method.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the type of the exception.
- The type of the exception.
-
-
- Gets or sets the master view for displaying exception information.
- The master view.
-
-
- Called when an exception occurs.
- The action-filter context.
- The parameter is null.
-
-
- Gets the unique identifier for this attribute.
- The unique identifier for this attribute.
-
-
- Gets or sets the page view for displaying exception information.
- The page view.
-
-
- Encapsulates information for handling an error that was thrown by an action method.
-
-
- Initializes a new instance of the class.
- The exception.
- The name of the controller.
- The name of the action.
- The parameter is null.
- The or parameter is null or empty.
-
-
- Gets or sets the name of the action that was executing when the exception was thrown.
- The name of the action.
-
-
- Gets or sets the name of the controller that contains the action method that threw the exception.
- The name of the controller.
-
-
- Gets or sets the exception object.
- The exception object.
-
-
- Represents an attribute that is used to indicate whether a property or field value should be rendered as a hidden input element.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets a value that indicates whether to display the value of the hidden input element.
- true if the value should be displayed; otherwise, false.
-
-
- Enumerates the date rendering mode for HTML5.
-
-
- The current culture formatting.
-
-
- The RFC 3339 formatting.
-
-
- Supports the rendering of HTML controls in a view.
-
-
- Initializes a new instance of the class by using the specified view context and view data container.
- The view context.
- The view data container.
- The or the viewDataContainer parameter is null.
-
-
- Initializes a new instance of the class by using the specified view context, view data container, and route collection.
- The view context.
- The view data container.
- The route collection.
- One or more parameters is null.
-
-
- Replaces underscore characters (_) with hyphens (-) in the specified HTML attributes.
- The HTML attributes with underscore characters replaced by hyphens.
- The HTML attributes.
-
-
- Generates a hidden form field (anti-forgery token) that is validated when the form is submitted.
- The generated form field (anti-forgery token).
-
-
- Generates a hidden form field (anti-forgery token) that is validated when the form is submitted. The field value is generated using the specified salt value.
- The generated form field (anti-forgery token).
- The salt value, which can be any non-empty string.
-
-
- Generates a hidden form field (anti-forgery token) that is validated when the form is submitted. The field value is generated using the specified salt value, domain, and path.
- The generated form field (anti-forgery token).
- The salt value, which can be any non-empty string.
- The application domain.
- The virtual path.
-
-
- Converts the specified attribute value to an HTML-encoded string.
- The HTML-encoded string. If the value parameter is null or empty, this method returns an empty string.
- The object to encode.
-
-
- Converts the specified attribute value to an HTML-encoded string.
- The HTML-encoded string. If the value parameter is null or empty, this method returns an empty string.
- The string to encode.
-
-
- Gets or sets a value that indicates whether client validation is enabled.
- true if enable client validation is enabled; otherwise, false.
-
-
- Enables input validation that is performed by using client script in the browser.
-
-
- Enables or disables client validation.
- true to enable client validation; otherwise, false.
-
-
- Enables or disables unobtrusive JavaScript.
-
-
- Enables or disables unobtrusive JavaScript.
- true to enable unobtrusive JavaScript; otherwise, false.
-
-
- Converts the value of the specified object to an HTML-encoded string.
- The HTML-encoded string.
- The object to encode.
-
-
- Converts the specified string to an HTML-encoded string.
- The HTML-encoded string.
- The string to encode.
-
-
- Formats the value.
- The formatted value.
- The value.
- The format string.
-
-
- Creates an HTML element ID using the specified element name.
- The ID of the HTML element.
- The name of the HTML element.
- The name parameter is null.
-
-
- Creates an HTML element ID using the specified element name and a string that replaces dots in the name.
- The ID of the HTML element.
- The name of the HTML element.
- The string that replaces dots (.) in the name parameter.
- The name parameter or the idAttributeDotReplacement parameter is null.
-
-
- Generates an HTML anchor element (a element) that links to the specified action method, and enables the user to specify the communication protocol, name of the host, and a URL fragment.
- An HTML element that links to the specified action method.
- The context of the HTTP request.
- The collection of URL routes.
- The text caption to display for the link.
- The name of the route that is used to return a virtual path.
- The name of the action method.
- The name of the controller.
- The communication protocol, such as HTTP or HTTPS. If this parameter is null, the protocol defaults to HTTP.
- The name of the host.
- The fragment identifier.
- An object that contains the parameters for a route.
- An object that contains the HTML attributes for the element.
-
-
- Generates an HTML anchor element (a element) that links to the specified action method.
- An HTML element that links to the specified action method.
- The context of the HTTP request.
- The collection of URL routes.
- The text caption to display for the link.
- The name of the route that is used to return a virtual path.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route.
- An object that contains the HTML attributes for the element.
-
-
- Generates an HTML anchor element (a element) that links to the specified URL route, and enables the user to specify the communication protocol, name of the host, and a URL fragment.
- An HTML element that links to the specified URL route.
- The context of the HTTP request.
- The collection of URL routes.
- The text caption to display for the link.
- The name of the route that is used to return a virtual path.
- The communication protocol, such as HTTP or HTTPS. If this parameter is null, the protocol defaults to HTTP.
- The name of the host.
- The fragment identifier.
- An object that contains the parameters for a route.
- An object that contains the HTML attributes for the element.
-
-
- Generates an HTML anchor element (a element) that links to the specified URL route.
- An HTML element that links to the specified URL route.
- The context of the HTTP request.
- The collection of URL routes.
- The text caption to display for the link.
- The name of the route that is used to return a virtual path.
- An object that contains the parameters for a route.
- An object that contains the HTML attributes for the element.
-
-
- Returns the HTTP method that handles form input (GET or POST) as a string.
- The form method string, either "get" or "post".
- The HTTP method that handles the form.
-
-
- Returns the HTML input control type as a string.
- The input type string ("checkbox", "hidden", "password", "radio", or "text").
- The enumerated input type.
-
-
- Gets the collection of unobtrusive JavaScript validation attributes using the specified HTML name attribute.
- The collection of unobtrusive JavaScript validation attributes.
- The HTML name attribute.
-
-
- Gets the collection of unobtrusive JavaScript validation attributes using the specified HTML name attribute and model metadata.
- The collection of unobtrusive JavaScript validation attributes.
- The HTML name attribute.
- The model metadata.
-
-
- Gets or sets the HTML5 date rendering mode.
- The HTML5 date rendering mode.
-
-
- Returns a hidden input element that identifies the override method for the specified HTTP data-transfer method that was used by the client.
- The override method that uses the HTTP data-transfer method that was used by the client.
- The HTTP data-transfer method that was used by the client (DELETE, HEAD, or PUT).
- The httpVerb parameter is not "PUT", "DELETE", or "HEAD".
-
-
- Returns a hidden input element that identifies the override method for the specified verb that represents the HTTP data-transfer method used by the client.
- The override method that uses the verb that represents the HTTP data-transfer method used by the client.
- The verb that represents the HTTP data-transfer method used by the client.
- The httpVerb parameter is not "PUT", "DELETE", or "HEAD".
-
-
- Gets or sets the character that replaces periods in the ID attribute of an element.
- The character that replaces periods in the ID attribute of an element.
-
-
- Creates a dictionary from an object, by adding each public instance property as a key with its associated value to the dictionary. It will expose public properties from derived types as well. This is typically used with objects of an anonymous type.
- The created dictionary of property names and property values.
- The object to be converted.
-
-
- Returns markup that is not HTML encoded.
- The HTML markup without encoding.
- The HTML markup.
-
-
- Returns markup that is not HTML encoded.
- The HTML markup without encoding.
- The HTML markup.
-
-
- Gets or sets the collection of routes for the application.
- The collection of routes for the application.
-
-
- Set element name used to wrap the validation message generated by and other overloads.
-
-
- Set element name used to wrap a top-level message in and other overloads.
-
-
- Gets or sets a value that indicates whether unobtrusive JavaScript is enabled.
- true if unobtrusive JavaScript is enabled; otherwise, false.
-
-
- The name of the CSS class that is used to style an input field when a validation error occurs.
-
-
- The name of the CSS class that is used to style an input field when the input is valid.
-
-
- The name of the CSS class that is used to style the error message when a validation error occurs.
-
-
- Element name used to wrap the validation message generated by and other overloads.
-
-
- The name of the CSS class that is used to style the validation message when the input is valid.
-
-
- The name of the CSS class that is used to style validation summary error messages.
-
-
- Element name used to wrap a top-level message in and other overloads.
-
-
- The name of the CSS class that is used to style the validation summary when the input is valid.
-
-
- Gets the view bag.
- The view bag.
-
-
- Gets or sets the context information about the view.
- The context of the view.
-
-
- Gets the current view data dictionary.
- The view data dictionary.
-
-
- Gets or sets the view data container.
- The view data container.
-
-
- Represents support for rendering HTML controls in a strongly typed view.
- The type of the model.
-
-
- Initializes a new instance of the class by using the specified view context and view data container.
- The view context.
- The view data container.
-
-
- Initializes a new instance of the class by using the specified view context, view data container, and route collection.
- The view context.
- The view data container.
- The route collection.
-
-
- Gets the view bag.
- The view bag.
-
-
- Gets the strongly typed view data dictionary.
- The strongly typed view data dictionary.
-
-
- Represents an attribute that is used to restrict an action method so that the method handles only HTTP DELETE requests.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether the action method delete request is valid for the specified controller context.
- true if the action method request is valid for the specified controller context; otherwise, false.
- The controller context.
- Information about the action method.
-
-
- Represents a value provider to use with values that come from a collection of HTTP files.
-
-
- Initializes a new instance of the class.
- An object that encapsulates information about the current HTTP request.
-
-
- Represents a class that is responsible for creating a new instance of an HTTP file collection value provider object.
-
-
- Initializes a new instance of the class.
-
-
- Returns a value provider object for the specified controller context.
- An HTTP file collection value provider.
- An object that encapsulates information about the HTTP request.
- The parameter is null.
-
-
- Represents an attribute that is used to restrict an action method so that the method handles only HTTP GET requests.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether the action method get request is valid for the specified controller context.
- true if the action method request is valid for the specified controller context; otherwise, false.
- The controller context.
- Information about the action method.
-
-
- Specifies that the HTTP request must be the HTTP HEAD method.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether the action method request is valid for the specified controller context.
- true if the action method request is valid for the specified controller context; otherwise, false.
- The controller context.
- Information about the action method.
-
-
- Defines an object that is used to indicate that the requested resource was not found.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using a status description.
- The status description.
-
-
- Represents an attribute that is used to restrict an action method so that the method handles only HTTP OPTIONS requests.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether the action method request is valid for the specified controller context.
- true if the action method request is valid for the specified controller context; otherwise, false.
- The controller context.
- Information about the action method.
-
-
- Represents an attribute that is used to restrict an action method so that the method handles only HTTP PATCH requests.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether the action method request is valid for the specified controller context.
- true if the action method request is valid for the specified controller context; otherwise, false.
- The controller context.
- Information about the action method.
-
-
- Represents an attribute that is used to restrict an action method so that the method handles only HTTP POST requests.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether the action method post request is valid for the specified controller context.
- true if the action method request is valid for the specified controller context; otherwise, false.
- The controller context.
- Information about the action method.
-
-
- Binds a model to a posted file.
-
-
- Initializes a new instance of the class.
-
-
- Binds the model.
- The bound value.Implements
- The controller context.
- The binding context.
- One or both parameters are null.
-
-
- Represents an attribute that is used to restrict an action method so that the method handles only HTTP PUT requests.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether the action method put request is valid for the specified controller context.
- true if the action method request is valid for the specified controller context; otherwise, false.
- The controller context.
- Information about the action method.
-
-
- Extends the class that contains the HTTP values that were sent by a client during a Web request.
-
-
- Retrieves the HTTP data-transfer method override that was used by the client.
- The HTTP data-transfer method override that was used by the client.
- An object that contains the HTTP values that were sent by a client during a Web request.
- The parameter is null.
- The HTTP data-transfer method override was not implemented.
-
-
- Provides a way to return an action result with a specific HTTP response status code and description.
-
-
- Initializes a new instance of the class using a status code.
- The status code.
-
-
- Initializes a new instance of the class using a status code and status description.
- The status code.
- The status description.
-
-
- Initializes a new instance of the class using a status code.
- The status code.
-
-
- Initializes a new instance of the class using a status code and status description.
- The status code.
- The status description.
-
-
- Enables processing of the result of an action method by a custom type that inherits from the class.
- The context in which the result is executed. The context information includes the controller, HTTP content, request context, and route data.
-
-
- Gets the HTTP status code.
- The HTTP status code.
-
-
- Gets the HTTP status description.
- the HTTP status description.
-
-
- Represents the result of an unauthorized HTTP request.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using the status description.
- The status description.
-
-
- Enumerates the HTTP verbs.
-
-
- Requests that a specified URI be deleted.
-
-
- Retrieves the information or entity that is identified by the URI of the request.
-
-
- Retrieves the message headers for the information or entity that is identified by the URI of the request.
-
-
- Represents a request for information about the communication options available on the request/response chain identified by the Request-URI.
-
-
- Requests that a set of changes described in the request entity be applied to the resource identified by the Request- URI.
-
-
- Posts a new entity as an addition to a URI.
-
-
- Replaces an entity that is identified by a URI.
-
-
- Defines the methods that are used in an action filter.
-
-
- Called after the action method executes.
- The filter context.
-
-
- Called before an action method executes.
- The filter context.
-
-
- Defines the contract for an action invoker, which is used to invoke an action in response to an HTTP request.
-
-
- Invokes the specified action by using the specified controller context.
- true if the action was found; otherwise, false.
- The controller context.
- The name of the action.
-
-
- Used to create an instance for the current request.
-
-
- Creates an instance of action invoker for the current request.
- The created .
-
-
- Defines the methods that are required for an authorization filter.
-
-
- Called when authorization is required.
- The filter context.
-
-
- Provides a way for the ASP.NET MVC validation framework to discover at run time whether a validator has support for client validation.
-
-
- When implemented in a class, returns client validation rules for that class.
- The client validation rules for this validator.
- The model metadata.
- The controller context.
-
-
- Defines the methods that are required for a controller.
-
-
- Executes the specified request context.
- The request context.
-
-
- Provides fine-grained control over how controllers are instantiated using dependency injection.
-
-
- When implemented in a class, creates a controller.
- The created controller.
- The request context.
- The controller type.
-
-
- Defines the methods that are required for a controller factory.
-
-
- Creates the specified controller by using the specified request context.
- The controller.
- The request context.
- The name of the controller.
-
-
- Gets the controller's session behavior.
- The controller's session behavior.
- The request context.
- The name of the controller whose session behavior you want to get.
-
-
- Releases the specified controller.
- The controller.
-
-
- Defines the methods that simplify service location and dependency resolution.
-
-
- Resolves singly registered services that support arbitrary object creation.
- The requested service or object.
- The type of the requested service or object.
-
-
- Resolves multiply registered services.
- The requested services.
- The type of the requested services.
-
-
- Represents a special that has the ability to be enumerable.
-
-
- Gets the keys from the prefix.
- The keys.
- The prefix.
-
-
- Defines the methods that are required for an exception filter.
-
-
- Called when an exception occurs.
- The filter context.
-
-
- Provides an interface for finding filters.
-
-
- Returns an enumerator that contains all the instances in the service locator.
- The enumerator that contains all the instances in the service locator.
- The controller context.
- The action descriptor.
-
-
- Provides an interface for exposing attributes to the class.
-
-
- When implemented in a class, provides metadata to the model metadata creation process.
- The model metadata.
-
-
- An optional interface for types which provide a .
-
-
- Gets the MethodInfo
-
-
- Defines the methods that are required for a model binder.
-
-
- Binds the model to a value by using the specified controller context and binding context.
- The bound value.
- The controller context.
- The binding context.
-
-
- Defines methods that enable dynamic implementations of model binding for classes that implement the interface.
-
-
- Returns the model binder for the specified type.
- The model binder for the specified type.
- The type of the model.
-
-
- Defines members that specify the order of filters and whether multiple filters are allowed.
-
-
- When implemented in a class, gets or sets a value that indicates whether multiple filters are allowed.
- true if multiple filters are allowed; otherwise, false.
-
-
- When implemented in a class, gets the filter order.
- The filter order.
-
-
- Enumerates the types of input controls.
-
-
- A check box.
-
-
- A hidden field.
-
-
- A password box.
-
-
- A radio button.
-
-
- A text box.
-
-
- Defines the methods that are required for a result filter.
-
-
- Called after an action result executes.
- The filter context.
-
-
- Called before an action result executes.
- The filter context.
-
-
- Associates a route with an area in an ASP.NET MVC application.
-
-
- Gets the name of the area to associate the route with.
- The name of the area to associate the route with.
-
-
- Defines the contract for temporary-data providers that store data that is viewed on the next request.
-
-
- Loads the temporary data.
- The temporary data.
- The controller context.
-
-
- Saves the temporary data.
- The controller context.
- The values.
-
-
- Used to create an instance for the controller.
-
-
- Creates an instance of for the controller.
- The created .
-
-
- Represents an interface that can skip request validation.
-
-
- Retrieves the value of the object that is associated with the specified key.
- The value of the object for the specified key.
- The key.
- true if validation should be skipped; otherwise, false.
-
-
- Defines the methods that are required for a value provider in ASP.NET MVC.
-
-
- Determines whether the collection contains the specified prefix.
- true if the collection contains the specified prefix; otherwise, false.
- The prefix to search for.
-
-
- Retrieves a value object using the specified key.
- The value object for the specified key, or null if the key is not found.
- The key of the value object to retrieve.
-
-
- Defines the methods that are required for a view.
-
-
- Renders the specified view context by using the specified the writer object.
- The view context.
- The writer object.
-
-
- Defines the methods that are required for a view data dictionary.
-
-
- Gets or sets the view data dictionary.
- The view data dictionary.
-
-
- Defines the methods that are required for a view engine.
-
-
- Finds the specified partial view by using the specified controller context.
- The partial view.
- The controller context.
- The name of the partial view.
- true to specify that the view engine returns the cached view, if a cached view exists; otherwise, false.
-
-
- Finds the specified view by using the specified controller context.
- The page view.
- The controller context.
- The name of the view.
- The name of the master.
- true to specify that the view engine returns the cached view, if a cached view exists; otherwise, false.
-
-
- Releases the specified view by using the specified controller context.
- The controller context.
- The view.
-
-
- Defines the methods that are required in order to cache view locations in memory.
-
-
- Gets the view location by using the specified HTTP context and the cache key.
- The view location.
- The HTTP context.
- The cache key.
-
-
- Inserts the specified view location into the cache by using the specified HTTP context and the cache key.
- The HTTP context.
- The cache key.
- The virtual path.
-
-
- Provides fine-grained control over how view pages are created using dependency injection.
-
-
- Provides fine-grained control over how view pages are created using dependency injection.
- The created view page.
- The controller context.
- The type of the controller.
-
-
- Sends JavaScript content to the response.
-
-
- Initializes a new instance of the class.
-
-
- Enables processing of the result of an action method by a custom type that inherits from the class.
- The context within which the result is executed.
- The parameter is null.
-
-
- Gets or sets the script.
- The script.
-
-
- The JQuery Form Value provider is used to handle JQuery formatted data in request Forms.
-
-
- Constructs a new instance of the JQuery form ValueProvider
- The context on which the ValueProvider operates.
-
-
- Provides the necessary ValueProvider to handle JQuery Form data.
-
-
- Constructs a new instance of the factory which provides JQuery form ValueProviders.
-
-
- Returns the suitable ValueProvider.
- The context on which the ValueProvider should operate.
-
-
- Specifies whether HTTP GET requests from the client are allowed.
-
-
- HTTP GET requests from the client are allowed.
-
-
- HTTP GET requests from the client are not allowed.
-
-
- Represents a class that is used to send JSON-formatted content to the response.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the content encoding.
- The content encoding.
-
-
- Gets or sets the type of the content.
- The type of the content.
-
-
- Gets or sets the data.
- The data.
-
-
- Enables processing of the result of an action method by a custom type that inherits from the class.
- The context within which the result is executed.
- The parameter is null.
-
-
- Gets or sets a value that indicates whether HTTP GET requests from the client are allowed.
- A value that indicates whether HTTP GET requests from the client are allowed.
-
-
- Gets or sets the maximum length of data.
- The maximum length of data.
-
-
- Gets or sets the recursion limit.
- The recursion limit.
-
-
- Enables action methods to send and receive JSON-formatted text and to model-bind the JSON text to parameters of action methods.
-
-
- Initializes a new instance of the class.
-
-
- Returns a JSON value-provider object for the specified controller context.
- A JSON value-provider object for the specified controller context.
- The controller context.
-
-
- Maps a browser request to a LINQ object.
-
-
- Initializes a new instance of the class.
-
-
- Binds the model by using the specified controller context and binding context.
- The bound data object. If the model cannot be bound, this method returns null.Implements.
- The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
- The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
-
-
- Provides an adapter for the MaxLengthAttribute attribute.
-
-
- Initializes a new instance of the MaxLengthAttribute class.
- The model metadata.
- The controller context.
- The MaxLength attribute.
-
-
- Gets a list of client validation rules for a max length check.
- A list of client validation rules for the check.
-
-
- Provides an adapter for the MinLengthAttribute attribute.
-
-
- Initializes a new instance of the MinLenghtAttribute class.
- The model metadata.
- The controller context.
- The minimum length attribute.
-
-
- Gets a list of client validation rules for the minimum length check.
- A list of client validation rules for a check.
-
-
- Represents an attribute that is used to associate a model type to a model-builder type.
-
-
- Initializes a new instance of the class.
- The type of the binder.
- The parameter is null.
-
-
- Gets or sets the type of the binder.
- The type of the binder.
-
-
- Retrieves an instance of the model binder.
- A reference to an object that implements the interface.
- An error occurred while an instance of the model binder was being created.
-
-
- Represents a class that contains all model binders for the application, listed by binder type.
-
-
- Initializes a new instance of the class.
-
-
- Adds the specified item to the model binder dictionary.
- The object to add to the instance.
- The object is read-only.
-
-
- Adds the specified item to the model binder dictionary using the specified key.
- The key of the element to add.
- The value of the element to add.
- The object is read-only.
-
- is null.
- An element that has the same key already exists in the object.
-
-
- Removes all items from the model binder dictionary.
- The object is read-only.
-
-
- Determines whether the model binder dictionary contains a specified value.
- true if is found in the model binder dictionary; otherwise, false.
- The object to locate in the object.
-
-
- Determines whether the model binder dictionary contains an element that has the specified key.
- true if the model binder dictionary contains an element that has the specified key; otherwise, false.
- The key to locate in the object.
-
- is null.
-
-
- Copies the elements of the model binder dictionary to an array, starting at a specified index.
- The one-dimensional array that is the destination of the elements copied from . The array must have zero-based indexing.
- The zero-based index in at which copying starts.
-
- is null.
-
- is less than 0.
-
- is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source object is greater than the available space from to the end of the destination array. -or- Type cannot be cast automatically to the type of the destination array.
-
-
- Gets the number of elements in the model binder dictionary.
- The number of elements in the model binder dictionary.
-
-
- Gets or sets the default model binder.
- The default model binder.
-
-
- Retrieves the model binder for the specified type.
- The model binder.
- The type of the model to retrieve.
- The parameter is null.
-
-
- Retrieves the model binder for the specified type or retrieves the default model binder.
- The model binder.
- The type of the model to retrieve.
- true to retrieve the default model binder.
- The parameter is null.
-
-
- Returns an enumerator that can be used to iterate through the collection.
- An enumerator that can be used to iterate through the collection.
-
-
- Gets a value that indicates whether the model binder dictionary is read-only.
- true if the model binder dictionary is read-only; otherwise, false.
-
-
- Gets or sets the specified key in an object that implements the interface.
- The key for the specified item.
-
-
- Gets a collection that contains the keys in the model binder dictionary.
- A collection that contains the keys in the model binder dictionary.
-
-
- Removes the first occurrence of the specified element from the model binder dictionary.
- true if was successfully removed from the model binder dictionary; otherwise, false. This method also returns false if is not found in the model binder dictionary.
- The object to remove from the object.
- The object is read-only.
-
-
- Removes the element that has the specified key from the model binder dictionary.
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the model binder dictionary.
- The key of the element to remove.
- The object is read-only.
-
- is null.
-
-
- Returns an enumerator that can be used to iterate through a collection.
- An enumerator that can be used to iterate through the collection.
-
-
- Gets the value that is associated with the specified key.
- true if the object that implements contains an element that has the specified key; otherwise, false.
- The key of the value to get.
- When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized.
-
- is null.
-
-
- Gets a collection that contains the values in the model binder dictionary.
- A collection that contains the values in the model binder dictionary.
-
-
- No content here will be updated; please do not add material here.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using a list of model binder providers.
- A list of model binder providers.
-
-
- Removes all elements from the collection.
-
-
- Returns a model binder of the specified type.
- A model binder of the specified type.
- The type of the model binder.
-
-
- Inserts a model binder provider into the ModelBinderProviderCollection at the specified index.
- The index.
- The model binder provider.
-
-
- Removes the element at the specified index of the collection.
- The zero-based index of the element to remove.
-
-
- Replaces the model binder provider element at the specified index.
- The index.
- The model binder provider.
-
-
- Provides a container for model binder providers.
-
-
- Provides a registration point for model binder providers for applications that do not use dependency injection.
- The model binder provider collection.
-
-
- Provides global access to the model binders for the application.
-
-
- Gets the model binders for the application.
- The model binders for the application.
-
-
- Provides the context in which a model binder functions.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using the binding context.
- The binding context.
-
-
- Gets or sets a value that indicates whether the binder should use an empty prefix.
- true if the binder should use an empty prefix; otherwise, false.
-
-
- Gets or sets the model.
- The model.
-
-
- Gets or sets the model metadata.
- The model metadata.
-
-
- Gets or sets the name of the model.
- The name of the model.
-
-
- Gets or sets the state of the model.
- The state of the model.
-
-
- Gets or sets the type of the model.
- The type of the model.
-
-
- Gets or sets the property filter.
- The property filter.
-
-
- Gets the property metadata.
- The property metadata.
-
-
- Gets or sets the value provider.
- The value provider.
-
-
- Represents an error that occurs during model binding.
-
-
- Initializes a new instance of the class by using the specified exception.
- The exception.
- The parameter is null.
-
-
- Initializes a new instance of the class by using the specified exception and error message.
- The exception.
- The error message.
- The parameter is null.
-
-
- Initializes a new instance of the class by using the specified error message.
- The error message.
-
-
- Gets or sets the error message.
- The error message.
-
-
- Gets or sets the exception object.
- The exception object.
-
-
- A collection of instances.
-
-
- Initializes a new instance of the class.
-
-
- Adds the specified object to the model-error collection.
- The exception.
-
-
- Adds the specified error message to the model-error collection.
- The error message.
-
-
- Provides a container for common metadata, for the class, and for the class for a data model.
-
-
- Initializes a new instance of the class.
- The provider.
- The type of the container.
- The model accessor.
- The type of the model.
- The name of the model.
-
-
- Gets a dictionary that contains additional metadata about the model.
- A dictionary that contains additional metadata about the model.
-
-
- A reference to the model's container object. Will be non-null if the model represents a property.
-
-
- Gets or sets the type of the container for the model.
- The type of the container for the model.
-
-
- Gets or sets a value that indicates whether empty strings that are posted back in forms should be converted to null.
- true if empty strings that are posted back in forms should be converted to null; otherwise, false. The default value is true.
-
-
- Gets or sets meta information about the data type.
- Meta information about the data type.
-
-
- The default order value, which is 10000.
-
-
- Gets or sets the description of the model.
- The description of the model. The default value is null.
-
-
- Gets or sets the display format string for the model.
- The display format string for the model.
-
-
- Gets or sets the display name of the model.
- The display name of the model.
-
-
- Gets or sets the edit format string of the model.
- The edit format string of the model.
-
-
- Returns the metadata from the parameter for the model.
- The metadata.
- An expression that identifies the model.
- The view data dictionary.
- The type of the parameter.
- The type of the value.
-
-
- Gets the metadata from the expression parameter for the model.
- The metadata for the model.
- An expression that identifies the model.
- The view data dictionary.
-
-
- Gets the display name for the model.
- The display name for the model.
-
-
- Returns the simple description of the model.
- The simple description of the model.
-
-
- Gets a list of validators for the model.
- A list of validators for the model.
- The controller context.
-
-
- Gets or sets a value that indicates whether the model object should be rendered using associated HTML elements.
- true if the associated HTML elements that contains the model object should be included with the object; otherwise, false.
-
-
- Gets or sets a value that indicates whether the model is a complex type.
- A value that indicates whether the model is considered a complex type by the MVC framework.
-
-
- Gets a value that indicates whether the type is nullable.
- true if the type is nullable; otherwise, false.
-
-
- Gets or sets a value that indicates whether the model is read-only.
- true if the model is read-only; otherwise, false.
-
-
- Gets or sets a value that indicates whether the model is required.
- true if the model is required; otherwise, false.
-
-
- Gets the value of the model.
- The value of the model. For more information about , see the entry ASP.NET MVC 2 Templates, Part 2: ModelMetadata on Brad Wilson's blog
-
-
- Gets the type of the model.
- The type of the model.
-
-
- Gets or sets the string to display for null values.
- The string to display for null values.
-
-
- Gets or sets a value that represents order of the current metadata.
- The order value of the current metadata.
-
-
- Gets a collection of model metadata objects that describe the properties of the model.
- A collection of model metadata objects that describe the properties of the model.
-
-
- Gets the property name.
- The property name.
-
-
- Gets or sets the provider.
- The provider.
-
-
- Gets or sets a value that indicates whether request validation is enabled.
- true if request validation is enabled; otherwise, false.
-
-
- Gets or sets a short display name.
- The short display name.
-
-
- Gets or sets a value that indicates whether the property should be displayed in read-only views such as list and detail views.
- true if the model should be displayed in read-only views; otherwise, false.
-
-
- Gets or sets a value that indicates whether the model should be displayed in editable views.
- true if the model should be displayed in editable views; otherwise, false.
-
-
- Gets or sets the simple display string for the model.
- The simple display string for the model.
-
-
- Gets or sets a hint that suggests what template to use for this model.
- A hint that suggests what template to use for this model.
-
-
- Gets or sets a value that can be used as a watermark.
- The watermark.
-
-
- Provides an abstract base class for a custom metadata provider.
-
-
- When overridden in a derived class, initializes a new instance of the object that derives from the class.
-
-
- Gets a object for each property of a model.
- A object for each property of a model.
- The container.
- The type of the container.
-
-
- Gets metadata for the specified property.
- A object for the property.
- The model accessor.
- The type of the container.
- The property to get the metadata model for.
-
-
- Gets metadata for the specified model accessor and model type.
- A object for the specified model accessor and model type.
- The model accessor.
- The type of the model.
-
-
- Provides a container for the current instance.
-
-
- Gets or sets the current object.
- The current object.
-
-
- Encapsulates the state of model binding to a property of an action-method argument, or to the argument itself.
-
-
- Initializes a new instance of the class.
-
-
- Returns a object that contains any errors that occurred during model binding.
- The errors.
-
-
- Returns a object that encapsulates the value that was being bound during model binding.
- The value.
-
-
- Represents the state of an attempt to bind a posted form to an action method, which includes validation information.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class by using values that are copied from the specified model-state dictionary.
- The model-state dictionary.
- The parameter is null.
-
-
- Adds the specified item to the model-state dictionary.
- The object to add to the model-state dictionary.
- The model-state dictionary is read-only.
-
-
- Adds an element that has the specified key and value to the model-state dictionary.
- The key of the element to add.
- The value of the element to add.
- The model-state dictionary is read-only.
-
- is null.
- An element that has the specified key already occurs in the model-state dictionary.
-
-
- Adds the specified model error to the errors collection for the model-state dictionary that is associated with the specified key.
- The key.
- The exception.
-
-
- Adds the specified error message to the errors collection for the model-state dictionary that is associated with the specified key.
- The key.
- The error message.
-
-
- Removes all items from the model-state dictionary.
- The model-state dictionary is read-only.
-
-
- Determines whether the model-state dictionary contains a specific value.
- true if is found in the model-state dictionary; otherwise, false.
- The object to locate in the model-state dictionary.
-
-
- Determines whether the model-state dictionary contains the specified key.
- true if the model-state dictionary contains the specified key; otherwise, false.
- The key to locate in the model-state dictionary.
-
-
- Copies the elements of the model-state dictionary to an array, starting at a specified index.
- The one-dimensional array that is the destination of the elements copied from the object. The array must have zero-based indexing.
- The zero-based index in at which copying starts.
-
- is null.
-
- is less than 0.
-
- is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source collection is greater than the available space from to the end of the destination .-or- Type cannot be cast automatically to the type of the destination .
-
-
- Gets the number of key/value pairs in the collection.
- The number of key/value pairs in the collection.
-
-
- Returns an enumerator that can be used to iterate through the collection.
- An enumerator that can be used to iterate through the collection.
-
-
- Gets a value that indicates whether the collection is read-only.
- true if the collection is read-only; otherwise, false.
-
-
- Gets a value that indicates whether this instance of the model-state dictionary is valid.
- true if this instance is valid; otherwise, false.
-
-
- Determines whether there are any objects that are associated with or prefixed with the specified key.
- true if the model-state dictionary contains a value that is associated with the specified key; otherwise, false.
- The key.
- The parameter is null.
-
-
- Gets or sets the value that is associated with the specified key.
- The model state item.
-
-
- Gets a collection that contains the keys in the dictionary.
- A collection that contains the keys of the model-state dictionary.
-
-
- Copies the values from the specified object into this dictionary, overwriting existing values if keys are the same.
- The dictionary.
-
-
- Removes the first occurrence of the specified object from the model-state dictionary.
- true if was successfully removed the model-state dictionary; otherwise, false. This method also returns false if is not found in the model-state dictionary.
- The object to remove from the model-state dictionary.
- The model-state dictionary is read-only.
-
-
- Removes the element that has the specified key from the model-state dictionary.
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the model-state dictionary.
- The key of the element to remove.
- The model-state dictionary is read-only.
-
- is null.
-
-
- Sets the value for the specified key by using the specified value provider dictionary.
- The key.
- The value.
-
-
- Returns an enumerator that can be used to iterate through the collection.
- An enumerator that can be used to iterate through the collection.
-
-
- Attempts to gets the value that is associated with the specified key.
- true if the object that implements contains an element that has the specified key; otherwise, false.
- The key of the value to get.
- When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized.
-
- is null.
-
-
- Gets a collection that contains the values in the dictionary.
- A collection that contains the values of the model-state dictionary.
-
-
- Provides a container for a validation result.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the name of the member.
- The name of the member.
-
-
- Gets or sets the validation result message.
- The validation result message.
-
-
- Provides a base class for implementing validation logic.
-
-
- Called from constructors in derived classes to initialize the class.
- The metadata.
- The controller context.
-
-
- Gets the controller context.
- The controller context.
-
-
- When implemented in a derived class, returns metadata for client validation.
- The metadata for client validation.
-
-
- Returns a composite model validator for the model.
- A composite model validator for the model.
- The metadata.
- The controller context.
-
-
- Gets or sets a value that indicates whether a model property is required.
- true if the model property is required; otherwise, false.
-
-
- Gets the metadata for the model validator.
- The metadata for the model validator.
-
-
- When implemented in a derived class, validates the object.
- A list of validation results.
- The container.
-
-
- Provides a list of validators for a model.
-
-
- When implemented in a derived class, initializes a new instance of the class.
-
-
- Gets a list of validators.
- A list of validators.
- The metadata.
- The context.
-
-
- No content here will be updated; please do not add material here.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using a list of model-validation providers.
- A list of model-validation providers.
-
-
- Removes all elements from the collection.
-
-
- Returns the list of model validators.
- The list of model validators.
- The model metadata.
- The controller context.
-
-
- Inserts a model-validator provider into the collection.
- The zero-based index at which item should be inserted.
- The model-validator provider object to insert.
-
-
- Removes the element at the specified index of the collection.
- The zero-based index of the element to remove.
-
-
- Replaces the model-validator provider element at the specified index.
- The zero-based index of the model-validator provider element to replace.
- The new value for the model-validator provider element.
-
-
- Provides a container for the current validation provider.
-
-
- Gets the model validator provider collection.
- The model validator provider collection.
-
-
- Represents a list of items that users can select more than one item from.
-
-
- Initializes a new instance of the class by using the specified items to include in the list.
- The items.
- The parameter is null.
-
-
- Initializes a new instance of the class by using the specified items to include in the list and the selected values.
- The items.
- The selected values.
- The parameter is null.
-
-
- Initializes a new instance of the MultiSelectList class by using the items to include in the list, the selected values, the disabled values.
- The items used to build each of the list.
- The selected values field. Used to match the Selected property of the corresponding .
- The disabled values. Used to match the Disabled property of the corresponding .
-
-
- Initializes a new instance of the class by using the items to include in the list, the data value field, and the data text field.
- The items.
- The data value field.
- The data text field.
- The parameter is null.
-
-
- Initializes a new instance of the class by using the items to include in the list, the data value field, the data text field, and the selected values.
- The items.
- The data value field.
- The data text field.
- The selected values.
- The parameter is null.
-
-
- Initializes a new instance of the MultiSelectList class by using the items to include in the list, the data value field, the data text field, the selected values, and the disabled values.
- The items used to build each of the list.
- The data value field. Used to match the Value property of the corresponding .
- The data text field. Used to match the Text property of the corresponding .
- The selected values field. Used to match the Selected property of the corresponding .
- The disabled values. Used to match the Disabled property of the corresponding .
-
-
- Initializes a new instance of the MultiSelectList class by using the items to include in the list, the data value field, the data text field, and the data group field.
- The items used to build each of the list.
- The data value field. Used to match the Value property of the corresponding .
- The data text field. Used to match the Text property of the corresponding .
- The data group field. Used to match the Group property of the corresponding .
-
-
- Initializes a new instance of the MultiSelectList class by using the items to include in the list, the data value field, the data text field, the data group field, and the selected values.
- The items used to build each of the list.
- The data value field. Used to match the Value property of the corresponding .
- The data text field. Used to match the Text property of the corresponding .
- The data group field. Used to match the Group property of the corresponding .
- The selected values field. Used to match the Selected property of the corresponding .
-
-
- Initializes a new instance of the MultiSelectList class by using the items to include in the list, the data value field, the data text field, the data group field, the selected values, and the disabled values.
- The items used to build each of the list.
- The data value field. Used to match the Value property of the corresponding .
- The data text field. Used to match the Text property of the corresponding .
- The data group field. Used to match the Group property of the corresponding .
- The selected values field. Used to match the Selected property of the corresponding .
- The disabled values. Used to match the Disabled property of the corresponding .
-
-
- Initializes a new instance of the MultiSelectList class by using the items to include in the list, the data value field, the data text field, the data group field, the selected values, the disabled values, and the disabled groups.
- The items used to build each of the list.
- The data value field. Used to match the Value property of the corresponding .
- The data text field. Used to match the Text property of the corresponding .
- The data group field. Used to match the Group property of the corresponding .
- The selected values field. Used to match the Selected property of the corresponding .
- The disabled values. Used to match the Disabled property of the corresponding .
- The disabled groups. Used to match the Disabled property of the corresponding .
-
-
- Gets the data group field.
-
-
- Gets or sets the data text field.
- The data text field.
-
-
- Gets or sets the data value field.
- The data value field.
-
-
- Gets the disabled groups.
-
-
- Gets the disabled values.
-
-
- Returns an enumerator that can be used to iterate through the collection.
- An enumerator that can be used to iterate through the collection.
-
-
- Gets or sets the items in the list.
- The items in the list.
-
-
- Gets or sets the selected values.
- The selected values.
-
-
- Returns an enumerator can be used to iterate through a collection.
- An enumerator that can be used to iterate through the collection.
-
-
- When implemented in a derived class, provides a metadata class that contains a reference to the implementation of one or more of the filter interfaces, the filter's order, and the filter's scope.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class and specifies the order of filters and whether multiple filters are allowed.
- true to specify that multiple filters of the same type are allowed; otherwise, false.
- The filter order.
-
-
- Gets a value that indicates whether more than one instance of the filter attribute can be specified.
- true if more than one instance of the filter attribute is allowed; otherwise, false.Implements.
-
-
- Gets a value that indicates the order in which a filter is applied.
- A value that indicates the order in which a filter is applied.Implements.
-
-
- Selects the controller that will handle an HTTP request.
-
-
- Initializes a new instance of the class.
- The request context.
- The parameter is null.
-
-
- Adds the version header by using the specified HTTP context.
- The HTTP context.
-
-
- Called by ASP.NET to begin asynchronous request processing.
- The status of the asynchronous call.
- The HTTP context.
- The asynchronous callback method.
- The state of the asynchronous object.
-
-
- Called by ASP.NET to begin asynchronous request processing using the base HTTP context.
- The status of the asynchronous call.
- The HTTP context.
- The asynchronous callback method.
- The state of the asynchronous object.
-
-
- Gets or sets a value that indicates whether the MVC response header is disabled.
- true if the MVC response header is disabled; otherwise, false.
-
-
- Called by ASP.NET when asynchronous request processing has ended.
- The asynchronous result.
-
-
- Gets a value that indicates whether another request can use the instance.
- true if the instance is reusable; otherwise, false.
-
-
- Contains the header name of the ASP.NET MVC version.
-
-
- Processes the request by using the specified HTTP request context.
- The HTTP context.
-
-
- Processes the request by using the specified base HTTP request context.
- The HTTP context.
-
-
- Gets the request context.
- The request context.
-
-
- Called by ASP.NET to begin asynchronous request processing using the base HTTP context.
- The status of the asynchronous call.
- The HTTP context.
- The asynchronous callback method.
- The data.
-
-
- Called by ASP.NET when asynchronous request processing has ended.
- The asynchronous result.
-
-
- Gets a value that indicates whether another request can use the instance.
- true if the instance is reusable; otherwise, false.
-
-
- Enables processing of HTTP Web requests by a custom HTTP handler that implements the interface.
- An object that provides references to the intrinsic server objects (for example, Request, Response, Session, and Server) that are used to service HTTP requests.
-
-
- Represents an HTML-encoded string that should not be encoded again.
-
-
- Initializes a new instance of the class.
- The string to create. If no value is assigned, the object is created using an empty-string value.
-
-
- Creates an HTML-encoded string using the specified text value.
- An HTML-encoded string.
- The value of the string to create .
-
-
- Contains an empty HTML string.
-
-
- Determines whether the specified string contains content or is either null or empty.
- true if the string is null or empty; otherwise, false.
- The string.
-
-
- Verifies and processes an HTTP request.
-
-
- Initializes a new instance of the class.
-
-
- Called by ASP.NET to begin asynchronous request processing.
- The status of the asynchronous call.
- The HTTP context.
- The asynchronous callback method.
- The state.
-
-
- Called by ASP.NET to begin asynchronous request processing.
- The status of the asynchronous call.
- The base HTTP context.
- The asynchronous callback method.
- The state.
-
-
- Called by ASP.NET when asynchronous request processing has ended.
- The asynchronous result.
-
-
- Called by ASP.NET to begin asynchronous request processing.
- The status of the asynchronous call.
- The context.
- The asynchronous callback method.
- An object that contains data.
-
-
- Called by ASP.NET when asynchronous request processing has ended.
- The status of the asynchronous operations.
-
-
- Verifies and processes an HTTP request.
- The HTTP handler.
- The HTTP context.
-
-
- Creates an object that implements the IHttpHandler interface and passes the request context to it.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using the specified factory controller object.
- The controller factory.
-
-
- Returns the HTTP handler by using the specified HTTP context.
- The HTTP handler.
- The request context.
-
-
- Returns the session behavior.
- The session behavior.
- The request context.
-
-
- Returns the HTTP handler by using the specified request context.
- The HTTP handler.
- The request context.
-
-
- Creates instances of files.
-
-
- Initializes a new instance of the class.
-
-
- Creates a Razor host.
- A Razor host.
- The virtual path to the target file.
- The physical path to the target file.
-
-
- Extends a NameValueCollection object so that the collection can be copied to a specified dictionary.
-
-
- Copies the specified collection to the specified destination.
- The collection.
- The destination.
-
-
- Copies the specified collection to the specified destination, and optionally replaces previous entries.
- The collection.
- The destination.
- true to replace previous entries; otherwise, false.
-
-
- Represents the base class for value providers whose values come from a object.
-
-
- Initializes a new instance of the class using the specified unvalidated collection.
- A collection that contains the values that are used to initialize the provider.
- A collection that contains the values that are used to initialize the provider. This collection will not be validated.
- An object that contains information about the target culture.
-
-
- Initializes Name Value collection provider.
- Key value collection from request.
- Unvalidated key value collection from the request.
- Culture with which the values are to be used.
- jQuery POST when sending complex Javascript objects to server does not encode in the way understandable by MVC. This flag should be set if the request should be normalized to MVC form - https://aspnetwebstack.codeplex.com/workitem/1564.
-
-
- Initializes a new instance of the class.
- A collection that contains the values that are used to initialize the provider.
- An object that contains information about the target culture.
- The parameter is null.
-
-
- Determines whether the collection contains the specified prefix.
- true if the collection contains the specified prefix; otherwise, false.
- The prefix to search for.
- The parameter is null.
-
-
- Gets the keys using the specified prefix.
- They keys.
- The prefix.
-
-
- Returns a value object using the specified key.
- The value object for the specified key.
- The key of the value object to retrieve.
- The parameter is null.
-
-
- Returns a value object using the specified key and validation directive.
- The value object for the specified key.
- The key.
- true if validation should be skipped; otherwise, false.
-
-
- Provides a convenience wrapper for the attribute.
-
-
- Initializes a new instance of the class.
-
-
- Represents an attribute that is used to indicate that a controller method is not an action method.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether the attribute marks a method that is not an action method by using the specified controller context.
- true if the attribute marks a valid non-action method; otherwise, false.
- The controller context.
- The method information.
-
-
- Represents an attribute that is used to mark an action method whose output will be cached.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the cache profile name.
- The cache profile name.
-
-
- Gets or sets the child action cache.
- The child action cache.
-
-
- Gets or sets the cache duration, in seconds.
- The cache duration.
-
-
- Returns a value that indicates whether a child action cache is active.
- true if the child action cache is active; otherwise, false.
- The controller context.
-
-
- Gets or sets the location.
- The location.
-
-
- Gets or sets a value that indicates whether to store the cache.
- true if the cache should be stored; otherwise, false.
-
-
- This method is an implementation of and supports the ASP.NET MVC infrastructure. It is not intended to be used directly from your code.
- The filter context.
-
-
- This method is an implementation of and supports the ASP.NET MVC infrastructure. It is not intended to be used directly from your code.
- The filter context.
-
-
- This method is an implementation of and supports the ASP.NET MVC infrastructure. It is not intended to be used directly from your code.
- The filter context.
-
-
- This method is an implementation of and supports the ASP.NET MVC infrastructure. It is not intended to be used directly from your code.
- The filter context.
-
-
- Called before the action result executes.
- The filter context, which encapsulates information for using .
- The parameter is null.
-
-
- Gets or sets the SQL dependency.
- The SQL dependency.
-
-
- Gets or sets the vary-by-content encoding.
- The vary-by-content encoding.
-
-
- Gets or sets the vary-by-custom value.
- The vary-by-custom value.
-
-
- Gets or sets the vary-by-header value.
- The vary-by-header value.
-
-
- Gets or sets the vary-by-param value.
- The vary-by-param value.
-
-
- Represents the attributes associated with the override filter.
-
-
- Initializes a new instance of the class.
-
-
- Gets the filters to override for this instance.
- The filters to override for this instance.
-
-
- Represents the attributes associated with the authentication.
-
-
- Initializes a new instance of the class.
-
-
- Gets the filters to override for this instance.
- The filters to override for this instance.
-
-
- Represents the attributes associated with the authorization.
-
-
- Initializes a new instance of the class.
-
-
- Gets the filters to override for this instance.
- The filters to override for this instance.
-
-
- Represents the attributes associated with the exception filter.
-
-
- Initializes a new instance of the class.
-
-
- Gets the filters to override for this instance.
- The filters to override for this instance.
-
-
- Represents the attributes associated with the result filter.
-
-
- Initializes a new instance of the class.
-
-
- Gets the filters to override for this instance.
- The filters to override for this instance.
-
-
- Encapsulates information for binding action-method parameters to a data model.
-
-
- Initializes a new instance of the class.
-
-
- Gets the model binder.
- The model binder.
-
-
- Gets a comma-delimited list of property names for which binding is disabled.
- The exclude list.
-
-
- Gets a comma-delimited list of property names for which binding is enabled.
- The include list.
-
-
- Gets the prefix to use when the MVC framework binds a value to an action parameter or to a model property.
- The prefix.
-
-
- Contains information that describes a parameter.
-
-
- Initializes a new instance of the class.
-
-
- Gets the action descriptor.
- The action descriptor.
-
-
- Gets the binding information.
- The binding information.
-
-
- Gets the default value of the parameter.
- The default value of the parameter.
-
-
- Returns an array of custom attributes that are defined for this member, excluding named attributes.
- An array of custom attributes, or an empty array if no custom attributes exist.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
- The custom attribute type cannot be loaded.
- There is more than one attribute of type defined for this member.
-
-
- Returns an array of custom attributes that are defined for this member, identified by type.
- An array of custom attributes, or an empty array if no custom attributes exist.
- The type of the custom attributes.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
- The custom attribute type cannot be loaded.
- There is more than one attribute of type defined for this member.
- The parameter is null.
-
-
- Indicates whether one or more instances of a custom attribute type are defined for this member.
- true if the custom attribute type is defined for this member; otherwise, false.
- The type of the custom attributes.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
- The parameter is null.
-
-
- Gets the name of the parameter.
- The name of the parameter.
-
-
- Gets the type of the parameter.
- The type of the parameter.
-
-
- Represents a base class that is used to send a partial view to the response.
-
-
- Initializes a new instance of the class.
-
-
- Returns the object that is used to render the view.
- The view engine result.
- The controller context.
- An error occurred while the method was attempting to find the view.
-
-
- Provides a registration point for ASP.NET Razor pre-application start code.
-
-
- Registers Razor pre-application start code.
-
-
- Represents a value provider for query strings that are contained in a object.
-
-
- Initializes a new instance of the class.
- An object that encapsulates information about the current HTTP request.
-
-
- Represents a class that is responsible for creating a new instance of a query-string value-provider object.
-
-
- Initializes a new instance of the class.
-
-
- Returns a value-provider object for the specified controller context.
- A query-string value-provider object.
- An object that encapsulates information about the current HTTP request.
- The parameter is null.
-
-
- Provides an adapter for the attribute.
-
-
- Initializes a new instance of the class.
- The model metadata.
- The controller context.
- The range attribute.
-
-
- Gets a list of client validation rules for a range check.
- A list of client validation rules for a range check.
-
-
- Represents the class used to create views that have Razor syntax.
-
-
- Initializes a new instance of the class.
- The controller context.
- The view path.
- The layout or master page.
- A value that indicates whether view start files should be executed before the view.
- The set of extensions that will be used when looking up view start files.
-
-
- Initializes a new instance of the class using the view page activator.
- The controller context.
- The view path.
- The layout or master page.
- A value that indicates whether view start files should be executed before the view.
- The set of extensions that will be used when looking up view start files.
- The view page activator.
-
-
- Gets the layout or master page.
- The layout or master page.
-
-
- Renders the specified view context by using the specified writer and instance.
- The view context.
- The writer that is used to render the view to the response.
- The instance.
-
-
- Gets a value that indicates whether view start files should be executed before the view.
- A value that indicates whether view start files should be executed before the view.
-
-
- Gets or sets the set of file extensions that will be used when looking up view start files.
- The set of file extensions that will be used when looking up view start files.
-
-
- Represents a view engine that is used to render a Web page that uses the ASP.NET Razor syntax.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using the view page activator.
- The view page activator.
-
-
- Creates a partial view using the specified controller context and partial path.
- The partial view.
- The controller context.
- The path to the partial view.
-
-
- Creates a view by using the specified controller context and the paths of the view and master view.
- The view.
- The controller context.
- The path to the view.
- The path to the master view.
-
-
- Controls the processing of application actions by redirecting to a specified URI.
-
-
- Initializes a new instance of the class.
- The target URL.
- The parameter is null.
-
-
- Initializes a new instance of the class using the specified URL and permanent-redirection flag.
- The URL.
- A value that indicates whether the redirection should be permanent.
-
-
- Enables processing of the result of an action method by a custom type that inherits from the class.
- The context within which the result is executed.
- The parameter is null.
-
-
- Gets a value that indicates whether the redirection should be permanent.
- true if the redirection should be permanent; otherwise, false.
-
-
- Gets or sets the target URL.
- The target URL.
-
-
- Represents a result that performs a redirection by using the specified route values dictionary.
-
-
- Initializes a new instance of the class by using the specified route name and route values.
- The name of the route.
- The route values.
-
-
- Initializes a new instance of the class by using the specified route name, route values, and permanent-redirection flag.
- The name of the route.
- The route values.
- A value that indicates whether the redirection should be permanent.
-
-
- Initializes a new instance of the class by using the specified route values.
- The route values.
-
-
- Enables processing of the result of an action method by a custom type that inherits from the class.
- The context within which the result is executed.
- The parameter is null.
-
-
- Gets a value that indicates whether the redirection should be permanent.
- true if the redirection should be permanent; otherwise, false.
-
-
- Gets or sets the name of the route.
- The name of the route.
-
-
- Gets or sets the route values.
- The route values.
-
-
- Contains information that describes a reflected action method.
-
-
- Initializes a new instance of the class.
- The action-method information.
- The name of the action.
- The controller descriptor.
- Either the or parameter is null.
- The parameter is null or empty.
-
-
- Gets the name of the action.
- The name of the action.
-
-
- Gets the controller descriptor.
- The controller descriptor.
-
-
- Executes the specified controller context by using the specified action-method parameters.
- The action return value.
- The controller context.
- The parameters.
- The or parameter is null.
-
-
- Returns an array of custom attributes defined for this member, excluding named attributes.
- An array of custom attributes, or an empty array if no custom attributes exist.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
- The custom attribute type cannot be loaded.
- There is more than one attribute of type defined for this member.
-
-
- Returns an array of custom attributes defined for this member, identified by type.
- An array of custom attributes, or an empty array if no custom attributes exist.
- The type of the custom attributes.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
- The custom attribute type cannot be loaded.
- There is more than one attribute of type defined for this member.
-
-
- Gets the filter attributes.
- The filter attributes.
- true to use the cache, otherwise false.
-
-
- Retrieves the parameters of the action method.
- The parameters of the action method.
-
-
- Retrieves the action selectors.
- The action selectors.
-
-
- Indicates whether one or more instances of a custom attribute type are defined for this member.
- true if the custom attribute type is defined for this member; otherwise, false.
- The type of the custom attributes.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
-
-
- Gets or sets the action-method information.
- The action-method information.
-
-
- Gets the unique ID for the reflected action descriptor using lazy initialization.
- The unique ID.
-
-
- Contains information that describes a reflected controller.
-
-
- Initializes a new instance of the class.
- The type of the controller.
- The parameter is null.
-
-
- Gets the type of the controller.
- The type of the controller.
-
-
- Finds the specified action for the specified controller context.
- The information about the action.
- The controller context.
- The name of the action.
- The parameter is null.
- The parameter is null or empty.
-
-
- Returns the list of actions for the controller.
- A list of action descriptors for the controller.
-
-
- Returns an array of custom attributes that are defined for this member, excluding named attributes.
- An array of custom attributes, or an empty array if no custom attributes exist.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
- The custom attribute type cannot be loaded.
- There is more than one attribute of type defined for this member.
-
-
- Returns an array of custom attributes that are defined for this member, identified by type.
- An array of custom attributes, or an empty array if no custom attributes exist.
- The type of the custom attributes.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
- The custom attribute type cannot be loaded.
- There is more than one attribute of type defined for this member.
-
-
- Gets the filter attributes.
- The filter attributes.
- true to use the cache, otherwise false.
-
-
- Returns a value that indicates whether one or more instances of a custom attribute type are defined for this member.
- true if the custom attribute type is defined for this member; otherwise, false.
- The type of the custom attributes.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
-
-
- Contains information that describes a reflected action-method parameter.
-
-
- Initializes a new instance of the class.
- The parameter information.
- The action descriptor.
- The or parameter is null.
-
-
- Gets the action descriptor.
- The action descriptor.
-
-
- Gets the binding information.
- The binding information.
-
-
- Gets the default value of the reflected parameter.
- The default value of the reflected parameter.
-
-
- Returns an array of custom attributes that are defined for this member, excluding named attributes.
- An array of custom attributes, or an empty array if no custom attributes exist.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
- The custom attribute type cannot be loaded.
- There is more than one attribute of type defined for this member.
-
-
- Returns an array of custom attributes that are defined for this member, identified by type.
- An array of custom attributes, or an empty array if no custom attributes exist.
- The type of the custom attributes.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
- The custom attribute type cannot be loaded.
- There is more than one attribute of type defined for this member.
-
-
- Returns a value that indicates whether one or more instances of a custom attribute type are defined for this member.
- true if the custom attribute type is defined for this member; otherwise, false.
- The type of the custom attributes.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
-
-
- Gets or sets the parameter information.
- The parameter information.
-
-
- Gets the name of the parameter.
- The name of the parameter.
-
-
- Gets the type of the parameter.
- The type of the parameter.
-
-
- Provides an adapter for the attribute.
-
-
- Initializes a new instance of the class.
- The model metadata.
- The controller context.
- The regular expression attribute.
-
-
- Gets a list of regular-expression client validation rules.
- A list of regular-expression client validation rules.
-
-
- Provides an attribute that uses the jQuery validation plug-in remote validator.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using the specified route name.
- The route name.
-
-
- Initializes a new instance of the class using the specified action-method name and controller name.
- The name of the action method.
- The name of the controller.
-
-
- Initializes a new instance of the class using the specified action-method name, controller name, and area name.
- The name of the action method.
- The name of the controller.
- The name of the area.
-
-
- Initializes a new instance of the class.
- The route name.
- The name of the controller.
- Find the controller in the root if . Otherwise look in the current area.
-
-
- Gets or sets the additional fields that are required for validation.
- The additional fields that are required for validation.
-
-
- Returns a comma-delimited string of validation field names.
- A comma-delimited string of validation field names.
- The name of the validation property.
-
-
- Formats the error message that is displayed when validation fails.
- A formatted error message.
- A name to display with the error message.
-
-
- Formats the property for client validation by prepending an asterisk (*) and a dot.
- The string "*." Is prepended to the property.
- The property.
-
-
- Gets a list of client validation rules for the property.
- A list of remote client validation rules for the property.
- The model metadata.
- The controller context.
-
-
- Gets the URL for the remote validation call.
- The URL for the remote validation call.
- The controller context.
-
-
- Gets or sets the HTTP method used for remote validation.
- The HTTP method used for remote validation. The default value is "Get".
-
-
- This method always returns true.
- true
- The validation target.
-
-
- Gets the route data dictionary.
- The route data dictionary.
-
-
- Gets or sets the route name.
- The route name.
-
-
- Gets the route collection from the route table.
- The route collection from the route table.
-
-
- Provides an adapter for the attribute.
-
-
- Initializes a new instance of the class.
- The model metadata.
- The controller context.
- The required attribute.
-
-
- Gets a list of required-value client validation rules.
- A list of required-value client validation rules.
-
-
- Represents an attribute that forces an unsecured HTTP request to be re-sent over HTTPS.
-
-
- Initializes a new instance of the class.
-
-
- Handles unsecured HTTP requests that are sent to the action method.
- An object that encapsulates information that is required in order to use the attribute.
- The HTTP request contains an invalid transfer method override. All GET requests are considered invalid.
-
-
- Determines whether a request is secured (HTTPS) and, if it is not, calls the method.
- An object that encapsulates information that is required in order to use the attribute.
- The parameter is null.
-
-
- Provides the context for the method of the class.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class.
- The controller context.
- The result object.
- true to cancel execution; otherwise, false.
- The exception object.
- The parameter is null.
-
-
- Gets or sets a value that indicates whether this instance is canceled.
- true if the instance is canceled; otherwise, false.
-
-
- Gets or sets the exception object.
- The exception object.
-
-
- Gets or sets a value that indicates whether the exception has been handled.
- true if the exception has been handled; otherwise, false.
-
-
- Gets or sets the action result.
- The action result.
-
-
- Provides the context for the method of the class.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class by using the specified controller context and action result.
- The controller context.
- The action result.
- The parameter is null.
-
-
- Gets or sets a value that indicates whether this value is "cancel".
- true if the value is "cancel"; otherwise, false.
-
-
- Gets or sets the action result.
- The action result.
-
-
- Defines the area to set for all the routes defined in this controller.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class.
- The name of the area. If the value is null, an attempt will be made to infer the area name from the target controller's namespace.
-
-
- Gets the area name to set for all the routes defined in the controller. If the value is null, an attempt will be made to infer the area name from the target controller's namespace.
- The area name to set for all the routes defined in the controller.
-
-
- Gets the URL prefix to apply to the routes of this area. Defaults to the area's name.
- The URL prefix to apply to the routes of this area.
-
-
- Place on a controller or action to expose it directly via a route. When placed on a controller, it applies to actions that do not have any System.Web.Mvc.RouteAttribute’s on them.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class with the specified template.
- The pattern of the route to match.
-
-
- Gets or sets the name of the route.
- The name of the route
-
-
- Gets the order the route is applied.
- The order the route is applied.
-
-
- Creates a direct route entry.
- The direct route entry.
- The context to use to create the route.
-
-
- Gets the pattern for the route to match.
- The pattern to match.
-
-
- Provides routing extensions for route collection attribute.
-
-
- Maps the attribute-defined routes for the application.
- A collection of routes.
-
-
- Maps the attribute-defined routes for the application.
- The to use for mapping routes.
-
-
- Maps the attribute-defined routes for the application.
- A collection of routes.
- The to use for resolving inline constraints in route templates.
-
-
- Maps the attribute-defined routes for the application.
- The to use for resolving inline constraints in route templates.
- The to use for mapping routes.
-
-
- Extends a object for MVC routing.
-
-
- Returns an object that contains information about the route and virtual path that are the result of generating a URL in the current area.
- An object that contains information about the route and virtual path that are the result of generating a URL in the current area.
- An object that contains the routes for the applications.
- An object that encapsulates information about the requested route.
- The name of the route to use when information about the URL path is retrieved.
- An object that contains the parameters for a route.
-
-
- Returns an object that contains information about the route and virtual path that are the result of generating a URL in the current area.
- An object that contains information about the route and virtual path that are the result of generating a URL in the current area.
- An object that contains the routes for the applications.
- An object that encapsulates information about the requested route.
- An object that contains the parameters for a route.
-
-
- Ignores the specified URL route for the given list of available routes.
- A collection of routes for the application.
- The URL pattern for the route to ignore.
- The or parameter is null.
-
-
- Ignores the specified URL route for the given list of the available routes and a list of constraints.
- A collection of routes for the application.
- The URL pattern for the route to ignore.
- A set of expressions that specify values for the parameter.
- The or parameter is null.
-
-
- Maps the specified URL route.
- A reference to the mapped route.
- A collection of routes for the application.
- The name of the route to map.
- The URL pattern for the route.
- The or parameter is null.
-
-
- Maps the specified URL route and sets default route values.
- A reference to the mapped route.
- A collection of routes for the application.
- The name of the route to map.
- The URL pattern for the route.
- An object that contains default route values.
- The or parameter is null.
-
-
- Maps the specified URL route and sets default route values and constraints.
- A reference to the mapped route.
- A collection of routes for the application.
- The name of the route to map.
- The URL pattern for the route.
- An object that contains default route values.
- A set of expressions that specify values for the parameter.
- The or parameter is null.
-
-
- Maps the specified URL route and sets default route values, constraints, and namespaces.
- A reference to the mapped route.
- A collection of routes for the application.
- The name of the route to map.
- The URL pattern for the route.
- An object that contains default route values.
- A set of expressions that specify values for the parameter.
- A set of namespaces for the application.
- The or parameter is null.
-
-
- Maps the specified URL route and sets default route values and namespaces.
- A reference to the mapped route.
- A collection of routes for the application.
- The name of the route to map.
- The URL pattern for the route.
- An object that contains default route values.
- A set of namespaces for the application.
- The or parameter is null.
-
-
- Maps the specified URL route and sets the namespaces.
- A reference to the mapped route.
- A collection of routes for the application.
- The name of the route to map.
- The URL pattern for the route.
- A set of namespaces for the application.
- The or parameter is null.
-
-
- Represents a value provider for route data that is contained in an object that implements the interface.
-
-
- Initializes a new instance of the class.
- An object that contain information about the HTTP request.
-
-
- Represents a factory for creating route-data value provider objects.
-
-
- Initialized a new instance of the class.
-
-
- Returns a value-provider object for the specified controller context.
- A value-provider object.
- An object that encapsulates information about the current HTTP request.
- The parameter is null.
-
-
- Annotates a controller with a route prefix that applies to all actions within the controller.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class with the specified prefix.
- The route prefix for the controller.
-
-
- Gets the route prefix.
- The route prefix.
-
-
- Represents a list that lets users select one item.
-
-
- Initializes a new instance of the class by using the specified items for the list.
- The items.
-
-
- Initializes a new instance of the class by using the specified items for the list and a selected value.
- The items.
- The selected value.
-
-
- Initializes a new instance of the SelectList class by using the specified items for the list, the selected value, and the disabled values.
- The items used to build each of the list.
- The selected value. Used to match the Selected property of the corresponding .
- The disabled values. Used to match the Disabled property of the corresponding .
-
-
- Initializes a new instance of the class by using the specified items for the list, the data value field, and the data text field.
- The items.
- The data value field.
- The data text field.
-
-
- Initializes a new instance of the class by using the specified items for the list, the data value field, the data text field, and a selected value.
- The items.
- The data value field.
- The data text field.
- The selected value.
-
-
- Initializes a new instance of the SelectList class by using the specified items for the list, the data value field, the data text field, the selected value, and the disabled values.
- The items used to build each of the list.
- The data value field. Used to match the Value property of the corresponding .
- The data text field. Used to match the Text property of the corresponding .
- The selected value. Used to match the Selected property of the corresponding .
- The disabled values. Used to match the Disabled property of the corresponding .
-
-
- Initializes a new instance of the SelectList class by using the specified items for the list, the data value field, the data text field, the data group field, and the selected value.
- The items used to build each of the list.
- The data value field. Used to match the Value property of the corresponding .
- The data text field. Used to match the Text property of the corresponding .
- The data group field. Used to match the Group property of the corresponding .
- The selected value. Used to match the Selected property of the corresponding .
-
-
- Initializes a new instance of the SelectList class by using the specified items for the list, the data value field, the data text field, the data group field, the selected value, and the disabled values.
- The items used to build each of the list.
- The data value field. Used to match the Value property of the corresponding .
- The data text field. Used to match the Text property of the corresponding .
- The data group field. Used to match the Group property of the corresponding .
- The selected value. Used to match the Selected property of the corresponding .
- The disabled values. Used to match the Disabled property of the corresponding .
-
-
- Initializes a new instance of the SelectList class by using the specified items for the list, the data value field, the data text field, the data group field. the selected value, the disabled values, and the disabled groups.
- The items used to build each of the list.
- The data value field. Used to match the Value property of the corresponding .
- The data text field. Used to match the Text property of the corresponding .
- The data group field. Used to match the Group property of the corresponding .
- The selected value. Used to match the Selected property of the corresponding .
- The disabled values. Used to match the Disabled property of the corresponding .
- The disabled groups. Used to match the Disabled property of the corresponding .
-
-
- Gets the list value that was selected by the user.
- The selected value.
-
-
- Represents the optgroup HTML element and its attributes. In a select list, multiple groups with the same name are supported. They are compared with reference equality.
-
-
-
- Gets or sets a value that indicates whether this is disabled.
-
-
- Represents the value of the optgroup's label.
-
-
- Represents the selected item in an instance of the class.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets a value that indicates whether this is disabled.
-
-
- Represents the optgroup HTML element this item is wrapped into. In a select list, multiple groups with the same name are supported. They are compared with reference equality.
-
-
- Gets or sets a value that indicates whether this is selected.
- true if the item is selected; otherwise, false.
-
-
- Gets or sets the text of the selected item.
- The text.
-
-
- Gets or sets the value of the selected item.
- The value.
-
-
- Specifies the session state of the controller.
-
-
- Initializes a new instance of the class
- The type of the session state.
-
-
- Get the session state behavior for the controller.
- The session state behavior for the controller.
-
-
- Provides session-state data to the current object.
-
-
- Initializes a new instance of the class.
-
-
- Loads the temporary data by using the specified controller context.
- The temporary data.
- The controller context.
- An error occurred when the session context was being retrieved.
-
-
- Saves the specified values in the temporary data dictionary by using the specified controller context.
- The controller context.
- The values.
- An error occurred the session context was being retrieved.
-
-
- Provides an adapter for the attribute.
-
-
- Initializes a new instance of the class.
- The model metadata.
- The controller context.
- The string-length attribute.
-
-
- Gets a list of string-length client validation rules.
- A list of string-length client validation rules.
-
-
- Represents a set of data that persists only from one request to the next.
-
-
- Initializes a new instance of the class.
-
-
- Adds an element that has the specified key and value to the object.
- The key of the element to add.
- The value of the element to add.
- The object is read-only.
-
- is null.
- An element that has the same key already exists in the object.
-
-
- Removes all items from the instance.
- The object is read-only.
-
-
- Determines whether the instance contains an element that has the specified key.
- true if the instance contains an element that has the specified key; otherwise, false.
- The key to locate in the instance.
-
- is null.
-
-
- Determines whether the dictionary contains the specified value.
- true if the dictionary contains the specified value; otherwise, false.
- The value.
-
-
- Gets the number of elements in the object.
- The number of elements in the object.
-
-
- Gets the enumerator.
- The enumerator.
-
-
- Gets or sets the object that has the specified key.
- The object that has the specified key.
-
-
- Marks all keys in the dictionary for retention.
-
-
- Marks the specified key in the dictionary for retention.
- The key to retain in the dictionary.
-
-
- Gets an object that contains the keys of elements in the object.
- The keys of the elements in the object.
-
-
- Loads the specified controller context by using the specified data provider.
- The controller context.
- The temporary data provider.
-
-
- Returns an object that contains the element that is associated with the specified key, without marking the key for deletion.
- An object that contains the element that is associated with the specified key.
- The key of the element to return.
-
-
- Removes the element that has the specified key from the object.
- true if the element was removed successfully; otherwise, false. This method also returns false if was not found in the . instance.
- The key of the element to remove.
- The object is read-only.
-
- is null.
-
-
- Saves the specified controller context by using the specified data provider.
- The controller context.
- The temporary data provider.
-
-
- Adds the specified key/value pair to the dictionary.
- The key/value pair.
-
-
- Determines whether a sequence contains a specified element by using the default equality comparer.
- true if the dictionary contains the specified key/value pair; otherwise, false.
- The key/value pair to search for.
-
-
- Copies a key/value pair to the specified array at the specified index.
- The target array.
- The index.
-
-
- Gets a value that indicates whether the dictionary is read-only.
- true if the dictionary is read-only; otherwise, false.
-
-
- Deletes the specified key/value pair from the dictionary.
- true if the key/value pair was removed successfully; otherwise, false.
- The key/value pair.
-
-
- Returns an enumerator that can be used to iterate through a collection.
- An object that can be used to iterate through the collection.
-
-
- Gets the value of the element that has the specified key.
- true if the object that implements contains an element that has the specified key; otherwise, false.
- The key of the value to get.
- When this method returns, the value that is associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized.
-
- is null.
-
-
- Gets the object that contains the values in the object.
- The values of the elements in the object that implements .
-
-
- Encapsulates information about the current template context.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the formatted model value.
- The formatted model value.
-
-
- Retrieves the full DOM ID of a field using the specified HTML name attribute.
- The full DOM ID.
- The value of the HTML name attribute.
-
-
- Retrieves the fully qualified name (including a prefix) for a field using the specified HTML name attribute.
- The prefixed name of the field.
- The value of the HTML name attribute.
-
-
- Gets or sets the HTML field prefix.
- The HTML field prefix.
-
-
- Contains the number of objects that were visited by the user.
- The number of objects.
-
-
- Determines whether the template has been visited by the user.
- true if the template has been visited by the user; otherwise, false.
- An object that encapsulates information that describes the model.
-
-
- Contains methods to build URLs for ASP.NET MVC within an application.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using the specified request context.
- An object that contains information about the current request and about the route that it matched.
-
-
- Initializes a new instance of the class using the specified request context and route collection.
- An object that contains information about the current request and about the route that it matched.
- A collection of routes.
- The or the parameter is null.
-
-
- Generates a string to a fully qualified URL to an action method.
- A string to a fully qualified URL to an action method.
-
-
- Generates a fully qualified URL to an action method by using the specified action name.
- The fully qualified URL to an action method.
- The name of the action method.
-
-
- Generates a fully qualified URL to an action method by using the specified action name and route values.
- The fully qualified URL to an action method.
- The name of the action method.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
-
-
- Generates a fully qualified URL to an action method by using the specified action name and controller name.
- The fully qualified URL to an action method.
- The name of the action method.
- The name of the controller.
-
-
- Generates a fully qualified URL to an action method by using the specified action name, controller name, and route values.
- The fully qualified URL to an action method.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
-
-
- Generates a fully qualified URL to an action method by using the specified action name, controller name, route values, and protocol to use.
- The fully qualified URL to an action method.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
- The protocol for the URL, such as "http" or "https".
-
-
- Generates a fully qualified URL to an action method by using the specified action name, controller name, and route values.
- The fully qualified URL to an action method.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route.
-
-
- Generates a fully qualified URL for an action method by using the specified action name, controller name, route values, and protocol to use.
- The fully qualified URL to an action method.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route.
- The protocol for the URL, such as "http" or "https".
-
-
- Generates a fully qualified URL for an action method by using the specified action name, controller name, route values, protocol to use and host name.
- The fully qualified URL to an action method.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route.
- The protocol for the URL, such as "http" or "https".
- The host name for the URL.
-
-
- Generates a fully qualified URL to an action method for the specified action name and route values.
- The fully qualified URL to an action method.
- The name of the action method.
- An object that contains the parameters for a route.
-
-
- Converts a virtual (relative) path to an application absolute path.
- The application absolute path.
- The virtual path of the content.
-
-
- Encodes special characters in a URL string into character-entity equivalents.
- An encoded URL string.
- The text to encode.
-
-
- Returns a string that contains a content URL.
- A string that contains a content URL.
- The content path.
- The http context.
-
-
- Returns a string that contains a URL.
- A string that contains a URL.
- The route name.
- The action name.
- The controller name.
- The HTTP protocol.
- The host name.
- The fragment.
- The route values.
- The route collection.
- The request context.
- true to include implicit MVC values; otherwise false.
-
-
- Returns a string that contains a URL.
- A string that contains a URL.
- The route name.
- The action name.
- The controller name.
- The route values.
- The route collection.
- The request context.
- true to include implicit MVC values; otherwise false.
-
-
- Generates a fully qualified URL for the specified route values.
- A fully qualified URL for the specified route values.
- The route name.
- The route values.
-
-
- Generates a fully qualified URL for the specified route values.
- A fully qualified URL for the specified route values.
- The route name.
- The route values.
-
-
- Returns a value that indicates whether the URL is local.
- true if the URL is local; otherwise, false.
- The URL.
-
-
- Gets information about an HTTP request that matches a defined route.
- The request context.
-
-
- Gets a collection that contains the routes that are registered for the application.
- The route collection.
-
-
- Generates a fully qualified URL for the specified route values.
- The fully qualified URL.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
-
-
- Generates a fully qualified URL for the specified route name.
- The fully qualified URL.
- The name of the route that is used to generate URL.
-
-
- Generates a fully qualified URL for the specified route values by using a route name.
- The fully qualified URL.
- The name of the route that is used to generate URL.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
-
-
- Generates a fully qualified URL for the specified route values by using a route name and the protocol to use.
- The fully qualified URL.
- The name of the route that is used to generate the URL.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
- The protocol for the URL, such as "http" or "https".
-
-
- Generates a fully qualified URL for the specified route values by using a route name.
- The fully qualified URL.
- The name of the route that is used to generate URL.
- An object that contains the parameters for a route.
-
-
- Generates a fully qualified URL for the specified route values by using the specified route name, protocol to use, and host name.
- The fully qualified URL.
- The name of the route that is used to generate URL.
- An object that contains the parameters for a route.
- The protocol for the URL, such as "http" or "https".
- The host name for the URL.
-
-
- Generates a fully qualified URL for the specified route values.
- The fully qualified URL.
- An object that contains the parameters for a route.
-
-
- Represents an optional parameter that is used by the class during routing.
-
-
- Contains the read-only value for the optional parameter.
-
-
- Returns an empty string. This method supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
- An empty string.
-
-
- Provides an object adapter that can be validated.
-
-
- Initializes a new instance of the class.
- The model metadata.
- The controller context.
-
-
- Validates the specified object.
- A list of validation results.
- The container.
-
-
- Represents an attribute that is used to prevent forgery of a request.
-
-
- Initializes a new instance of the class.
-
-
- Called when authorization is required.
- The filter context.
- The parameter is null.
-
-
- Gets or sets the salt string.
- The salt string.
-
-
- Represents an attribute that is used to mark action methods whose input must be validated.
-
-
- Initializes a new instance of the class.
- true to enable validation.
-
-
- Gets or sets a value that indicates whether to enable validation.
- true if validation is enabled; otherwise, false.
-
-
- Called when authorization is required.
- The filter context.
- The parameter is null.
-
-
- Represents the collection of value-provider objects for the application.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class and registers the specified value providers.
- The list of value providers to register.
-
-
- Determines whether the collection contains the specified prefix.
- true if the collection contains the specified prefix; otherwise, false.
- The prefix to search for.
-
-
- Gets the keys using the specified prefix.
- They keys.
- The prefix.
-
-
- Returns a value object using the specified key.
- The value object for the specified key.
- The key of the value object to retrieve.
-
-
- Returns a value object using the specified key and skip-validation parameter.
- The value object for the specified key.
- The key of the value object to retrieve.
- true to specify that validation should be skipped; otherwise, false.
-
-
- Inserts the specified value-provider object into the collection at the specified index location.
- The zero-based index location at which to insert the value provider into the collection.
- The value-provider object to insert.
- The parameter is null.
-
-
- Replaces the value provider at the specified index location with a new value provider.
- The zero-based index of the element to replace.
- The new value for the element at the specified index.
- The parameter is null.
-
-
- Note: This API is now obsolete.Represents a dictionary of value providers for the application.
-
-
- Initializes a new instance of the class.
- The controller context.
-
-
- Adds the specified item to the collection of value providers.
- The object to add to the object.
- The object is read-only.
-
-
- Adds an element that has the specified key and value to the collection of value providers.
- The key of the element to add.
- The value of the element to add.
- The object is read-only.
-
- is null.
- An element that has the specified key already exists in the object.
-
-
- Adds an element that has the specified key and value to the collection of value providers.
- The key of the element to add.
- The value of the element to add.
- The object is read-only.
-
- is null.
- An element that has the specified key already exists in the object.
-
-
- Removes all items from the collection of value providers.
- The object is read-only.
-
-
- Determines whether the collection of value providers contains the specified item.
- true if is found in the collection of value providers; otherwise, false.
- The object to locate in the instance.
-
-
- Determines whether the collection of value providers contains an element that has the specified key.
- true if the collection of value providers contains an element that has the key; otherwise, false.
- The key of the element to find in the instance.
-
- is null.
-
-
- Gets or sets the controller context.
- The controller context.
-
-
- Copies the elements of the collection to an array, starting at the specified index.
- The one-dimensional array that is the destination of the elements copied from the object. The array must have zero-based indexing.
- The zero-based index in at which copying starts.
-
- is null.
-
- is less than 0.
-
- is multidimensional.-or- is equal to or greater than the length of .-or-The number of elements in the source collection is greater than the available space from to the end of the destination .-or-Type cannot be cast automatically to the type of the destination array.
-
-
- Gets the number of elements in the collection.
- The number of elements in the collection.
-
-
- Returns an enumerator that can be used to iterate through the collection.
- An enumerator that can be used to iterate through the collection.
-
-
- Gets a value that indicates whether the collection is read-only.
- true if the collection is read-only; otherwise, false.
-
-
- Gets or sets the object that has the specified key.
- The object.
-
-
- Gets a collection that contains the keys of the instance.
- A collection that contains the keys of the object that implements the interface.
-
-
- Removes the first occurrence of the specified item from the collection of value providers.
- true if was successfully removed from the collection; otherwise, false. This method also returns false if is not found in the collection.
- The object to remove from the instance.
- The object is read-only.
-
-
- Removes the element that has the specified key from the collection of value providers.
- true if the element was successfully removed; otherwise, false. This method also returns false if was not found in the collection.
- The key of the element to remove.
- The object is read-only.
-
- is null.
-
-
- Returns an enumerator that can be used to iterate through a collection.
- An enumerator that can be used to iterate through the collection.
-
-
- Determines whether the collection contains the specified prefix.
- true if the collection contains the specified prefix; otherwise, false.
- The prefix to search for.
-
-
- Returns a value object using the specified key.
- The value object for the specified key.
- The key of the value object to return.
-
-
- Gets the value of the element that has the specified key.
- true if the object that implements contains an element that has the specified key; otherwise, false.
- The key of the element to get.
- When this method returns, the value that is associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized.
-
- is null.
-
-
- Gets a collection that contains the values in the object.
- A collection of the values in the object that implements the interface.
-
-
- Represents a container for value-provider factory objects.
-
-
- Gets the collection of value-provider factories for the application.
- The collection of value-provider factory objects.
-
-
- Represents a factory for creating value-provider objects.
-
-
- Initializes a new instance of the class.
-
-
- Returns a value-provider object for the specified controller context.
- A value-provider object.
- An object that encapsulates information about the current HTTP request.
-
-
- Represents the collection of value-provider factories for the application.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using the specified list of value-provider factories.
- A list of value-provider factories to initialize the collection with.
-
-
- Removes all elements from the collection.
-
-
- Returns the value-provider factory for the specified controller context.
- The value-provider factory object for the specified controller context.
- An object that encapsulates information about the current HTTP request.
-
-
- Inserts the specified value-provider factory object at the specified index location.
- The zero-based index location at which to insert the value provider into the collection.
- The value-provider factory object to insert.
- The parameter is null.
-
-
- Removes the element at the specified index of the .
- The zero-based index of the element to remove.
-
- is less than zero.-or- is equal to or greater than
-
-
- Sets the specified value-provider factory object at the given index location.
- The zero-based index location at which to insert the value provider into the collection.
- The value-provider factory object to set.
- The parameter is null.
-
-
- Represents the result of binding a value (such as from a form post or query string) to an action-method argument property, or to the argument itself.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class by using the specified raw value, attempted value, and culture information.
- The raw value.
- The attempted value.
- The culture.
-
-
- Gets or sets the raw value that is converted to a string for display.
- The raw value.
-
-
- Converts the value that is encapsulated by this result to the specified type.
- The converted value.
- The target type.
- The parameter is null.
-
-
- Converts the value that is encapsulated by this result to the specified type by using the specified culture information.
- The converted value.
- The target type.
- The culture to use in the conversion.
- The parameter is null.
-
-
- Gets or sets the culture.
- The culture.
-
-
- Gets or set the raw value that is supplied by the value provider.
- The raw value.
-
-
- Encapsulates information that is related to rendering a view.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class by using the specified controller context, view, view data dictionary, temporary data dictionary, and text writer.
- Encapsulates information about the HTTP request.
- The view to render.
- The dictionary that contains the data that is required in order to render the view.
- The dictionary that contains temporary data for the view.
- The text writer object that is used to write HTML output.
- One of the parameters is null.
-
-
- Gets or sets a value that indicates whether client-side validation is enabled.
- true if client-side validation is enabled; otherwise, false.
-
-
- Gets or sets an object that encapsulates information that is required in order to validate and process the input data from an HTML form.
- An object that encapsulates information that is required in order to validate and process the input data from an HTML form.
-
-
- Writes the client validation information to the HTTP response.
-
-
- Gets data that is associated with this request and that is available for only one request.
- The temporary data.
-
-
- Gets or sets a value that indicates whether unobtrusive JavaScript is enabled.
- true if unobtrusive JavaScript is enabled; otherwise, false.
-
-
- Element name used to wrap a top-level message generated by and other overloads.
-
-
- Element name used to wrap a top-level message generated by and other overloads.
-
-
- Gets an object that implements the interface to render in the browser.
- The view.
-
-
- Gets the dynamic view data dictionary.
- The dynamic view data dictionary.
-
-
- Gets the view data that is passed to the view.
- The view data.
-
-
- Gets or sets the text writer object that is used to write HTML output.
- The object that is used to write the HTML output.
-
-
- Represents a container that is used to pass data between a controller and a view.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class by using the specified model.
- The model.
-
-
- Initializes a new instance of the class by using the specified dictionary.
- The dictionary.
- The parameter is null.
-
-
- Adds the specified item to the collection.
- The object to add to the collection.
- The collection is read-only.
-
-
- Adds an element to the collection using the specified key and value .
- The key of the element to add.
- The value of the element to add.
- The object is read-only.
-
- is null.
- An element with the same key already exists in the object.
-
-
- Removes all items from the collection.
- The object is read-only.
-
-
- Determines whether the collection contains the specified item.
- true if is found in the collection; otherwise, false.
- The object to locate in the collection.
-
-
- Determines whether the collection contains an element that has the specified key.
- true if the collection contains an element that has the specified key; otherwise, false.
- The key of the element to locate in the collection.
-
- is null.
-
-
- Copies the elements of the collection to an array, starting at a particular index.
- The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.
- The zero-based index in at which copying begins.
-
- is null.
-
- is less than 0.
-
- is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source collection is greater than the available space from to the end of the destination .-or- Type cannot be cast automatically to the type of the destination .
-
-
- Gets the number of elements in the collection.
- The number of elements in the collection.
-
-
- Evaluates the specified expression.
- The results of the evaluation.
- The expression.
- The parameter is null or empty.
-
-
- Evaluates the specified expression by using the specified format.
- The results of the evaluation.
- The expression.
- The format.
-
-
- Returns an enumerator that can be used to iterate through the collection.
- An enumerator that can be used to iterate through the collection.
-
-
- Returns information about the view data as defined by the parameter.
- An object that contains the view data information that is defined by the parameter.
- A set of key/value pairs that define the view-data information to return.
- The parameter is either null or empty.
-
-
- Gets a value that indicates whether the collection is read-only.
- true if the collection is read-only; otherwise, false.
-
-
- Gets or sets the item that is associated with the specified key.
- The value of the selected item.
-
-
- Gets a collection that contains the keys of this dictionary.
- A collection that contains the keys of the object that implements .
-
-
- Gets or sets the model that is associated with the view data.
- The model that is associated with the view data.
-
-
- Gets or sets information about the model.
- Information about the model.
-
-
- Gets the state of the model.
- The state of the model.
-
-
- Removes the first occurrence of a specified object from the collection.
- true if was successfully removed from the collection; otherwise, false. This method also returns false if is not found in the collection.
- The object to remove from the collection.
- The collection is read-only.
-
-
- Removes the element from the collection using the specified key.
- true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original collection.
- The key of the element to remove.
- The collection is read-only.
-
- is null.
-
-
- Sets the data model to use for the view.
- The data model to use for the view.
-
-
- Returns an enumerator that can be used to iterate through the collection.
- An enumerator that can be used to iterate through the collection.
-
-
- Gets or sets an object that encapsulates information about the current template context.
- An object that contains information about the current template.
-
-
- Attempts to retrieve the value that is associated with the specified key.
- true if the collection contains an element with the specified key; otherwise, false.
- The key of the value to get.
- When this method returns, the value that is associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized.
-
- is null.
-
-
- Gets a collection that contains the values in this dictionary.
- A collection that contains the values of the object that implements .
-
-
- Represents a container that is used to pass strongly typed data between a controller and a view.
- The type of the model.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class by using the specified view data dictionary.
- An existing view data dictionary to copy into this instance.
-
-
- Initializes a new instance of the class by using the specified model.
- The data model to use for the view.
-
-
- Gets or sets the model.
- A reference to the data model.
-
-
- Gets or sets information about the model.
- Information about the model.
-
-
- Sets the data model to use for the view.
- The data model to use for the view.
- An error occurred while the model was being set.
-
-
- Encapsulates information about the current template content that is used to develop templates and about HTML helpers that interact with templates.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the T:System.Web.Mvc.ViewDataInfo class and associates a delegate for accessing the view data information.
- A delegate that defines how the view data information is accessed.
-
-
- Gets or sets the object that contains the values to be displayed by the template.
- The object that contains the values to be displayed by the template.
-
-
- Gets or sets the description of the property to be displayed by the template.
- The description of the property to be displayed by the template.
-
-
- Gets or sets the current value to be displayed by the template.
- The current value to be displayed by the template.
-
-
- Represents a collection of view engines that are available to the application.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using the specified list of view engines.
- The list that is wrapped by the new collection.
-
- is null.
-
-
- Removes all elements from the .
-
-
- Finds the specified partial view by using the specified controller context.
- The partial view.
- The controller context.
- The name of the partial view.
- The parameter is null.
- The parameter is null or empty.
-
-
- Finds the specified view by using the specified controller context and master view.
- The view.
- The controller context.
- The name of the view.
- The name of the master view.
- The parameter is null.
- The parameter is null or empty.
-
-
- Inserts an element into the collection at the specified index.
- The zero-based index at which item should be inserted.
- The object to insert.
-
- is less than zero.-or- is greater than the number of items in the collection.
- The parameter is null.
-
-
- Removes the element at the specified index of the .
- The zero-based index of the element to remove.
-
- is less than zero.-or- is equal to or greater than
-
-
- Replaces the element at the specified index.
- The zero-based index of the element to replace.
- The new value for the element at the specified index.
-
- is less than zero.-or- is greater than the number of items in the collection.
- The parameter is null.
-
-
- Represents the result of locating a view engine.
-
-
- Initializes a new instance of the class by using the specified searched locations.
- The searched locations.
- The parameter is null.
-
-
- Initializes a new instance of the class by using the specified view and view engine.
- The view.
- The view engine.
- The or parameter is null.
-
-
- Gets or sets the searched locations.
- The searched locations.
-
-
- Gets or sets the view.
- The view.
-
-
- Gets or sets the view engine.
- The view engine.
-
-
- Represents a collection of view engines that are available to the application.
-
-
- Gets the view engines.
- The view engines.
-
-
- Represents the information that is needed to build a master view page.
-
-
- Initializes a new instance of the class.
-
-
- Gets the AJAX script for the master page.
- The AJAX script for the master page.
-
-
- Gets the HTML for the master page.
- The HTML for the master page.
-
-
- Gets the model.
- The model.
-
-
- Gets the temporary data.
- The temporary data.
-
-
- Gets the URL.
- The URL.
-
-
- Gets the dynamic view-bag dictionary.
- The dynamic view-bag dictionary.
-
-
- Gets the view context.
- The view context.
-
-
- Gets the view data.
- The view data.
-
-
- Gets the writer that is used to render the master page.
- The writer that is used to render the master page.
-
-
- Represents the information that is required in order to build a strongly typed master view page.
- The type of the model.
-
-
- Initializes a new instance of the class.
-
-
- Gets the AJAX script for the master page.
- The AJAX script for the master page.
-
-
- Gets the HTML for the master page.
- The HTML for the master page.
-
-
- Gets the model.
- A reference to the data model.
-
-
- Gets the view data.
- The view data.
-
-
- Represents the properties and methods that are needed to render a view as a Web Forms page.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the object that is used to render HTML in Ajax scenarios.
- The Ajax helper object that is associated with the view.
-
-
- Gets or sets the object that is used to render HTML elements.
- The HTML helper object that is associated with the view.
-
-
- Initializes the , , and properties.
-
-
- Gets or sets the path of the master view.
- The path of the master view.
-
-
- Gets the Model property of the associated object.
- The Model property of the associated object.
-
-
- Raises the event at the beginning of page initialization.
- The event data.
-
-
- Enables processing of the specified HTTP request by the ASP.NET MVC framework.
- An object that encapsulates HTTP-specific information about the current HTTP request.
-
-
- Initializes the object that receives the page content to be rendered.
- The object that receives the page content.
-
-
- Renders the view page to the response using the specified view context.
- An object that encapsulates the information that is required in order to render the view, which includes the controller context, form context, the temporary data, and the view data for the associated view.
-
-
- Note: This API is now obsolete.Sets the text writer that is used to render the view to the response.
- The writer that is used to render the view to the response.
-
-
- Sets the view data dictionary for the associated view.
- A dictionary of data to pass to the view.
-
-
- Gets the temporary data to pass to the view.
- The temporary data to pass to the view.
-
-
- Gets or sets the URL of the rendered page.
- The URL of the rendered page.
-
-
- Gets the view bag.
- The view bag.
-
-
- Gets or sets the information that is used to render the view.
- The information that is used to render the view, which includes the form context, the temporary data, and the view data of the associated view.
-
-
- Gets or sets a dictionary that contains data to pass between the controller and the view.
- A dictionary that contains data to pass between the controller and the view.
-
-
- Gets the text writer that is used to render the view to the response.
- The text writer that is used to render the view to the response.
-
-
- Represents the information that is required in order to render a strongly typed view as a Web Forms page.
- The type of the model.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the object that supports rendering HTML in Ajax scenarios.
- The Ajax helper object that is associated with the view.
-
-
- Gets or sets the object that provides support for rendering elements.
- The HTML helper object that is associated with the view.
-
-
- Instantiates and initializes the and properties.
-
-
- Gets the property of the associated object.
- A reference to the data model.
-
-
- Sets the view data dictionary for the associated view.
- A dictionary of data to pass to the view.
-
-
- Gets or sets a dictionary that contains data to pass between the controller and the view.
- A dictionary that contains data to pass between the controller and the view.
-
-
- Represents a class that is used to render a view by using an instance that is returned by an object.
-
-
- Initializes a new instance of the class.
-
-
- Searches the registered view engines and returns the object that is used to render the view.
- The object that is used to render the view.
- The controller context.
- An error occurred while the method was searching for the view.
-
-
- Gets the name of the master view (such as a master page or template) to use when the view is rendered.
- The name of the master view.
-
-
- Represents a base class that is used to provide the model to the view and then render the view to the response.
-
-
- Initializes a new instance of the class.
-
-
- When called by the action invoker, renders the view to the response.
- The context that the result is executed in.
- The parameter is null.
-
-
- Returns the object that is used to render the view.
- The view engine.
- The context.
-
-
- Gets the view data model.
- The view data model.
-
-
- Gets or sets the object for this result.
- The temporary data.
-
-
- Gets or sets the object that is rendered to the response.
- The view.
-
-
- Gets the view bag.
- The view bag.
-
-
- Gets or sets the view data object for this result.
- The view data.
-
-
- Gets or sets the collection of view engines that are associated with this result.
- The collection of view engines.
-
-
- Gets or sets the name of the view to render.
- The name of the view.
-
-
- Provides an abstract class that can be used to implement a view start (master) page.
-
-
- When implemented in a derived class, initializes a new instance of the class.
-
-
- When implemented in a derived class, gets the HTML markup for the view start page.
- The HTML markup for the view start page.
-
-
- When implemented in a derived class, gets the URL for the view start page.
- The URL for the view start page.
-
-
- When implemented in a derived class, gets the view context for the view start page.
- The view context for the view start page.
-
-
- Provides a container for objects.
-
-
- Initializes a new instance of the class.
-
-
- Provides a container for objects.
- The type of the model.
-
-
- Initializes a new instance of the class.
-
-
- Gets the formatted value.
- The formatted value.
-
-
- Represents the type of a view.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the name of the type.
- The name of the type.
-
-
- Represents the information that is needed to build a user control.
-
-
- Initializes a new instance of the class.
-
-
- Gets the AJAX script for the view.
- The AJAX script for the view.
-
-
- Ensures that view data is added to the object of the user control if the view data exists.
-
-
- Gets the HTML for the view.
- The HTML for the view.
-
-
- Gets the model.
- The model.
-
-
- Renders the view by using the specified view context.
- The view context.
-
-
- Sets the text writer that is used to render the view to the response.
- The writer that is used to render the view to the response.
-
-
- Sets the view-data dictionary by using the specified view data.
- The view data.
-
-
- Gets the temporary-data dictionary.
- The temporary-data dictionary.
-
-
- Gets the URL for the view.
- The URL for the view.
-
-
- Gets the view bag.
- The view bag.
-
-
- Gets or sets the view context.
- The view context.
-
-
- Gets or sets the view-data dictionary.
- The view-data dictionary.
-
-
- Gets or sets the view-data key.
- The view-data key.
-
-
- Gets the writer that is used to render the view to the response.
- The writer that is used to render the view to the response.
-
-
- Represents the information that is required in order to build a strongly typed user control.
- The type of the model.
-
-
- Initializes a new instance of the class.
-
-
- Gets the AJAX script for the view.
- The AJAX script for the view.
-
-
- Gets the HTML for the view.
- The HTML for the view.
-
-
- Gets the model.
- A reference to the data model.
-
-
- Sets the view data for the view.
- The view data.
-
-
- Gets or sets the view data.
- The view data.
-
-
- Represents an abstract base-class implementation of the interface.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the area-enabled master location formats.
- The area-enabled master location formats.
-
-
- Gets or sets the area-enabled partial-view location formats.
- The area-enabled partial-view location formats.
-
-
- Gets or sets the area-enabled view location formats.
- The area-enabled view location formats.
-
-
- Creates the specified partial view by using the specified controller context.
- A reference to the partial view.
- The controller context.
- The partial path for the new partial view.
-
-
- Creates the specified view by using the controller context, path of the view, and path of the master view.
- A reference to the view.
- The controller context.
- The path of the view.
- The path of the master view.
-
-
- Gets or sets the display mode provider.
- The display mode provider.
-
-
- Returns a value that indicates whether the file is in the specified path by using the specified controller context.
- true if the file is in the specified path; otherwise, false.
- The controller context.
- The virtual path.
-
-
- Gets or sets the file-name extensions that are used to locate a view.
- The file-name extensions that are used to locate a view.
-
-
- Finds the specified partial view by using the specified controller context.
- The partial view.
- The controller context.
- The name of the partial view.
- true to use the cached partial view.
- The parameter is null (Nothing in Visual Basic).
- The parameter is null or empty.
-
-
- Finds the specified view by using the specified controller context and master view name.
- The page view.
- The controller context.
- The name of the view.
- The name of the master view.
- true to use the cached view.
- The parameter is null (Nothing in Visual Basic).
- The parameter is null or empty.
-
-
- Gets or sets the master location formats.
- The master location formats.
-
-
- Gets or sets the partial-view location formats.
- The partial-view location formats.
-
-
- Releases the specified view by using the specified controller context.
- The controller context.
- The view to release.
-
-
- Gets or sets the view location cache.
- The view location cache.
-
-
- Gets or sets the view location formats.
- The view location formats.
-
-
- Gets or sets the virtual path provider.
- The virtual path provider.
-
-
- Represents the information that is needed to build a Web Forms page in ASP.NET MVC.
-
-
- Initializes a new instance of the class using the controller context and view path.
- The controller context.
- The view path.
-
-
- Initializes a new instance of the class using the controller context, view path, and the path to the master page.
- The controller context.
- The view path.
- The path to the master page.
-
-
- Initializes a new instance of the class using the controller context, view path, the path to the master page, and a instance.
- The controller context.
- The view path.
- The path to the master page.
- An instance of the view page activator interface.
-
-
- Gets or sets the master path.
- The master path.
-
-
- Renders the view to the response.
- An object that encapsulates the information that is required in order to render the view, which includes the controller context, form context, the temporary data, and the view data for the associated view.
- The text writer object that is used to write HTML output.
- The view page instance.
-
-
- Represents a view engine that is used to render a Web Forms page to the response.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using the specified view page activator.
- An instance of a class that implements the interface.
-
-
- Creates the specified partial view by using the specified controller context.
- The partial view.
- The controller context.
- The partial path.
-
-
- Creates the specified view by using the specified controller context and the paths of the view and master view.
- The view.
- The controller context.
- The view path.
- The master-view path.
-
-
- Represents the properties and methods that are needed in order to render a view that uses ASP.NET Razor syntax.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the object that is used to render HTML using Ajax.
- The object that is used to render HTML using Ajax.
-
-
- Sets the view context and view data for the page.
- The parent page.
-
-
- Gets the object that is associated with the page.
- The object that is associated with the page.
-
-
- Runs the page hierarchy for the ASP.NET Razor execution pipeline.
-
-
- Gets or sets the object that is used to render HTML elements.
- The object that is used to render HTML elements.
-
-
- Initializes the , , and classes.
-
-
- Gets the Model property of the associated object.
- The Model property of the associated object.
-
-
- Sets the view data.
- The view data.
-
-
- Gets the temporary data to pass to the view.
- The temporary data to pass to the view.
-
-
- Gets or sets the URL of the rendered page.
- The URL of the rendered page.
-
-
- Gets the view bag.
- The view bag.
-
-
- Gets or sets the information that is used to render the view.
- The information that is used to render the view, which includes the form context, the temporary data, and the view data of the associated view.
-
-
- Gets or sets a dictionary that contains data to pass between the controller and the view.
- A dictionary that contains data to pass between the controller and the view.
-
-
- Represents the properties and methods that are needed in order to render a view that uses ASP.NET Razor syntax.
- The type of the view data model.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the object that is used to render HTML markup using Ajax.
- The object that is used to render HTML markup using Ajax.
-
-
- Gets or sets the object that is used to render HTML elements.
- The object that is used to render HTML elements.
-
-
- Initializes the , , and classes.
-
-
- Gets the Model property of the associated object.
- The Model property of the associated object.
-
-
- Sets the view data.
- The view data.
-
-
- Gets or sets a dictionary that contains data to pass between the controller and the view.
- A dictionary that contains data to pass between the controller and the view.
-
-
- Represents support for ASP.NET AJAX within an ASP.NET MVC application.
-
-
- Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the action method.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- An object that provides options for the asynchronous request.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the action method.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- An object that provides options for the asynchronous request.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the action method.
- The name of the controller.
- The protocol for the URL, such as "http" or "https".
- The host name for the URL.
- The URL fragment name (the anchor name).
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the action method.
- The name of the controller.
- The protocol for the URL, such as "http" or "https".
- The host name for the URL.
- The URL fragment name (the anchor name).
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the action method.
- The name of the controller.
- An object that provides options for the asynchronous request.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the action method.
- An object that provides options for the asynchronous request.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the action method.
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the action method.
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Writes an opening <form> tag to the response.
- An opening <form> tag.
- The AJAX helper.
- The name of the action method that will handle the request.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- An object that provides options for the asynchronous request.
-
-
- Writes an opening <form> tag to the response.
- An opening <form> tag.
- The AJAX helper.
- The name of the action method that will handle the request.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
-
-
- Writes an opening <form> tag to the response.
- An opening <form> tag.
- The AJAX helper.
- The name of the action method that will handle the request.
- The name of the controller.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- An object that provides options for the asynchronous request.
-
-
- Writes an opening <form> tag to the response.
- An opening <form> tag.
- The AJAX helper.
- The name of the action method that will handle the request.
- The name of the controller.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
-
-
- Writes an opening <form> tag to the response.
- An opening <form> tag.
- The AJAX helper.
- The name of the action method that will handle the request.
- The name of the controller.
- An object that provides options for the asynchronous request.
-
-
- Writes an opening <form> tag to the response.
- An opening <form> tag.
- The AJAX helper.
- The name of the action method that will handle the request.
- The name of the controller.
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
-
-
- Writes an opening <form> tag to the response.
- An opening <form> tag.
- The AJAX helper.
- The name of the action method that will handle the request.
- The name of the controller.
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
-
-
- Writes an opening <form> tag to the response.
- An opening <form> tag.
- The AJAX helper.
- The name of the action method that will handle the request.
- An object that provides options for the asynchronous request.
-
-
- Writes an opening <form> tag to the response.
- An opening <form> tag.
- The AJAX helper.
- The name of the action method that will handle the request.
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
-
-
- Writes an opening <form> tag to the response.
- An opening <form> tag.
- The AJAX helper.
- The name of the action method that will handle the request.
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element..
-
-
- Writes an opening <form> tag to the response.
- An opening <form> tag.
- The AJAX helper.
- An object that provides options for the asynchronous request.
-
-
- Writes an opening <form> tag to the response using the specified routing information.
- An opening <form> tag.
- The AJAX helper.
- The name of the route to use to obtain the form post URL.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- An object that provides options for the asynchronous request.
-
-
- Writes an opening <form> tag to the response using the specified routing information.
- An opening <form> tag.
- The AJAX helper.
- The name of the route to use to obtain the form post URL.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
-
-
- Writes an opening <form> tag to the response using the specified routing information.
- An opening <form> tag.
- The AJAX helper.
- The name of the route to use to obtain the form post URL.
- An object that provides options for the asynchronous request.
-
-
- Writes an opening <form> tag to the response using the specified routing information.
- An opening <form> tag.
- The AJAX helper.
- The name of the route to use to obtain the form post URL.
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
-
-
- Writes an opening <form> tag to the response using the specified routing information.
- An opening <form> tag.
- The AJAX helper.
- The name of the route to use to obtain the form post URL.
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns an HTML script element that contains a reference to a globalization script that defines the culture information.
- A script element whose src attribute is set to the globalization script, as in the following example: <script type="text/javascript" src="/MvcApplication1/Scripts/Globalization/en-US.js"></script>
- The AJAX helper object that this method extends.
-
-
- Returns an HTML script element that contains a reference to a globalization script that defines the specified culture information.
- An HTML script element whose src attribute is set to the globalization script, as in the following example:<script type="text/javascript" src="/MvcApplication1/Scripts/Globalization/en-US.js"></script>
- The AJAX helper object that this method extends.
- Encapsulates information about the target culture, such as date formats.
- The parameter is null.
-
-
- Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- An object that provides options for the asynchronous request.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the route to use to obtain the form post URL.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- An object that provides options for the asynchronous request.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the route to use to obtain the form post URL.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the route to use to obtain the form post URL.
- The protocol for the URL, such as "http" or "https".
- The host name for the URL.
- The URL fragment name (the anchor name).
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the route to use to obtain the form post URL.
- An object that provides options for the asynchronous request.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the route to use to obtain the form post URL.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the route to use to obtain the form post URL.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the route to use to obtain the form post URL.
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- The name of the route to use to obtain the form post URL.
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
- The parameter is null or empty.
-
-
- Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
- An anchor element.
- The AJAX helper.
- The inner text of the anchor element.
- An object that contains the parameters for a route.
- An object that provides options for the asynchronous request.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Represents option settings for running Ajax scripts in an ASP.NET MVC application.
-
-
- Initializes a new instance of the class.
-
-
-
- Gets or sets the message to display in a confirmation window before a request is submitted.
- The message to display in a confirmation window.
-
-
- Gets or sets the HTTP request method ("Get" or "Post").
- The HTTP request method. The default value is "Post".
-
-
- Gets or sets the mode that specifies how to insert the response into the target DOM element.
- The insertion mode ("InsertAfter", "InsertBefore", or "Replace"). The default value is "Replace".
-
-
- Gets or sets a value, in milliseconds, that controls the duration of the animation when showing or hiding the loading element.
- A value, in milliseconds, that controls the duration of the animation when showing or hiding the loading element.
-
-
- Gets or sets the id attribute of an HTML element that is displayed while the Ajax function is loading.
- The ID of the element that is displayed while the Ajax function is loading.
-
-
- Gets or sets the name of the JavaScript function to call immediately before the page is updated.
- The name of the JavaScript function to call before the page is updated.
-
-
- Gets or sets the JavaScript function to call when response data has been instantiated but before the page is updated.
- The JavaScript function to call when the response data has been instantiated.
-
-
- Gets or sets the JavaScript function to call if the page update fails.
- The JavaScript function to call if the page update fails.
-
-
- Gets or sets the JavaScript function to call after the page is successfully updated.
- The JavaScript function to call after the page is successfully updated.
-
-
- Returns the Ajax options as a collection of HTML attributes to support unobtrusive JavaScript.
- The Ajax options as a collection of HTML attributes to support unobtrusive JavaScript.
-
-
- Gets or sets the ID of the DOM element to update by using the response from the server.
- The ID of the DOM element to update.
-
-
- Gets or sets the URL to make the request to.
- The URL to make the request to.
-
-
- Enumerates the AJAX script insertion modes.
-
-
- Insert after the element.
-
-
- Insert before the element.
-
-
- Replace the element.
-
-
- Replace the entire element.
-
-
- Provides information about an asynchronous action method, such as its name, controller, parameters, attributes, and filters.
-
-
- Initializes a new instance of the class.
-
-
- Invokes the asynchronous action method by using the specified parameters and controller context.
- An object that contains the result of an asynchronous call.
- The controller context.
- The parameters of the action method.
- The callback method.
- An object that contains information to be used by the callback method. This parameter can be null.
-
-
- Returns the result of an asynchronous operation.
- The result of an asynchronous operation.
- An object that represents the status of an asynchronous operation.
-
-
- Executes the asynchronous action method by using the specified parameters and controller context.
- The result of executing the asynchronous action method.
- The controller context.
- The parameters of the action method.
-
-
- Represents a class that is responsible for invoking the action methods of an asynchronous controller.
-
-
- Initializes a new instance of the class.
-
-
- Invokes the asynchronous action method by using the specified controller context, action name, callback method, and state.
- An object that contains the result of an asynchronous operation.Implements
- The controller context.
- The name of the action.
- The callback method.
- An object that contains information to be used by the callback method. This parameter can be null.
-
-
- Invokes the asynchronous action method by using the specified controller context, action descriptor, parameters, callback method, and state.
- An object that contains the result of an asynchronous operation.
- The controller context.
- The action descriptor.
- The parameters for the asynchronous action method.
- The callback method.
- An object that contains information to be used by the callback method. This parameter can be null.
-
-
- Invokes the asynchronous action method by using the specified controller context, filters, action descriptor, parameters, callback method, and state.
- An object that contains the result of an asynchronous operation.
- The controller context.
- The filters.
- The action descriptor.
- The parameters for the asynchronous action method.
- The callback method.
- An object that contains information to be used by the callback method. This parameter can be null.
-
-
- Cancels the action.
- true if the action was canceled; otherwise, false.
- The user-defined object that qualifies or contains information about an asynchronous operation.
-
-
- Cancels the action.
- true if the action was canceled; otherwise, false.
- The user-defined object that qualifies or contains information about an asynchronous operation.
-
-
- Cancels the action.
- true if the action was canceled; otherwise, false.
- The user-defined object that qualifies or contains information about an asynchronous operation.
-
-
- Returns the controller descriptor.
- The controller descriptor.
- The controller context.
-
-
- Provides asynchronous operations for the class.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using the synchronization context.
- The synchronization context.
-
-
- Notifies ASP.NET that all asynchronous operations are complete.
-
-
- Occurs when the method is called.
-
-
- Gets the number of outstanding operations.
- The number of outstanding operations.
-
-
- Gets the parameters that were passed to the asynchronous completion method.
- The parameters that were passed to the asynchronous completion method.
-
-
- Executes a callback in the current synchronization context.
- The asynchronous action.
-
-
- Gets or sets the asynchronous timeout value, in milliseconds.
- The asynchronous timeout value, in milliseconds.
-
-
- Defines the interface for an action invoker, which is used to invoke an asynchronous action in response to an HTTP request.
-
-
- Invokes the specified action.
- The status of the asynchronous result.
- The controller context.
- The name of the asynchronous action.
- The callback method.
- The state.
-
-
- Cancels the asynchronous action.
- true if the asynchronous method could be canceled; otherwise, false.
- The asynchronous result.
-
-
- Used to create an instance for the current request.
-
-
- Creates an instance of async action invoker for the current request.
- The created .
-
-
- Defines the methods that are required for an asynchronous controller.
-
-
- Executes the specified request context.
- The status of the asynchronous operation.
- The request context.
- The asynchronous callback method.
- The state.
-
-
- Ends the asynchronous operation.
- The asynchronous result.
-
-
- Provides a container for the asynchronous manager object.
-
-
- Gets the asynchronous manager object.
- The asynchronous manager object.
-
-
- Provides a container that maintains a count of pending asynchronous operations.
-
-
- Initializes a new instance of the class.
-
-
- Occurs when an asynchronous method completes.
-
-
- Gets the operation count.
- The operation count.
-
-
- Reduces the operation count by 1.
- The updated operation count.
-
-
- Reduces the operation count by the specified value.
- The updated operation count.
- The number of operations to reduce the count by.
-
-
- Increments the operation count by one.
- The updated operation count.
-
-
- Increments the operation count by the specified value.
- The updated operation count.
- The number of operations to increment the count by.
-
-
- Provides information about an asynchronous action method, such as its name, controller, parameters, attributes, and filters.
-
-
- Initializes a new instance of the class.
- An object that contains information about the method that begins the asynchronous operation (the method whose name ends with "Asynch").
- An object that contains information about the completion method (method whose name ends with "Completed").
- The name of the action.
- The controller descriptor.
-
-
- Gets the name of the action method.
- The name of the action method.
-
-
- Gets the method information for the asynchronous action method.
- The method information for the asynchronous action method.
-
-
- Begins running the asynchronous action method by using the specified parameters and controller context.
- An object that contains the result of an asynchronous call.
- The controller context.
- The parameters of the action method.
- The callback method.
- An object that contains information to be used by the callback method. This parameter can be null.
-
-
- Gets the method information for the asynchronous completion method.
- The method information for the asynchronous completion method.
-
-
- Gets the controller descriptor for the asynchronous action method.
- The controller descriptor for the asynchronous action method.
-
-
- Returns the result of an asynchronous operation.
- The result of an asynchronous operation.
- An object that represents the status of an asynchronous operation.
-
-
- Returns an array of custom attributes that are defined for this member, excluding named attributes.
- An array of custom attributes, or an empty array if no custom attributes exist.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
-
-
- Returns an array of custom attributes that are defined for this member, identified by type.
- An array of custom attributes, or an empty array if no custom attributes of the specified type exist.
- The type of the custom attributes to return.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
-
-
- Gets the filter attributes.
- The filter attributes.
- Use cache flag.
-
-
- Returns the parameters of the action method.
- The parameters of the action method.
-
-
- Returns the action-method selectors.
- The action-method selectors.
-
-
- Determines whether one or more instances of the specified attribute type are defined for the action member.
- true if an attribute of type that is represented by is defined for this member; otherwise, false.
- The type of the custom attribute.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
-
-
-
- Gets the lazy initialized unique ID of the instance of this class.
- The lazy initialized unique ID of the instance of this class.
-
-
- Encapsulates information that describes an asynchronous controller, such as its name, type, and actions.
-
-
- Initializes a new instance of the class.
- The type of the controller.
-
-
- Gets the type of the controller.
- The type of the controller.
-
-
- Finds an action method by using the specified name and controller context.
- The information about the action method.
- The controller context.
- The name of the action.
-
-
- Returns a list of action method descriptors in the controller.
- A list of action method descriptors in the controller.
-
-
- Returns custom attributes that are defined for this member, excluding named attributes.
- An array of custom attributes, or an empty array if no custom attributes exist.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
-
-
- Returns custom attributes of a specified type that are defined for this member, excluding named attributes.
- An array of custom attributes, or an empty array if no custom attributes exist.
- The type of the custom attributes.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
-
-
- Gets the filter attributes.
- The filter attributes.
- true to use the cache, otherwise false.
-
-
- Returns a value that indicates whether one or more instances of the specified custom attribute are defined for this member.
- true if an attribute of the type represented by is defined for this member; otherwise, false.
- The type of the custom attribute.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
-
-
- Represents an exception that occurred during the synchronous processing of an HTTP request in an ASP.NET MVC application.
-
-
- Initializes a new instance of the class using a system-supplied message.
-
-
- Initializes a new instance of the class using the specified message.
- The message that describes the exception. The caller of this constructor must make sure that this string has been localized for the current system culture.
-
-
- Initializes a new instance of the class using a specified error message and a reference to the inner exception that is the cause of this exception.
- The message that describes the exception. The caller of this constructor must make sure that this string has been localized for the current system culture.
- The exception that is the cause of the current exception. If the parameter is not null, the current exception is raised in a catch block that handles the inner exception.
-
-
- When an action method returns either Task or Task<T> the provides information about the action.
-
-
- Initializes a new instance of the class.
- The task method information.
- The action name.
- The controller descriptor.
-
-
- Gets the name of the action method.
- The name of the action method.
-
-
- Invokes the asynchronous action method using the specified parameters, controller context callback and state.
- An object that contains the result of an asynchronous call.
- The controller context.
- The parameters of the action method.
- The optional callback method.
- An object that contains information to be used by the callback method. This parameter can be null.
-
-
- Gets the controller descriptor.
- The controller descriptor.
-
-
- Ends the asynchronous operation.
- The result of an asynchronous operation.
- An object that represents the status of an asynchronous operation.
-
-
- Executes the asynchronous action method
- The result of executing the asynchronous action method.
- The controller context.
- The parameters of the action method.
-
-
- Returns an array of custom attributes that are defined for this member, excluding named attributes.
- An array of custom attributes, or an empty array if no custom attributes exist.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
-
-
- Returns an array of custom attributes that are defined for this member, identified by type.
- An array of custom attributes, or an empty array if no custom attributes exist.
- The type of the custom attributes.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
-
-
- Returns an array of all custom attributes applied to this member.
- An array that contains all the custom attributes applied to this member, or an array with zero elements if no attributes are defined.
- true to search this member's inheritance chain to find the attributes; otherwise, false.
-
-
- Returns the parameters of the asynchronous action method.
- The parameters of the asynchronous action method.
-
-
- Returns the asynchronous action-method selectors.
- The asynchronous action-method selectors.
-
-
- Returns a value that indicates whether one or more instance of the specified custom attribute are defined for this member.
- A value that indicates whether one or more instance of the specified custom attribute are defined for this member.
- The type of the custom attribute.
- true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
-
-
-
- Gets information for the asynchronous task.
- Information for the asynchronous task.
-
-
- Gets the unique ID for the task.
- The unique ID for the task.
-
-
- Represents an authentication challenge context containing information for executing an authentication challenge.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class.
- The controller context.
- The action methods associated with the challenge.
- The challenge response.
-
-
- Gets or sets the action descriptor.
- The action descriptor associated with the challenge.
-
-
- Gets or sets the action result to execute.
- The challenge response.
-
-
- Represents an authentication context containing information for performing authentication.
-
-
- Initializes a new instance of the class.
-
-
-
- Gets or sets the action descriptor.
- The action methods associated with the authentication
-
-
- Gets or sets the currently authenticated principal.
- The security credentials for the authentication.
-
-
- Gets or sets the error result, which indicates that authentication was attempted and failed.
- The authentication result.
-
-
- Defines a filter that performs authentication.
-
-
- Authenticates the request.
- The context to use for authentication.
-
-
- Adds an authentication challenge to the current .
- The context to use for the authentication challenge.
-
-
- Defines a filter that overrides other filters.
-
-
- Gets the type of filters to override.
- The filter to override.
-
-
- Represents support for calling child action methods and rendering the result inline in a parent view.
-
-
- Invokes the specified child action method and returns the result as an HTML string.
- The child action result as an HTML string.
- The HTML helper instance that this method extends.
- The name of the action method to invoke.
- The parameter is null.
- The parameter is null or empty.
- The required virtual path data cannot be found.
-
-
- Invokes the specified child action method with the specified parameters and returns the result as an HTML string.
- The child action result as an HTML string.
- The HTML helper instance that this method extends.
- The name of the action method to invoke.
- An object that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
- The parameter is null.
- The parameter is null or empty.
- The required virtual path data cannot be found.
-
-
- Invokes the specified child action method using the specified controller name and returns the result as an HTML string.
- The child action result as an HTML string.
- The HTML helper instance that this method extends.
- The name of the action method to invoke.
- The name of the controller that contains the action method.
- The parameter is null.
- The parameter is null or empty.
- The required virtual path data cannot be found.
-
-
- Invokes the specified child action method using the specified parameters and controller name and returns the result as an HTML string.
- The child action result as an HTML string.
- The HTML helper instance that this method extends.
- The name of the action method to invoke.
- The name of the controller that contains the action method.
- An object that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
- The parameter is null.
- The parameter is null or empty.
- The required virtual path data cannot be found.
-
-
- Invokes the specified child action method using the specified parameters and controller name and returns the result as an HTML string.
- The child action result as an HTML string.
- The HTML helper instance that this method extends.
- The name of the action method to invoke.
- The name of the controller that contains the action method.
- A dictionary that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
- The parameter is null.
- The parameter is null or empty.
- The required virtual path data cannot be found.
-
-
- Invokes the specified child action method using the specified parameters and returns the result as an HTML string.
- The child action result as an HTML string.
- The HTML helper instance that this method extends.
- The name of the action method to invoke.
- A dictionary that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
- The parameter is null.
- The parameter is null or empty.
- The required virtual path data cannot be found.
-
-
- Invokes the specified child action method and renders the result inline in the parent view.
- The HTML helper instance that this method extends.
- The name of the child action method to invoke.
- The parameter is null.
- The parameter is null or empty.
- The required virtual path data cannot be found.
-
-
- Invokes the specified child action method using the specified parameters and renders the result inline in the parent view.
- The HTML helper instance that this method extends.
- The name of the child action method to invoke.
- An object that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
- The parameter is null.
- The parameter is null or empty.
- The required virtual path data cannot be found.
-
-
- Invokes the specified child action method using the specified controller name and renders the result inline in the parent view.
- The HTML helper instance that this method extends.
- The name of the child action method to invoke.
- The name of the controller that contains the action method.
- The parameter is null.
- The parameter is null or empty.
- The required virtual path data cannot be found.
-
-
- Invokes the specified child action method using the specified parameters and controller name and renders the result inline in the parent view.
- The HTML helper instance that this method extends.
- The name of the child action method to invoke.
- The name of the controller that contains the action method.
- An object that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
- The parameter is null.
- The parameter is null or empty.
- The required virtual path data cannot be found.
-
-
- Invokes the specified child action method using the specified parameters and controller name and renders the result inline in the parent view.
- The HTML helper instance that this method extends.
- The name of the child action method to invoke.
- The name of the controller that contains the action method.
- A dictionary that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
- The parameter is null.
- The parameter is null or empty.
- The required virtual path data cannot be found.
-
-
- Invokes the specified child action method using the specified parameters and renders the result inline in the parent view.
- The HTML helper instance that this method extends.
- The name of the child action method to invoke.
- A dictionary that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
- The parameter is null.
- The parameter is null or empty.
- The required virtual path data cannot be found.
-
-
- Represents support for rendering object values as HTML.
-
-
- Returns HTML markup for each property in the object that is represented by a string expression.
- The HTML markup for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
-
-
- Returns HTML markup for each property in the object that is represented by a string expression, using additional view data.
- The HTML markup for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
-
-
- Returns HTML markup for each property in the object that is represented by the expression, using the specified template.
- The HTML markup for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template that is used to render the object.
-
-
- Returns HTML markup for each property in the object that is represented by the expression, using the specified template and additional view data.
- The HTML markup for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template that is used to render the object.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
-
-
- Returns HTML markup for each property in the object that is represented by the expression, using the specified template and an HTML field ID.
- The HTML markup for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template that is used to render the object.
- A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
-
-
- Returns HTML markup for each property in the object that is represented by the expression, using the specified template, HTML field ID, and additional view data.
- The HTML markup for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template that is used to render the object.
- A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
-
-
- Returns HTML markup for each property in the object that is represented by the expression.
- The HTML markup for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The type of the model.
- The type of the value.
-
-
- Returns a string that contains each property value in the object that is represented by the specified expression, using additional view data.
- The HTML markup for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
- The type of the model.
- The type of the value.
-
-
- Returns a string that contains each property value in the object that is represented by the , using the specified template.
- The HTML markup for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template that is used to render the object.
- The type of the model.
- The type of the value.
-
-
- Returns a string that contains each property value in the object that is represented by the specified expression, using the specified template and additional view data.
- The HTML markup for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template that is used to render the object.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
- The type of the model.
- The type of the value.
-
-
- Returns HTML markup for each property in the object that is represented by the , using the specified template and an HTML field ID.
- The HTML markup for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template that is used to render the object.
- A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
- The type of the model.
- The type of the value.
-
-
- Returns HTML markup for each property in the object that is represented by the specified expression, using the template, an HTML field ID, and additional view data.
- The HTML markup for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template that is used to render the object.
- A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
- The type of the model.
- The type of the value.
-
-
- Returns HTML markup for each property in the model.
- The HTML markup for each property in the model.
- The HTML helper instance that this method extends.
-
-
- Returns HTML markup for each property in the model, using additional view data.
- The HTML markup for each property in the model.
- The HTML helper instance that this method extends.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
-
-
- Returns HTML markup for each property in the model using the specified template.
- The HTML markup for each property in the model.
- The HTML helper instance that this method extends.
- The name of the template that is used to render the object.
-
-
- Returns HTML markup for each property in the model, using the specified template and additional view data.
- The HTML markup for each property in the model.
- The HTML helper instance that this method extends.
- The name of the template that is used to render the object.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
-
-
- Returns HTML markup for each property in the model using the specified template and HTML field ID.
- The HTML markup for each property in the model.
- The HTML helper instance that this method extends.
- The name of the template that is used to render the object.
- A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
-
-
- Returns HTML markup for each property in the model, using the specified template, an HTML field ID, and additional view data.
- The HTML markup for each property in the model.
- The HTML helper instance that this method extends.
- The name of the template that is used to render the object.
- A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
-
-
- Provides a mechanism to get display names.
-
-
- Gets the display name.
- The display name.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the display name.
-
-
- Gets the display name for the model.
- The display name for the model.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the display name.
- The type of the model.
- The type of the value.
-
-
- Gets the display name for the model.
- The display name for the model.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the display name.
- The type of the model.
- The type of the value.
-
-
- Gets the display name for the model.
- The display name for the model.
- The HTML helper instance that this method extends.
-
-
- Provides a way to render object values as HTML.
-
-
- Returns HTML markup for each property in the object that is represented by the specified expression.
- The HTML markup for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
-
-
- Returns HTML markup for each property in the object that is represented by the specified expression.
- The HTML markup for each property.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The type of the model.
- The type of the result.
-
-
- Represents support for the HTML input element in an application.
-
-
- Returns an HTML input element for each property in the object that is represented by the expression.
- An HTML input element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
-
-
- Returns an HTML input element for each property in the object that is represented by the expression, using additional view data.
- An HTML input element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
-
-
- Returns an HTML input element for each property in the object that is represented by the expression, using the specified template.
- An HTML input element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template to use to render the object.
-
-
- Returns an HTML input element for each property in the object that is represented by the expression, using the specified template and additional view data.
- An HTML input element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template to use to render the object.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
-
-
- Returns an HTML input element for each property in the object that is represented by the expression, using the specified template and HTML field name.
- An HTML input element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template to use to render the object.
- A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
-
-
- Returns an HTML input element for each property in the object that is represented by the expression, using the specified template, HTML field name, and additional view data.
- An HTML input element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template to use to render the object.
- A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
-
-
- Returns an HTML input element for each property in the object that is represented by the expression.
- An HTML input element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The type of the model.
- The type of the value.
-
-
- Returns an HTML input element for each property in the object that is represented by the expression, using additional view data.
- An HTML input element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
- The type of the model.
- The type of the value.
-
-
- Returns an HTML input element for each property in the object that is represented by the expression, using the specified template.
- An HTML input element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template to use to render the object.
- The type of the model.
- The type of the value.
-
-
- Returns an HTML input element for each property in the object that is represented by the expression, using the specified template and additional view data.
- An HTML input element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template to use to render the object.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
- The type of the model.
- The type of the value.
-
-
- Returns an HTML input element for each property in the object that is represented by the expression, using the specified template and HTML field name.
- An HTML input element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template to use to render the object.
- A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
- The type of the model.
- The type of the value.
-
-
- Returns an HTML input element for each property in the object that is represented by the expression, using the specified template, HTML field name, and additional view data.
- An HTML input element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- The name of the template to use to render the object.
- A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
- The type of the model.
- The type of the value.
-
-
- Returns an HTML input element for each property in the model.
- An HTML input element for each property in the model.
- The HTML helper instance that this method extends.
-
-
- Returns an HTML input element for each property in the model, using additional view data.
- An HTML input element for each property in the model.
- The HTML helper instance that this method extends.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
-
-
- Returns an HTML input element for each property in the model, using the specified template.
- An HTML input element for each property in the model and in the specified template.
- The HTML helper instance that this method extends.
- The name of the template to use to render the object.
-
-
- Returns an HTML input element for each property in the model, using the specified template and additional view data.
- An HTML input element for each property in the model.
- The HTML helper instance that this method extends.
- The name of the template to use to render the object.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
-
-
- Returns an HTML input element for each property in the model, using the specified template name and HTML field name.
- An HTML input element for each property in the model and in the named template.
- The HTML helper instance that this method extends.
- The name of the template to use to render the object.
- A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
-
-
- Returns an HTML input element for each property in the model, using the template name, HTML field name, and additional view data.
- An HTML input element for each property in the model.
- The HTML helper instance that this method extends.
- The name of the template to use to render the object.
- A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
- An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
-
-
- Provides methods for working with enumeration values and select lists.
-
-
- Gets a list of objects corresponding to enum constants defined in the given type.
- A list for the given .
- The type to evaluate.
-
-
- Gets a list of objects corresponding to enum constants defined in the given type. Also ensures the will round-trip even if it does not match a defined constant and sets the Selected property to true for one element in the returned list -- matching the .
- A list for the given , possibly extended to include an unrecognized .
- The type to evaluate.
- The value from type to select.
-
-
- Gets a list of objects corresponding to enum constants defined in the given metadata.
- A list for the given metadata.
- The model metadata to evaluate.
-
-
- Gets a list of objects corresponding to enum constants defined in the given metadata. Also ensures the value will round-trip even if it does not match a defined constant and sets the Selected property to true for one element in the returned list -- matching the value.
- A list for the given , possibly extended to include an unrecognized .
- The metadata to evaluate.
- Value from the type of metadata to select.
-
-
- Gets a value indicating whether the given type or an expression of this type is suitable for use in and calls.
- true if will not throw when passed the given type and will not throw when passed an expression of this type; otherwise, false.
- The type to check.
-
-
- Gets a value indicating whether the given metadata or associated expression is suitable for use in and calls.
- true if will return not throw when passed given and will not throw when passed associated expression; otherwise, false.
- The metadata to check.
-
-
- Represents support for HTML in an application.
-
-
- Writes an opening <form> tag to the response. The form uses the POST method, and the request is processed by the action method for the view.
- An opening <form> tag.
- The HTML helper instance that this method extends.
-
-
- Writes an opening <form> tag to the response and includes the route values in the action attribute. The form uses the POST method, and the request is processed by the action method for the view.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
-
-
- Writes an opening <form> tag to the response and sets the action tag to the specified controller and action. The form uses the POST method.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the action method.
- The name of the controller.
-
-
- Writes an opening <form> tag to the response, and sets the action tag to the specified controller, action, and route values. The form uses the POST method.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
-
-
- Writes an opening <form> tag to the response and sets the action tag to the specified controller, action, and route values. The form uses the specified HTTP method.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- The HTTP method for processing the form, either GET or POST.
-
-
- Writes an opening <form> tag to the response and sets the action tag to the specified controller, action, and route values. The form uses the specified HTTP method and includes the HTML attributes.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- The HTTP method for processing the form, either GET or POST.
- An object that contains the HTML attributes to set for the element.
-
-
- Writes an opening <form> tag to the response and sets the action tag to the specified controller and action. The form uses the specified HTTP method.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the action method.
- The name of the controller.
- The HTTP method for processing the form, either GET or POST.
-
-
- Writes an opening <form> tag to the response and sets the action tag to the specified controller and action. The form uses the specified HTTP method and includes the HTML attributes from a dictionary.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the action method.
- The name of the controller.
- The HTTP method for processing the form, either GET or POST.
- An object that contains the HTML attributes to set for the element.
-
-
- Writes an opening <form> tag to the response and sets the action tag to the specified controller and action. The form uses the specified HTTP method and includes the HTML attributes.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the action method.
- The name of the controller.
- The HTTP method for processing the form, either GET or POST.
- An object that contains the HTML attributes to set for the element.
-
-
- Writes an opening <form> tag to the response, and sets the action tag to the specified controller, action, and route values from the route value dictionary. The form uses the POST method.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route.
-
-
- Writes an opening <form> tag to the response, and sets the action tag to the specified controller, action, and route values from the route value dictionary. The form uses the specified HTTP method.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route.
- The HTTP method for processing the form, either GET or POST.
-
-
- Writes an opening <form> tag to the response, and sets the action tag to the specified controller, action, and route values from the route value dictionary. The form uses the specified HTTP method, and includes the HTML attributes from the dictionary.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the action method.
- The name of the controller.
- An object that contains the parameters for a route.
- The HTTP method for processing the form, either GET or POST.
- An object that contains the HTML attributes to set for the element.
-
-
- Writes an opening <form> tag to the response and includes the route values from the route value dictionary in the action attribute. The form uses the POST method, and the request is processed by the action method for the view.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- An object that contains the parameters for a route.
-
-
- Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
-
-
- Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the route to use to obtain the form-post URL.
-
-
- Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the route to use to obtain the form-post URL.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
-
-
- Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the route to use to obtain the form-post URL.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- The HTTP method for processing the form, either GET or POST.
-
-
- Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the route to use to obtain the form-post URL.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
- The HTTP method for processing the form, either GET or POST.
- An object that contains the HTML attributes to set for the element.
-
-
- Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the route to use to obtain the form-post URL.
- The HTTP method for processing the form, either GET or POST.
-
-
- Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the route to use to obtain the form-post URL.
- The HTTP method for processing the form, either GET or POST.
- An object that contains the HTML attributes to set for the element.
-
-
- Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the route to use to obtain the form-post URL.
- The HTTP method for processing the form, either GET or POST.
- An object that contains the HTML attributes to set for the element.
-
-
- Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the route to use to obtain the form-post URL.
- An object that contains the parameters for a route
-
-
- Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the route to use to obtain the form-post URL.
- An object that contains the parameters for a route
- The HTTP method for processing the form, either GET or POST.
-
-
- Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- The name of the route to use to obtain the form-post URL.
- An object that contains the parameters for a route
- The HTTP method for processing the form, either GET or POST.
- An object that contains the HTML attributes to set for the element.
-
-
- Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
- An opening <form> tag.
- The HTML helper instance that this method extends.
- An object that contains the parameters for a route
-
-
- Renders the closing </form> tag to the response.
- The HTML helper instance that this method extends.
-
-
- Represents support for HTML input controls in an application.
-
-
- Returns a check box input element by using the specified HTML helper and the name of the form field.
- An input element whose type attribute is set to "checkbox".
- The HTML helper instance that this method extends.
- The name of the form field.
-
-
- Returns a check box input element by using the specified HTML helper, the name of the form field, and a value to indicate whether the check box is selected.
- An input element whose type attribute is set to "checkbox".
- The HTML helper instance that this method extends.
- The name of the form field.
- true to select the check box; otherwise, false. The value of the check box is retrieved in this order - the object, the value of this parameter, the object, and lastly, a checked attribute in the html attributes.
-
-
- Returns a check box input element by using the specified HTML helper, the name of the form field, a value to indicate whether the check box is selected, and the HTML attributes.
- An input element whose type attribute is set to "checkbox".
- The HTML helper instance that this method extends.
- The name of the form field.
- true to select the check box; otherwise, false. The value of the check box is retrieved in this order - the object, the value of this parameter, the object, and lastly, a checked attribute in the html attributes.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns a check box input element by using the specified HTML helper, the name of the form field, a value that indicates whether the check box is selected, and the HTML attributes.
- An input element whose type attribute is set to "checkbox".
- The HTML helper instance that this method extends.
- The name of the form field.
- true to select the check box; otherwise, false. The value of the check box is retrieved in this order - the object, the value of this parameter, the object, and lastly, a checked attribute in the html attributes.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns a check box input element by using the specified HTML helper, the name of the form field, and the HTML attributes.
- An input element whose type attribute is set to "checkbox".
- The HTML helper instance that this method extends.
- The name of the form field.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns a check box input element by using the specified HTML helper, the name of the form field, and the HTML attributes.
- An input element whose type attribute is set to "checkbox".
- The HTML helper instance that this method extends.
- The name of the form field.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns a check box input element for each property in the object that is represented by the specified expression.
- An HTML input element whose type attribute is set to "checkbox" for each property in the object that is represented by the specified expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- The type of the model.
- The parameter is null.
-
-
- Returns a check box input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- An HTML input element whose type attribute is set to "checkbox" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- A dictionary that contains the HTML attributes to set for the element.
- The type of the model.
- The parameter is null.
-
-
- Returns a check box input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- An HTML input element whose type attribute is set to "checkbox" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The parameter is null.
-
-
- Returns a hidden input element by using the specified HTML helper and the name of the form field.
- An input element whose type attribute is set to "hidden".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
-
-
- Returns a hidden input element by using the specified HTML helper, the name of the form field, and the value.
- An input element whose type attribute is set to "hidden".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the hidden input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
-
-
- Returns a hidden input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes.
- An input element whose type attribute is set to "hidden".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the hidden input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns a hidden input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes.
- An input element whose type attribute is set to "hidden".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the hidden input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns an HTML hidden input element for each property in the object that is represented by the specified expression.
- An input element whose type attribute is set to "hidden" for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- The type of the model.
- The type of the property.
-
-
- Returns an HTML hidden input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- An input element whose type attribute is set to "hidden" for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the property.
-
-
- Returns an HTML hidden input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- An input element whose type attribute is set to "hidden" for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the property.
-
-
- Returns a password input element by using the specified HTML helper and the name of the form field.
- An input element whose type attribute is set to "password".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
-
-
- Returns a password input element by using the specified HTML helper, the name of the form field, and the value.
- An input element whose type attribute is set to "password".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the password input element. If a value for this parameter is not provided, the value attribute in the html attributes is used to retrieve the value.
-
-
- Returns a password input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes.
- An input element whose type attribute is set to "password".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the password input element. If a value for this parameter is not provided, the value attribute in the html attributes is used to retrieve the value.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns a password input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes.
- An input element whose type attribute is set to "password".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the password input element. If a value for this parameter is not provided, the value attribute in the html attributes is used to retrieve the value.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns a password input element for each property in the object that is represented by the specified expression.
- An HTML input element whose type attribute is set to "password" for each property in the object that is represented by the specified expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- The type of the model.
- The type of the value.
- The parameter is null.
-
-
- Returns a password input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- An HTML input element whose type attribute is set to "password" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- A dictionary that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
- The parameter is null.
-
-
- Returns a password input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- An HTML input element whose type attribute is set to "password" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
- The parameter is null.
-
-
- Returns a radio button input element that is used to present mutually exclusive options.
- An input element whose type attribute is set to "radio".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- The parameter is null or empty.
- The parameter is null.
-
-
- Returns a radio button input element that is used to present mutually exclusive options.
- An input element whose type attribute is set to "radio".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- true to select the radio button; otherwise, false.
- The parameter is null or empty.
- The parameter is null.
-
-
- Returns a radio button input element that is used to present mutually exclusive options.
- An input element whose type attribute is set to "radio".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- true to select the radio button; otherwise, false.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
- The parameter is null.
-
-
- Returns a radio button input element that is used to present mutually exclusive options.
- An input element whose type attribute is set to "radio".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- true to select the radio button; otherwise, false.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
- The parameter is null.
-
-
- Returns a radio button input element that is used to present mutually exclusive options.
- An input element whose type attribute is set to "radio".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
- The parameter is null.
-
-
- Returns a radio button input element that is used to present mutually exclusive options.
- An input element whose type attribute is set to "radio".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
- The parameter is null.
-
-
- Returns a radio button input element for each property in the object that is represented by the specified expression.
- An HTML input element whose type attribute is set to "radio" for each property in the object that is represented by the specified expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- The type of the model.
- The type of the value.
- The parameter is null.
-
-
- Returns a radio button input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- An HTML input element whose type attribute is set to "radio" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- A dictionary that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
- The parameter is null.
-
-
- Returns a radio button input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- An HTML input element whose type attribute is set to "radio" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
- The parameter is null.
-
-
- Returns a text input element by using the specified HTML helper and the name of the form field.
- An input element whose type attribute is set to "text".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
-
-
- Returns a text input element by using the specified HTML helper, the name of the form field, and the value.
- An input element whose type attribute is set to "text".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the text input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
-
-
- Returns a text input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes.
- An input element whose type attribute is set to "text".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the text input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns a text input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes.
- An input element whose type attribute is set to "text".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the text input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns a text input element.
- An input element whose type attribute is set to "text".
- The HTML helper instance that this method extends.
- The name of the form field.
- The value of the text input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- A string that is used to format the input.
-
-
- Returns a text input element.
- An input element whose type attribute is set to "text".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the text input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- A string that is used to format the input.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns a text input element.
- An input element whose type attribute is set to "text".
- The HTML helper instance that this method extends.
- The name of the form field and the key that is used to look up the value.
- The value of the text input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
- A string that is used to format the input.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns a text input element for each property in the object that is represented by the specified expression.
- An HTML input element whose type attribute is set to "text" for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- The type of the model.
- The type of the value.
- The parameter is null or empty.
-
-
- Returns a text input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- An HTML input element type attribute is set to "text" for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- A dictionary that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
- The parameter is null or empty.
-
-
- Returns a text input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
- An HTML input element whose type attribute is set to "text" for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
- The parameter is null or empty.
-
-
- Returns a text input element.
- An input element whose type attribute is set to "text".
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- A string that is used to format the input.
- The type of the model.
- The type of the value.
-
-
- Returns a text input element.
- An input element whose type attribute is set to "text".
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- A string that is used to format the input.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
-
-
- Returns a text input element.
- An input element whose type attribute is set to "text".
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- A string that is used to format the input.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
-
-
- Represents support for the HTML label element in an ASP.NET MVC view.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the property to display.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the property to display.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the property to display.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression using the label text.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the property to display.
- The label text to display.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the property to display.
- The label text.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the property to display.
- The label text.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the property to display.
- The type of the model.
- The type of the value.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the property to display.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the property to display.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The value.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression using the label text.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the property to display.
- The label text to display.
- The type of the model.
- The type of the value.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the property to display.
- The label text to display.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the property to display.
- The label text.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The Value.
-
-
- Returns an HTML label element and the property name of the property that is represented by the model.
- An HTML label element and the property name of the property that is represented by the model.
- The HTML helper instance that this method extends.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression using the label text.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- The label text to display.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- The label Text.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression.
- An HTML label element and the property name of the property that is represented by the expression.
- The HTML helper instance that this method extends.
- The label text.
- An object that contains the HTML attributes to set for the element.
-
-
- Represents support for HTML links in an application.
-
-
- Returns an anchor element (a element) for the specified link text and action.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the action.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) for the specified link text, action, and route values.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the action.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) for the specified link text, action, route values, and HTML attributes.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the action.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
- An object that contains the HTML attributes for the element. The attributes are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) for the specified link text, action, and controller.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the action.
- The name of the controller.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) for the specified link text, action, controller, route values, and HTML attributes.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the action.
- The name of the controller.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) for the specified link text, action, controller, protocol, host name, URL fragment, route values, and HTML attributes.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the action.
- The name of the controller.
- The protocol for the URL, such as "http" or "https".
- The host name for the URL.
- The URL fragment name (the anchor name).
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) for the specified link text, action, controller, protocol, host name, URL fragment, route values as a route value dictionary, and HTML attributes as a dictionary.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the action.
- The name of the controller.
- The protocol for the URL, such as "http" or "https".
- The host name for the URL.
- The URL fragment name (the anchor name).
- An object that contains the parameters for a route.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) for the specified link text, action, controller, route values as a route value dictionary, and HTML attributes as a dictionary.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the action.
- The name of the controller.
- An object that contains the parameters for a route.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) for the specified link text, action, and route values as a route value dictionary.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the action.
- An object that contains the parameters for a route.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) for the specified link text, action, route values as a route value dictionary, and HTML attributes as a dictionary.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the action.
- An object that contains the parameters for a route.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) that contains the virtual path of the specified action.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) that contains the virtual path of the specified action.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) that contains the virtual path of the specified action.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the route that is used to return a virtual path.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) that contains the virtual path of the specified action.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the route that is used to return a virtual path.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) that contains the virtual path of the specified action.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the route that is used to return a virtual path.
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) that contains the virtual path of the specified action.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the route that is used to return a virtual path.
- The protocol for the URL, such as "http" or "https".
- The host name for the URL.
- The URL fragment name (the anchor name).
- An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) that contains the virtual path of the specified action.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the route that is used to return a virtual path.
- The protocol for the URL, such as "http" or "https".
- The host name for the URL.
- The URL fragment name (the anchor name).
- An object that contains the parameters for a route.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) that contains the virtual path of the specified action.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the route that is used to return a virtual path.
- An object that contains the parameters for a route.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) that contains the virtual path of the specified action.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- The name of the route that is used to return a virtual path.
- An object that contains the parameters for a route.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) that contains the virtual path of the specified action.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- An object that contains the parameters for a route.
- The parameter is null or empty.
-
-
- Returns an anchor element (a element) that contains the virtual path of the specified action.
- An anchor element (a element).
- The HTML helper instance that this method extends.
- The inner text of the anchor element.
- An object that contains the parameters for a route.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Represents an HTML form element in an MVC view.
-
-
- Initializes a new instance of the class using the specified HTTP response object.
- The HTTP response object.
- The parameter is null.
-
-
- Initializes a new instance of the class using the specified view context.
- An object that encapsulates the information that is required in order to render a view.
- The parameter is null.
-
-
- Releases all resources that are used by the current instance of the class.
-
-
- Releases unmanaged and, optionally, managed resources used by the current instance of the class.
- true to release both managed and unmanaged resources; false to release only unmanaged resources.
-
-
- Ends the form and disposes of all form resources.
-
-
- Gets the HTML ID and name attributes of the string.
-
-
- Gets the ID of the string.
- The HTML ID attribute value for the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the ID.
-
-
- Gets the ID of the string
- The HTML ID attribute value for the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the ID.
- The type of the model.
- The type of the property.
-
-
- Gets the ID of the string.
- The HTML ID attribute value for the object that is represented by the expression.
- The HTML helper instance that this method extends.
-
-
- Gets the full HTML field name for the object that is represented by the expression.
- The full HTML field name for the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the name.
-
-
- Gets the full HTML field name for the object that is represented by the expression.
- The full HTML field name for the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the name.
- The type of the model.
- The type of the property.
-
-
- Gets the full HTML field name for the object that is represented by the expression.
- The full HTML field name for the object that is represented by the expression.
- The HTML helper instance that this method extends.
-
-
- Represents the functionality to render a partial view as an HTML-encoded string.
-
-
- Renders the specified partial view as an HTML-encoded string.
- The partial view that is rendered as an HTML-encoded string.
- The HTML helper instance that this method extends.
- The name of the partial view to render.
-
-
- Renders the specified partial view as an HTML-encoded string.
- The partial view that is rendered as an HTML-encoded string.
- The HTML helper instance that this method extends.
- The name of the partial view to render.
- The model for the partial view.
-
-
- Renders the specified partial view as an HTML-encoded string.
- The partial view that is rendered as an HTML-encoded string.
- The HTML helper instance that this method extends.
- The name of the partial view.
- The model for the partial view.
- The view data dictionary for the partial view.
-
-
- Renders the specified partial view as an HTML-encoded string.
- The partial view that is rendered as an HTML-encoded string.
- The HTML helper instance that this method extends.
- The name of the partial view to render.
- The view data dictionary for the partial view.
-
-
- Provides support for rendering a partial view.
-
-
- Renders the specified partial view by using the specified HTML helper.
- The HTML helper.
- The name of the partial view
-
-
- Renders the specified partial view, passing it a copy of the current object, but with the Model property set to the specified model.
- The HTML helper.
- The name of the partial view.
- The model.
-
-
- Renders the specified partial view, replacing the partial view's ViewData property with the specified object and setting the Model property of the view data to the specified model.
- The HTML helper.
- The name of the partial view.
- The model for the partial view.
- The view data for the partial view.
-
-
- Renders the specified partial view, replacing its ViewData property with the specified object.
- The HTML helper.
- The name of the partial view.
- The view data.
-
-
- Represents support for making selections in a list.
-
-
- Returns a single-selection select element using the specified HTML helper and the name of the form field.
- An HTML select element.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- The parameter is null or empty.
-
-
- Returns a single-selection select element using the specified HTML helper, the name of the form field, and the specified list items.
- An HTML select element with an option subelement for each item in the list.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- A collection of objects that are used to populate the drop-down list.
- The parameter is null or empty.
-
-
- Returns a single-selection select element using the specified HTML helper, the name of the form field, the specified list items, and the specified HTML attributes.
- An HTML select element with an option subelement for each item in the list.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- A collection of objects that are used to populate the drop-down list.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns a single-selection select element using the specified HTML helper, the name of the form field, the specified list items, and the specified HTML attributes.
- An HTML select element with an option subelement for each item in the list.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- A collection of objects that are used to populate the drop-down list.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns a single-selection select element using the specified HTML helper, the name of the form field, the specified list items, and an option label.
- An HTML select element with an option subelement for each item in the list.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- A collection of objects that are used to populate the drop-down list.
- The text for a default empty item. This parameter can be null.
- The parameter is null or empty.
-
-
- Returns a single-selection select element using the specified HTML helper, the name of the form field, the specified list items, an option label, and the specified HTML attributes.
- An HTML select element with an option subelement for each item in the list.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- A collection of objects that are used to populate the drop-down list.
- The text for a default empty item. This parameter can be null.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns a single-selection select element using the specified HTML helper, the name of the form field, the specified list items, an option label, and the specified HTML attributes.
- An HTML select element with an option subelement for each item in the list.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- A collection of objects that are used to populate the drop-down list.
- The text for a default empty item. This parameter can be null.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns a single-selection select element using the specified HTML helper, the name of the form field, and an option label.
- An HTML select element with an option subelement for each item in the list.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- The text for a default empty item. This parameter can be null.
- The parameter is null or empty.
-
-
- Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items.
- An HTML select element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- A collection of objects that are used to populate the drop-down list.
- The type of the model.
- The type of the value.
- The parameter is null.
-
-
- Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes.
- An HTML select element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- A collection of objects that are used to populate the drop-down list.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
- The parameter is null.
-
-
- Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes.
- An HTML select element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- A collection of objects that are used to populate the drop-down list.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
- The parameter is null.
-
-
- Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and option label.
- An HTML select element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- A collection of objects that are used to populate the drop-down list.
- The text for a default empty item. This parameter can be null.
- The type of the model.
- The type of the value.
- The parameter is null.
-
-
- Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items, option label, and HTML attributes.
- An HTML select element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- A collection of objects that are used to populate the drop-down list.
- The text for a default empty item. This parameter can be null.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
- The parameter is null.
-
-
- Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items, option label, and HTML attributes.
- An HTML select element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- A collection of objects that are used to populate the drop-down list.
- The text for a default empty item. This parameter can be null.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
- The parameter is null.
-
-
- Returns an HTML select element for each value in the enumeration that is represented by the specified expression.
- An HTML select element for each value in the enumeration that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the values to display.
- The type of the model.
- The type of the value.
-
-
- Returns an HTML select element for each value in the enumeration that is represented by the specified expression.
- An HTML select element for each value in the enumeration that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the values to display.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
-
-
- Returns an HTML select element for each value in the enumeration that is represented by the specified expression.
- An HTML select element for each value in the enumeration that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the values to display.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
-
-
- Returns an HTML select element for each value in the enumeration that is represented by the specified expression.
- An HTML select element for each value in the enumeration that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the values to display.
- The text for a default empty item. This parameter can be null.
- The type of the model.
- The type of the value.
-
-
- Returns an HTML select element for each value in the enumeration that is represented by the specified expression.
- An HTML select element for each value in the enumeration that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the values to display.
- The text for a default empty item. This parameter can be null.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
-
-
- Returns an HTML select element for each value in the enumeration that is represented by the specified expression.
- An HTML select element for each value in the enumeration that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the values to display.
- The text for a default empty item. This parameter can be null.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the value.
-
-
- Returns a multi-select select element using the specified HTML helper and the name of the form field.
- An HTML select element.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- The parameter is null or empty.
-
-
- Returns a multi-select select element using the specified HTML helper, the name of the form field, and the specified list items.
- An HTML select element with an option subelement for each item in the list.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- A collection of objects that are used to populate the drop-down list.
- The parameter is null or empty.
-
-
- Returns a multi-select select element using the specified HTML helper, the name of the form field, the specified list items, and the specified HMTL attributes.
- An HTML select element with an option subelement for each item in the list..
- The HTML helper instance that this method extends.
- The name of the form field to return.
- A collection of objects that are used to populate the drop-down list.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns a multi-select select element using the specified HTML helper, the name of the form field, and the specified list items.
- An HTML select element with an option subelement for each item in the list..
- The HTML helper instance that this method extends.
- The name of the form field to return.
- A collection of objects that are used to populate the drop-down list.
- An object that contains the HTML attributes to set for the element.
- The parameter is null or empty.
-
-
- Returns an HTML select element for each property in the object that is represented by the specified expression and using the specified list items.
- An HTML select element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- A collection of objects that are used to populate the drop-down list.
- The type of the model.
- The type of the property.
- The parameter is null.
-
-
- Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes.
- An HTML select element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- A collection of objects that are used to populate the drop-down list.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the property.
- The parameter is null.
-
-
- Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes.
- An HTML select element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to display.
- A collection of objects that are used to populate the drop-down list.
- An object that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the property.
- The parameter is null.
-
-
- Represents support for HTML textarea controls.
-
-
- Returns the specified textarea element by using the specified HTML helper and the name of the form field.
- The textarea element.
- The HTML helper instance that this method extends.
- The name of the form field to return.
-
-
- Returns the specified textarea element by using the specified HTML helper, the name of the form field, and the specified HTML attributes.
- The textarea element.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns the specified textarea element by using the specified HTML helper and HTML attributes.
- The textarea element.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns the specified textarea element by using the specified HTML helper, the name of the form field, and the text content.
- The textarea element.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- The text content.
-
-
- Returns the specified textarea element by using the specified HTML helper, the name of the form field, the text content, and the specified HTML attributes.
- The textarea element.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- The text content.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns the specified textarea element by using the specified HTML helper, the name of the form field, the text content, the number of rows and columns, and the specified HTML attributes.
- The textarea element.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- The text content.
- The number of rows.
- The number of columns.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns the specified textarea element by using the specified HTML helper, the name of the form field, the text content, the number of rows and columns, and the specified HTML attributes.
- The textarea element.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- The text content.
- The number of rows.
- The number of columns.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns the specified textarea element by using the specified HTML helper, the name of the form field, the text content, and the specified HTML attributes.
- The textarea element.
- The HTML helper instance that this method extends.
- The name of the form field to return.
- The text content.
- An object that contains the HTML attributes to set for the element.
-
-
- Returns an HTML textarea element for each property in the object that is represented by the specified expression.
- An HTML textarea element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- The type of the model.
- The type of the property.
- The parameter is null.
-
-
- Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes.
- An HTML textarea element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- A dictionary that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the property.
- The parameter is null.
-
-
- Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes and the number of rows and columns.
- An HTML textarea element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- The number of rows.
- The number of columns.
- A dictionary that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the property.
- The parameter is null.
-
-
- Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes and the number of rows and columns.
- An HTML textarea element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- The number of rows.
- The number of columns.
- A dictionary that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the property.
- The parameter is null.
-
-
- Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes.
- An HTML textarea element for each property in the object that is represented by the expression.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- A dictionary that contains the HTML attributes to set for the element.
- The type of the model.
- The type of the property.
- The parameter is null.
-
-
- Provides support for validating the input from an HTML form.
-
-
- Gets or sets the name of the resource file (class key) that contains localized string values.
- The name of the resource file (class key).
-
-
- Retrieves the validation metadata for the specified model and applies each rule to the data field.
- The HTML helper instance that this method extends.
- The name of the property or model object that is being validated.
- The parameter is null.
-
-
- Retrieves the validation metadata for the specified model and applies each rule to the data field.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- The type of the model.
- The type of the property.
-
-
- Displays a validation message if an error exists for the specified field in the object.
- If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
- The HTML helper instance that this method extends.
- The name of the property or model object that is being validated.
-
-
- Displays a validation message if an error exists for the specified field in the object.
- If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
- The HTML helper instance that this method extends.
- The name of the property or model object that is being validated.
- An object that contains the HTML attributes for the element.
-
-
- Displays a validation message if an error exists for the specified entry in the object.
- null if the entry is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
- The HTML helper instance that this method operates on.
- The name of the entry being validated.
- An that contains the HTML attributes for the element.
- The tag to be set for the wrapping HTML element of the validation message.
-
-
- Displays a validation message if an error exists for the specified field in the object.
- If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
- The HTML helper instance that this method extends.
- The name of the property or model object that is being validated.
- An object that contains the HTML attributes for the element.
-
-
- Displays a validation message if an error exists for the specified entry in the object.
- null if the entry is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
- The HTML helper instance that this method operates on.
- The name of the entry being validated.
- An object that contains the HTML attributes for the element.
- The tag to be set for the wrapping HTML element of the validation message.
-
-
- Displays a validation message if an error exists for the specified field in the object.
- If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
- The HTML helper instance that this method extends.
- The name of the property or model object that is being validated.
- The message to display if the specified field contains an error.
-
-
- Displays a validation message if an error exists for the specified field in the object.
- If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
- The HTML helper instance that this method extends.
- The name of the property or model object that is being validated.
- The message to display if the specified field contains an error.
- An object that contains the HTML attributes for the element.
-
-
- Displays a validation message if an error exists for the specified entry in the object.
- null if the model object is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
- The HTML helper instance that this method operates on.
- The name of the model object being validated.
- The message to display if the specified entry contains an error.
- An that contains the HTML attributes for the element.
- The tag to be set for the wrapping HTML element of the validation message.
-
-
- Displays a validation message if an error exists for the specified field in the object.
- If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
- The HTML helper instance that this method extends.
- The name of the property or model object that is being validated.
- The message to display if the specified field contains an error.
- An object that contains the HTML attributes for the element.
-
-
- Displays a validation message if an error exists for the specified entry in the object.
- null if the entry is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
- The HTML helper instance that this method operates on.
- The name of the entry being validated.
- The message to display if the specified entry contains an error.
- An object that contains the HTML attributes for the element.
- The tag to be set for the wrapping HTML element of the validation message.
-
-
- Displays a validation message if an error exists for the specified entry in the object.
- null if the entry is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
- The HTML helper instance that this method operates on.
- The name of the entry being validated.
- The message to display if the specified entry contains an error.
- The tag to be set for the wrapping HTML element of the validation message.
-
-
- Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression.
- If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- The type of the model.
- The type of the property.
-
-
- Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression, using the specified message.
- If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- The message to display if the specified field contains an error.
- The type of the model.
- The type of the property.
-
-
- Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression, using the specified message and HTML attributes.
- If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- The message to display if the specified field contains an error.
- An object that contains the HTML attributes for the element.
- The type of the model.
- The type of the property.
-
-
- Returns the HTML markup for a validation-error message for the specified expression.
- null if the model object is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
- The HTML helper instance that this method operates on.
- An expression that identifies the object that contains the properties to render.
- The message to display if a validation error occurs.
- An that contains the HTML attributes for the element.
- The tag to be set for the wrapping HTML element of the validation message.
- The type of the model.
- The type of the property.
-
-
- Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression, using the specified message and HTML attributes.
- If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to render.
- The message to display if the specified field contains an error.
- An object that contains the HTML attributes for the element.
- The type of the model.
- The type of the property.
-
-
- Returns the HTML markup for a validation-error message for the specified expression.
- null if the model object is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
- The HTML helper instance that this method operates on.
- An expression that identifies the object that contains the properties to render.
- The message to display if a validation error occurs.
- An object that contains the HTML attributes for the element.
- The tag to be set for the wrapping HTML element of the validation message.
- The type of the model.
- The type of the property.
-
-
- Returns the HTML markup for a validation-error message for the specified expression.
- null if the model object is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
- The HTML helper instance that this method operates on.
- An expression that identifies the object that contains the properties to render.
- The message to display if a validation error occurs.
- The tag to be set for the wrapping HTML element of the validation message.
- The type of the model.
- The type of the property.
-
-
- Returns an unordered list (ul element) of validation messages that are in the object.
- A string that contains an unordered list (ul element) of validation messages.
- The HTML helper instance that this method extends.
-
-
- Returns an unordered list (ul element) of validation messages that are in the object and optionally displays only model-level errors.
- A string that contains an unordered list (ul element) of validation messages.
- The HTML helper instance that this method extends.
- true to have the summary display model-level errors only, or false to have the summary display all errors.
-
-
- Returns an unordered list (ul element) of validation messages that are in the object and optionally displays only model-level errors.
- A string that contains an unordered list (ul element) of validation messages.
- The HTML helper instance that this method extends.
- true to have the summary display model-level errors only, or false to have the summary display all errors.
- The message to display with the validation summary.
-
-
- Returns an unordered list (ul element) of validation messages that are in the object and optionally displays only model-level errors.
- A string that contains an unordered list (ul element) of validation messages.
- The HTML helper instance that this method extends.
- true to have the summary display model-level errors only, or false to have the summary display all errors.
- The message to display with the validation summary.
- A dictionary that contains the HTML attributes for the element.
-
-
-
- Returns an unordered list (ul element) of validation messages that are in the object and optionally displays only model-level errors.
- A string that contains an unordered list (ul element) of validation messages.
- The HTML helper instance that this method extends.
- true to have the summary display model-level errors only, or false to have the summary display all errors.
- The message to display with the validation summary.
- An object that contains the HTML attributes for the element.
-
-
-
-
- Returns an unordered list (ul element) of validation messages that are in the object.
- A string that contains an unordered list (ul element) of validation messages.
- The HMTL helper instance that this method extends.
- The message to display if the specified field contains an error.
-
-
- Returns an unordered list (ul element) of validation messages that are in the object.
- A string that contains an unordered list (ul element) of validation messages.
- The HTML helper instance that this method extends.
- The message to display if the specified field contains an error.
- A dictionary that contains the HTML attributes for the element.
-
-
-
- Returns an unordered list (ul element) of validation messages in the object.
- A string that contains an unordered list (ul element) of validation messages.
- The HTML helper instance that this method extends.
- The message to display if the specified field contains an error.
- An object that contains the HTML attributes for the element.
-
-
-
-
- Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates.
-
-
- Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates.
- The HTML markup for the value.
- The HTML helper instance that this method extends.
- The name of the model.
-
-
- Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates.
- The HTML markup for the value.
- The HTML helper instance that this method extends.
- The name of the model.
- The format string.
-
-
- Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates.
- The HTML markup for the value.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to expose.
- The model.
- The property.
-
-
- Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates.
- The HTML markup for the value.
- The HTML helper instance that this method extends.
- An expression that identifies the object that contains the properties to expose.
- The format string.
- The model.
- The property.
-
-
- Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates.
- The HTML markup for the value.
- The HTML helper instance that this method extends.
-
-
- Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates.
- The HTML markup for the value.
- The HTML helper instance that this method extends.
- The format string.
-
-
- Compiles ASP.NET Razor views into classes.
-
-
- Initializes a new instance of the class.
-
-
- The inherits directive.
-
-
- The model directive.
-
-
- Extends the VBCodeParser class by adding support for the @model keyword.
-
-
- Initializes a new instance of the class.
-
-
- Sets a value that indicates whether the current code block and model should be inherited.
- true if the code block and model is inherited; otherwise, false.
-
-
- The Model Type Directive.
- Returns void.
-
-
- Configures the ASP.NET Razor parser and code generator for a specified file.
-
-
- Initializes a new instance of the class.
- The virtual path of the ASP.NET Razor file.
- The physical path of the ASP.NET Razor file.
-
-
- Returns the ASP.NET MVC language-specific Razor code generator.
- The ASP.NET MVC language-specific Razor code generator.
- The C# or Visual Basic code generator.
-
-
- Returns the ASP.NET MVC language-specific Razor code parser using the specified language parser.
- The ASP.NET MVC language-specific Razor code parser.
- The C# or Visual Basic code parser.
-
-
-
-
- Creates instances based on the provided factories and action. The route entries provide direct routing to the provided action.
- A set of route entries.
- The action descriptor.
- The direct route factories.
- The constraint resolver.
-
-
- Gets a set of route factories for the given action descriptor.
- A set of route factories.
- The action descriptor.
-
-
- Gets the area prefix from the provided controller.
- The area prefix or null.
- The controller descriptor.
-
-
- Creates instances based on the provided factories, controller and actions. The route entries provided direct routing to the provided controller and can reach the set of provided actions.
- A set of route entries.
- The controller descriptor.
- The action descriptors.
- The direct route factories.
- The constraint resolver.
-
-
- Gets route factories for the given controller descriptor.
- A set of route factories.
- The controller descriptor.
-
-
- Gets direct routes for the given controller descriptor and action descriptors based on attributes.
- A set of route entries.
- The controller descriptor.
- The action descriptors for all actions.
- The constraint resolver.
-
-
- Gets the route prefix from the provided controller.
- The route prefix or null.
- The controller descriptor.
-
-
- The default implementation of . Resolves constraints by parsing a constraint key and constraint arguments, using a map to resolve the constraint type, and calling an appropriate constructor for the constraint type.
-
-
-
- Gets the mutable dictionary that maps constraint keys to a particular constraint type.
-
-
-
- Represents a context that supports creating a direct route.
-
-
- Initializes a new instance of the class.
- The route prefix, if any, defined by the area.
- The route prefix, if any, defined by the controller.
- The action descriptors to which to create a route.
- The inline constraint resolver.
- A value indicating whether the route is configured at the action or controller level.
-
-
- Gets the action descriptors to which to create a route.
- The action descriptors to which to create a route.
-
-
- Gets the route prefix, if any, defined by the area.
- The route prefix, if any, defined by the area.
-
-
- Gets the route prefix, if any, defined by the controller.
- The route prefix, if any, defined by the controller.
-
-
- Creates a route builder that can build a route matching this context.
- A route builder that can build a route matching this context.
- The route template.
-
-
- Creates a route builder that can build a route matching this context.
- A route builder that can build a route matching this context.
- The route template.
- The inline constraint resolver to use, if any; otherwise, null.
-
-
- Gets the inline constraint resolver.
- The inline constraint resolver.
-
-
- Gets a value indicating whether the route is configured at the action or controller level.
- true when the route is configured at the action level; otherwise false if the route is configured at the controller level.
-
-
- Defines a builder that creates direct routes to actions (attribute routes).
-
-
- Gets the action descriptors to which to create a route.
- The action descriptors to which to create a route.
-
-
- Creates a route entry based on the current property values.
- The route entry created.
-
-
- Gets or sets the route constraints.
- The route constraints.
-
-
- Gets or sets the route data tokens.
- The route data tokens.
-
-
- Gets or sets the route defaults.
- The route defaults.
-
-
- Gets or sets the route name.
- The route name, or null if no name supplied.
-
-
- Gets or sets the route order.
- The route order.
-
-
- Gets or sets the route precedence.
- The route precedence.
-
-
- Gets a value indicating whether the route is configured at the action or controller level.
- true when the route is configured at the action level; otherwise, false if the route is configured at the controller level.
-
-
- Gets or sets the route template.
- The route template.
-
-
- Defines a factory that creates a route directly to a set of action descriptors (an attribute route).
-
-
- Creates a direct route entry.
- The direct route entry.
- The context to use to create the route.
-
-
- Defines a provider for routes that directly target action descriptors (attribute routes).
-
-
- Gets the direct routes for a controller.
- A set of route entries for the controller.
- The controller descriptor.
- The action descriptors.
- The inline constraint resolver.
-
-
- Defines an abstraction for resolving inline constraints as instances of .
-
-
- Resolves the inline constraint.
- The the inline constraint was resolved to.
- The inline constraint to resolve.
-
-
- Provides information for building a System.Web.Routing.Route.
-
-
- Gets the route template describing the URI pattern to match against.
- The route template describing the URI pattern to match against.
-
-
- Gets the name of the route to generate.
- The name of the route to generate.
-
-
- Defines a route prefix.
-
-
- Gets the route prefix.
- The route prefix.
-
-
- Builds instances based on route information.
-
-
- Initializes a new instance of the class using the default inline constraint resolver.
-
-
- Initializes a new instance of the class.
- The to use for resolving inline constraints.
-
-
- Builds an for a particular action.
- The generated .
- The tokenized route template for the route.
- The HTTP methods supported by the route. A null value specify that all possible methods are supported.
- The name of the associated controller.
- The name of the associated action.
- The method that the route attribute has been applied on.
-
-
- Builds an for a particular action.
- The generated route.
- The tokenized route template for the route.
- The controller the route attribute has been applied on.
-
-
- Builds an .
- The generated .
- The route defaults.
- The route constraints.
- The detokenized route template.
- The method that the route attribute has been applied on.
-
-
- Gets the resolver for resolving inline constraints.
- The resolver for resolving inline constraints.
-
-
- Represents a named route.
-
-
- Initializes a new instance of the class.
- The route name.
- The route.
-
-
- Gets the route name.
- The route name, if any; otherwise, null.
-
-
- Gets the route.
- The route.
-
-
- Represents an attribute route that may contain custom constraints.
-
-
- Initializes a new instance of the class.
- The route template.
-
-
- Gets the route constraints.
- The route constraints, if any; otherwise null.
-
-
- Creates a direct route entry.
- The direct route entry.
- The context to use to create the route.
-
-
- Gets the route data tokens.
- The route data tokens, if any; otherwise null.
-
-
- Gets the route defaults.
- The route defaults, if any; otherwise null.
-
-
- Gets or sets the route name.
- The route name, if any; otherwise null.
-
-
- Gets or sets the route order.
- The route order.
-
-
- Gets the route template.
- The route template.
-
-
- Constrains a route parameter to contain only lowercase or uppercase letters A through Z in the English alphabet.
-
-
- Initializes a new instance of the class.
-
-
- Constrains a route parameter to represent only Boolean values.
-
-
-
-
- Constrains a route by several child constraints.
-
-
- Initializes a new instance of the class.
- The child constraints that must match for this constraint to match.
-
-
- Gets the child constraints that must match for this constraint to match.
- The child constraints that must match for this constraint to match.
-
-
- Determines whether this instance equals a specified route.
- true if this instance equals a specified route; otherwise, false.
- The HTTP context.
- The route to compare.
- The name of the parameter.
- A list of parameter values.
- The route direction.
-
-
- Constrains a route parameter to represent only values.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether this instance equals a specified route.
- true if this instance equals a specified route; otherwise, false.
- The HTTP context.
- The route to compare.
- The name of the parameter.
- A list of parameter values.
- The route direction.
-
-
- Constrains a route parameter to represent only decimal values.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether this instance equals a specified route.
- true if this instance equals a specified route; otherwise, false.
- The HTTP context.
- The route to compare.
- The name of the parameter.
- A list of parameter values.
- The route direction.
-
-
- Constrains a route parameter to represent only 64-bit floating-point values.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether this instance equals a specified route.
- true if this instance equals a specified route; otherwise, false.
- The HTTP context.
- The route to compare.
- The name of the parameter.
- A list of parameter values.
- The route direction.
-
-
- Constrains a route parameter to represent only 32-bit floating-point values.
-
-
-
-
- Constrains a route parameter to represent only values.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether this instance equals a specified route.
- true if this instance equals a specified route; otherwise, false.
- The HTTP context.
- The route to compare.
- The name of the parameter.
- A list of parameter values.
- The route direction.
-
-
- Constrains a route parameter to represent only 32-bit integer values.
-
-
-
-
- Constrains a route parameter to be a string of a given length or within a given range of lengths.
-
-
-
- Initializes a new instance of the class that constrains a route parameter to be a string of a given length.
- The minimum length of the route parameter.
- The maximum length of the route parameter.
-
-
- Gets the length of the route parameter, if one is set.
-
-
-
- Gets the maximum length of the route parameter, if one is set.
-
-
- Gets the minimum length of the route parameter, if one is set.
-
-
- Constrains a route parameter to represent only 64-bit integer values.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether this instance equals a specified route.
- true if this instance equals a specified route; otherwise, false.
- The HTTP context.
- The route to compare.
- The name of the parameter.
- A list of parameter values.
- The route direction.
-
-
- Constrains a route parameter to be a string with a maximum length.
-
-
-
-
- Gets the maximum length of the route parameter.
-
-
- Constrains a route parameter to be an integer with a maximum value.
-
-
- Initializes a new instance of the class.
- The maximum value.
-
-
- Determines whether this instance equals a specified route.
- true if this instance equals a specified route; otherwise, false.
- The HTTP context.
- The route to compare.
- The name of parameter.
- A list of parameter values.
- The route direction.
-
-
- Gets the maximum value of the route parameter.
- The maximum value of the route parameter.
-
-
- Constrains a route parameter to be a string with a maximum length.
-
-
- Initializes a new instance of the class.
- The minimum length.
-
-
- Determines whether this instance equals a specified route.
- true if this instance equals a specified route; otherwise, false.
- The HTTP context.
- The route to compare.
- The name of the compare.
- A list of parameter values.
- The route direction.
-
-
- Gets the minimum length of the route parameter.
- The minimum length of the route parameter.
-
-
- Constrains a route parameter to be a long with a minimum value.
-
-
- Initializes a new instance of the class.
- The minimum value.
-
-
- Determines whether this instance equals a specified route.
- true if this instance equals a specified route; otherwise, false.
- The HTTP context.
- The route to compare.
- The name of the parameter.
- A list of parameter values.
- The route direction.
-
-
- Gets the minimum value of the route parameter.
- The minimum value of the route parameter.
-
-
- Constrains a route by an inner constraint that doesn't fail when an optional parameter is set to its default value.
-
-
- Initializes a new instance of the class.
- The inner constraint to match if the parameter is not an optional parameter without a value
-
-
- Gets the inner constraint to match if the parameter is not an optional parameter without a value.
-
-
-
- Constraints a route parameter to be an integer within a given range of values.
-
-
- Initializes a new instance of the class.
- The minimum value.
- The maximum value.
-
-
- Determines whether this instance equals a specified route.
- true if this instance equals a specified route; otherwise, false.
- The HTTP context.
- The route to compare.
- The name of the parameter.
- A list of parameter values.
- The route direction.
-
-
- Gets the maximum value of the route parameter.
- The maximum value of the route parameter.
-
-
- Gets the minimum value of the route parameter.
- The minimum value of the route parameter.
-
-
- Constrains a route parameter to match a regular expression.
-
-
- Initializes a new instance of the class with the specified pattern.
- The pattern to match.
-
-
- Determines whether this instance equals a specified route.
- true if this instance equals a specified route; otherwise, false.
- The HTTP context.
- The route to compare.
- The name of the parameter.
- A list of parameter values.
- The route direction.
-
-
- Gets the regular expression pattern to match.
- The regular expression pattern to match.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.Mvc.5.2.3/lib/net45/it/System.Web.Mvc.resources.dll b/packages/Microsoft.AspNet.Mvc.5.2.3/lib/net45/it/System.Web.Mvc.resources.dll
deleted file mode 100644
index e81c424..0000000
Binary files a/packages/Microsoft.AspNet.Mvc.5.2.3/lib/net45/it/System.Web.Mvc.resources.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.Mvc.5.2.3/lib/net45/it/System.Web.Mvc.xml b/packages/Microsoft.AspNet.Mvc.5.2.3/lib/net45/it/System.Web.Mvc.xml
deleted file mode 100644
index 4480c28..0000000
--- a/packages/Microsoft.AspNet.Mvc.5.2.3/lib/net45/it/System.Web.Mvc.xml
+++ /dev/null
@@ -1,11498 +0,0 @@
-
-
-
- System.Web.Mvc
-
-
-
- Rappresenta un attributo che specifica a quali verbi HTTP risponderà un metodo di azione.
-
-
- Inizializza una nuova istanza della classe utilizzando un elenco di verbi HTTP ai quali il metodo di azione risponderà.
- Verbi HTTP ai quali il metodo di azione risponderà.
- Il parametro è null o di lunghezza zero.
-
-
- Inizializza una nuova istanza della classe utilizzando i verbi HTTP ai quali il metodo di azione risponderà.
- Verbi HTTP ai quali il metodo di azione risponderà.
-
-
- Determina se le informazioni sul metodo specificate sono valide per il contesto del controller specificato.
- true se le informazioni sul metodo sono valide. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo.
- Il parametro è null.
-
-
- Ottiene o imposta l'elenco di verbi HTTP ai quali il metodo di azione risponderà.
- Elenco di verbi HTTP ai quali il metodo di azione risponderà.
-
-
- Fornisce informazioni su un metodo di azione, ad esempio nome, controller, parametri, attributi e filtri.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il nome del metodo di azione.
- Nome del metodo di azione.
-
-
- Ottiene il descrittore del controller.
- Descrittore del controller.
-
-
- Esegue il metodo di azione utilizzando i parametri e il contesto del controller specificati.
- Risultato dell'esecuzione del metodo di azione.
- Contesto del controller.
- Parametri del metodo di azione.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, identificati dal tipo.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato del tipo specificato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
- Il parametro è null.
-
-
- Ottiene gli attributi del filtro.
- Attributi del filtro.
- true per utilizzare la cache. In caso contrario, false.
-
-
- Restituisce i filtri associati al metodo di azione.
- Filtri associati al metodo di azione.
-
-
- Restituisce i parametri del metodo di azione.
- Parametri del metodo di azione.
-
-
- Restituisce i selettori del metodo di azione.
- Selettori del metodo di azione.
-
-
- Determina se per questo membro sono definite una o più istanze del tipo di attributo specificato.
- true se per questo membro è definito . In caso contrario, false.
- Tipo dell'attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il parametro è null.
-
-
- Ottiene l'ID univoco del descrittore dell'azione mediante l'inizializzazione differita.
- ID univoco.
-
-
- Fornisce il contesto per il metodo ActionExecuted della classe .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe .
- Contesto del controller.
- Descrittore del metodo di azione.
- true se l'azione è annullata.
- Oggetto eccezione.
- Il parametro è null.
-
-
- Ottiene o imposta il descrittore dell'azione.
- Descrittore dell'azione.
-
-
- Ottiene o imposta un valore che indica che l'oggetto è annullato.
- true se il contesto è annullato. In caso contrario, false.
-
-
- Ottiene o imposta l'eccezione che si è verificata durante l'esecuzione del metodo di azione, se presente.
- Eccezione che si è verificata durante l'esecuzione del metodo di azione.
-
-
- Ottiene o imposta un valore che indica se l'eccezione è gestita.
- true se l'eccezione è gestita. In caso contrario, false.
-
-
- Ottiene o imposta il risultato restituito dal metodo di azione.
- Risultato restituito dal metodo di azione.
-
-
- Fornisce il contesto per il metodo ActionExecuting della classe .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller, il descrittore dell'azione e i parametri del metodo di azione specificati.
- Contesto del controller.
- Descrittore dell'azione.
- Parametri del metodo di azione.
- Il parametro o è null.
-
-
- Ottiene o imposta il descrittore dell'azione.
- Descrittore dell'azione.
-
-
- Ottiene o imposta i parametri del metodo di azione.
- Parametri del metodo di azione.
-
-
- Ottiene o imposta il risultato restituito dal metodo di azione.
- Risultato restituito dal metodo di azione.
-
-
- Rappresenta la classe di base per gli attributi di filtro.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Chiamato dal framework ASP.NET MVC dopo l'esecuzione del metodo di azione.
- Contesto del filtro.
-
-
- Chiamato dal framework ASP.NET MVC prima dell'esecuzione del metodo di azione.
- Contesto del filtro.
-
-
- Chiamato dal framework ASP.NET MVC dopo l'esecuzione del risultato dell'azione.
- Contesto del filtro.
-
-
- Chiamato dal framework ASP.NET MVC prima dell'esecuzione del risultato dell'azione.
- Contesto del filtro.
-
-
- Rappresenta un attributo utilizzato per influire sulla selezione di un metodo di azione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la selezione del metodo di azione è valida per il contesto del controller specificato.
- true se la selezione del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Rappresenta un attributo utilizzato per il nome di un'azione.
-
-
- Inizializza una nuova istanza della classe .
- Nome dell'azione.
- Il parametro è null o vuoto.
-
-
- Determina se il nome dell'azione è valido nel contesto del controller specificato.
- true se il nome dell'azione è valido nel contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Nome dell'azione.
- Informazioni sul metodo di azione.
-
-
- Ottiene o imposta il nome dell'azione.
- Nome dell'azione.
-
-
- Rappresenta un attributo che influisce sulla selezione di un metodo di azione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se il nome dell'azione è valido nel contesto del controller specificato.
- true se il nome dell'azione è valido nel contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Nome dell'azione.
- Informazioni sul metodo di azione.
-
-
- Restituisce il risultato di un metodo di azione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui viene eseguito il risultato.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
-
-
- Rappresenta un delegato che contiene la logica per la selezione di un metodo di azione.
-
-
- Fornisce una classe che implementa l'interfaccia per supportare metadati aggiuntivi.
-
-
- Inizializza una nuova istanza della classe .
- Nome dei metadati del modello.
- Valore dei metadati del modello.
-
-
- Ottiene il nome dell'attributo dei metadati aggiuntivi.
- Nome dell'attributo dei metadati aggiuntivi.
-
-
- Fornisce i metadati al processo di creazione dei metadati del modello.
- Metadati.
-
-
- Ottiene il tipo dell'attributo dei metadati aggiuntivi.
- Tipo dell'attributo dei metadati aggiuntivi.
-
-
- Ottiene il valore dell'attributo dei metadati aggiuntivi.
- Valore dell'attributo dei metadati aggiuntivi.
-
-
- Rappresenta il supporto per il rendering di HTML in scenari AJAX in una visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di visualizzazione e il contenitore di dati della visualizzazione specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
- Uno o entrambi i parametri sono null.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di visualizzazione, il contenitore dei dati della visualizzazione e l'insieme di route specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
- Insieme di route dell'URL.
- Uno o più parametri sono null.
-
-
- Ottiene o imposta il percorso radice per il percorso da utilizzare per i file script di globalizzazione.
- Posizione della cartella in cui sono archiviati i file script di globalizzazione.Il percorso predefinito è "~/Scripts/Globalization".
-
-
- Serializza il messaggio specificato e restituisce la stringa in formato JSON risultante.
- Messaggio serializzato come stringa in formato JSON.
- Messaggio da serializzare.
-
-
- Ottiene l'insieme di route dell'URL per l'applicazione.
- Insieme di route per l'applicazione.
-
-
- Ottiene ViewBag.
- ViewBag.
-
-
- Ottiene le informazioni sul contesto della visualizzazione.
- Contesto della visualizzazione.
-
-
- Ottiene il dizionario dei dati della visualizzazione corrente.
- Dizionario dei dati della visualizzazione.
-
-
- Ottiene il contenitore di dati della visualizzazione.
- Contenitore di dati della visualizzazione.
-
-
- Rappresenta il supporto per il rendering di HTML in scenari AJAX in una visualizzazione fortemente tipizzata.
- Tipo del modello.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di visualizzazione e il contenitore di dati della visualizzazione specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di visualizzazione, il contenitore di dati della visualizzazione e l'insieme di route dell'URL specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
- Insieme di route dell'URL.
-
-
- Ottiene ViewBag.
- ViewBag.
-
-
- Ottiene la versione fortemente tipizzata del dizionario dei dati della visualizzazione.
- Dizionario dei dati della visualizzazione fortemente tipizzato.
-
-
- Rappresenta una classe che estende la classe aggiungendo la possibilità di determinare se una richiesta HTTP è una richiesta AJAX.
-
-
- Determina se la richiesta HTTP specificata è una richiesta AJAX.
- true se la richiesta HTTP specificata è una richiesta AJAX. In caso contrario, false.
- Richiesta HTTP.
- Il parametro è null (Nothing in Visual Basic).
-
-
- Rappresenta un attributo che contrassegna controller e azioni in modo da ignorare durante l'autorizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Consente a una richiesta di includere il markup HTML durante l'associazione del modello ignorando la convalida della richiesta per la proprietà.È consigliabile che l'applicazione verifichi in modo esplicito tutti i modelli in cui è stata disabilitata la convalida della richiesta in modo da impedire gli attacchi tramite script.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Questo metodo supporta l'infrastruttura di convalida ASP.NET MVC e non può essere utilizzato direttamente dal codice.
- Metadati del modello.
-
-
- Controlla l'interpretazione del nome di un controller durante la creazione di .
-
-
- Cercare il controller nell'area corrente.
-
-
- Cercare il controller nell'area della radice.
-
-
- Fornisce una modalità per registrare una o più aree in un'applicazione ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il nome dell'area da registrare.
- Nome dell'area da registrare.
-
-
- Registra tutte le aree in un'applicazione ASP.NET MVC.
-
-
- Registra tutte le aree all'interno di un'applicazione ASP.NET MVC utilizzando le informazioni definite dall'utente specificate.
- Oggetto contenente le informazioni definite dall'utente da passare all'area.
-
-
- Registra un'area all'interno di un'applicazione ASP.NET MVC utilizzando le informazioni sul contesto dell'area specificata.
- Incapsula le informazioni necessarie per registrare l'area.
-
-
- Incapsula le informazioni necessarie per registrare un'area all'interno di un'applicazione ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe utilizzando il nome dell'area e l'insieme di route specificati.
- Nome dell'area da registrare.
- Insieme di route per l'applicazione.
-
-
- Inizializza una nuova istanza della classe utilizzando il nome dell'area, l'insieme di route e i dati definiti dall'utente specificati.
- Nome dell'area da registrare.
- Insieme di route per l'applicazione.
- Oggetto contenente le informazioni definite dall'utente da passare all'area.
-
-
- Ottiene il nome dell'area da registrare.
- Nome dell'area da registrare.
-
-
- Esegue il mapping della route dell'URL specificata e la associa all'area specificata dalla proprietà .
- Riferimento alla route di cui è stato eseguito il mapping.
- Nome della route.
- Modello di URL per la route.
- Il parametro è null.
-
-
- Esegue il mapping della route dell'URL specificata e la associa all'area specificata dalla proprietà , utilizzando i valori predefiniti specificati della route.
- Riferimento alla route di cui è stato eseguito il mapping.
- Nome della route.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Il parametro è null.
-
-
- Esegue il mapping della route dell'URL specificata e la associa all'area specificata dalla proprietà , utilizzando i valori predefiniti della route e i vincoli specificati.
- Riferimento alla route di cui è stato eseguito il mapping.
- Nome della route.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Set di espressioni che specificano i valori validi per il parametro dell'URL.
- Il parametro è null.
-
-
- Esegue il mapping della route dell'URL specificata e la associa all'area specificata dalla proprietà , utilizzando i valori predefiniti della route, i vincoli e gli spazi dei nomi specificati.
- Riferimento alla route di cui è stato eseguito il mapping.
- Nome della route.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Set di espressioni che specificano i valori validi per il parametro dell'URL.
- Set enumerabile di spazi dei nomi per l'applicazione.
- Il parametro è null.
-
-
- Esegue il mapping della route dell'URL specificata e la associa all'area specificata dalla proprietà , utilizzando i valori predefiniti della route e i gli spazi dei nomi specificati.
- Riferimento alla route di cui è stato eseguito il mapping.
- Nome della route.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Set enumerabile di spazi dei nomi per l'applicazione.
- Il parametro è null.
-
-
- Esegue il mapping della route dell'URL specificata e la associa all'area specificata dalla proprietà , utilizzando gli spazi dei nomi specificati.
- Riferimento alla route di cui è stato eseguito il mapping.
- Nome della route.
- Modello di URL per la route.
- Set enumerabile di spazi dei nomi per l'applicazione.
- Il parametro è null.
-
-
- Ottiene gli spazi dei nomi per l'applicazione.
- Set enumerabile di spazi dei nomi per l'applicazione.
-
-
- Ottiene un insieme di route definite per l'applicazione.
- Insieme di route definite per l'applicazione.
-
-
- Ottiene un oggetto contenente le informazioni definite dall'utente da passare all'area.
- Oggetto contenente le informazioni definite dall'utente da passare all'area.
-
-
- Fornisce una classe astratta per implementare un provider di metadati.
-
-
- Chiamato dai costruttori in una classe derivata per inizializzare la classe .
-
-
- Quando è sottoposto a override in una classe derivata, crea i metadati del modello per la proprietà.
- Metadati del modello per la proprietà.
- Set di attributi.
- Tipo del contenitore.
- Funzione di accesso del modello.
- Tipo del modello.
- Nome della proprietà.
-
-
- Ottiene un elenco di attributi.
- Elenco di attributi.
- Tipo del contenitore.
- Descrittore di proprietà.
- Contenitore dell'attributo.
-
-
- Restituisce un elenco di proprietà per il modello.
- Elenco di proprietà del modello.
- Contenitore del modello.
- Tipo del contenitore.
-
-
- Restituisce i metadati per la proprietà specificata utilizzando il tipo di contenitore e il descrittore della proprietà.
- Metadati per la proprietà specificata utilizzando il tipo di contenitore e il descrittore della proprietà.
- Funzione di accesso del modello.
- Tipo del contenitore.
- Descrittore di proprietà.
-
-
- Restituisce i metadati per la proprietà specificata utilizzando il tipo di contenitore e il nome della proprietà.
- Metadati per la proprietà specificata utilizzando il tipo di contenitore e il nome della proprietà.
- Funzione di accesso del modello.
- Tipo del contenitore.
- Nome della proprietà.
-
-
- Restituisce i metadati per la proprietà specificata utilizzando il tipo del modello.
- Metadati per la proprietà specificata utilizzando il tipo del modello.
- Funzione di accesso del modello.
- Tipo del modello.
-
-
- Restituisce il descrittore di tipo dal tipo specificato.
- Descrittore di tipo.
- Tipo.
-
-
- Fornisce una classe astratta per le classi che implementano un provider di convalida.
-
-
- Chiamato dai costruttori nelle classi derivate per inizializzare la classe .
-
-
- Ottiene un descrittore di tipi per il tipo specificato.
- Descrittore di tipi per il tipo specificato.
- Tipo del provider di convalida.
-
-
- Ottiene i validator per il modello utilizzando i metadati e il contesto del controller.
- Validator per il modello.
- Metadati.
- Contesto del controller.
-
-
- Ottiene i validator per il modello utilizzando i metadati, il contesto del controller e l'elenco di attributi.
- Validator per il modello.
- Metadati.
- Contesto del controller.
- Elenco di attributi.
-
-
- Fornita per compatibilità con la versione precedente ASP.NET MVC 3.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Rappresenta un attributo utilizzato per impostare il valore di timeout, in millisecondi, per un metodo asincrono.
-
-
- Inizializza una nuova istanza della classe .
- Valore di timeout in millisecondi.
-
-
- Ottiene la durata del timeout, in millisecondi.
- Durata del timeout, in millisecondi.
-
-
- Chiamato da ASP.NET prima dell'esecuzione del metodo di azione asincrono.
- Contesto del filtro.
-
-
- Incapsula le informazioni necessarie per l'utilizzo di un attributo .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller specificato.
- Contesto in cui il risultato viene eseguito.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller e il descrittore dell'azione specificati.
- Contesto in cui viene eseguito il risultato.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Oggetto che fornisce informazioni su un metodo di azione, ad esempio nome, controller, parametri, attributi e filtri.
-
-
- Fornisce informazioni su un metodo di azione contrassegnato dall'attributo , ad esempio nome, controller, parametri, attributi e filtri.
- Descrittore dell'azione per il metodo di azione contrassegnato dall'attributo .
-
-
- Ottiene o imposta il risultato restituito da un metodo di azione.
- Risultato restituito da un metodo di azione.
-
-
- Specifica che l'accesso a un controller o a un metodo di azione è limitato agli utenti che soddisfano i requisiti di autorizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Quando sottoposto a override, fornisce un punto di ingresso per i controlli di autorizzazione personalizzati.
- true se l'utente è autorizzato. In caso contrario, false.
- Contenuto HTTP che incapsula tutte le informazioni specifiche di HTTP relative a una singola richiesta HTTP.
- Il parametro è null.
-
-
- Elabora le richieste HTTP che non ottengono l'autorizzazione.
- Incapsula le informazioni per l'utilizzo di .L'oggetto contiene il controller, il contesto HTTP, il contesto della richiesta, il risultato dell'azione e i dati della route.
-
-
- Chiamato quando un processo richiede un'autorizzazione.
- Contesto del filtro che incapsula informazioni per l'utilizzo di .
- Il parametro è null.
-
-
- Chiamato quando il modulo di memorizzazione nella cache richiede un'autorizzazione.
- Riferimento allo stato della convalida.
- Contenuto HTTP che incapsula tutte le informazioni specifiche di HTTP relative a una singola richiesta HTTP.
- Il parametro è null.
-
-
- Ottiene o imposta i ruoli utente autorizzati ad accedere al controller o al metodo di azione.
- Ruoli utente autorizzati ad accedere al controller o al metodo di azione.
-
-
- Ottiene l'identificatore univoco per questo attributo.
- Identificatore univoco per questo attributo.
-
-
- Ottiene o imposta gli utenti autorizzati ad accedere al controller o al metodo di azione.
- Utenti autorizzati ad accedere al controller o al metodo di azione.
-
-
- Rappresenta un attributo utilizzato per fornire dettagli su come deve essere eseguita l'associazione del modello a un parametro.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta un elenco di valori delimitati da virgole di nomi di proprietà per i quali l'associazione non è consentita.
- Elenco di esclusione.
-
-
- Ottiene o imposta un elenco di valori delimitati da virgole di nomi di proprietà per i quali l'associazione è consentita.
- Elenco di inclusione.
-
-
- Determina se la proprietà specificata è consentita.
- true se la proprietà specificata è consentita. In caso contrario, false.
- Nome della proprietà.
-
-
- Ottiene o imposta il prefisso da utilizzare quando viene eseguito il rendering del markup per l'associazione a un argomento dell'azione o a una proprietà del modello.
- Prefisso da utilizzare.
-
-
- Rappresenta la classe di base per le visualizzazioni compilate dalla classe BuildManager prima che ne venga eseguito il rendering da un motore di visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller e il percorso della visualizzazione specificati.
- Contesto del controller.
- Percorso della visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller, il percorso della visualizzazione e l'attivatore della pagina di visualizzazione specificati.
- Informazioni di contesto per il controller corrente.Tali informazioni includono il contesto HTTP, il contesto della richiesta, i dati della route, il contesto di visualizzazione dell'azione padre e altro ancora.
- Percorso della visualizzazione di cui verrà eseguito il rendering.
- Oggetto responsabile della costruzione dinamica della pagina di visualizzazione in fase di esecuzione.
- Il parametro è null.
- Il parametro è null o vuoto.
-
-
- Esegue il rendering del contesto di visualizzazione specificato utilizzando l'oggetto writer specificato.
- Informazioni correlate al rendering di una visualizzazione, ad esempio i dati della visualizzazione, i dati temporanei e il contesto del form.
- Oggetto writer.
- Il parametro è null.
- Non è stato possibile creare un'istanza del tipo di visualizzazione.
-
-
- Quando sottoposto a override in una classe derivata, esegue il rendering del contesto di visualizzazione specificato utilizzando l'oggetto writer e l'istanza dell'oggetto specificati.
- Informazioni correlate al rendering di una visualizzazione, ad esempio i dati della visualizzazione, i dati temporanei e il contesto del form.
- Oggetto writer.
- Oggetto che contiene ulteriori informazioni da poter utilizzare nella visualizzazione.
-
-
- Ottiene o imposta il percorso della visualizzazione.
- Percorso della visualizzazione.
-
-
- Fornisce una classe base per i motori di visualizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'attivatore della pagina di visualizzazione specificato.
- Attivatore della pagina di visualizzazione.
-
-
- Ottiene un valore che indica se un file esiste nel file system virtuale (percorso) specificato.
- true se il file esiste nel file system virtuale. In caso contrario, false.
- Contesto del controller.
- Percorso virtuale.
-
-
-
- Ottiene l'attivatore della pagina di visualizzazione.
- Attivatore della pagina di visualizzazione.
-
-
- Esegue il mapping di una richiesta del browser a una matrice di byte.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Associa il modello utilizzando il contesto del controller e il contesto di associazione specificati.
- Oggetto con dati associati.Implementa
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Il parametro è null.
-
-
- Fornisce una classe astratta per implementare un provider di metadati memorizzato nella cache.
-
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i criteri dell'elemento della cache.
- Criteri dell'elemento della cache.
-
-
- Ottiene il prefisso chiave della cache.
- Prefisso chiave della cache.
-
-
- Quando è sottoposto a override in una classe derivata, crea i metadati del modello memorizzati nella cache per la proprietà.
- Metadati del modello memorizzati nella cache per la proprietà.
- Attributi.
- Tipo di contenitore.
- Funzione di accesso del modello.
- Tipo di modello.
- Nome della proprietà.
-
-
- Crea i metadati del prototipo applicando il prototipo e l'accesso al modello per generare i metadati finali.
- Metadati del prototipo.
- Prototipo.
- Funzione di accesso del modello.
-
-
- Crea un prototipo dei metadati.
- Prototipo dei metadati.
- Attributi.
- Tipo di contenitore.
- Tipo di modello.
- Nome della proprietà.
-
-
- Ottiene i metadati per le proprietà.
- Metadati per le proprietà.
- Contenitore.
- Tipo di contenitore.
-
-
- Restituisce i metadati per la proprietà specificata.
- Metadati per la proprietà specificata.
- Funzione di accesso del modello.
- Tipo di contenitore.
- Descrittore di proprietà.
-
-
- Restituisce i metadati per la proprietà specificata.
- Metadati per la proprietà specificata.
- Funzione di accesso del modello.
- Tipo di contenitore.
- Nome della proprietà.
-
-
- Restituisce i metadati memorizzati nella cache per la proprietà specificata utilizzando il tipo del modello.
- Metadati memorizzati nella cache per la proprietà specificata utilizzando il tipo del modello.
- Funzione di accesso del modello.
- Tipo del contenitore.
-
-
- Ottiene la cache del prototipo.
- Cache del prototipo.
-
-
- Fornisce un contenitore per memorizzare nella cache gli attributi .
-
-
- Inizializza una nuova istanza della classe .
- Attributi.
-
-
- Ottiene il tipo di dati.
- Tipo di dati.
-
-
- Ottiene la visualizzazione.
- Visualizzazione.
-
-
- Ottiene la colonna di visualizzazione.
- Colonna di visualizzazione.
-
-
- Ottiene il formato di visualizzazione.
- Formato di visualizzazione.
-
-
- Ottiene il nome visualizzato.
- Nome visualizzato.
-
-
- Indica se un campo dati è modificabile.
- true se il campo è modificabile. In caso contrario, false.
-
-
- Ottiene l'input nascosto.
- Input nascosto.
-
-
- Indica se un campo dati è di sola lettura.
- true se il campo è di sola lettura. In caso contrario false.
-
-
- Indica se un campo dati è obbligatorio.
- true se il campo è obbligatorio. In caso contrario, false.
-
-
- Indica se di un campo dati è possibile eseguire lo scaffolding.
- true se di un campo dati è possibile eseguire lo scaffolding. In caso contrario, false.
-
-
- Ottiene l'hint UI.
- Hint UI.
-
-
- Fornisce un contenitore per memorizzare nella cache .
-
-
- Inizializza una nuova istanza della classe utilizzando il prototipo e la funzione di accesso del modello.
- Prototipo.
- Funzione di accesso del modello.
-
-
- Inizializza una nuova istanza della classe utilizzando il provider, il tipo di contenitore, il tipo di modello, il nome della proprietà e gli attributi.
- Provider.
- Tipo di contenitore.
- Tipo di modello.
- Nome della proprietà.
- Attributi.
-
-
- Ottiene un valore che indica se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in Nothing.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Un valore che indica se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in Nothing.
-
-
- Ottiene metainformazioni sul tipo di dati.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Metainformazioni sul tipo di dati.
-
-
- Ottiene la descrizione del modello.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Descrizione del modello.
-
-
- Ottiene la stringa del formato di visualizzazione per il modello.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Stringa del formato di visualizzazione per il modello.
-
-
- Ottiene il nome visualizzato del modello.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Nome visualizzato del modello.
-
-
- Ottiene la stringa del formato di modifica del modello.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Stringa del formato di modifica del modello.
-
-
- Ottiene un valore che indica se il modello utilizza un formato di modifica non predefinito.
- Valore che indica se viene utilizzato un formato di modifica non predefinito.
-
-
- Ottiene un valore che indica se deve essere eseguito il rendering dell'oggetto modello utilizzando gli elementi HTML associati.Ottiene un valore che indica se deve essere eseguito il rendering dell'oggetto modello utilizzando gli elementi HTML associati.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Valore che indica se deve essere eseguito il rendering dell'oggetto modello utilizzando gli elementi HTML associati.
-
-
-
- Ottiene un valore che indica se il modello è di sola lettura.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Valore che indica se il modello è di sola lettura.
-
-
- Ottiene un valore che indica se il modello è obbligatorio.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Valore che indica se il modello è obbligatorio.
-
-
- Ottiene la stringa da visualizzare per i valori Null.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Stringa da visualizzare per i valori Null.
-
-
- Ottiene un valore che rappresenta l'ordine dei metadati correnti.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Valore che rappresenta l'ordine dei metadati correnti.
-
-
- Ottiene un nome visualizzato breve.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Nome visualizzato breve.
-
-
- Ottiene un valore che indica se la proprietà deve essere visibile nelle visualizzazioni di sola lettura, ad esempio le visualizzazioni elenco e dettagli.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Valore che indica se la proprietà deve essere visibile nelle visualizzazioni di sola lettura, ad esempio le visualizzazioni elenco e dettagli.
-
-
- Ottiene o imposta un valore che indica se il modello deve essere visualizzato in modalità di modifica.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Restituisce .
-
-
- Ottiene la stringa di visualizzazione semplice per il modello.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Stringa di visualizzazione semplice per il modello.
-
-
- Ottiene un suggerimento che indica quale modello utilizzare per questo modello.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Suggerimento che indica quale modello utilizzare per questo modello.
-
-
- Ottiene un valore che può essere utilizzato come filigrana.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Valore che può essere utilizzato come filigrana.
-
-
- Implementa il provider di metadati del modello memorizzato nella cache predefinito per ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un contenitore di istanze reali della classe di metadati memorizzata nella cache in base al prototipo e alla funzione di accesso del modello.
- Contenitore di istanze reali della classe di metadati memorizzata nella cache.
- Prototipo.
- Funzione di accesso del modello.
-
-
- Restituisce un contenitore di istanze prototipo della classe di metadati.
- Contenitore di istanze prototipo della classe di metadati.
- Tipo di attributi.
- Tipo di contenitore.
- Tipo di modello.
- Nome della proprietà.
-
-
- Fornisce un contenitore per i metadati memorizzati nella cache.
- Tipo del contenitore.
-
-
- Costruttore per la creazione di istanze reali della classe di metadati in base a un prototipo.
- Provider.
- Tipo di contenitore.
- Tipo di modello.
- Nome della proprietà.
- Prototipo.
-
-
- +Costruttore per la creazione delle istanze di prototipo della classe di metadati.
- Prototipo.
- Funzione di accesso del modello.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che indica se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in null.
- Valore memorizzato nella cache che indica se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in null.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta metainformazioni sul tipo di dati.
- Metainformazioni sul tipo di dati.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta la descrizione del modello.
- Descrizione del modello.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta la stringa del formato di visualizzazione per il modello.
- Stringa del formato di visualizzazione per il modello.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta il nome visualizzato del modello.
- Nome visualizzato del modello.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta la stringa del formato di modifica del modello.
- Stringa del formato di modifica del modello.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .
- Valore che indica se viene utilizzato un formato di modifica non predefinito.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che indica se deve essere eseguito il rendering dell'oggetto modello utilizzando gli elementi HTML associati.
- Valore memorizzato nella cache che indica se deve essere eseguito il rendering dell'oggetto modello utilizzando gli elementi HTML associati.
-
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che indica se il modello è di sola lettura.
- Valore memorizzato nella cache che indica se il modello è di sola lettura.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che indica se il modello è obbligatorio.
- Valore memorizzato nella cache che indica se il modello è obbligatorio.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta la stringa memorizzata nella cache da visualizzare per i valori Null.
- Stringa memorizzata nella cache da visualizzare per i valori Null.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che rappresenta l'ordine dei metadati correnti.
- Valore memorizzato nella cache che rappresenta l'ordine dei metadati correnti.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un nome di visualizzazione breve.
- Nome visualizzato breve.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che indica se la proprietà deve essere visibile nelle visualizzazioni di sola lettura, ad esempio le visualizzazioni elenco e dettagli.
- Valore memorizzato nella cache che indica se la proprietà deve essere visibile nelle visualizzazioni di sola lettura, ad esempio le visualizzazioni elenco e dettagli.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che indica se il modello deve essere visualizzato in modalità di modifica.
- Valore memorizzato nella cache che indica se il modello deve essere visualizzato in modalità di modifica.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta la stringa di visualizzazione semplice memorizzata nella cache per il modello.
- Stringa di visualizzazione semplice memorizzata nella cache per il modello.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un suggerimento memorizzato nella cache che indica quale modello utilizzare per questo modello.
- Suggerimento memorizzato nella cache che indica quale modello utilizzare per questo modello.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che può essere utilizzato come filigrana.
- Valore memorizzato nella cache che può essere utilizzato come filigrana.
-
-
- Ottiene o imposta un valore memorizzato nella cache che indica se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in null.
- Valore memorizzato nella cache che indica se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in null.
-
-
- Ottiene o imposta metainformazioni sul tipo di dati.
- Metainformazioni sul tipo di dati.
-
-
- Ottiene o imposta la descrizione del modello.
- Descrizione del modello.
-
-
- Ottiene o imposta la stringa del formato di visualizzazione per il modello.
- Stringa del formato di visualizzazione per il modello.
-
-
- Ottiene o imposta il nome visualizzato del modello.
- Nome visualizzato del modello.
-
-
- Ottiene o imposta la stringa del formato di modifica del modello.
- Stringa del formato di modifica del modello.
-
-
- Ottiene o imposta la stringa di visualizzazione semplice per il modello.
- Stringa di visualizzazione semplice per il modello.
-
-
- Ottiene o imposta un valore che indica se deve essere eseguito il rendering dell'oggetto modello utilizzando gli elementi HTML associati.
- Valore che indica se deve essere eseguito il rendering dell'oggetto modello utilizzando gli elementi HTML associati.
-
-
-
- Ottiene o imposta un valore che indica se il modello è di sola lettura.
- Valore che indica se il modello è di sola lettura.
-
-
- Ottiene o imposta un valore che indica se il modello è obbligatorio.
- Valore che indica se il modello è obbligatorio.
-
-
- Ottiene o imposta la stringa da visualizzare per i valori Null.
- Stringa da visualizzare per i valori Null.
-
-
- Ottiene o imposta un valore che rappresenta l'ordine dei metadati correnti.
- Valore dell'ordine dei metadati correnti.
-
-
- Ottiene o imposta la cache del prototipo.
- Cache del prototipo.
-
-
- Ottiene o imposta un nome di visualizzazione breve.
- Nome di visualizzazione breve.
-
-
- Ottiene o imposta un valore che indica se la proprietà deve essere visibile nelle visualizzazioni di sola lettura, ad esempio le visualizzazioni elenco e dettagli.
- true se il modello deve essere visibile nelle visualizzazioni di sola lettura. In caso contrario, false.
-
-
- Ottiene o imposta un valore che indica se il modello deve essere visualizzato in modalità di modifica.
- true se il modello deve essere visualizzato in modalità di modifica. In caso contrario, false.
-
-
- Ottiene o imposta la stringa di visualizzazione semplice per il modello.
- Stringa di visualizzazione semplice per il modello.
-
-
- Ottiene o imposta un suggerimento che indica quale modello utilizzare per questo modello.
- Suggerimento che indica quale modello utilizzare per questo modello.
-
-
- Ottiene o imposta un valore che può essere utilizzato come una filigrana.
- Valore che può essere utilizzato come filigrana.
-
-
- Fornisce un meccanismo per propagare la notifica che le operazioni dello strumento di associazione di modelli devono essere annullate.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce il token di annullamento predefinito.
- Token di annullamento predefinito.Implementa
- Contesto del controller.
- Contesto di associazione.
-
-
- Rappresenta un attributo utilizzato per indicare che un metodo di azione deve essere chiamato solo come azione figlio.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Chiamato quando è necessaria l'autorizzazione.
- Oggetto che incapsula le informazioni necessarie per autorizzare l'accesso all'azione figlio.
-
-
- Rappresenta un provider di valori dalle azioni figlio.
-
-
- Inizializza una nuova istanza della classe .
- Contesto del controller.
-
-
- Recupera un oggetto valore mediante la chiave specificata.
- Oggetto valore per la chiave specificata.
- Chiave.
-
-
- Rappresenta una factory per la creazione di oggetti provider di valori per le azioni figlio.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto per il contesto del controller specificato.
- Oggetto .
- Contesto del controller.
-
-
- Restituisce i validator del modello di tipo di dati client.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce i validator del modello di tipo di dati client.
- Validator del modello di tipo di dati client.
- Metadati.
- Contesto.
-
-
- Ottiene la chiave della classe di risorsa.
- Chiave della classe di risorsa.
-
-
- Fornisce un attributo che confronta due proprietà di un modello.
-
-
- Inizializza una nuova istanza della classe .
- Proprietà da confrontare con la proprietà corrente.
-
-
- Applica la formattazione a un messaggio di errore in base al campo dati in cui si è verificato l'errore di confronto.
- Messaggio di errore formattato.
- Nome del campo che ha causato l'errore di convalida.
-
-
- Formatta la proprietà per la convalida del client anteponendo un asterisco (*) e un punto.
- La stringa "*." viene anteposta alla proprietà.
- Proprietà.
-
-
- Ottiene un elenco di regole di convalida del client con valori di confronto per la proprietà utilizzando i metadati del modello e il contesto del controller specificati.
- Elenco di regole di convalida del client con valori di confronto.
- Metadati del modello.
- Contesto del controller.
-
-
- Determina se l'oggetto specificato è uguale all'oggetto confrontato.
- null se il valore della proprietà confrontata è uguale al parametro del valore. In caso contrario, un risultato di convalida contenente il messaggio di errore in cui viene indicato che il confronto non è riuscito.
- Valore dell'oggetto da confrontare.
- Contesto di convalida.
-
-
- Ottiene la proprietà da confrontare con la proprietà corrente.
- Proprietà da confrontare con la proprietà corrente.
-
-
- Ottiene le altre proprietà del nome della visualizzazione.
- Altre proprietà del nome della visualizzazione.
-
-
- Rappresenta un tipo di contenuto definito dall'utente che è il risultato di un metodo di azione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il contenuto.
- Il contenuto.
-
-
- Ottiene o imposta la codifica del contenuto.
- Codifica del contenuto.
-
-
- Ottiene o imposta il tipo del contenuto.
- Tipo del contenuto.
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui il risultato viene eseguito.
- Il parametro è null.
-
-
- Fornisce metodi che rispondono alle richieste HTTP effettuate a un sito Web ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene l'invoker dell'azione per il controller.
- Invoker dell'azione.
-
-
- Fornisce operazioni asincrone.
- Restituisce .
-
-
- Inizia l'esecuzione del contesto della richiesta specificato.
- Restituisce un'istanza IAsyncController.
- Contesto della richiesta.
- Callback asincrono.
- Stato.
-
-
- Inizia a richiamare l'azione nel contesto del controller corrente.
- Restituisce un'istanza IAsyncController.
- Callback.
- Stato.
-
-
- Ottiene o imposta il gestore di associazione.
- Gestore di associazione.
-
-
- Crea un oggetto risultato del contenuto tramite una stringa.
- Istanza del risultato del contenuto.
- Contenuto da scrivere nella risposta.
-
-
- Crea un oggetto risultato del contenuto tramite una stringa e il tipo di contenuto.
- Istanza del risultato del contenuto.
- Contenuto da scrivere nella risposta.
- Tipo di contenuto (tipo MIME).
-
-
- Crea un oggetto risultato del contenuto tramite una stringa, il tipo di contenuto e la codifica del contenuto.
- Istanza del risultato del contenuto.
- Contenuto da scrivere nella risposta.
- Tipo di contenuto (tipo MIME).
- Codifica del contenuto.
-
-
- Crea un invoker dell'azione.
- Invoker dell'azione.
-
-
- Crea un provider di dati temporaneo.
- Provider di dati temporaneo.
-
-
- Ottiene se disabilitare il supporto asincrono per il controller.
- true per disabilitare il supporto asincrono per il controller. In caso contrario, false.
-
-
- Rilascia tutte le risorse usate dall'istanza corrente della classe .
-
-
- Rilascia le risorse non gestite e, facoltativamente, quelle gestite.
- true per rilasciare sia le risorse gestite sia quelle non gestite. false per rilasciare solo le risorse non gestite.
-
-
- Termina la chiamata dell'azione nel contesto del controller corrente.
- Risultato asincrono.
-
-
- Termina il core di esecuzione.
- Risultato asincrono.
-
-
- Richiama l'azione nel contesto del controller corrente.
-
-
- Crea un oggetto FileContentResult tramite il contenuto del file e il tipo di file.
- Oggetto risultato del contenuto del file.
- Contenuto binario da inviare alla risposta.
- Tipo di contenuto (tipo MIME).
-
-
- Crea un oggetto FileContentResult tramite i contenuti del file, il tipo di file e il nome del file di destinazione.
- Oggetto risultato del contenuto del file.
- Contenuto binario da inviare alla risposta.
- Tipo di contenuto (tipo MIME).
- Nome file da usare nella finestra di dialogo di download del file visualizzata nel browser.
-
-
- Crea un oggetto FileStreamResult tramite l'oggetto Stream e il tipo di contenuto.
- Oggetto risultato del contenuto del file.
- Flusso da inviare alla risposta.
- Tipo di contenuto (tipo MIME).
-
-
- Crea un oggetto FileStreamResult tramite l'oggetto Stream, il tipo di contenuto e il nome del file di destinazione.
- Oggetto risultato del flusso di file.
- Flusso da inviare alla risposta.
- Tipo di contenuto (tipo MIME).
- Nome file da usare nella finestra di dialogo di download del file visualizzata nel browser.
-
-
- Crea un oggetto FilePathResult tramite il nome del file e il tipo di contenuto.
- Oggetto risultato del flusso di file.
- Percorso del file da inviare alla risposta.
- Tipo di contenuto (tipo MIME).
-
-
- Crea un oggetto FilePathResult tramite il nome del file, il tipo di contenuto e il nome di download del file.
- Oggetto risultato del flusso di file.
- Percorso del file da inviare alla risposta.
- Tipo di contenuto (tipo MIME).
- Nome file da usare nella finestra di dialogo di download del file visualizzata nel browser.
-
-
- Chiamato quando una richiesta corrisponde a questo controller, ma in tale controller non è stato trovato alcun metodo con il nome dell'azione specificato.
- Nome dell'azione che si è tentato di eseguire.
-
-
- Ottiene informazioni specifiche di HTTP relative a una singola richiesta HTTP.
- Contesto HTTP.
-
-
- Restituisce un'istanza della classe .
- Istanza della classe .
-
-
- Restituisce un'istanza della classe .
- Istanza della classe .
- Descrizione dello stato,
-
-
- Inizializza i dati che potrebbero non essere disponibili quando viene chiamato il costruttore.
- Contesto HTTP e dati della route.
-
-
- Crea un oggetto .
- Oggetto che scrive lo script nella risposta.
- Codice JavaScript da eseguire sul client.
-
-
- Crea un oggetto che serializza l'oggetto specificato nel formato JSON (JavaScript Object Notation).
- Oggetto risultato JSON che serializza l'oggetto specificato nel formato JSON.L'oggetto risultato preparato da questo metodo viene scritto nella risposta dal framework ASP.NET MVC al momento dell'esecuzione dell'oggetto.
- Il grafico dell'oggetto JavaScript da serializzare.
-
-
- Crea un oggetto che serializza l'oggetto specificato nel formato JSON (JavaScript Object Notation).
- Oggetto risultato JSON che serializza l'oggetto specificato nel formato JSON.
- Il grafico dell'oggetto JavaScript da serializzare.
- Tipo di contenuto (tipo MIME).
-
-
- Crea un oggetto che serializza l'oggetto specificato nel formato JSON (JavaScript Object Notation).
- Oggetto risultato JSON che serializza l'oggetto specificato nel formato JSON.
- Il grafico dell'oggetto JavaScript da serializzare.
- Tipo di contenuto (tipo MIME).
- Codifica del contenuto.
-
-
- Crea un oggetto che serializza l'oggetto specificato in formato JSON (JavaScript Object Notation) usando il tipo di contenuto, la codifica del contenuto e il comportamento della richiesta JSON.
- Oggetto risultato che serializza l'oggetto specificato nel formato JSON.
- Il grafico dell'oggetto JavaScript da serializzare.
- Tipo di contenuto (tipo MIME).
- Codifica del contenuto.
- Comportamento della richiesta JSON.
-
-
- Crea un oggetto che serializza l'oggetto specificato in formato JSON (JavaScript Object Notation) usando il tipo di contenuto e il comportamento della richiesta JSON specificati.
- Oggetto risultato che serializza l'oggetto specificato nel formato JSON.
- Il grafico dell'oggetto JavaScript da serializzare.
- Tipo di contenuto (tipo MIME).
- Comportamento della richiesta JSON.
-
-
- Crea un oggetto JsonResult che serializza l'oggetto specificato in formato JSON (JavaScript Object Notation) usando il comportamento della richiesta JSON specificato.
- Oggetto risultato che serializza l'oggetto specificato nel formato JSON.
- Il grafico dell'oggetto JavaScript da serializzare.
- Comportamento della richiesta JSON.
-
-
- Ottiene l'oggetto dizionario di stato del modello che contiene lo stato del modello e della convalida dell'associazione del modello.
- Dizionario di stato del modello.
-
-
- Chiamato dopo che è stato richiamato il metodo dell'azione.
- Informazioni sulla richiesta e sull'azione correnti.
-
-
- Chiamato prima che venga richiamato il metodo di azione.
- Informazioni sulla richiesta e sull'azione correnti.
-
-
- Chiamato quando si verifica un'autorizzazione.
- Informazioni sulla richiesta e sull'azione correnti.
-
-
- Chiamato quando si verifica la richiesta di un'autorizzazione.
- Informazioni sulla richiesta e sull'azione correnti.
-
-
- Chiamato quando si verifica un'autorizzazione.
- Informazioni sulla richiesta e sull'azione correnti.
-
-
- Chiamato quando nell'azione si verifica un'eccezione non gestita.
- Informazioni sulla richiesta e sull'azione correnti.
-
-
- Chiamato dopo l'esecuzione del risultato dell'azione restituito da un metodo di azione.
- Informazioni sulla richiesta e sul risultato dell'azione correnti.
-
-
- Chiamato prima dell'esecuzione del risultato dell'azione restituito da un metodo di azione.
- Informazioni sulla richiesta e sul risultato dell'azione correnti.
-
-
- Crea un oggetto che esegue il rendering di una visualizzazione parziale.
- Oggetto risultato della visualizzazione parziale.
-
-
- Crea un oggetto che esegue il rendering di una visualizzazione parziale tramite il modello specificato.
- Oggetto risultato della visualizzazione parziale.
- Modello di cui è stato eseguito il rendering tramite la visualizzazione parziale.
-
-
- Crea un oggetto che esegue il rendering di una visualizzazione parziale tramite il nome della visualizzazione specificato.
- Oggetto risultato della visualizzazione parziale.
- Nome della visualizzazione di cui è stato eseguito il rendering nella risposta.
-
-
- Crea un oggetto che esegue il rendering di una visualizzazione parziale tramite il nome della visualizzazione e il modello specificati.
- Oggetto risultato della visualizzazione parziale.
- Nome della visualizzazione di cui è stato eseguito il rendering nella risposta.
- Modello di cui è stato eseguito il rendering tramite la visualizzazione parziale.
-
-
- Ottiene il profilo del contesto HTTP.
- Profilo del contesto HTTP.
-
-
- Crea un oggetto che effettua il reindirizzamento all'URL specificato.
- Oggetto risultato del reindirizzamento.
- URL di destinazione del reindirizzamento.
-
-
- Restituisce un'istanza della classe con la proprietà Permanent impostata su true.
- Istanza della classe con la proprietà Permanent impostata su true.
- URL di destinazione del reindirizzamento.
-
-
- Effettua il reindirizzamento all'azione specificata tramite il nome dell'azione.
- Oggetto risultato del reindirizzamento.
- Nome dell'azione.
-
-
- Effettua il reindirizzamento all'azione specificata tramite il nome dell'azione e i valori di route.
- Oggetto risultato del reindirizzamento.
- Nome dell'azione.
- Parametri per una route.
-
-
- Effettua il reindirizzamento all'azione specificata tramite il nome dell'azione e il nome del controller.
- Oggetto risultato del reindirizzamento.
- Nome dell'azione.
- Nome del controller.
-
-
- Effettua il reindirizzamento all'azione specificata tramite il nome dell'azione, il nome del controller e il dizionario della route.
- Oggetto risultato del reindirizzamento.
- Nome dell'azione.
- Nome del controller.
- Parametri per una route.
-
-
- Effettua il reindirizzamento all'azione specificata tramite il nome dell'azione, il nome del controller e i valori di route.
- Oggetto risultato del reindirizzamento.
- Nome dell'azione.
- Nome del controller.
- Parametri per una route.
-
-
- Effettua il reindirizzamento all'azione specificata tramite il nome dell'azione e il dizionario della route.
- Oggetto risultato del reindirizzamento.
- Nome dell'azione.
- Parametri per una route.
-
-
- Restituisce un'istanza della classe con la proprietà Permanent impostata su true mediante l'utilizzo del nome dell'azione specificato.
- Istanza della classe con la proprietà Permanent impostata su true mediante l'utilizzo del nome dell'azione, del nome del controller e dei valori di route specificati.
- Nome dell'azione.
-
-
- Restituisce un'istanza della classe con la proprietà Permanent impostata su true usando il nome dell'azione e i valori di route specificati.
- Istanza della classe con la proprietà Permanent impostata su true mediante l'utilizzo del nome dell'azione e dei valori di route specificati.
- Nome dell'azione.
- Valori della route.
-
-
- Restituisce un'istanza della classe con la proprietà impostata su true usando il nome dell'azione e il nome del controller specificati.
- Istanza della classe con la proprietà Permanent impostata su true usando il nome dell'azione e il nome del controller specificati.
- Nome dell'azione.
- Nome del controller.
-
-
- Restituisce un'istanza della classe con la proprietà Permanent impostata su true usando il nome dell'azione, il nome del controller e i valori di route specificati.
- Istanza della classe con la proprietà Permanent impostata su true mediante l'utilizzo del nome dell'azione, del nome del controller e dei valori di route specificati.
- Nome dell'azione.
- Nome del controller.
- Valori della route.
-
-
- Restituisce un'istanza della classe con la proprietà Permanent impostata su true usando il nome dell'azione, il nome del controller e i valori di route specificati.
- Istanza della classe con la proprietà Permanent impostata su true mediante l'utilizzo del nome dell'azione, del nome del controller e dei valori di route specificati.
- Nome dell'azione.
- Nome del controller.
- Valori della route.
-
-
- Restituisce un'istanza della classe con la proprietà Permanent impostata su true usando il nome dell'azione e i valori di route specificati.
- Istanza della classe con la proprietà Permanent impostata su true mediante l'utilizzo del nome dell'azione e dei valori di route specificati.
- Nome dell'azione.
- Valori della route.
-
-
- Effettua il reindirizzamento a una route specificata tramite i valori di route specificati.
- Oggetto risultato del reindirizzamento alla route.
- Parametri per una route.
-
-
- Effettua il reindirizzamento a una route specificata tramite il nome della route.
- Oggetto risultato del reindirizzamento alla route.
- Nome della route.
-
-
- Effettua il reindirizzamento alla route specificata tramite il nome della route e i valori di route.
- Oggetto risultato del reindirizzamento alla route.
- Nome della route.
- Parametri per una route.
-
-
- Effettua il reindirizzamento alla route specificata tramite il nome della route e il dizionario della route.
- Oggetto risultato del reindirizzamento alla route.
- Nome della route.
- Parametri per una route.
-
-
- Effettua il reindirizzamento alla route specificata tramite il dizionario della route.
- Oggetto risultato del reindirizzamento alla route.
- Parametri per una route.
-
-
- Restituisce un'istanza della classe RedirectResult con la proprietà Permanent impostata su true usando i valori di route specificati.
- Restituisce un'istanza della classe RedirectResult con la proprietà Permanent impostata su true.
- Nome della route.
-
-
- Restituisce un'istanza della classe RedirectResult con la proprietà Permanent impostata su true usando il nome di route specificato.
- Restituisce un'istanza della classe RedirectResult con la proprietà Permanent impostata su true usando il nome di route specificato.
- Nome della route.
-
-
- Restituisce un'istanza della classe RedirectResult con la proprietà Permanent impostata su true usando il nome e i valori di route specificati.
- Istanza della classe RedirectResult con la proprietà Permanent impostata su true usando il nome e i valori di route specificati.
- Nome della route.
- Valori della route.
-
-
- Restituisce un'istanza della classe RedirectResult con la proprietà Permanent impostata su true usando il nome e i valori di route specificati.
- Istanza della classe RedirectResult con la proprietà impostata su true.
- Nome della route.
- Valori della route.
-
-
- Restituisce un'istanza della classe RedirectResult con la proprietà Permanent impostata su true usando i valori di route specificati.
- Istanza della classe RedirectResult con la proprietà Permanent impostata su true usando i valori di route specificati.
- Valori della route.
-
-
- Ottiene l'oggetto HttpRequestBase per la richiesta HTTP corrente.
- Oggetto richiesta.
-
-
- Rappresenta un resolver di dipendenza sostituibile che fornisce servizi.Per impostazione predefinita, usa .
-
-
- Ottiene l'oggetto HttpResponseBase per la risposta HTTP corrente.
- Oggetto HttpResponseBase per la risposta HTTP corrente.
-
-
- Ottiene i dati di route per la richiesta corrente.
- Dati della route.
-
-
- Ottiene l'oggetto HttpServerUtilityBase che fornisce i metodi usati durante l'elaborazione delle richieste Web.
- Oggetto server HTTP.
-
-
- Ottiene l'oggetto HttpSessionStateBase per la richiesta HTTP corrente.
- Oggetto stato della sessione HTTP relativo alla richiesta HTTP corrente.
-
-
- Questo metodo chiama il metodo BeginExecute.
- Risultato dell'operazione.
- Contesto della richiesta.
- Callback asincrono.
- Stato dell'oggetto.
-
-
- Questo metodo chiama il metodo EndExecute.
- Risultato asincrono dell'operazione.
-
-
- Questo metodo chiama il metodo OnAuthentication.
- Contesto del filtro.
-
-
- Questo metodo chiama il metodo OnAuthenticationChallenge.
- Contesto del filtro.
-
-
- Questo metodo chiama il metodo OnActionExecuted.
- Contesto del filtro.
-
-
- Questo metodo chiama il metodo OnActionExecuting.
- Contesto del filtro.
-
-
- Questo metodo chiama il metodo OnAuthorization.
- Contesto del filtro.
-
-
- Questo metodo chiama il metodo OnException.
- Contesto del filtro.
-
-
- Questo metodo chiama il metodo OnResultExecuted.
- Contesto del filtro.
-
-
- Questo metodo chiama il metodo OnResultExecuting.
- Contesto del filtro.
-
-
- Ottiene l'oggetto provider di dati temporanei usato per archiviare dati per la richiesta successiva.
- Provider di dati temporanei.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Tipo dell'oggetto modello.
- Il parametro o la proprietà ValueProvider è null.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller e un prefisso.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Tipo dell'oggetto modello.
- Il parametro o la proprietà ValueProvider è null.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller, un prefisso e le proprietà incluse.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Tipo dell'oggetto modello.
- Il parametro o la proprietà ValueProvider è null.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller, un prefisso, un elenco di proprietà da escludere e un elenco di proprietà da includere.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Elenco di proprietà da escludere dall'aggiornamento in modo esplicito.Vengono escluse anche se sono presenti nell'elenco di parametri includeProperties.
- Tipo dell'oggetto modello.
- Il parametro o la proprietà ValueProvider è null.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori, un prefisso, un elenco di proprietà da escludere e un elenco di proprietà da includere.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Elenco di proprietà da escludere dall'aggiornamento in modo esplicito.Vengono escluse anche se sono presenti nell'elenco di parametri includeProperties.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori, un prefisso e le proprietà incluse.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori e un elenco di proprietà da includere.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Elenco di proprietà del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller e le proprietà incluse.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Elenco di proprietà del modello da aggiornare.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori e un elenco di proprietà da includere.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Elenco di proprietà del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Convalida l'istanza del modello specificata.
- true se viene eseguita la convalida del modello. In caso contrario, false.
- Modello da convalidare.
-
-
- Convalida l'istanza del modello specificato usando un prefisso HTML.
- true se viene eseguita la convalida del modello. In caso contrario, false.
- Modello da convalidare.
- Prefisso da usare quando si cercano valori nel provider di modelli.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller.
- Istanza del modello da aggiornare.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller e un prefisso.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller, un prefisso e le proprietà incluse.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller, un prefisso, un elenco di proprietà da escludere e un elenco di proprietà da includere.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Elenco di proprietà da escludere dall'aggiornamento in modo esplicito.Vengono escluse anche se sono presenti nell'elenco includeProperties.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori, un prefisso, un elenco di proprietà da escludere e un elenco di proprietà da includere.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Elenco di proprietà da escludere dall'aggiornamento in modo esplicito.Vengono escluse anche se sono presenti nell'elenco di parametri includeProperties.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori, un prefisso e un elenco di proprietà da includere.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori, un prefisso e un elenco di proprietà da includere.
- Istanza del modello da aggiornare.
- Elenco di proprietà del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente dell'oggetto controller.
- Istanza del modello da aggiornare.
- Elenco di proprietà del modello da aggiornare.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori, un prefisso e un elenco di proprietà da includere.
- Istanza del modello da aggiornare.
- Elenco di proprietà del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori.
- Istanza del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Ottiene l'oggetto helper dell'URL usato per generare URL tramite il routing.
- Oggetto helper URL.
-
-
- Ottiene informazioni sulla sicurezza dell'utente per la richiesta HTTP corrente.
- Informazioni sulla sicurezza dell'utente per la richiesta HTTP corrente.
-
-
- Convalida l'istanza del modello specificata.
- Modello da convalidare.
-
-
- Convalida l'istanza del modello specificato usando un prefisso HTML.
- Modello da convalidare.
- Prefisso da usare quando si cercano valori nel provider di modelli.
-
-
- Crea un oggetto che esegue il rendering di una visualizzazione nella risposta.
- Risultato di che esegue il rendering di una visualizzazione nella risposta.
-
-
- Crea un oggetto tramite il modello che esegue il rendering di una visualizzazione nella risposta.
- Risultato della visualizzazione.
- Modello di cui è stato eseguito il rendering tramite la visualizzazione.
-
-
- Crea un oggetto tramite il nome della visualizzazione che esegue il rendering di una visualizzazione.
- Risultato della visualizzazione.
- Nome della visualizzazione di cui è stato eseguito il rendering nella risposta.
-
-
- Crea un oggetto che esegue il rendering dell'oggetto IView specificato.
- Risultato della visualizzazione.
- Visualizzazione di cui è stato eseguito il rendering nella risposta.
- Modello di cui è stato eseguito il rendering tramite la visualizzazione.
-
-
- Crea un oggetto tramite il nome della visualizzazione e il nome della pagina master che esegue il rendering di una visualizzazione nella risposta.
- Risultato della visualizzazione.
- Nome della visualizzazione di cui è stato eseguito il rendering nella risposta.
- Nome della pagina o del modello master da usare quando viene eseguito il rendering della visualizzazione.
-
-
- Crea un oggetto tramite il nome della visualizzazione, il nome della pagina master e il modello che esegue il rendering di una visualizzazione.
- Risultato della visualizzazione.
- Nome della visualizzazione di cui è stato eseguito il rendering nella risposta.
- Nome della pagina o del modello master da usare quando viene eseguito il rendering della visualizzazione.
- Modello di cui è stato eseguito il rendering tramite la visualizzazione.
-
-
- Crea un oggetto che esegue il rendering dell'oggetto IView specificato.
- Risultato della visualizzazione.
- Visualizzazione di cui è stato eseguito il rendering nella risposta.
-
-
- Crea un oggetto che esegue il rendering dell'oggetto specificato.
- Risultato della visualizzazione.
- Visualizzazione di cui è stato eseguito il rendering nella risposta.
- Modello di cui è stato eseguito il rendering tramite la visualizzazione.
-
-
- Ottiene l'insieme di motori di visualizzazione.
- Insieme di motori di visualizzazione.
-
-
- Rappresenta una classe responsabile del richiamo dei metodi di azione di un controller.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta i gestori di associazione del modello associati all'azione.
- Gestori di associazione del modello associati all'azione.
-
-
- Crea il risultato dell'azione.
- Oggetto risultato dell'azione.
- Contesto del controller.
- Descrittore dell'azione.
- Valore restituito dell'azione.
-
-
- Trova le informazioni sul metodo di azione.
- Informazioni sul metodo di azione.
- Contesto del controller.
- Descrittore del controller.
- Nome dell'azione.
-
-
- Recupera le informazioni sul controller utilizzando il contesto del controller specificato.
- Informazioni sul controller.
- Contesto del controller.
-
-
- Recupera le informazioni sui filtri dell'azione.
- Informazioni sui filtri dell'azione.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Ottiene il valore del parametro del metodo di azione specificato.
- Valore del parametro del metodo di azione.
- Contesto del controller.
- Descrittore del parametro.
-
-
- Ottiene i valori dei parametri del metodo di azione.
- Valori dei parametri del metodo di azione.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Richiama l'azione specificata utilizzando il contesto del controller specificato.
- Risultato dell'esecuzione dell'azione.
- Contesto del controller.
- Nome dell'azione da richiamare.
- Il parametro è null.
- Il parametro è null o vuoto.
- Il thread è stato interrotto durante la chiamata dell'azione.
- Si è verificato un errore non specificato durante la chiamata dell'azione.
-
-
- Richiama il metodo di azione specificato utilizzando il contesto del controller e i parametri specificati.
- Risultato dell'esecuzione del metodo di azione.
- Contesto del controller.
- Descrittore dell'azione.
- Parametri.
-
-
- Richiama il metodo di azione specificato utilizzando il contesto del controller, i parametri e i filtri dell'azione specificati.
- Contesto per il metodo ActionExecuted della classe .
- Contesto del controller.
- Filtri dell'azione.
- Descrittore dell'azione.
- Parametri.
-
-
- Richiama il risultato dell'azione specificato utilizzando il contesto del controller specificato.
- Contesto del controller.
- Risultato dell'azione.
-
-
- Richiama il risultato dell'azione specificato utilizzando il contesto del controller e i filtri dell'azione specificati.
- Contesto per il metodo ResultExecuted della classe .
- Contesto del controller.
- Filtri dell'azione.
- Risultato dell'azione.
-
-
-
-
- Richiama i filtri di autorizzazione specificati utilizzando il descrittore dell'azione e il contesto del controller specificati.
- Contesto dell'oggetto .
- Contesto del controller.
- Filtri di autorizzazione.
- Descrittore dell'azione.
-
-
- Richiama i filtri eccezioni specificati utilizzando il contesto del controller e l'eccezione specificati.
- Contesto dell'oggetto .
- Contesto del controller.
- Filtri eccezioni.
- Eccezione.
-
-
- Rappresenta la classe base per tutti i controller MVC.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il contesto del controller.
- Contesto del controller.
-
-
- Esegue il contesto della richiesta specificato.
- Contesto della richiesta.
- Il parametro è null.
-
-
- Esegue la richiesta.
-
-
- Inizializza il contesto della richiesta specificato.
- Contesto della richiesta.
-
-
- Esegue il contesto della richiesta specificato.
- Contesto della richiesta.
-
-
- Ottiene o imposta il dizionario per i dati temporanei.
- Dizionario per i dati temporanei.
-
-
- Ottiene o imposta un valore che indica se la convalida della richiesta è abilitata per questa richiesta.
- true se la convalida della richiesta è abilitata. In caso contrario, false.Il valore predefinito è true.
-
-
- Ottiene o imposta il provider di valori per il controller.
- Provider di valori per il controller.
-
-
- Ottiene il dizionario dei dati della visualizzazione dinamica.
- Dizionario dei dati della visualizzazione dinamica.
-
-
- Ottiene o imposta il dizionario per i dati della visualizzazione.
- Dizionario per i dati della visualizzazione.
-
-
- Rappresenta una classe responsabile della compilazione dinamica di un controller.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene l'oggetto compilatore del controller corrente.
- Oggetto compilatore del controller corrente.
-
-
- Ottiene gli spazi dei nomi predefiniti.
- Spazi dei nomi predefiniti.
-
-
- Ottiene la factory del controller associata.
- Controller factory.
-
-
- Imposta la factory del controller utilizzando il tipo specificato.
- Tipo della factory del controller.
- Il parametro è null.
- La factory del controller non può essere assegnata dal tipo nel parametro .
- Si è verificato un errore durante l'impostazione della factory del controller.
-
-
- Imposta la factory del controller specificata.
- Controller factory.
- Il parametro è null.
-
-
- Incapsula le informazioni su una richiesta HTTP che corrisponde alle istanze di e specificate.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto HTTP, i dati della route dell'URL e il controller specificati.
- Contesto HTTP.
- Dati della route.
- Controller.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller specificato.
- Contesto del controller.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto della richiesta e il controller specificati.
- Contesto della richiesta.
- Controller.
- Uno o entrambi i parametri sono null.
-
-
- Ottiene o imposta il controller.
- Controller.
-
-
- Ottiene la modalità di visualizzazione.
- Modalità di visualizzazione.
-
-
- Ottiene o imposta il contesto HTTP.
- Contesto HTTP.
-
-
- Ottiene un valore che indica se il metodo di azione associato è un'azione figlio.
- true se il metodo di azione associato è un'azione figlio. In caso contrario false.
-
-
- Ottiene un oggetto contenente le informazioni sul contesto di visualizzazione per il metodo di azione padre.
- Un oggetto contenente le informazioni sul contesto di visualizzazione per il metodo di azione padre.
-
-
- Ottiene o imposta il contesto della richiesta.
- Contesto della richiesta.
-
-
- Ottiene o imposta i dati della route dell'URL.
- Dati della route dell'URL.
-
-
- Incapsula le informazioni che descrivono un controller, ad esempio nome, tipo e azioni.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il nome del controller.
- Nome del controller.
-
-
- Ottiene il tipo del controller.
- Tipo del controller.
-
-
- Trova un metodo di azione utilizzando il nome e il contesto del controller specificati.
- Informazioni sul metodo di azione.
- Contesto del controller.
- Nome dell'azione.
-
-
- Recupera un elenco di descrittori dei metodi di azione nel controller.
- Elenco di descrittori dei metodi di azione nel controller.
-
-
- Recupera gli attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Recupera gli attributi personalizzati di un tipo specificato definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
- Il parametro è null (Nothing in Visual Basic).
-
-
- Ottiene gli attributi del filtro.
- Attributi del filtro.
- true se la cache deve essere utilizzata. In caso contrario, false.
-
-
- Recupera un valore che indica se per questo membro sono definite una o più istanze dell'attributo personalizzato specificato.
- true se per questo membro è definito . In caso contrario, false.
- Tipo dell'attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il parametro è null (Nothing in Visual Basic).
-
-
- Se implementato in una classe derivata, ottiene l'ID univoco del descrittore del controller mediante l'inizializzazione differita.
- ID univoco.
-
-
- Aggiunge il controller all'istanza di .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce l'insieme dei filtri dell'istanza del controller.
- Insieme dei filtri dell'istanza del controller.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Rappresenta un attributo che richiama uno strumento di associazione di modelli personalizzato.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Recupera lo strumento di associazione di modelli associato.
- Riferimento a un oggetto che implementa l'interfaccia .
-
-
- Fornisce un contenitore per metadati comuni, per la classe e per la classe di un modello dati.
-
-
- Inizializza una nuova istanza della classe .
- Provider di metadati del modello di annotazioni dei dati.
- Tipo del contenitore.
- Funzione di accesso del modello.
- Tipo del modello.
- Nome della proprietà.
- Attributo della colonna di visualizzazione.
-
-
- Restituisce testo semplice per i dati del modello.
- Testo semplice per i dati del modello.
-
-
- Implementa il provider di metadati del modello predefinito per ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i metadati per la proprietà specificata.
- Metadati della proprietà.
- Attributi.
- Tipo del contenitore.
- Funzione di accesso del modello.
- Tipo del modello.
- Nome della proprietà.
-
-
- Rappresenta il metodo che crea un'istanza di .
-
-
- Fornisce un validator del modello.
-
-
- Inizializza una nuova istanza della classe .
- Metadati per il modello.
- Contesto del controller per il modello.
- Attributo di convalida per il modello.
-
-
- Ottiene l'attributo di convalida per il validator del modello.
- Attributo di convalida per il validator del modello.
-
-
- Ottiene il messaggio di errore per l'errore di convalida.
- Messaggio di errore per l'errore di convalida.
-
-
- Recupera un insieme di regole di convalida del client.
- Insieme di regole di convalida del client.
-
-
- Ottiene un valore che indica se la convalida del modello è obbligatoria.
- true se la convalida del modello è obbligatoria. In caso contrario, false.
-
-
- Restituisce un elenco di messaggi di errore della convalida per il modello.
- Un elenco di messaggi di errore di convalida per il modello o un elenco vuoto se non si sono verificati errori.
- Contenitore per il modello.
-
-
- Fornisce un validator del modello per un tipo di convalida specificato.
-
-
-
- Inizializza una nuova istanza della classe .
- Metadati per il modello.
- Contesto del controller per il modello.
- Attributo di convalida per il modello.
-
-
- Ottiene l'attributo di convalida dal validator del modello.
- Attributo di convalida ottenuto dal validator del modello.
-
-
- Implementa il provider di convalida predefinito per ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta un valore che indica se sono richiesti tipi di valore non nullable.
- true se sono richiesti tipi di valore non nullable. In caso contrario, false.
-
-
- Ottiene un elenco di validator.
- Elenco di validator.
- Metadati.
- Contesto.
- Elenco di attributi di convalida.
-
-
- Registra un adattatore per fornire la convalida lato client.
- Tipo dell'attributo di convalida.
- Tipo dell'adattatore.
-
-
- Registra una factory dell'adattatore per il provider di convalida.
- Tipo dell'attributo.
- Factory che sarà utilizzata per creare l'oggetto per l'attributo specificato.
-
-
- Registra l'adattatore predefinito.
- Tipo dell'adattatore.
-
-
- Registra la factory dell'adattatore predefinito.
- Factory che sarà utilizzata per creare l'oggetto per l'adattatore predefinito.
-
-
- Registra un adattatore per fornire la convalida dell'oggetto predefinito.
- Tipo dell'adattatore.
-
-
- Registra una factory dell'adattatore per il provider di convalida dell'oggetto predefinito.
- Factory.
-
-
- Registra un adattatore per fornire la convalida dell'oggetto.
- Tipo del modello.
- Tipo dell'adattatore.
-
-
- Registra una factory dell'adattatore per il provider di convalida dell'oggetto.
- Tipo del modello.
- Factory.
-
-
- Fornisce una factory per i validator basati sull'oggetto .
-
-
- Fornisce un contenitore per il validator del modello informativo di errore.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene un elenco di validator del modello informativo di errore.
- Elenco di validator del modello informativo di errore.
- Metadati del modello.
- Contesto del controller.
-
-
- Rappresenta la factory del controller registrata per impostazione predefinita.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando un attivatore del controller.
- Oggetto che implementa l'interfaccia dell'attivatore del controller.
-
-
- Crea il controller specificato utilizzando il contesto della richiesta specificato.
- Controller.
- Contesto della richiesta HTTP che include il contesto HTTP e i dati della route.
- Nome del controller.
- Il parametro è null.
- Il parametro è null o vuoto.
-
-
- Recupera l'istanza del controller per il contesto della richiesta e il tipo di controller specificati.
- Istanza del controller.
- Contesto della richiesta HTTP che include il contesto HTTP e i dati della route.
- Tipo del controller.
-
- è null.
-
- non può essere assegnato.
- Non è possibile creare un'istanza di .
-
-
- Restituisce il comportamento di sessione del controller.
- Comportamento di sessione del controller.
- Contesto della richiesta.
- Tipo del controller.
-
-
- Recupera il tipo di controller per il nome e il contesto della richiesta specificati.
- Tipo di controller.
- Contesto della richiesta HTTP che include il contesto HTTP e i dati della route.
- Nome del controller.
-
-
- Rilascia il controller specificato.
- Controller da rilasciare.
-
-
- Questa API supporta l'infrastruttura ASP.NET MVC e non può essere utilizzata direttamente dal codice.Questo metodo chiama il metodo .
- Comportamento di sessione del controller.
- Contesto della richiesta.
- Nome del controller.
-
-
- Esegue il mapping di una richiesta del browser a un oggetto dati.Questa classe fornisce un'implementazione concreta di un gestore di associazione del modello.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta i gestori di associazione del modello per l'applicazione.
- Gestori di associazione del modello per l'applicazione.
-
-
- Associa il modello utilizzando il contesto del controller e il contesto di associazione specificati.
- Oggetto associato.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Il parametro è null.
-
-
- Associa la proprietà specificata utilizzando il contesto del controller, il contesto di associazione e il descrittore della proprietà specificati.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Descrive una proprietà da associare.Il descrittore fornisce informazioni quali il tipo di componente, il tipo di proprietà e il valore della proprietà.Fornisce inoltre metodi per ottenere o impostare il valore della proprietà.
-
-
- Crea il tipo di modello specificato utilizzando il contesto del controller e il contesto di associazione specificati.
- Oggetto dati del tipo specificato.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Tipo di oggetto modello da restituire.
-
-
- Crea un indice (indice secondario) basato su una categoria di componenti che costituiscono un indice più grande, in cui il valore di indice specificato è un intero.
- Nome dell'indice secondario.
- Prefisso per l'indice secondario.
- Valore dell'indice.
-
-
- Crea un indice (indice secondario) basato su una categoria di componenti che costituiscono un indice più grande, in cui il valore di indice specificato è una stringa.
- Nome dell'indice secondario.
- Prefisso per l'indice secondario.
- Valore dell'indice.
-
-
- Crea il nome della sottoproprietà utilizzando il prefisso e il nome della proprietà specificati.
- Nome della proprietà secondaria.
- Prefisso per la proprietà secondaria.
- Nome della proprietà.
-
-
- Restituisce un set di proprietà corrispondenti alle limitazioni del filtro delle proprietà stabilite dal parametro specificato.
- Set enumerabile di descrittori della proprietà.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
-
-
- Restituisce le proprietà del modello utilizzando il contesto del controller e il contesto di associazione specificati.
- Insieme di descrittori della proprietà.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
-
-
- Restituisce il valore di una proprietà utilizzando il contesto del controller, il contesto di associazione, il descrittore della proprietà e il gestore di associazione della proprietà specificati.
- Oggetto che rappresenta il valore della proprietà.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Descrittore per la proprietà a cui accedere.Il descrittore fornisce informazioni quali il tipo di componente, il tipo di proprietà e il valore della proprietà.Fornisce inoltre metodi per ottenere o impostare il valore della proprietà.
- Oggetto che fornisce un modo per associare la proprietà.
-
-
- Restituisce l'oggetto descrittore per un tipo specificato dal contesto del controller e dal contesto di associazione corrispondenti.
- Oggetto descrittore del tipo personalizzato.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
-
-
- Determina se un modello di dati è valido per il contesto di associazione specificato.
- true se il modello è valido. In caso contrario, false.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Il parametro è null.
-
-
- Chiamato quando il modello viene aggiornato.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
-
-
- Chiamato quando è in corso l'aggiornamento del modello.
- true se il modello è in fase di aggiornamento. In caso contrario, false.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
-
-
- Chiamato quando la proprietà specificata viene convalidata.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Descrive una proprietà da convalidare.Il descrittore fornisce informazioni quali il tipo di componente, il tipo di proprietà e il valore della proprietà.Fornisce inoltre metodi per ottenere o impostare il valore della proprietà.
- Valore da impostare per la proprietà.
-
-
- Chiamato quando in corso la convalida della proprietà specificata.
- true se la proprietà è in fase di convalida. In caso contrario, false.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Descrive una proprietà di cui è in corso la convalida.Il descrittore fornisce informazioni quali il tipo di componente, il tipo di proprietà e il valore della proprietà.Fornisce inoltre metodi per ottenere o impostare il valore della proprietà.
- Valore da impostare per la proprietà.
-
-
- Ottiene o imposta il nome del file di risorse (chiave della classe) che contiene valori stringa localizzati.
- Nome del file di risorse (chiave della classe).
-
-
- Imposta la proprietà specificata utilizzando il contesto del controller, il contesto di associazione e il valore della proprietà specificati.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Descrive una proprietà da impostare.Il descrittore fornisce informazioni quali il tipo di componente, il tipo di proprietà e il valore della proprietà.Fornisce inoltre metodi per ottenere o impostare il valore della proprietà.
- Valore da impostare per la proprietà.
-
-
- Rappresenta una cache in memoria per i percorsi di visualizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'intervallo di tempo della cache specificato.
- Intervallo di tempo della cache.
- L'attributo Ticks del parametro è impostato su un numero negativo.
-
-
- Recupera il percorso di visualizzazione predefinito utilizzando il contesto HTTP e la chiave di cache specificati.
- Percorso di visualizzazione predefinito.
- Contesto HTTP.
- Chiave di cache.
- Il parametro è null.
-
-
- Inserisce la visualizzazione nel percorso virtuale specificato utilizzando il contesto HTTP, la chiave di cache e il percorso virtuale specificati.
- Contesto HTTP.
- Chiave di cache.
- Percorso virtuale.
- Il parametro è null.
-
-
- Crea una cache del percorso di visualizzazione vuota.
-
-
- Ottiene o imposta l'intervallo di tempo della cache.
- Intervallo di tempo della cache.
-
-
- Fornisce un punto di registrazione per i resolver di dipendenza che implementano o l'interfaccia IServiceLocator del localizzatore di servizi comune.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene l'implementazione del resolver di dipendenza.
- Implementazione del resolver di dipendenza.
-
-
- Questa API supporta l'infrastruttura ASP.NET MVC e non può essere utilizzata direttamente dal codice.
- Implementazione del resolver di dipendenza.
-
-
- Questa API supporta l'infrastruttura ASP.NET MVC e non può essere utilizzata direttamente dal codice.
- Funzione che fornisce il servizio.
- Funzione che fornisce i servizi.
-
-
- Questa API supporta l'infrastruttura ASP.NET MVC e non può essere utilizzata direttamente dal codice.
- Localizzatore di servizi comune.
-
-
- Questa API supporta l'infrastruttura ASP.NET MVC e non può essere utilizzata direttamente dal codice.
- Oggetto che implementa il resolver di dipendenza.
-
-
- Fornisce un punto di registrazione per i resolver di dipendenza utilizzando il delegato del servizio e i delegati di raccolta del servizio specificati.
- Delegato del servizio.
- Delegati dei servizi.
-
-
- Fornisce un punto di registrazione per i resolver di dipendenza utilizzando il localizzatore di servizi comune fornito quando si utilizza un'interfaccia del localizzatore di servizi.
- Localizzatore di servizi comune.
-
-
- Fornisce un punto di registrazione per i resolver di dipendenza utilizzando l'interfaccia del resolver di dipendenza specificata.
- Resolver di dipendenza.
-
-
- Fornisce un'implementazione indipendente dai tipi di e .
-
-
- Risolve i singoli servizi registrati che supportano la creazione di oggetti arbitrari.
- Servizio o oggetto richiesto.
- Istanza del resolver di dipendenza estesa da questo metodo.
- Tipo di servizio o oggetto richiesto.
-
-
- Risolve più servizi registrati.
- Servizi richiesti.
- Istanza del resolver di dipendenza estesa da questo metodo.
- Tipo di servizi richiesti.
-
-
- Rappresenta la classe di base per i provider di valori i cui valori provengono da un insieme che implementa l'interfaccia .
- Tipo del valore.
-
-
- Inizializza una nuova istanza della classe .
- Coppie nome/valore utilizzate per inizializzare il provider di valori.
- Informazioni su impostazioni cultura specifiche, quali i nomi delle impostazioni cultura, il sistema di scrittura e il calendario utilizzati.
- Il parametro è null.
-
-
- Determina se la raccolta contiene il prefisso specificato.
- true se la raccolta contiene il prefisso specificato. In caso contrario, false.
- Prefisso da ricercare.
- Il parametro è null.
-
-
- Ottiene le chiavi dal prefisso.
- Chiavi ottenute dal prefisso.
- Prefisso.
-
-
- Restituisce un oggetto valore utilizzando la chiave e il contesto del controller specificati.
- Oggetto valore per la chiave specificata.
- Chiave dell'oggetto valore da recuperare.
- Il parametro è null.
-
-
- Fornisce un provider di metadati vuoto per i modelli di dati che non richiedono metadati.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Crea una nuova istanza della classe .
- Nuova istanza della classe .
- Attributi.
- Tipo del contenitore.
- Funzione di accesso del modello.
- Tipo del modello.
- Nome del modello.
-
-
- Fornisce un provider di convalida vuoto per i modelli che non richiedono alcun validator.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il validator del modello vuoto.
- Validator del modello vuoto.
- Metadati.
- Contesto.
-
-
- Rappresenta un risultato che non ha alcun effetto, ad esempio un metodo di azione del controller che non restituisce niente.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Esegue il contesto del risultato specificato.
- Contesto del risultato.
-
-
- Fornisce il contesto per l'utilizzo della classe .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe per l'eccezione specificata utilizzando il contesto del controller specificato.
- Contesto del controller.
- Eccezione.
- Il parametro è null.
-
-
- Ottiene o imposta l'oggetto eccezione.
- Oggetto eccezione.
-
-
- Ottiene o imposta un valore che indica se l'eccezione è stata gestita.
- true se l'eccezione è stata gestita. In caso contrario, false.
-
-
- Ottiene o imposta il risultato dell'azione.
- Risultato dell'azione.
-
-
- Fornisce una classe helper per ottenere il nome del modello da un'espressione.
-
-
- Ottiene il nome del modello da un'espressione lambda.
- Nome del modello.
- Espressione.
-
-
- Ottiene il nome del modello da un'espressione stringa.
- Nome del modello.
- Espressione.
-
-
- Fornisce un contenitore per i metadati di convalida del campo lato client.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il nome del campo dati.
- Nome del campo dati.
-
-
- Ottiene o imposta un valore che indica se il contenuto del messaggio di convalida deve essere sostituito con l'errore di convalida del client.
- true se il contenuto del messaggio di convalida deve essere sostituito con l'errore di convalida del client. In caso contrario, false.
-
-
- Ottiene o imposta l'ID del messaggio del validator.
- ID del messaggio del validator.
-
-
- Ottiene le regole della convalida del client.
- Regole della convalida del client.
-
-
- Invia il contenuto di un file binario alla risposta.
-
-
- Inizializza una nuova istanza della classe utilizzando il contenuto del file e il tipo di contenuto specificati.
- Matrice di byte da inviare alla risposta.
- Tipo di contenuto da utilizzare per la risposta.
- Il parametro è null.
-
-
- Contenuto binario da inviare alla risposta.
- Contenuto del file.
-
-
- Scrive il contenuto del file nella risposta.
- Risposta.
-
-
- Invia il contenuto di un file alla risposta.
-
-
- Inizializza una nuova istanza della classe utilizzando il nome di file e il tipo di contenuto specificati.
- Nome del file da inviare alla risposta corrente.
- Tipo di contenuto della risposta.
- Il parametro è null o vuoto.
-
-
- Ottiene o imposta il percorso del file inviato alla risposta.
- Percorso del file inviato alla risposta.
-
-
- Scrive il file nella risposta.
- Risposta.
-
-
- Rappresenta una classe di base utilizzata per inviare contenuto del file binario alla risposta.
-
-
- Inizializza una nuova istanza della classe .
- Tipo del contenuto.
- Il parametro è null o vuoto.
-
-
- Ottiene il tipo di contenuto da utilizzare per la risposta.
- Tipo del contenuto.
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui il risultato viene eseguito.
- Il parametro è null.
-
-
- Ottiene o imposta l'intestazione Content-Disposition in modo che nel browser venga visualizzata una finestra di dialogo relativa al download del file con il nome di file specificato.
- Nome del file.
-
-
- Scrive il file nella risposta.
- Risposta.
-
-
- Invia contenuto binario alla risposta utilizzando un'istanza di .
-
-
- Inizializza una nuova istanza della classe .
- Flusso da inviare alla risposta.
- Tipo di contenuto da utilizzare per la risposta.
- Il parametro è null.
-
-
- Ottiene il flusso che verrà inviato alla risposta.
- Flusso di file.
-
-
- Scrive il file nella risposta.
- Risposta.
-
-
- Rappresenta una classe di metadati che contiene un riferimento all'implementazione di una o più delle interfacce del filtro, all'ordine e all'ambito del filtro.
-
-
- Inizializza una nuova istanza della classe .
- Istanza.
- Ambito.
- Ordine.
-
-
- Rappresenta una costante utilizzata per specificare l'ordinamento predefinito dei filtri.
-
-
- Ottiene l'istanza di questa classe.
- Istanza di questa classe.
-
-
- Ottiene l'ordine in cui viene applicato il filtro.
- Ordine in cui viene applicato il filtro.
-
-
- Ottiene l'ordinamento dell'ambito del filtro.
- Ordinamento dell'ambito del filtro.
-
-
- Rappresenta la classe di base per gli attributi dei filtri azione e dei risultati.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta un valore che indica se è possibile specificare più istanze dell'attributo di filtro.
- true se è possibile specificare più istanze dell'attributo di filtro. In caso contrario, false.
-
-
- Ottiene o imposta l'ordine con cui vengono eseguiti i filtri dell'azione.
- Ordine con cui vengono eseguiti i filtri dell'azione.
-
-
- Definisce un provider di filtri per gli attributi di filtro.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe e, facoltativamente, memorizza nella cache le istanze di attributo.
- true per memorizzare nella cache le istanze di attributo. In caso contrario, false.
-
-
- Ottiene un insieme di attributi dell'azione personalizzata.
- Insieme di attributi dell'azione personalizzata.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Ottiene un insieme di attributi del controller.
- Insieme di attributi del controller.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Aggrega i filtri di tutti i provider di filtri in un unico insieme.
- Filtri dell'insieme di tutti i provider di filtri.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Incapsula le informazioni sui filtri dell'azione disponibili.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'insieme di filtri specificato.
- Insieme di filtri.
-
-
- Ottiene tutti i filtri dell'azione nell'applicazione.
- Filtri dell'azione.
-
-
- Ottiene tutti i filtri di autenticazione nell'applicazione.
- Elenco dei filtri di autenticazione.
-
-
- Ottiene tutti i filtri di autorizzazione nell'applicazione.
- Filtri di autorizzazione.
-
-
- Ottiene tutti i filtri eccezioni nell'applicazione.
- Filtri eccezioni.
-
-
- Ottiene tutti i filtri dei risultati nell'applicazione.
- Filtri dei risultati.
-
-
- Rappresenta l'insieme di provider di filtri per l'applicazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'elenco del provider dei filtri specificato.
- Elenco di provider dei filtri.
-
-
- Rimuove tutti gli elementi dalla raccolta.
-
-
- Restituisce l'insieme di provider di filtri.
- Insieme di provider di filtri.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Consente di inserire un elemento nell'insieme in corrispondenza dell'indice specificato.
- Indice in base zero in corrispondenza del quale deve essere inserito l'elemento.
- Oggetto da inserire.Il valore può essere null per i tipi di riferimento.
-
-
- Rimuove l'elemento all'indice della raccolta specificato.
- Indice in base zero dell'elemento da rimuovere.
-
-
- Sostituisce l'elemento in corrispondenza dell'indice specificato.
- Indice in base zero dell'elemento da sostituire.
- Nuovo valore dell'elemento in corrispondenza dell'indice specificato.Il valore può essere null per i tipi di riferimento.
-
-
- Fornisce un punto di registrazione per i filtri.
-
-
- Fornisce un punto di registrazione per i filtri.
- Insieme di filtri.
-
-
- Definisce i valori che specificano l'ordine in cui vengono eseguiti i filtri ASP.NET MVC nello stesso tipo di filtro e nello stesso ordine del filtro.
-
-
- Specifica un ordine prima di e dopo di .
-
-
- Specifica un ordine prima di e dopo di .
-
-
- Specifica il primo valore.
-
-
- Specifica un ordine prima di e dopo di .
-
-
- Specifica l'ultimo valore.
-
-
- Contiene i provider di valori del form per l'applicazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe .
- Insieme.
- Il parametro è null.
-
-
- Ottiene il provider di valori specificato.
- Provider di valori.
- Nome del provider di valori da ottenere.
- Il parametro è null o vuoto.
-
-
- Ottiene un valore che indica se il provider di valori contiene una voce con il prefisso specificato.
- true se il provider di valori contiene una voce con il prefisso specificato. In caso contrario, false.
- Prefisso da ricercare.
-
-
- Ottiene un valore da un provider di valori tramite la chiave specificata.
- Valore ottenuto da un provider di valori.
- Chiave.
-
-
- Restituisce un dizionario che contiene i provider di valori.
- Dizionario di provider di valori.
-
-
- Incapsula le informazioni necessarie per convalidare ed elaborare i dati di input da un form HTML.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i validator dei campi per il form.
- Dizionario di validator di campo per il form.
-
-
- Ottiene o imposta l'identificatore del form.
- Identificatore del form.
-
-
- Restituisce un oggetto serializzato contenente l'identificatore di form e valori di convalida dei campi per il form.
- Oggetto serializzato contenente l'identificatore di form e valori di convalida dei campi per il form.
-
-
- Restituisce il valore di convalida per il campo di input specificato.
- Valore con cui convalidare l'input del campo.
- Nome del campo per il quale recuperare il valore di convalida.
- Il parametro è null o vuoto.
-
-
- Restituisce il valore di convalida per il campo di input specificato e un valore che indica l'operazione da eseguire se il valore di convalida non viene trovato.
- Valore con cui convalidare l'input del campo.
- Nome del campo per il quale recuperare il valore di convalida.
- true per creare un valore di convalida se non ne viene trovato uno. In caso contrario false.
- Il parametro è null o vuoto.
-
-
- Restituisce un valore che indica se è stato eseguito il rendering del campo specificato nel form.
- true se è stato eseguito il rendering del campo. In caso contrario, false.
- Nome del campo.
-
-
- Imposta un valore che indica se è stato eseguito il rendering del campo specificato nel form.
- Nome del campo.
- true per specificare che è stato eseguito il rendering del campo nel form. In caso contrario, false.
-
-
- Determina se gli errori di convalida del client devono essere aggiunti dinamicamente al riepilogo di convalida.
- true se gli errori di convalida del client devono essere aggiunti al riepilogo di convalida. In caso contrario, false.
-
-
- Ottiene o imposta l'identificatore per il riepilogo di convalida.
- Identificatore per il riepilogo di convalida.
-
-
- Enumera i tipi di richiesta HTTP per un form.
-
-
- Specifica una richiesta GET.
-
-
- Specifica una richiesta POST.
-
-
- Rappresenta un provider di valori per valori del form contenuti in un oggetto .
-
-
- Inizializza una nuova istanza della classe .
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
-
-
- Rappresenta una classe responsabile per la creazione di una nuova istanza di un oggetto provider di valori del form.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto provider di valori del form per il contesto del controller specificato.
- Oggetto provider di valori del form.
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
- Il parametro è null.
-
-
- Rappresenta una classe che contiene tutti i filtri globali.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Aggiunge il filtro specificato all'insieme di filtri globali.
- Filtro.
-
-
- Aggiunge il filtro specificato all'insieme di filtri globali utilizzando l'ordine di esecuzione del filtro.
- Filtro.
- Ordine di esecuzione del filtro.
-
-
- Rimuove tutti i filtri dall'insieme di filtri globali.
-
-
- Determina se un filtro si trova nell'insieme di filtri globali.
- true se viene trovato nella raccolta di filtri globali. In caso contrario, false.
- Filtro.
-
-
- Ottiene il numero di filtri presenti nell'insieme di filtri globali.
- Numero di filtri presenti nell'insieme di filtri globali.
-
-
- Restituisce un enumeratore che scorre l'insieme di filtri globali.
- Enumeratore che scorre l'insieme di filtri globali.
-
-
- Rimuove tutti i filtri che corrispondono al filtro specificato.
- Filtro da rimuovere.
-
-
- Questa API supporta l'infrastruttura ASP.NET MVC e non può essere utilizzata direttamente dal codice.
- Enumeratore che scorre l'insieme di filtri globali.
-
-
- Questa API supporta l'infrastruttura ASP.NET MVC e non può essere utilizzata direttamente dal codice.
- Enumeratore che scorre l'insieme di filtri globali.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Rappresenta l'insieme di filtri globale.
-
-
- Ottiene o imposta l'insieme di filtri globale.
- Insieme di filtri globale.
-
-
- Rappresenta un attributo utilizzato per gestire un'eccezione generata da un metodo di azione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il tipo dell'eccezione.
- Il tipo dell'eccezione.
-
-
- Ottiene o imposta la visualizzazione Master per le informazioni sull'eccezione.
- Visualizzazione Master.
-
-
- Chiamato quando si verifica un'eccezione.
- Contesto del filtro dell'azione.
- Il parametro è null.
-
-
- Ottiene l'identificatore univoco per questo attributo.
- Identificatore univoco per questo attributo.
-
-
- Ottiene o imposta la visualizzazione Pagina per le informazioni sull'eccezione.
- Visualizzazione Pagina.
-
-
- Incapsula le informazioni per la gestione di un errore generato da un metodo di azione.
-
-
- Inizializza una nuova istanza della classe .
- Eccezione.
- Nome del controller.
- Nome dell'azione.
- Il parametro è null.
- Il parametro o è null o vuoto.
-
-
- Ottiene o imposta il nome dell'azione in esecuzione al momento della generazione dell'eccezione.
- Nome dell'azione.
-
-
- Ottiene o imposta il nome de controller contenente il metodo di azione che ha generato l'eccezione.
- Nome del controller.
-
-
- Ottiene o imposta l'oggetto eccezione.
- Oggetto eccezione.
-
-
- Rappresenta un attributo utilizzato per indicare se deve essere eseguito il rendering del valore di una proprietà o un campo come elemento input nascosto.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta un valore che indica se visualizzare il valore dell'elemento input nascosto.
- true se il valore deve essere visualizzato. In caso contrario, false.
-
-
- Enumera la modalità di rendering della data per il formato HTML5.
-
-
- Formattazione della cultura corrente.
-
-
- Formattazione RFC 3339.
-
-
- Supporta il rendering di controlli HTML in una visualizzazione.
-
-
- Inizializza una nuova istanza della classe usando il contesto di visualizzazione e il contenitore di dati della visualizzazione specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
- Il parametro o viewDataContainer è null.
-
-
- Inizializza una nuova istanza della classe usando il contesto di visualizzazione, il contenitore dei dati della visualizzazione e l'insieme di route specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
- Insieme di route.
- Uno o più parametri sono null.
-
-
- Sostituisce i caratteri di sottolineatura (_) con i trattini (-) negli attributi HTML specificati.
- Attributi HTML con caratteri di sottolineatura sostituiti dai trattini.
- Attributi HTML.
-
-
- Genera un campo del form nascosto (token antifalsificazione) che viene convalidato all'invio del form.
- Campo del form generato (token antifalsificazione).
-
-
- Genera un campo del form nascosto (token antifalsificazione) che viene convalidato all'invio del form.Il valore del campo viene generato usando il valore salt specificato.
- Campo del form generato (token antifalsificazione).
- Valore salt che può essere una qualsiasi stringa non vuota.
-
-
- Genera un campo del form nascosto (token antifalsificazione) che viene convalidato all'invio del form.Il valore del campo viene generato usando il valore salt, il dominio e il percorso specificati.
- Campo del form generato (token antifalsificazione).
- Valore salt che può essere una qualsiasi stringa non vuota.
- Dominio dell'applicazione.
- Percorso virtuale.
-
-
- Converte il valore dell'attributo specificato in una stringa codificata in formato HTML.
- Stringa codificata in formato HTML.Se il parametro del valore è null o vuoto, questo metodo restituisce una stringa vuota.
- Oggetto da codificare.
-
-
- Converte il valore dell'attributo specificato in una stringa codificata in formato HTML.
- Stringa codificata in formato HTML.Se il parametro del valore è null o vuoto, questo metodo restituisce una stringa vuota.
- Stringa da codificare.
-
-
- Ottiene o imposta un valore che indica se è abilitata la convalida del client.
- true se la convalida client è abilitata. In caso contrario, false.
-
-
- Consente la convalida dell'input eseguita tramite lo script client nel browser.
-
-
- Abilita o disabilita la convalida del client.
- true per abilitare la convalida client. In caso contrario, false.
-
-
- Abilita o disabilita l'utilizzo di JavaScript non intrusivo.
-
-
- Abilita o disabilita l'utilizzo di JavaScript non intrusivo.
- true per abilitare JavaScript non intrusivo. In caso contrario, false.
-
-
- Converte il valore dell'oggetto specificato in una stringa codificata in formato HTML.
- Stringa codificata in formato HTML.
- Oggetto da codificare.
-
-
- Converte la stringa specificata in una stringa codificata in formato HTML.
- Stringa codificata in formato HTML.
- Stringa da codificare.
-
-
- Formatta il valore.
- Valore formattato.
- Valore.
- Stringa del formato.
-
-
- Crea un ID dell'elemento HTML usando il nome dell'elemento specificato.
- ID dell'elemento HTML.
- Nome dell'elemento HTML.
- Il parametro name è null.
-
-
- Crea un ID dell'elemento HTML usando il nome dell'elemento specificato e una stringa che sostituisce i punti nel nome.
- ID dell'elemento HTML.
- Nome dell'elemento HTML.
- Stringa che sostituisce i punti (.) nel nome del parametro.
- Il parametro name o idAttributeDotReplacement è null.
-
-
- Genera un elemento ancoraggio HTML (elemento a) che si collega al metodo di azione specificato e consente all'utente di specificare il protocollo di comunicazione, il nome dell'host e un frammento URL.
- Elemento HTML che si collega al metodo di azione specificato.
- Contesto della richiesta HTTP.
- Insieme delle route dell'URL.
- Didascalia di testo visualizzata per il collegamento.
- Nome della route usato per restituire un percorso virtuale.
- Nome del metodo di azione.
- Nome del controller.
- Protocollo di comunicazione, ad esempio HTTP o HTTPS.Se questo parametro è null, per impostazione predefinita il protocollo viene impostato su HTTP.
- Nome dell'host.
- Identificatore del frammento.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Genera un elemento ancoraggio HTML (elemento a) che si collega al metodo di azione specificato.
- Elemento HTML che si collega al metodo di azione specificato.
- Contesto della richiesta HTTP.
- Insieme delle route dell'URL.
- Didascalia di testo visualizzata per il collegamento.
- Nome della route usato per restituire un percorso virtuale.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Genera un elemento ancoraggio HTML (elemento a) che si collega alla route dell'URL specificata e consente all'utente di specificare il protocollo di comunicazione, il nome dell'host e un frammento di URL.
- Elemento HTML che si collega alla route dell'URL specificata.
- Contesto della richiesta HTTP.
- Insieme delle route dell'URL.
- Didascalia di testo visualizzata per il collegamento.
- Nome della route usato per restituire un percorso virtuale.
- Protocollo di comunicazione, ad esempio HTTP o HTTPS.Se questo parametro è null, per impostazione predefinita il protocollo viene impostato su HTTP.
- Nome dell'host.
- Identificatore del frammento.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Genera un elemento ancoraggio HTML (elemento a) che si collega alla route dell'URL specificata.
- Elemento HTML che si collega alla route dell'URL specificata.
- Contesto della richiesta HTTP.
- Insieme delle route dell'URL.
- Didascalia di testo visualizzata per il collegamento.
- Nome della route usato per restituire un percorso virtuale.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Restituisce il metodo HTTP che gestisce l'input (GET o POST) del form come stringa.
- Stringa del metodo del form, "get" o "post".
- Metodo HTTP che gestisce il form.
-
-
- Restituisce il tipo di controllo di input HTML come stringa.
- Stringa del tipo di input ("checkbox", "hidden", "password", "radio" o "text").
- Tipo di input enumerato.
-
-
- Ottiene la raccolta degli attributi di convalida JavaScript non intrusivo usando il nome dell'attributo HTML specificato.
- Insieme degli attributi di convalida di JavaScript non intrusivo.
- Nome dell'attributo HTML.
-
-
- Ottiene la raccolta degli attributi di convalida JavaScript non intrusivo usando il nome dell'attributo HTML e i metadati del modello specificati.
- Insieme degli attributi di convalida di JavaScript non intrusivo.
- Nome dell'attributo HTML.
- Metadati del modello.
-
-
- Ottiene o imposta la modalità di rendering dei dati in formato HTML5.
- Modalità di rendering dei dati in formato HTML5.
-
-
- Restituisce un elemento input nascosto che identifica il metodo di override per il metodo di trasferimento dei dati HTTP specificato usato dal client.
- Metodo di override che usa il metodo di trasferimento dei dati HTTP usato dal client.
- Metodo di trasferimento dei dati HTTP usato dal client (DELETE, HEAD o PUT).
- Il parametro httpVerb non è "PUT", "DELETE" o "HEAD".
-
-
- Restituisce un elemento input nascosto che identifica il metodo di override per il verbo specificato che rappresenta il metodo di trasferimento dei dati HTTP usato dal client.
- Il metodo di override che usa il verbo che rappresenta il metodo di trasferimento dei dati HTTP usato dal client.
- Verbo che rappresenta il metodo di trasferimento dei dati HTTP usato dal client.
- Il parametro httpVerb non è "PUT", "DELETE" o "HEAD".
-
-
- Ottiene o imposta il carattere che sostituisce i punti nell'attributo ID di un elemento.
- Carattere che sostituisce i punti nell'attributo ID di un elemento.
-
-
- Crea un dizionario da un oggetto tramite l'aggiunta al dizionario della proprietà di ogni istanza pubblica come chiave con il rispettivo valore associato.Esporrà anche le proprietà pubbliche dai tipi derivati.Usato in genere con oggetti di tipo anonimo.
- Dizionario creato dei nomi di proprietà e dei valori di proprietà.
- Oggetto da convertire.
-
-
- Restituisce il markup che non è codificato in formato HTML.
- Markup HTML senza codifica.
- Markup HTML.
-
-
- Restituisce il markup che non è codificato in formato HTML.
- Markup HTML senza codifica.
- Markup HTML.
-
-
- Ottiene o imposta l'insieme di route per l'applicazione.
- Insieme di route per l'applicazione.
-
-
- Imposta il nome dell'elemento usato per il wrapping del messaggio di convalida generato da e altri overload.
-
-
- Imposta il nome dell'elemento usato per il wrapping di un messaggio di primo livello in e altri overload.
-
-
- Ottiene o imposta un valore che indica se è abilitato l'utilizzo di JavaScript non intrusivo.
- true se l'utilizzo di JavaScript non intrusivo è abilitato. In caso contrario, false.
-
-
- Nome della classe CSS usata per definire lo stile di un campo di input quando si verifica un errore di convalida.
-
-
- Nome della classe CSS usata per definire lo stile di un campo di input quando l'input è valido.
-
-
- Nome della classe CSS usata per definire lo stile di un messaggio di errore quando si verifica un errore di convalida.
-
-
- Nome di elemento usato per il wrapping del messaggio di convalida generato da e altri overload.
-
-
- Nome della classe CSS usata per definire lo stile del messaggio di convalida quando l'input è valido.
-
-
- Nome della classe CSS usata per definire lo stile dei messaggi di errore di riepilogo di convalida.
-
-
- Nome di elemento usato per il wrapping di un messaggio di primo livello in e altri overload.
-
-
- Nome della classe CSS usato per definire lo stile del riepilogo di convalida quando l'input è valido.
-
-
- Ottiene il contenitore delle visualizzazioni.
- Contenitore delle visualizzazioni.
-
-
- Ottiene o imposta le informazioni del contesto relative alla visualizzazione.
- Contesto della visualizzazione.
-
-
- Ottiene il dizionario dei dati della visualizzazione corrente.
- Dizionario dei dati della visualizzazione.
-
-
- Ottiene o imposta il contenitore dei dati della visualizzazione.
- Contenitore di dati della visualizzazione.
-
-
- Rappresenta il supporto per il rendering dei controlli HTML in una visualizzazione fortemente tipizzata.
- Tipo del modello.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di visualizzazione e il contenitore di dati della visualizzazione specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di visualizzazione, il contenitore dei dati della visualizzazione e l'insieme di route specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
- Insieme di route.
-
-
- Ottiene il contenitore delle visualizzazioni.
- Contenitore delle visualizzazioni.
-
-
- Ottiene il dizionario dei dati di visualizzazione fortemente tipizzato.
- Dizionario dei dati di visualizzazione fortemente tipizzato.
-
-
- Rappresenta un attributo utilizzato per limitare un metodo di azione in modo che gestisca solo richieste DELETE HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la richiesta DELETE del metodo di azione è valida per il contesto del controller specificato.
- true se la richiesta del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Rappresenta un provider di valori da utilizzare con valori che provengono da un insieme di file HTTP.
-
-
- Inizializza una nuova istanza della classe .
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
-
-
- Rappresenta una classe responsabile per la creazione di una nuova istanza di un oggetto provider di valori per l'insieme di file HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto provider di valori per il contesto del controller specificato.
- Provider di valori per l'insieme di file HTTP.
- Oggetto che incapsula informazioni sulla richiesta HTTP.
- Il parametro è null.
-
-
- Rappresenta un attributo utilizzato per limitare un metodo di azione in modo che gestisca solo richieste GET HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la richiesta GET del metodo di azione è valida per il contesto del controller specificato.
- true se la richiesta del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Specifica che la richiesta HTTP deve corrispondere al metodo HEAD HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la richiesta del metodo di azione è valida per il contesto del controller specificato.
- true se la richiesta del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Definisce un oggetto utilizzato per indicare che la risorsa richiesta non è stata trovata.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando una descrizione di stato.
- Descrizione dello stato,
-
-
- Rappresenta un attributo utilizzato per limitare un metodo di azione in modo che gestisca solo richieste OPTIONS HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la richiesta del metodo di azione è valida per il contesto del controller specificato.
- true se la richiesta del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Rappresenta un attributo utilizzato per limitare un metodo di azione in modo che gestisca solo richieste PATCH HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la richiesta del metodo di azione è valida per il contesto del controller specificato.
- true se la richiesta del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Rappresenta un attributo utilizzato per limitare un metodo di azione in modo che gestisca solo richieste POST HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la richiesta POST del metodo di azione è valida per il contesto del controller specificato.
- true se la richiesta del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Associa un modello a un file inserito.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Associa il modello.
- Valore associato.Implementa
- Contesto del controller.
- Contesto di associazione.
- Uno o entrambi i parametri sono null.
-
-
- Rappresenta un attributo utilizzato per limitare un metodo di azione in modo che gestisca solo richieste PUT HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la richiesta PUT del metodo di azione è valida per il contesto del controller specificato.
- true se la richiesta del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Estende la classe che contiene i valori HTTP inviati da un client durante una richiesta Web.
-
-
- Recupera l'override del metodo di trasferimento dati HTTP utilizzato dal client.
- Override del metodo di trasferimento dati HTTP utilizzato dal client.
- Oggetto contenente i valori HTTP inviati da un client durante una richiesta Web.
- Il parametro è null.
- Override del metodo di trasferimento dati HTTP non implementato.
-
-
- Consente di restituire un risultato dell'azione con una descrizione e un codice di stato della risposta HTTP specifici.
-
-
- Inizializza una nuova istanza della classe utilizzando un codice di stato.
- Codice di stato.
-
-
- Inizializza una nuova istanza della classe utilizzando un codice e una descrizione di stato.
- Codice di stato.
- Descrizione dello stato,
-
-
- Inizializza una nuova istanza della classe utilizzando un codice di stato.
- Codice di stato.
-
-
- Inizializza una nuova istanza della classe utilizzando un codice e una descrizione di stato.
- Codice di stato.
- Descrizione dello stato,
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui viene eseguito il risultato.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
-
-
- Ottiene il codice di stato HTTP.
- Codice di stato HTTP.
-
-
- Ottiene la descrizione di stato HTTP.
- Descrizione di stato HTTP.
-
-
- Rappresenta il risultato di una richiesta HTTP non autorizzata.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando la descrizione di stato.
- Descrizione dello stato,
-
-
- Enumera i verbi HTTP.
-
-
- Richiede che un URI specificato venga eliminato.
-
-
- Recupera le informazioni o l'entità identificata dall'URI della richiesta.
-
-
- Recupera le intestazioni del messaggio per le informazioni o l'entità identificata dall'URI della richiesta.
-
-
- Rappresenta una richiesta di informazioni sulle opzioni di comunicazione disponibili nella catena di richiesta/risposta identificata dall'URI della richiesta.
-
-
- Richiede che un set di modifiche descritte nell'entità di richiesta venga applicato alla risorsa identificata dall'URI della richiesta.
-
-
- Inserisce una nuova entità come aggiunta a un URI.
-
-
- Sostituisce un'entità identificata da un URI.
-
-
- Definisce i metodi utilizzati in un filtro dell'azione.
-
-
- Chiamato dopo l'esecuzione del metodo di azione.
- Contesto del filtro.
-
-
- Chiamato prima dell'esecuzione di un metodo di azione.
- Contesto del filtro.
-
-
- Definisce il contratto per un invoker di azione, utilizzato per richiamare un'azione in risposta a una richiesta HTTP.
-
-
- Richiama l'azione specificata utilizzando il contesto del controller specificato.
- true se l'azione è stata trovata. In caso contrario, false.
- Contesto del controller.
- Nome dell'azione.
-
-
- Usato per creare un'istanza di per la richiesta corrente.
-
-
- Crea un'istanza di un invoker di azioni per la richiesta corrente.
-
- creato.
-
-
- Definisce i metodi necessari per un filtro di autorizzazione.
-
-
- Chiamato quando è necessaria l'autorizzazione.
- Contesto del filtro.
-
-
- Consente al framework di convalida ASP.NET MVC di individuare in fase di esecuzione se un validator supporta la convalida del client.
-
-
- Se implementato in una classe, restituisce le regole di convalida del client per tale classe.
- Regole di convalida del client per il validator.
- Metadati del modello.
- Contesto del controller.
-
-
- Definisce i metodi necessari per un controller.
-
-
- Esegue il contesto della richiesta specificato.
- Contesto della richiesta.
-
-
- Fornisce un controllo accurato sul modo in cui viene creata un'istanza dei controller mediante l'inserimento di dipendenze.
-
-
- Se implementato in una classe, crea un controller.
- Controller creato.
- Contesto della richiesta.
- Tipo di controller.
-
-
- Definisce i metodi necessari per una factory di controller.
-
-
- Crea il controller specificato utilizzando il contesto della richiesta specificato.
- Controller.
- Contesto della richiesta.
- Nome del controller.
-
-
- Ottiene il comportamento di sessione del controller.
- Comportamento di sessione del controller.
- Contesto della richiesta.
- Nome del controller di cui si desidera ottenere il comportamento di sessione.
-
-
- Rilascia il controller specificato.
- Controller.
-
-
- Definisce i metodi che semplificano la posizione del servizio e la risoluzione delle dipendenze.
-
-
- Risolve i singoli servizi registrati che supportano la creazione di oggetti arbitrari.
- Servizio o oggetto richiesto.
- Tipo di servizio o oggetto richiesto.
-
-
- Risolve più servizi registrati.
- Servizi richiesti.
- Tipo di servizi richiesti.
-
-
- Rappresenta un'interfaccia speciale che supporta l'enumerazione.
-
-
- Ottiene le chiavi dal prefisso.
- Chiavi.
- Prefisso.
-
-
- Definisce i metodi necessari per un filtro eccezioni.
-
-
- Chiamato quando si verifica un'eccezione.
- Contesto del filtro.
-
-
- Fornisce un'interfaccia per la ricerca dei filtri.
-
-
- Restituisce un enumeratore contenente tutte le istanze di presenti nel localizzatore di servizi.
- Enumeratore contenente tutte le istanze di presenti nel localizzatore di servizi.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Fornisce un'interfaccia per esporre gli attributi alla classe .
-
-
- Se implementata in una classe, fornisce i metadati al processo di creazione dei metadati del modello.
- Metadati del modello.
-
-
- Interfaccia facoltativa per tipi che forniscono un .
-
-
- Recupera MethodInfo
-
-
- Definisce i metodi necessari per uno strumento di associazione di modelli.
-
-
- Associa il modello a un valore utilizzando il contesto del controller e il contesto di associazione specificati.
- Valore associato.
- Contesto del controller.
- Contesto di associazione.
-
-
- Definisce i metodi che consentono le implementazioni dinamiche dell'associazione del modello per le classi che implementano l'interfaccia .
-
-
- Restituisce il gestore di associazione del modello per il tipo specificato.
- Gestore di associazione del modello per il tipo specificato.
- Tipo del modello.
-
-
- Definisce i membri che specificano l'ordine dei filtri e il valore che specifica se sono consentiti più filtri.
-
-
- Se implementato in una classe, ottiene o imposta un valore che indica se sono consentiti più filtri.
- true se sono consentiti più filtri. In caso contrario, false.
-
-
- Se implementato in una classe, ottiene l'ordine del filtro.
- Ordine del filtro.
-
-
- Enumera i tipi di controlli di input.
-
-
- Casella di controllo.
-
-
- Campo nascosto.
-
-
- Casella della password.
-
-
- Pulsante di opzione.
-
-
- Casella di testo.
-
-
- Definisce i metodi necessari per un filtro dei risultati.
-
-
- Chiamato dopo l'esecuzione di un risultato di un'azione.
- Contesto del filtro.
-
-
- Chiamato prima dell'esecuzione di un risultato di un'azione.
- Contesto del filtro.
-
-
- Associa una route a un'area in un'applicazione ASP.NET MVC.
-
-
- Ottiene il nome dell'area a cui associare la route.
- Nome dell'area a cui associare la route.
-
-
- Definisce il contratto per i provider di dati temporanei che archiviano i dati visualizzati nella richiesta successiva.
-
-
- Carica i dati temporanei.
- Dati temporanei.
- Contesto del controller.
-
-
- Salva i dati temporanei.
- Contesto del controller.
- Valori.
-
-
- Usato per creare un'istanza di per il controller.
-
-
- Crea un'istanza di per il controller.
-
- creato.
-
-
- Rappresenta un'interfaccia che può ignorare la convalida della richiesta.
-
-
- Recupera il valore dell'oggetto associato alla chiave specificata.
- Valore dell'oggetto per la chiave specificata.
- Chiave.
- true se la convalida deve essere ignorata. In caso contrario, false.
-
-
- Definisce i metodi richiesti per un provider di valori in ASP.NET MVC.
-
-
- Determina se la raccolta contiene il prefisso specificato.
- true se la raccolta contiene il prefisso specificato. In caso contrario, false.
- Prefisso da ricercare.
-
-
- Recupera un oggetto valore mediante la chiave specificata.
- Oggetto valore per la chiave specificata o null se la chiave non viene trovata.
- Chiave dell'oggetto valore da recuperare.
-
-
- Definisce i metodi necessari per una visualizzazione.
-
-
- Esegue il rendering del contesto di visualizzazione specificato utilizzando l'oggetto writer specificato.
- Contesto di visualizzazione.
- Oggetto writer.
-
-
- Definisce i metodi necessari per un dizionario dei dati della visualizzazione.
-
-
- Ottiene o imposta il dizionario dei dati della visualizzazione.
- Dizionario dei dati della visualizzazione.
-
-
- Definisce i metodi necessari per un motore di visualizzazione.
-
-
- Trova la visualizzazione parziale specificata utilizzando il contesto del controller specificato.
- Visualizzazione parziale.
- Contesto del controller.
- Nome della visualizzazione parziale.
- true per specificare che il motore di visualizzazione restituisce la visualizzazione memorizzata nella cache, se disponibile. In caso contrario, false.
-
-
- Trova la visualizzazione specificata utilizzando il contesto del controller specificato.
- Visualizzazione Pagina.
- Contesto del controller.
- Nome della visualizzazione.
- Nome del master.
- true per specificare che il motore di visualizzazione restituisce la visualizzazione memorizzata nella cache, se disponibile. In caso contrario, false.
-
-
- Rilascia la visualizzazione specificata utilizzando il contesto del controller specificato.
- Contesto del controller.
- Visualizzazione.
-
-
- Definisce i metodi necessari per memorizzare nella cache i percorsi di visualizzazione.
-
-
- Ottiene il percorso di visualizzazione utilizzando il contesto HTTP e la chiave di cache specificati.
- Percorso di visualizzazione.
- Contesto HTTP.
- Chiave di cache.
-
-
- Inserisce il percorso di visualizzazione specificato nella cache utilizzando il contesto HTTP e la chiave di cache specificati.
- Contesto HTTP.
- Chiave di cache.
- Percorso virtuale.
-
-
- Fornisce un controllo accurato sul modo in cui vengono create le pagine di visualizzazione mediante l'inserimento di dipendenze.
-
-
- Fornisce un controllo accurato sul modo in cui vengono create le pagine di visualizzazione mediante l'inserimento di dipendenze.
- Pagina della visualizzazione creata.
- Contesto del controller.
- Tipo del controller.
-
-
- Invia contenuto JavaScript alla risposta.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui il risultato viene eseguito.
- Il parametro è null.
-
-
- Ottiene o imposta lo script.
- Script.
-
-
- Il provider di valori per il form JQuery è usato per gestire i dati con formattazione JQuery nei form di richiesta.
-
-
- Crea una nuova istanza di ValueProvider per il form JQuery
- Contesto usato da ValueProvider.
-
-
- Fornisce il ValueProvider necessario per la gestione dei dati del form JQuery.
-
-
- Crea una nuova istanza della factory che fornisce ValueProviders per il form JQuery.
-
-
- Restituisce il ValueProvider appropriato.
- Contesto che deve essere usato da ValueProvider.
-
-
- Specifica se sono consentite richieste GET HTTP dal client.
-
-
- Le richieste GET HTTP dal client sono consentite.
-
-
- Le richieste GET HTTP dal client non sono consentite.
-
-
- Rappresenta una classe usata per inviare contenuto in formato JSON alla risposta.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta la codifica del contenuto.
- Codifica del contenuto.
-
-
- Ottiene o imposta il tipo del contenuto.
- Tipo del contenuto.
-
-
- Ottiene o imposta i dati.
- Dati.
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui il risultato viene eseguito.
- Il parametro è null.
-
-
- Ottiene o imposta un valore che indica se sono consentite richieste HTTP GET dal client.
- Valore che indica se sono consentite richieste HTTP GET dal client.
-
-
- Ottiene o imposta la lunghezza massima dei dati.
- Lunghezza massima dei dati
-
-
- Ottiene o imposta il limite di ricorsione.
- Limite di ricorsione.
-
-
- Consente ai metodi di azione di inviare e ricevere testo in formato JSON e di eseguire l'associazione del modello del testo JSON ai parametri dei metodi di azione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto provider di valori JSON per il contesto del controller specificato.
- Oggetto provider di valori JSON per il contesto del controller specificato.
- Contesto del controller.
-
-
- Esegue il mapping di una richiesta del browser a un oggetto LINQ .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Associa il modello utilizzando il contesto del controller e il contesto di associazione specificati.
- Oggetto con dati associati.Se il modello non può essere associato, questo metodo restituisce null.Implementa.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
-
-
- Fornisce un adattatore per l'attributo MaxLengthAttribute.
-
-
- Inizializza una nuova istanza della classe MaxLengthAttribute.
- Metadati del modello.
- Contesto del controller.
- Attributo MaxLength.
-
-
- Ottiene un elenco di regole di convalida del client per una verifica della lunghezza massima.
- Elenco di regole di convalida del client per la verifica.
-
-
- Fornisce un adattatore per l'attributo MinLengthAttribute.
-
-
- Inizializza una nuova istanza della classe MinLengthAttribute.
- Metadati del modello.
- Contesto del controller.
- Attributo della lunghezza minima.
-
-
- Ottiene un elenco di regole di convalida del client per la verifica della lunghezza minima.
- Elenco di regole di convalida del client per una verifica.
-
-
- Rappresenta un attributo utilizzato per associare un tipo di modello a un tipo di compilatore di modelli.
-
-
- Inizializza una nuova istanza della classe .
- Tipo del gestore di associazione.
- Il parametro è null.
-
-
- Ottiene o imposta il tipo del gestore di associazione.
- Tipo del gestore di associazione.
-
-
- Recupera un'istanza del gestore di associazione del modello.
- Riferimento a un oggetto che implementa l'interfaccia .
- Si è verificato un errore durante la creazione di un'istanza del gestore di associazione del modello.
-
-
- Rappresenta una classe che contiene tutti i gestori di associazione del modello per l'applicazione, elencati in base al tipo di gestore di associazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Aggiunge l'elemento specificato al dizionario del gestore di associazione del modello.
- Oggetto da aggiungere all'istanza di .
- L'oggetto è di sola lettura.
-
-
- Aggiunge l'elemento specificato al dizionario del gestore di associazione del modello utilizzando la chiave specificata.
- Chiave dell'elemento da aggiungere.
- Valore dell'elemento da aggiungere.
- L'oggetto è di sola lettura.
-
- è null.
- Un elemento con la stessa chiave esiste già nell'oggetto .
-
-
- Rimuove tutti gli elementi dal dizionario del gestore di associazione del modello.
- L'oggetto è di sola lettura.
-
-
- Determina se il dizionario del gestore di associazione del modello contiene un valore specificato.
- true se viene trovato nel dizionario dello strumento di associazione di modelli. In caso contrario, false.
- Oggetto da individuare nell'oggetto .
-
-
- Determina se il dizionario del gestore di associazione del modello contiene un elemento con la chiave specificata.
- true se il dizionario dello strumento di associazione di modelli contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave da individuare nell'oggetto .
-
- è null.
-
-
- Copia gli elementi del dizionario del gestore di associazione del modello in una matrice, iniziando da un indice specificato.
- Matrice unidimensionale che rappresenta la destinazione degli elementi copiati dall'oggetto .L'indicizzazione della matrice deve essere in base zero.
- Indice in base zero in in corrispondenza del quale ha inizio la copia.
-
- è null.
-
- è minore di 0.
-
- è multidimensionale.oppure è uguale a o maggiore della lunghezza di .oppure Il numero di elementi nell'oggetto di origine è maggiore dello spazio disponibile dall'oggetto alla fine della matrice di destinazione. oppure Non è possibile eseguire automaticamente il cast del tipo al tipo della matrice di destinazione.
-
-
- Ottiene il numero di elementi nel dizionario del gestore di associazione del modello.
- Numero di elementi nel dizionario del gestore di associazione del modello.
-
-
- Ottiene o imposta il gestore di associazione del modello predefinito.
- Gestore di associazione del modello predefinito.
-
-
- Recupera il gestore di associazione del modello per il tipo specificato.
- Strumento di associazione di modelli.
- Tipo del modello da recuperare.
- Il parametro è null.
-
-
- Recupera il gestore di associazione del modello per il tipo specificato oppure recupera il gestore di associazione del modello predefinito.
- Strumento di associazione di modelli.
- Tipo del modello da recuperare.
- true per recuperare lo strumento di associazione di modelli predefinito.
- Il parametro è null.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere la raccolta.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Ottiene un valore che indica se il dizionario del gestore di associazione del modello è di sola lettura.
- true se il dizionario dello strumento di associazione di modelli è di sola lettura. In caso contrario, false.
-
-
- Ottiene o imposta la chiave specificata in un oggetto che implementa l'interfaccia .
- Chiave dell'elemento specificato.
-
-
- Ottiene un insieme contenente le chiavi presenti nel dizionario del gestore di associazione del modello.
- Insieme contenente le chiavi presenti nel dizionario del gestore di associazione del modello.
-
-
- Rimuove la prima occorrenza dell'elemento specificato dal dizionario del gestore di associazione del modello.
- true se è stato rimosso dal dizionario dello strumento di associazione di modelli. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nel dizionario dello strumento di associazione di modelli.
- Oggetto che deve essere rimosso dall'oggetto .
- L'oggetto è di sola lettura.
-
-
- Rimuove l'elemento con la chiave specificata dal dizionario del gestore di associazione del modello.
- true se l'elemento è stato rimosso. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nel dizionario dello strumento di associazione di modelli.
- Chiave dell'elemento da rimuovere.
- L'oggetto è di sola lettura.
-
- è null.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere un insieme.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Ottiene il valore associato alla chiave specificata.
- true se l'oggetto che implementa contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave del valore da ottenere.
- Quando termina, questo metodo restituisce il valore associato alla chiave specificata nel caso in cui la chiave venga trovata; in caso contrario, restituisce il valore predefinito per il tipo del parametro .Questo parametro viene passato senza inizializzazione.
-
- è null.
-
-
- Ottiene un insieme contenente i valori presenti nel dizionario del gestore di associazione del modello.
- Insieme contenente i valori presenti nel dizionario del gestore di associazione del modello.
-
-
- Rappresenta la raccolta dello strumento di associazione di modelli.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe usando un elenco di provider del gestore di associazione del modello.
- Elenco di provider del gestore di associazione del modello.
-
-
- Rimuove tutti gli elementi dalla raccolta.
-
-
- Restituisce un gestore di associazione del modello del tipo specificato.
- Gestore di associazione del modello del tipo specificato.
- Tipo dello strumento di associazione di modelli.
-
-
- Inserisce un provider dello strumento di associazione dei modelli in ModelBinderProviderCollection in corrispondenza dell'indice specificato.
- Indice.
- Provider dello strumento di associazione di modelli.
-
-
- Rimuove l'elemento all'indice della raccolta specificato.
- Indice in base zero dell'elemento da rimuovere.
-
-
- Sostituisce l'elemento provider del gestore di associazione del modello in corrispondenza dell'indice specificato.
- Indice.
- Provider dello strumento di associazione di modelli.
-
-
- Fornisce un contenitore per i provider del gestore di associazione del modello.
-
-
- Fornisce un punto di registrazione per i provider del gestore di associazione del modello per le applicazioni che non utilizzano l'inserimento di dipendenze.
- Insieme di provider del gestore di associazione del modello.
-
-
- Fornisce accesso globale ai gestori di associazione del modello per l'applicazione.
-
-
- Ottiene i gestori di associazione del modello per l'applicazione.
- Gestori di associazione del modello per l'applicazione.
-
-
- Fornisce il contesto nel quale funziona uno strumento di associazione di modelli.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizia una nuova istanza della classe utilizzando il contesto di associazione.
- Contesto di associazione.
-
-
- Ottiene o imposta un valore che indica se lo strumento di associazione deve utilizzare un prefisso vuoto.
- true se lo strumento di associazione deve utilizzare un prefisso vuoto. In caso contrario, false.
-
-
- Ottiene o imposta il modello.
- Modello.
-
-
- Ottiene o imposta i metadati del modello.
- Metadati del modello.
-
-
- Ottiene o imposta il nome del modello.
- Nome del modello.
-
-
- Ottiene o imposta lo stato del modello.
- Stato del modello.
-
-
- Ottiene o imposta il tipo del modello.
- Tipo del modello.
-
-
- Ottiene o imposta il filtro delle proprietà.
- Filtro delle proprietà.
-
-
- Ottiene i metadati della proprietà.
- Metadati della proprietà.
-
-
- Ottiene o imposta il provider di valori.
- Provider di valori.
-
-
- Rappresenta un errore che si verifica durante l'associazione del modello.
-
-
- Inizializza una nuova istanza della classe utilizzando l'eccezione specificata.
- Eccezione.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe utilizzando l'eccezione e il messaggio di errore specificati.
- Eccezione.
- Messaggio di errore.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe utilizzando il messaggio di errore specificato.
- Messaggio di errore.
-
-
- Ottiene o imposta il messaggio di errore.
- Messaggio di errore.
-
-
- Ottiene o imposta l'oggetto eccezione.
- Oggetto eccezione.
-
-
- Raccolta di istanze di .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Aggiunge l'oggetto specificato all'insieme di errori del modello.
- Eccezione.
-
-
- Aggiunge il messaggio di errore specificato alla raccolta di errori del modello.
- Messaggio di errore.
-
-
- Fornisce un contenitore per metadati comuni, per la classe e per la classe di un modello dati.
-
-
- Inizializza una nuova istanza della classe .
- Provider.
- Tipo del contenitore.
- Funzione di accesso del modello.
- Tipo del modello.
- Nome del modello.
-
-
- Ottiene un dizionario che contiene metadati aggiuntivi sul modello.
- Dizionario che contiene metadati aggiuntivi sul modello.
-
-
- Riferimento all'oggetto contenitore del modello.Sarà non null se il modello rappresenta una proprietà.
-
-
- Ottiene o imposta il tipo di contenitore per il modello.
- Tipo del contenitore per il modello.
-
-
- Ottiene o imposta un valore che indica se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in null.
- true se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in null. In caso contrario, false.Il valore predefinito è true.
-
-
- Ottiene o imposta metainformazioni sul tipo di dati.
- Metainformazioni sul tipo di dati.
-
-
- Valore dell'ordine predefinito, vale a dire 10000.
-
-
- Ottiene o imposta la descrizione del modello.
- Descrizione del modello.Il valore predefinito è null.
-
-
- Ottiene o imposta la stringa del formato di visualizzazione per il modello.
- Stringa del formato di visualizzazione per il modello.
-
-
- Ottiene o imposta il nome visualizzato del modello.
- Nome visualizzato del modello.
-
-
- Ottiene o imposta la stringa del formato di modifica del modello.
- Stringa del formato di modifica del modello.
-
-
- Restituisce i metadati dal parametro per il modello.
- Metadati.
- Espressione che identifica il modello.
- Dizionario dei dati della visualizzazione.
- Tipo del parametro.
- Tipo del valore.
-
-
- Ottiene i metadati dal parametro dell'espressione per il modello.
- Metadati per il modello.
- Espressione che identifica il modello.
- Dizionario dei dati della visualizzazione.
-
-
- Ottiene il nome visualizzato per il modello.
- Nome visualizzato per il modello.
-
-
- Restituisce la descrizione semplice del modello.
- Descrizione semplice del modello.
-
-
- Ottiene un elenco di validator per il modello.
- Elenco di validator per il modello.
- Contesto del controller.
-
-
- Ottiene o imposta un valore che indica se deve essere eseguito il rendering dell'oggetto modello usando gli elementi HTML associati.
- true se gli elementi HTML associati che contengono l'oggetto modello devono essere inclusi con l'oggetto. In caso contrario, false.
-
-
-
- Ottiene o imposta un valore che indica se il modello è un tipo complesso.
- Valore che indica se il modello viene considerato un tipo complesso dal framework MVC.
-
-
- Ottiene un valore che indica se il tipo è nullable.
- true se il tipo è nullable. In caso contrario, false.
-
-
- Ottiene o imposta un valore che indica se il modello è di sola lettura.
- true se il modello è di sola lettura. In caso contrario, false.
-
-
- Ottiene o imposta un valore che indica se il modello è obbligatorio.
- true se il modello è obbligatorio. In caso contrario, false.
-
-
- Ottiene il valore del modello.
- Valore del modello.Per ulteriori informazioni su , vedere l'intervento ASP.NET MVC 2 Templates, Part 2: ModelMetadata sul blog di Brad Wilson.
-
-
- Ottiene il tipo del modello.
- Tipo del modello.
-
-
- Ottiene o imposta la stringa da visualizzare per i valori Null.
- Stringa da visualizzare per i valori Null.
-
-
- Ottiene o imposta un valore che rappresenta l'ordine dei metadati correnti.
- Valore dell'ordine dei metadati correnti.
-
-
- Ottiene una raccolta di oggetti metadati del modello che descrivono le proprietà del modello.
- Raccolta di oggetti metadati del modello che descrivono le proprietà del modello.
-
-
- Ottiene il nome della proprietà.
- Nome della proprietà.
-
-
- Ottiene o imposta il provider.
- Provider.
-
-
- Ottiene o imposta un valore che indica se la convalida della richiesta è abilitata.
- true se la convalida della richiesta è abilitata. In caso contrario, false.
-
-
- Ottiene o imposta un nome di visualizzazione breve.
- Nome di visualizzazione breve.
-
-
- Ottiene o imposta un valore che indica se la proprietà deve essere visibile nelle visualizzazioni di sola lettura, ad esempio le visualizzazioni elenco e dettagli.
- true se il modello deve essere visibile nelle visualizzazioni di sola lettura. In caso contrario, false.
-
-
- Ottiene o imposta un valore che indica se il modello deve essere visualizzato in modalità di modifica.
- true se il modello deve essere visualizzato in modalità di modifica. In caso contrario, false.
-
-
- Ottiene o imposta la stringa di visualizzazione semplice per il modello.
- Stringa di visualizzazione semplice per il modello.
-
-
- Ottiene o imposta un suggerimento che indica quale modello usare per questo modello.
- Suggerimento che indica quale modello usare per questo modello.
-
-
- Ottiene o imposta un valore che può essere usato come una filigrana.
- Filigrana.
-
-
- Fornisce una classe di base astratta per un provider di metadati personalizzato.
-
-
- Quando sottoposto a override in una classe derivata, inizializza una nuova istanza dell'oggetto che deriva dalla classe .
-
-
- Ottiene un oggetto per ogni proprietà di un modello.
- Oggetto per ogni proprietà di un modello.
- Contenitore.
- Tipo del contenitore.
-
-
- Ottiene i metadati per la proprietà specificata.
- Oggetto per la proprietà.
- Funzione di accesso del modello.
- Tipo del contenitore.
- Proprietà per cui ottenere il modello di metadati.
-
-
- Ottiene i metadati per la funzione di accesso del modello e il tipo di modello specificati.
- Oggetto per la funzione di accesso del modello specificata e il tipo di modello.
- Funzione di accesso del modello.
- Tipo del modello.
-
-
- Fornisce un contenitore per l'istanza di corrente.
-
-
- Ottiene o imposta l'oggetto corrente.
- Oggetto corrente.
-
-
- Incapsula lo stato di associazione del modello a una proprietà di un argomento del metodo di azione o all'argomento stesso.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto che contiene gli errori che si sono verificati durante l'associazione del modello.
- Errori.
-
-
- Restituisce un oggetto che incapsula il valore associato durante l'associazione del modello.
- Valore.
-
-
- Rappresenta lo stato di un tentativo di associazione di un form pubblicato a un metodo di azione che include informazioni di convalida.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando i valori copiati dal dizionario di stato del modello specificato.
- Dizionario di stato del modello.
- Il parametro è null.
-
-
- Aggiunge l'elemento specificato al dizionario di stato del modello.
- Oggetto da aggiungere al dizionario di stato del modello.
- Il dizionario di stato del modello è di sola lettura.
-
-
- Aggiunge un elemento con la chiave e il valore specificati al dizionario di stato del modello.
- Chiave dell'elemento da aggiungere.
- Valore dell'elemento da aggiungere.
- Il dizionario di stato del modello è di sola lettura.
-
- è null.
- Un elemento con la chiave specificata è già presente nel dizionario di stato del modello.
-
-
- Aggiunge l'errore del modello specificato alla raccolta di errori per il dizionario di stato del modello associato alla chiave specificata.
- Chiave.
- Eccezione.
-
-
- Aggiunge il messaggio di errore specificato alla raccolta di errori per il dizionario di stato del modello associato alla chiave specificata.
- Chiave.
- Messaggio di errore.
-
-
- Rimuove tutti gli elementi dal dizionario di stato del modello.
- Il dizionario di stato del modello è di sola lettura.
-
-
- Determina se il dizionario di stato del modello contiene un valore specifico.
- true se viene trovato nel dizionario di stato del modello. In caso contrario, false.
- Oggetto da individuare nel dizionario di stato del modello.
-
-
- Determina se il dizionario di stato del modello contiene la chiave specificata.
- true se il dizionario di stato del modello contiene la chiave specificata. In caso contrario, false.
- Chiave da individuare nel dizionario di stato del modello.
-
-
- Copia gli elementi del dizionario di stato del modello in una matrice, iniziando da un indice specificato.
- Matrice unidimensionale che costituisce la destinazione degli elementi copiati dall'oggetto .L'indicizzazione della matrice deve essere in base zero.
- Indice in base zero in in corrispondenza del quale ha inizio la copia.
-
- è null.
-
- è minore di 0.
-
- è multidimensionale.oppure è uguale a o maggiore della lunghezza di .oppure Il numero di elementi nell'insieme di origine è maggiore dello spazio disponibile da alla fine dell'oggetto di destinazione.oppure Non è possibile eseguire automaticamente il cast del tipo al tipo dell'oggetto di destinazione.
-
-
- Ottiene il numero di coppie chiave/valore nella raccolta.
- Numero di coppie chiave/valore nella raccolta.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere la raccolta.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Ottiene un valore che indica se la raccolta è di sola lettura.
- true se la raccolta è di sola lettura. In caso contrario, false.
-
-
- Ottiene un valore che indica se l'istanza del dizionario di stato del modello è valida.
- true se l'istanza è valida. In caso contrario, false.
-
-
- Determina se sono presenti oggetti associati alla chiave specificata o con tale chiave come prefisso.
- true se il dizionario di stato del modello contiene un valore associato alla chiave specificata. In caso contrario, false.
- Chiave.
- Il parametro è null.
-
-
- Ottiene o imposta il valore associato alla chiave specificata.
- Elemento di stato del modello.
-
-
- Ottiene una raccolta contenente le chiavi presenti nel dizionario.
- Raccolta contenente le chiavi del dizionario di stato del modello.
-
-
- Copia i valori dall'oggetto specificato nel dizionario, sovrascrivendo i valori esistenti, se le chiavi corrispondono.
- Dizionario.
-
-
- Rimuove la prima occorrenza dell'oggetto specificato dal dizionario di stato del modello.
- true se è stato rimosso dal dizionario di stato del modello. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nel dizionario di stato del modello.
- Oggetto da rimuovere dal dizionario di stato del modello.
- Il dizionario di stato del modello è di sola lettura.
-
-
- Rimuove l'elemento con la chiave specificata dal dizionario di stato del modello.
- true se l'elemento è stato rimosso. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nel dizionario di stato del modello.
- Chiave dell'elemento da rimuovere.
- Il dizionario di stato del modello è di sola lettura.
-
- è null.
-
-
- Imposta il valore per la chiave specificata utilizzando il dizionario di provider di valori specificato.
- Chiave.
- Valore.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere la raccolta.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Tenta di ottenere il valore associato alla chiave specificata.
- true se l'oggetto che implementa contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave del valore da ottenere.
- Quando termina, questo metodo restituisce il valore associato alla chiave specificata nel caso in cui la chiave venga trovata; in caso contrario, restituisce il valore predefinito per il tipo del parametro .Questo parametro viene passato senza inizializzazione.
-
- è null.
-
-
- Ottiene una raccolta contenente i valori presenti nel dizionario.
- Raccolta contenente i valori del dizionario di stato del modello.
-
-
- Fornisce un contenitore per un risultato di convalida.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il nome del membro.
- Nome del membro.
-
-
- Ottiene o imposta il messaggio del risultato di convalida.
- Messaggio del risultato di convalida.
-
-
- Fornisce una classe di base per l'implementazione della logica di convalida.
-
-
- Chiamato dai costruttori nelle classi derivate per inizializzare la classe .
- Metadati.
- Contesto del controller.
-
-
- Ottiene il contesto del controller.
- Contesto del controller.
-
-
- Se implementato in una classe derivata, restituisce i metadati per la convalida del client.
- Metadati per la convalida del client.
-
-
- Restituisce un validator del modello composito per il modello.
- Validator del modello composito per il modello.
- Metadati.
- Contesto del controller.
-
-
- Ottiene o imposta un valore che indica se una proprietà del modello è obbligatoria.
- true se la proprietà del modello è obbligatoria. In caso contrario, false.
-
-
- Ottiene i metadati per il validator del modello.
- Metadati per il validator del modello.
-
-
- Se implementato in una classe derivata, convalida l'oggetto.
- Elenco dei risultati di convalida.
- Contenitore.
-
-
- Fornisce un elenco di validator per un modello.
-
-
- Quando viene implementato in una classe derivata, inizializza una nuova istanza della classe .
-
-
- Ottiene un elenco di validator.
- Elenco di validator.
- Metadati.
- Contesto.
-
-
- Rappresenta la raccolta del provider del validator del modello.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe usando un elenco di provider di convalida del modello.
- Elenco di provider di convalida del modello.
-
-
- Rimuove tutti gli elementi dalla raccolta.
-
-
- Restituisce l'elenco di validator per il modello.
- Elenco di validator per il modello.
- Metadati del modello.
- Contesto del controller.
-
-
- Inserisce un provider di validator del modello nell'insieme.
- Indice in base zero in corrispondenza del quale deve essere inserito l'elemento.
- Oggetto provider del validator del modello da inserire.
-
-
- Rimuove l'elemento all'indice della raccolta specificato.
- Indice in base zero dell'elemento da rimuovere.
-
-
- Sostituisce l'elemento provider del validator del modello nella posizione di indice specificata.
- Indice in base zero dell'elemento provider del validator del modello da sostituire.
- Il nuovo valore per l'elemento del provider del validator del modello.
-
-
- Fornisce un contenitore per il provider di convalida corrente.
-
-
- Ottiene l'insieme di provider del validator del modello.
- Insieme di provider del validator del modello.
-
-
- Rappresenta un elenco di elementi in cui gli utenti possono selezionare più elementi.
-
-
- Inizializza una nuova istanza della classe usando gli elementi specificati da includere nell'elenco.
- Elementi.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe usando gli elementi specificati da includere nell'elenco e i valori selezionati.
- Elementi.
- Valori selezionati.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe MultiSelectList usando gli elementi da includere nell'elenco, i valori selezionati e i valori disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Campo dei valori selezionati.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe usando gli elementi da includere nell'elenco, il campo del valore dei dati e il campo del testo dei dati.
- Elementi.
- Campo del valore dei dati.
- Campo del testo dei dati.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe usando gli elementi da includere nell'elenco, il campo del valore dei dati, il campo del testo dei dati e i valori selezionati.
- Elementi.
- Campo del valore dei dati.
- Campo del testo dei dati.
- Valori selezionati.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe MultiSelectList usando gli elementi da includere nell'elenco, il campo del valore dei dati, il campo del testo dei dati, i valori selezionati e i valori disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo dei valori selezionati.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe MultiSelectList usando gli elementi da includere nell'elenco, il campo del valore dei dati, il campo del testo dei dati e il campo del gruppo dei dati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo del gruppo dei dati.Usato per stabilire una corrispondenza con la proprietà Group dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe MultiSelectList usando gli elementi da includere nell'elenco, il campo del valore dei dati, il campo del testo dei dati, il campo del gruppo dei dati e i valori selezionati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo del gruppo dei dati.Usato per stabilire una corrispondenza con la proprietà Group dell'elemento corrispondente.
- Campo dei valori selezionati.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe MultiSelectList usando gli elementi da includere nell'elenco, il campo del valore dei dati, il campo del testo dei dati, il campo del gruppo dei dati, i valori selezionati e i valori disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo del gruppo dei dati.Usato per stabilire una corrispondenza con la proprietà Group dell'elemento corrispondente.
- Campo dei valori selezionati.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe MultiSelectList usando gli elementi da includere nell'elenco, il campo del valore dei dati, il campo del testo dei dati, il campo del gruppo dei dati, i valori selezionati, i valori disabilitati e i gruppi disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo del gruppo dei dati.Usato per stabilire una corrispondenza con la proprietà Group dell'elemento corrispondente.
- Campo dei valori selezionati.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
- Gruppi disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Ottiene il campo del gruppo dei dati.
-
-
- Ottiene o imposta il campo del testo dei dati.
- Campo del testo dei dati.
-
-
- Ottiene o imposta il campo del valore dei dati.
- Campo del valore dei dati.
-
-
- Ottiene i gruppi disabilitati.
-
-
- Ottiene i valori disabilitati.
-
-
- Restituisce un enumeratore che può essere usato per scorrere la raccolta.
- Enumeratore che può essere usato per scorrere la raccolta.
-
-
- Ottiene o imposta gli elementi dell'elenco.
- Elementi dell'elenco.
-
-
- Ottiene o imposta i valori selezionati.
- Valori selezionati.
-
-
- Restituisce un enumeratore che può essere usato per scorrere un insieme.
- Enumeratore che può essere usato per scorrere la raccolta.
-
-
- Se implementato in una classe derivata, fornisce una classe di metadati che contiene un riferimento all'implementazione di una o più delle interfacce del filtro, all'ordine e all'ambito del filtro.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe e specifica l'ordine dei filtri e il valore che indica se sono consentiti più filtri.
- true per specificare che sono consentiti più filtri dello stesso tipo. In caso contrario, false.
- Ordine del filtro.
-
-
- Ottiene un valore che indica se è possibile specificare più istanze dell'attributo di filtro.
- true se sono consentite più istanze dell'attributo di filtro. In caso contrario, false.Implementa.
-
-
- Ottiene un valore che indica l'ordine in cui viene applicato un filtro.
- Valore che indica l'ordine in cui viene applicato un filtro.Implementa.
-
-
- Seleziona il controller che gestirà una richiesta HTTP.
-
-
- Inizializza una nuova istanza della classe .
- Contesto della richiesta.
- Il parametro è null.
-
-
- Aggiunge l'intestazione della versione utilizzando il contesto HTTP specificato.
- Contesto HTTP.
-
-
- Chiamato da ASP.NET per iniziare l'elaborazione della richiesta asincrona.
- Stato della chiamata asincrona.
- Contesto HTTP.
- Metodo di callback asincrono.
- Stato dell'oggetto asincrono.
-
-
- Chiamato da ASP.NET per iniziare l'elaborazione della richiesta asincrona utilizzando il contesto HTTP di base.
- Stato della chiamata asincrona.
- Contesto HTTP.
- Metodo di callback asincrono.
- Stato dell'oggetto asincrono.
-
-
- Ottiene o imposta un valore che indica se l'intestazione della risposta MVC è disabilitata.
- true se l'intestazione della risposta MVC è disabilitata. In caso contrario, false.
-
-
- Chiamato da ASP.NET al termine dell'elaborazione della richiesta asincrona.
- Risultato asincrono.
-
-
- Ottiene un valore che indica se l'istanza di può essere utilizzata da un'altra richiesta.
- true se l'istanza di è riutilizzabile. In caso contrario, false.
-
-
- Contiene il nome dell'intestazione della versione ASP.NET MVC.
-
-
- Elabora la richiesta utilizzando il contesto della richiesta HTTP specificato.
- Contesto HTTP.
-
-
- Elabora la richiesta utilizzando il contesto della richiesta HTTP di base specificato.
- Contesto HTTP.
-
-
- Ottiene il contesto della richiesta.
- Contesto della richiesta.
-
-
- Chiamato da ASP.NET per iniziare l'elaborazione della richiesta asincrona utilizzando il contesto HTTP di base.
- Stato della chiamata asincrona.
- Contesto HTTP.
- Metodo di callback asincrono.
- Dati.
-
-
- Chiamato da ASP.NET al termine dell'elaborazione della richiesta asincrona.
- Risultato asincrono.
-
-
- Ottiene un valore che indica se l'istanza di può essere utilizzata da un'altra richiesta.
- true se l'istanza di è riutilizzabile. In caso contrario, false.
-
-
- Consente di attivare l'elaborazione delle richieste Web HTTP da parte di un gestore HTTP personalizzato che implementa l'interfaccia .
- Oggetto che fornisce riferimenti agli oggetti intrinseci del server, ad esempio Request, Response, Session e Server, utilizzati per gestire le richieste HTTP.
-
-
- Rappresenta una stringa codificata in formato HTML che non deve essere codificata nuovamente.
-
-
- Inizializza una nuova istanza della classe .
- Stringa da creare.Se non viene assegnato alcun valore, l'oggetto viene creato utilizzando un valore stringa vuoto.
-
-
- Crea una stringa codificata in formato HTML mediante il valore di testo specificato.
- Stringa codificata in formato HTML.
- Valore della stringa da creare.
-
-
- Contiene una stringa HTML vuota.
-
-
- Determina se la stringa specificata include contenuto oppure è null o vuota.
- true se la stringa è null o vuota. In caso contrario, false.
- Stringa.
-
-
- Verifica ed elabora una richiesta HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Chiamato da ASP.NET per iniziare l'elaborazione della richiesta asincrona.
- Stato della chiamata asincrona.
- Contesto HTTP.
- Metodo di callback asincrono.
- Stato.
-
-
- Chiamato da ASP.NET per iniziare l'elaborazione della richiesta asincrona.
- Stato della chiamata asincrona.
- Contesto HTTP di base.
- Metodo di callback asincrono.
- Stato.
-
-
- Chiamato da ASP.NET al termine dell'elaborazione della richiesta asincrona.
- Risultato asincrono.
-
-
- Chiamato da ASP.NET per iniziare l'elaborazione della richiesta asincrona.
- Stato della chiamata asincrona.
- Contesto.
- Metodo di callback asincrono.
- Oggetto contenente dati.
-
-
- Chiamato da ASP.NET al termine dell'elaborazione della richiesta asincrona.
- Stato delle operazioni asincrone.
-
-
- Verifica ed elabora una richiesta HTTP.
- Gestore HTTP.
- Contesto HTTP.
-
-
- Crea un oggetto che implementa l'interfaccia IHttpHandler e vi passa il contesto della richiesta.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'oggetto controller della factory specificato.
- Controller factory.
-
-
- Restituisce il gestore HTTP utilizzando il contesto HTTP specificato.
- Gestore HTTP.
- Contesto della richiesta.
-
-
- Restituisce il comportamento di sessione.
- Comportamento di sessione.
- Contesto della richiesta.
-
-
- Restituisce il gestore HTTP utilizzando il contesto della richiesta specificato.
- Gestore HTTP.
- Contesto della richiesta.
-
-
- Crea istanze di file di .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Crea un host Razor.
- Host Razor.
- Percorso virtuale del file di destinazione.
- Percorso fisico del file di destinazione.
-
-
- Estende un oggetto NameValueCollection in modo che la raccolta possa essere copiata in un dizionario specificato.
-
-
- Copia l'insieme specificato nella destinazione specificata.
- Insieme.
- Destinazione.
-
-
- Copia l'insieme specificato nella destinazione specificata e, facoltativamente, sostituisce le voci precedenti.
- Insieme.
- Destinazione.
- true per sostituire le voci precedenti. In caso contrario, false.
-
-
- Rappresenta la classe base per provider di valori i cui valori provengono da un oggetto .
-
-
- Inizializza una nuova istanza della classe usando l'insieme non convalidato specificato.
- Raccolta contenente i valori usati per inizializzare il provider.
- Raccolta contenente i valori usati per inizializzare il provider.Questo insieme non verrà convalidato.
- Oggetto contenente informazioni sulle impostazioni cultura di destinazione.
-
-
- Inizializza il provider dell'insieme di valori del nome.
- Raccolta di valori di chiave dalla richiesta.
- Raccolta di valori di chiave non convalidata dalla richiesta.
- Impostazioni cultura con cui devono essere usati i valori.
- POST jQuery durante l'invio di oggetti Javascript complessi al server non esegue la codifica in modo comprensibile da MVC.Il flag deve essere impostato se la richiesta deve essere normalizzata nel form MVC - https://aspnetwebstack.codeplex.com/workitem/1564.
-
-
- Inizializza una nuova istanza della classe .
- Raccolta contenente i valori usati per inizializzare il provider.
- Oggetto contenente informazioni sulle impostazioni cultura di destinazione.
- Il parametro è null.
-
-
- Determina se la raccolta contiene il prefisso specificato.
- true se la raccolta contiene il prefisso specificato. In caso contrario, false.
- Prefisso da ricercare.
- Il parametro è null.
-
-
- Ottiene le chiavi usando il prefisso specificato.
- Chiavi.
- Prefisso.
-
-
- Restituisce un oggetto valore tramite la chiave specificata.
- Oggetto valore per la chiave specificata.
- Chiave dell'oggetto valore da recuperare.
- Il parametro è null.
-
-
- Restituisce un oggetto valore usando la chiave e la direttiva di convalida specificate.
- Oggetto valore per la chiave specificata.
- Chiave.
- true se la convalida deve essere ignorata. In caso contrario, false.
-
-
- Fornisce un wrapper utile per l'attributo .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Rappresenta un attributo utilizzato per indicare che un metodo del controller non è un metodo di azione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se l'attributo contrassegna un metodo che non è un metodo di azione utilizzando il contesto del controller specificato.
- true se l'attributo contrassegna un metodo non di azione valido. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo.
-
-
- Rappresenta un attributo utilizzato per contrassegnare un metodo di azione il cui output verrà memorizzato nella cache.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il nome del profilo della cache.
- Nome del profilo della cache.
-
-
- Ottiene o imposta la cache dell'azione figlio.
- Cache dell'azione figlio.
-
-
- Ottiene o imposta la durata della cache in secondi.
- Durata della cache.
-
-
- Restituisce un valore che indica se è attiva una cache dell'azione figlio.
- true se la cache dell'azione figlio è attiva. In caso contrario, false.
- Contesto del controller.
-
-
- Ottiene o imposta il percorso.
- Il percorso.
-
-
- Ottiene o imposta un valore che indica se archiviare la cache.
- true se la cache deve essere archiviata. In caso contrario, false.
-
-
- Questo metodo è un'implementazione di e supporta l'infrastruttura ASP.NET MVC.Non deve essere utilizzato direttamente dal codice.
- Contesto del filtro.
-
-
- Questo metodo è un'implementazione di e supporta l'infrastruttura ASP.NET MVC.Non deve essere utilizzato direttamente dal codice.
- Contesto del filtro.
-
-
- Questo metodo è un'implementazione di e supporta l'infrastruttura ASP.NET MVC.Non deve essere utilizzato direttamente dal codice.
- Contesto del filtro.
-
-
- Questo metodo è un'implementazione di e supporta l'infrastruttura ASP.NET MVC.Non deve essere utilizzato direttamente dal codice.
- Contesto del filtro.
-
-
- Chiamato prima dell'esecuzione del risultato dell'azione.
- Contesto del filtro che incapsula informazioni per l'utilizzo di .
- Il parametro è null.
-
-
- Ottiene o imposta la dipendenza SQL.
- Dipendenza SQL.
-
-
- Ottiene o imposta la codifica variabile in base al contenuto.
- Codifica variabile in base al contenuto.
-
-
- Ottiene o imposta il valore variabile in base alla personalizzazione.
- Valore variabile in base alla personalizzazione.
-
-
- Ottiene o imposta il valore variabile in base all'intestazione.
- Valore variabile in base all'intestazione.
-
-
- Ottiene o imposta il valore variabile in base al parametro.
- Valore variabile in base al parametro.
-
-
- Rappresenta gli attributi associati al filtro di override.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i filtri per eseguire l'override per questa istanza.
- Filtri per eseguire l'override per questa istanza.
-
-
- Rappresenta gli attributi associati all'autenticazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i filtri per eseguire l'override per questa istanza.
- Filtri per eseguire l'override per questa istanza.
-
-
- Rappresenta gli attributi associati all'autorizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i filtri per eseguire l'override per questa istanza.
- Filtri per eseguire l'override per questa istanza.
-
-
- Rappresenta gli attributi associati al filtro dell'eccezione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i filtri per eseguire l'override per questa istanza.
- Filtri per eseguire l'override per questa istanza.
-
-
- Rappresenta gli attributi associati al filtro del risultato.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i filtri per eseguire l'override per questa istanza.
- Filtri per eseguire l'override per questa istanza.
-
-
- Incapsula le informazioni per l'associazione dei parametri del metodo di azione a un modello di dati.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il gestore di associazione del modello.
- Strumento di associazione di modelli.
-
-
- Ottiene un elenco di valori delimitati da virgole di nomi di proprietà per i quali l'associazione è disabilitata.
- Elenco di esclusione.
-
-
- Ottiene un elenco di valori delimitati da virgole di nomi di proprietà per i quali l'associazione è abilitata.
- Elenco di inclusione.
-
-
- Ottiene il prefisso da utilizzare quando il framework MVC associa un valore a un parametro di azione o a una proprietà del modello.
- Prefisso.
-
-
- Contiene informazioni che descrivono un parametro.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il descrittore dell'azione.
- Descrittore dell'azione.
-
-
- Ottiene le informazioni di associazione.
- Informazioni di associazione.
-
-
- Ottiene il valore predefinito del parametro.
- Valore predefinito del parametro.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, identificati dal tipo.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
- Il parametro è null.
-
-
- Indica se per questo membro sono definite una o più istanze di un tipo di attributo personalizzato.
- true se per questo membro è definito il tipo di attributo personalizzato. In caso contrario, false.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il parametro è null.
-
-
- Ottiene il nome del parametro.
- Nome del parametro.
-
-
- Ottiene il tipo del parametro.
- Tipo del parametro.
-
-
- Rappresenta una classe di base utilizzata per inviare una visualizzazione parziale alla risposta.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce l'oggetto utilizzato per eseguire il rendering della visualizzazione.
- Risultato del motore di visualizzazione.
- Contesto del controller.
- Si è verificato un errore durante il tentativo di ricerca della visualizzazione da parte del metodo.
-
-
- Fornisce un punto di registrazione per il codice di preavvio dell'applicazione ASP.NET Razor.
-
-
- Registra il codice di preavvio dell'applicazione Razor.
-
-
- Rappresenta un provider di valori per stringhe di query contenute in un oggetto .
-
-
- Inizializza una nuova istanza della classe .
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
-
-
- Rappresenta una classe responsabile della creazione di una nuova istanza di un oggetto provider di valori per stringhe di query.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto provider di valori per il contesto del controller specificato.
- Oggetto provider di valori per stringhe di query.
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
- Il parametro è null.
-
-
- Fornisce un adattatore per l'attributo .
-
-
- Inizializza una nuova istanza della classe .
- Metadati del modello.
- Contesto del controller.
- Attributo range.
-
-
- Ottiene un elenco di regole di convalida del client per la verifica di un intervallo.
- Elenco di regole di convalida del client per la verifica di un intervallo.
-
-
- Rappresenta la classe utilizzata per creare le visualizzazioni con sintassi Razor.
-
-
- Inizializza una nuova istanza della classe .
- Contesto del controller.
- Percorso della visualizzazione.
- Layout o pagina master.
- Valore che indica se i file di avvio della visualizzazione devono essere eseguiti prima della visualizzazione.
- Set di estensioni che verranno utilizzate per cercare i file di avvio della visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando l'attivatore della pagina di visualizzazione.
- Contesto del controller.
- Percorso della visualizzazione.
- Layout o pagina master.
- Valore che indica se i file di avvio della visualizzazione devono essere eseguiti prima della visualizzazione.
- Set di estensioni che verranno utilizzate per cercare i file di avvio della visualizzazione.
- Attivatore della pagina di visualizzazione.
-
-
- Ottiene il layout o la pagina master.
- Layout o pagina master.
-
-
- Esegue il rendering del contesto di visualizzazione specificato utilizzando il writer e l'istanza di specificati.
- Contesto di visualizzazione.
- Writer utilizzato per il rendering della visualizzazione nella risposta.
- Istanza di .
-
-
- Ottiene un valore che indica se i file di avvio della visualizzazione devono essere eseguiti prima della visualizzazione.
- Valore che indica se i file di avvio della visualizzazione devono essere eseguiti prima della visualizzazione.
-
-
- Ottiene o imposta il set di estensioni di file che verranno utilizzate per cercare i file di avvio della visualizzazione.
- Set di estensioni di file che verranno utilizzate per cercare i file di avvio della visualizzazione.
-
-
- Rappresenta un motore di visualizzazione utilizzato per eseguire il rendering di una pagina Web che utilizza la sintassi ASP.NET Razor.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'attivatore della pagina di visualizzazione.
- Attivatore della pagina di visualizzazione.
-
-
- Crea una visualizzazione parziale utilizzando il contesto del controller e il percorso parziale specificati.
- Visualizzazione parziale.
- Contesto del controller.
- Percorso della visualizzazione parziale.
-
-
- Crea una visualizzazione utilizzando il contesto del controller specificato e i percorsi della visualizzazione e della visualizzazione Master.
- Visualizzazione.
- Contesto del controller.
- Percorso della visualizzazione.
- Percorso della visualizzazione Master.
-
-
- Controlla l'elaborazione delle azioni dell'applicazione eseguendo il reindirizzamento a un URI specificato.
-
-
- Inizializza una nuova istanza della classe .
- URL di destinazione.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe utilizzando l'URL e il flag di reindirizzamento permanente specificati.
- URL.
- Valore che indica se l'indirizzamento deve essere permanente.
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui il risultato viene eseguito.
- Il parametro è null.
-
-
- Ottiene un valore che indica se il reindirizzamento deve essere permanente.
- true se il reindirizzamento deve essere permanente. In caso contrario, false.
-
-
- Ottiene o imposta l'URL di destinazione.
- URL di destinazione.
-
-
- Rappresenta un risultato che esegue un reindirizzamento utilizzando il dizionario di valori della route specificato.
-
-
- Inizializza una nuova istanza della classe utilizzando il nome e i valori della route specificati.
- Nome della route.
- Valori della route.
-
-
- Inizializza una nuova istanza della classe utilizzando il nome della route, i valori della route e il flag di reindirizzamento permanente specificati.
- Nome della route.
- Valori della route.
- Valore che indica se l'indirizzamento deve essere permanente.
-
-
- Inizializza una nuova istanza della classe utilizzando i valori della route specificati.
- Valori della route.
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui il risultato viene eseguito.
- Il parametro è null.
-
-
- Ottiene un valore che indica se il reindirizzamento deve essere permanente.
- true se il reindirizzamento deve essere permanente. In caso contrario, false.
-
-
- Ottiene o imposta il nome della route.
- Nome della route.
-
-
- Ottiene o imposta i valori della route.
- Valori della route.
-
-
- Contiene informazioni che descrivono un metodo di azione riflesso.
-
-
- Inizializza una nuova istanza della classe .
- Informazioni sul metodo di azione.
- Nome dell'azione.
- Descrittore del controller.
- Il parametro o è null.
- Il parametro è null o vuoto.
-
-
- Ottiene il nome dell'azione.
- Nome dell'azione.
-
-
- Ottiene il descrittore del controller.
- Descrittore del controller.
-
-
- Esegue il contesto del controller specificato utilizzando i parametri del metodo di azione specificati.
- Valore restituito dell'azione.
- Contesto del controller.
- Parametri.
- Il parametro o è null.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, identificati dal tipo.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Ottiene gli attributi del filtro.
- Attributi del filtro.
- true per utilizzare la cache. In caso contrario, false.
-
-
- Recupera i parametri del metodo di azione.
- Parametri del metodo di azione.
-
-
- Recupera i selettori dell'azione.
- Selettori dell'azione.
-
-
- Indica se per questo membro sono definite una o più istanze di un tipo di attributo personalizzato.
- true se per questo membro è definito il tipo di attributo personalizzato. In caso contrario, false.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Ottiene o imposta le informazioni sul metodo di azione.
- Informazioni sul metodo di azione.
-
-
- Ottiene l'ID univoco del descrittore dell'azione riflessa mediante l'inizializzazione differita.
- ID univoco.
-
-
- Contiene informazioni che descrivono un controller riflesso.
-
-
- Inizializza una nuova istanza della classe .
- Tipo del controller.
- Il parametro è null.
-
-
- Ottiene il tipo del controller.
- Tipo del controller.
-
-
- Trova l'azione specificata per il contesto del controller specificato.
- Informazioni sull'azione.
- Contesto del controller.
- Nome dell'azione.
- Il parametro è null.
- Il parametro è null o vuoto.
-
-
- Restituisce l'elenco di azioni per il controller.
- Elenco di descrittori delle azioni per il controller.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, identificati dal tipo.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Ottiene gli attributi del filtro.
- Attributi del filtro.
- true per utilizzare la cache. In caso contrario, false.
-
-
- Restituisce un valore che indica se per questo membro sono definite una o più istanze di un tipo di attributo personalizzato.
- true se per questo membro è definito il tipo di attributo personalizzato. In caso contrario, false.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Contiene informazioni che descrivono un parametro del metodo di azione riflesso.
-
-
- Inizializza una nuova istanza della classe .
- Informazioni sul parametro.
- Descrittore dell'azione.
- Il parametro o è null.
-
-
- Ottiene il descrittore dell'azione.
- Descrittore dell'azione.
-
-
- Ottiene le informazioni di associazione.
- Informazioni di associazione.
-
-
- Ottiene il valore predefinito del parametro riflesso.
- Valore predefinito del parametro riflesso.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, identificati dal tipo.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Restituisce un valore che indica se per questo membro sono definite una o più istanze di un tipo di attributo personalizzato.
- true se per questo membro è definito il tipo di attributo personalizzato. In caso contrario, false.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Ottiene o imposta le informazioni sul parametro.
- Informazioni sul parametro.
-
-
- Ottiene il nome del parametro.
- Nome del parametro.
-
-
- Ottiene il tipo del parametro.
- Tipo del parametro.
-
-
- Fornisce un adattatore per l'attributo .
-
-
- Inizializza una nuova istanza della classe .
- Metadati del modello.
- Contesto del controller.
- Attributo di espressione regolare.
-
-
- Ottiene un elenco di regole di convalida del client per l'espressione regolare.
- Elenco di regole di convalida del client per l'espressione regolare.
-
-
- Fornisce un attributo che usa il validator remoto del plug-in di convalida jQuery.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe usando il nome della route specificato.
- Nome della route.
-
-
- Inizializza una nuova istanza della classe usando il nome del metodo di azione e il nome del controller specificati.
- Nome del metodo di azione.
- Nome del controller.
-
-
- Inizializza una nuova istanza della classe usando il nome del metodo di azione, il nome del controller e il nome dell'area specificati.
- Nome del metodo di azione.
- Nome del controller.
- Nome dell'area.
-
-
- Inizializza una nuova istanza della classe .
- Nome della route.
- Nome del controller.
- Cercare il controller nella radice se .In caso contrario, cercare nell'area corrente.
-
-
- Ottiene o imposta i campi aggiuntivi necessari per la convalida.
- Campi aggiuntivi necessari per la convalida.
-
-
- Restituisce una stringa delimitata da virgole di nomi di campo di convalida.
- Stringa delimitata da virgole di nomi di campo di convalida.
- Il nome della proprietà di convalida.
-
-
- Formatta il messaggio di errore visualizzato quando la convalida non riesce.
- Messaggio di errore formattato.
- Nome da visualizzare con il messaggio di errore.
-
-
- Formatta la proprietà per la convalida del client anteponendo un asterisco (*) e un punto.
- Stringa "*." Viene anteposta alla proprietà.
- Proprietà.
-
-
- Ottiene un elenco di regole di convalida del client per la proprietà.
- Elenco di regole di convalida del client remoto per la proprietà.
- Metadati del modello.
- Contesto del controller.
-
-
- Ottiene l'URL per la chiamata di convalida remota.
- URL per la chiamata di convalida remota.
- Contesto del controller.
-
-
- Ottiene o imposta il metodo HTTP usato per la convalida remota.
- Metodo HTTP usato per la convalida remota.Il valore predefinito è "Get".
-
-
- Questo metodo restituisce sempre true.
- true
- Destinazione di convalida.
-
-
- Ottiene il dizionario dei dati della route.
- Dizionario dei dati della route.
-
-
- Ottiene o imposta il nome della route.
- Nome della route.
-
-
- Ottiene l'insieme di route dalla tabella di route.
- Insieme di route della tabella di route.
-
-
- Fornisce un adattatore per l'attributo .
-
-
- Inizializza una nuova istanza della classe .
- Metadati del modello.
- Contesto del controller.
- Attributo obbligatorio.
-
-
- Ottiene un elenco di regole di convalida del client per il valore obbligatorio.
- Elenco di regole di convalida del client per il valore obbligatorio.
-
-
- Rappresenta un attributo che impone il nuovo invio di una richiesta HTTP non sicura tramite HTTPS.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Gestisce richieste HTTP non protette inviate al metodo di azione.
- Oggetto che incapsula le informazioni necessarie per l'utilizzo dell'attributo .
- La richiesta HTTP contiene un override del metodo di trasferimento non valido.Tutte le richieste GET non vengono considerate valide.
-
-
- Determina se una richiesta è sicura (HTTPS) e, in caso contrario, chiama il metodo .
- Oggetto che incapsula le informazioni necessarie per l'utilizzo dell'attributo .
- Il parametro è null.
-
-
- Fornisce il contesto per il metodo della classe .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe .
- Contesto del controller.
- Oggetto risultato.
- true per annullare l'esecuzione. In caso contrario, false.
- Oggetto eccezione.
- Il parametro è null.
-
-
- Ottiene o imposta un valore che indica se l'stanza di è annullata.
- true se l'istanza è annullata. In caso contrario, false.
-
-
- Ottiene o imposta l'oggetto eccezione.
- Oggetto eccezione.
-
-
- Ottiene o imposta un valore che indica se l'eccezione è stata gestita.
- true se l'eccezione è stata gestita. In caso contrario, false.
-
-
- Ottiene o imposta il risultato dell'azione.
- Risultato dell'azione.
-
-
- Fornisce il contesto per il metodo della classe .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller e il risultato dell'azione specificati.
- Contesto del controller.
- Risultato dell'azione.
- Il parametro è null.
-
-
- Ottiene o imposta un valore che indica se il valore di è "cancel".
- true se il valore è "cancel". In caso contrario, false.
-
-
- Ottiene o imposta il risultato dell'azione.
- Risultato dell'azione.
-
-
- Definisce un'area da impostare per tutte le route definite in questo controller.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe .
- Nome dell'area.Se il valore è null, verrà effettuato un tentativo per dedurre il nome dell'area dallo spazio dei nomi del controller di destinazione.
-
-
- Ottiene il nome dell'area da impostare per tutte le route definite nel controller.Se il valore è null, verrà effettuato un tentativo per dedurre il nome dell'area dallo spazio dei nomi del controller di destinazione.
- Nome dell'area da impostare per tutte le route definite nel controller.
-
-
- Ottiene il prefisso dell'URL da applicare a tutte le route di questa area.L'impostazione predefinita è il nome dell'area.
- Prefisso dell'URL da applicare a tutte le route di questa area.
-
-
- Inserisce un controller o un'azione da esporre direttamente tramite una route.Una volta inserito un controller, questo viene applicato alle azioni che non includono un oggetto System.Web.Mvc.RouteAttribute’s.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe con il modello specificato.
- Modello della route con cui stabilire una corrispondenza.
-
-
- Ottiene o imposta il nome della route.
- Nome della route.
-
-
- Ottiene l'ordine in cui viene applicata la route.
- Ordine in cui viene applicata la route.
-
-
- Crea una voce della route diretta.
- Voce della route diretta.
- Contesto da utilizzare per creare la route.
-
-
- Ottiene il modello per la route con cui stabilire una corrispondenza.
- Modello con cui stabilire una corrispondenza.
-
-
- Fornisce estensioni di routing per l'attributo dell'insieme di route.
-
-
- Esegue il mapping delle route definite da un attributo per l'applicazione.
- Insieme di route.
-
-
- Esegue il mapping delle route definite da un attributo per l'applicazione.
-
- da usare per il mapping delle route.
-
-
- Esegue il mapping delle route definite da un attributo per l'applicazione.
- Insieme di route.
-
- da usare per la risoluzione dei vincoli inline nei modelli di route.
-
-
- Esegue il mapping delle route definite da un attributo per l'applicazione.
-
- da usare per la risoluzione dei vincoli inline nei modelli di route.
-
- da usare per il mapping delle route.
-
-
- Estende un oggetto per il routing MVC.
-
-
- Restituisce un oggetto che contiene informazioni sulla route e il percorso virtuale risultanti dalla generazione di un URL nell'area corrente.
- Oggetto che contiene informazioni sulla route e il percorso virtuale risultanti dalla generazione di un URL nell'area corrente.
- Oggetto che contiene le route perle applicazioni.
- Oggetto che incapsula informazioni sulla ruote richiesta.
- Nome della route da utilizzare quando vengono recuperate le informazioni sul percorso URL.
- Oggetto contenente i parametri per una route.
-
-
- Restituisce un oggetto che contiene informazioni sulla route e il percorso virtuale risultanti dalla generazione di un URL nell'area corrente.
- Oggetto che contiene informazioni sulla route e il percorso virtuale risultanti dalla generazione di un URL nell'area corrente.
- Oggetto che contiene le route perle applicazioni.
- Oggetto che incapsula informazioni sulla ruote richiesta.
- Oggetto contenente i parametri per una route.
-
-
- Ignora la route dell'URL specificata per l'elenco di route disponibili.
- Raccolta di route per l'applicazione.
- Modello di URL per la route da ignorare.
- Il parametro o è null.
-
-
- Ignora la route dell'URL specificata per l'elenco di route disponibili e un elenco di vincoli.
- Raccolta di route per l'applicazione.
- Modello di URL per la route da ignorare.
- Set di espressioni che specificano i valori per il parametro .
- Il parametro o è null.
-
-
- Esegue il mapping della route dell'URL specificata.
- Riferimento alla route di cui è stato eseguito il mapping.
- Raccolta di route per l'applicazione.
- Nome della route di cui eseguire il mapping.
- Modello di URL per la route.
- Il parametro o è null.
-
-
- Esegue il mapping della route dell'URL specificata e imposta valori della route predefiniti.
- Riferimento alla route di cui è stato eseguito il mapping.
- Raccolta di route per l'applicazione.
- Nome della route di cui eseguire il mapping.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Il parametro o è null.
-
-
- Esegue il mapping della route dell'URL specificata e imposta valori della route e i vincoli predefiniti.
- Riferimento alla route di cui è stato eseguito il mapping.
- Raccolta di route per l'applicazione.
- Nome della route di cui eseguire il mapping.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Set di espressioni che specificano i valori per il parametro .
- Il parametro o è null.
-
-
- Esegue il mapping della route dell'URL specificata e imposta valori della route, vincoli e spazi dei nomi predefiniti.
- Riferimento alla route di cui è stato eseguito il mapping.
- Raccolta di route per l'applicazione.
- Nome della route di cui eseguire il mapping.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Set di espressioni che specificano i valori per il parametro .
- Set di spazi dei nomi per l'applicazione.
- Il parametro o è null.
-
-
- Esegue il mapping della route dell'URL specificata e imposta valori della route e gli spazi dei nomi predefiniti.
- Riferimento alla route di cui è stato eseguito il mapping.
- Raccolta di route per l'applicazione.
- Nome della route di cui eseguire il mapping.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Set di spazi dei nomi per l'applicazione.
- Il parametro o è null.
-
-
- Esegue il mapping della route dell'URL specificata e imposta gli spazi dei nomi.
- Riferimento alla route di cui è stato eseguito il mapping.
- Raccolta di route per l'applicazione.
- Nome della route di cui eseguire il mapping.
- Modello di URL per la route.
- Set di spazi dei nomi per l'applicazione.
- Il parametro o è null.
-
-
- Rappresenta un provider di valori per dati della route contenuti in un oggetto che implementa l'interfaccia .
-
-
- Inizializza una nuova istanza della classe .
- Oggetto contenente informazioni sulla richiesta HTTP.
-
-
- Rappresenta una factory per la creazione di oggetti provider di valori per dati della route.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto provider di valori per il contesto del controller specificato.
- Oggetto provider di valori.
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
- Il parametro è null.
-
-
- Annota un controller con un prefisso di route che si applica a tutte le azioni all'interno del controller.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe con il prefisso specificato.
- Prefisso della route per il controller.
-
-
- Ottiene il prefisso della route.
- Prefisso della route.
-
-
- Rappresenta un elenco che consente agli utenti di selezionare un elemento.
-
-
- Inizializza una nuova istanza della classe usando gli elementi specificati per l'elenco.
- Elementi.
-
-
- Inizializza una nuova istanza della classe usando gli elementi specificati per l'elenco e un valore selezionato.
- Elementi.
- Valore selezionato.
-
-
- Inizializza una nuova istanza della classe SelectList usando gli elementi specificati per l'elenco, il valore selezionato e i valori disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Valore selezionato.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe usando gli elementi specificati per l'elenco, il campo del valore dei dati e il campo del testo dei dati.
- Elementi.
- Campo del valore dei dati.
- Campo del testo dei dati.
-
-
- Inizializza una nuova istanza della classe usando gli elementi specificati per l'elenco, il campo del valore dei dati, il campo del testo dei dati e un valore selezionato.
- Elementi.
- Campo del valore dei dati.
- Campo del testo dei dati.
- Valore selezionato.
-
-
- Inizializza una nuova istanza della classe SelectList usando gli elementi specificati per l'elenco, il campo del valore dei dati, il campo del testo dei dati, il valore selezionato e i valori disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Valore selezionato.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe SelectList usando gli elementi specificati per l'elenco, il campo del valore dei dati, il campo del testo dei dati, il campo del gruppo dei dati e il valore selezionato.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo del gruppo dei dati.Usato per stabilire una corrispondenza con la proprietà Group dell'elemento corrispondente.
- Valore selezionato.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe SelectList usando gli elementi specificati per l'elenco, il campo del valore dei dati, il campo del testo dei dati, il campo del gruppo dei dati, il valore selezionato e i valori disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo del gruppo dei dati.Usato per stabilire una corrispondenza con la proprietà Group dell'elemento corrispondente.
- Valore selezionato.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe SelectList usando gli elementi specificati per l'elenco, il campo del valore dei dati, il campo del testo dei dati e il campo del gruppo dei dati.Valore selezionato, valori disabilitati e gruppi disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo del gruppo dei dati.Usato per stabilire una corrispondenza con la proprietà Group dell'elemento corrispondente.
- Valore selezionato.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
- Gruppi disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Ottiene il valore di elenco selezionato dall'utente.
- Valore selezionato.
-
-
- Rappresenta l'elemento HTML optgroup e i relativi attributi.In un elenco di selezione sono supportati più gruppi con lo stesso nome.Il confronto è eseguito tramite l'uguaglianza del riferimento.
-
-
-
- Ottiene o imposta un valore che indica se l'oggetto è disabilitato.
-
-
- Rappresenta il valore dell'etichetta di optgroup.
-
-
- Rappresenta l'elemento selezionato in un'istanza della classe .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta un valore che indica se l'oggetto è disabilitato.
-
-
- Rappresenta l'elemento HTML optgroup in cui è stato eseguito il wrapping dell'elemento.In un elenco di selezione sono supportati più gruppi con lo stesso nome.Il confronto è eseguito tramite l'uguaglianza del riferimento.
-
-
- Ottiene o imposta un valore che indica se l'oggetto è selezionato.
- true se l'elemento è selezionato. In caso contrario, false.
-
-
- Ottiene o imposta il testo dell'elemento selezionato.
- Testo.
-
-
- Ottiene o imposta il valore dell'elemento selezionato.
- Valore.
-
-
- Specifica lo stato della sessione del controller.
-
-
- Inizializza una nuova istanza della classe .
- Tipo di stato della sessione.
-
-
- Ottiene il comportamento dello stato di sessione del controller.
- Comportamento dello stato di sessione del controller.
-
-
- Fornisce i dati dello stato sessione all'oggetto corrente.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Carica i dati temporanei utilizzando il contesto del controller specificato.
- Dati temporanei.
- Contesto del controller.
- Si è verificato un errore durante il recupero del contesto della sessione.
-
-
- Salva i valori specificati nel dizionario dei dati temporanei utilizzando il contesto del controller specificato.
- Contesto del controller.
- Valori.
- Si è verificato un errore durante il recupero del contesto della sessione.
-
-
- Fornisce un adattatore per l'attributo .
-
-
- Inizializza una nuova istanza della classe .
- Metadati del modello.
- Contesto del controller.
- Attributo string-length.
-
-
- Ottiene un elenco di regole di convalida del client per la lunghezza delle stringhe.
- Elenco di regole di convalida del client per la lunghezza delle stringhe.
-
-
- Rappresenta un set di dati che rimangono persistenti solo da una richiesta a quella successiva.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Aggiunge un elemento con la chiave e il valore specificati all'oggetto .
- Chiave dell'elemento da aggiungere.
- Valore dell'elemento da aggiungere.
- L'oggetto è di sola lettura.
-
- è null.
- Un elemento con la stessa chiave esiste già nell'oggetto .
-
-
- Rimuove tutti gli elementi dall'istanza di .
- L'oggetto è di sola lettura.
-
-
- Determina se l'istanza di contiene un elemento con la chiave specificata.
- true se l'istanza di contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave da individuare nell'istanza di .
-
- è null.
-
-
- Determina se il dizionario contiene il valore specificato.
- true se il dizionario contiene il valore specificato. In caso contrario, false.
- Valore.
-
-
- Ottiene il numero di elementi dell'oggetto .
- Numero di elementi nell'oggetto .
-
-
- Ottiene l'enumeratore.
- Enumeratore.
-
-
- Ottiene o imposta l'oggetto con la chiave specificata.
- Oggetto con la chiave specificata.
-
-
- Contrassegna tutte le chiavi nel dizionario per la memorizzazione.
-
-
- Contrassegna la chiave specificata nel dizionario per la memorizzazione.
- Chiave da conservare nel dizionario.
-
-
- Ottiene un oggetto che contiene le chiavi di elementi nell'oggetto .
- Chiavi degli elementi nell'oggetto .
-
-
- Carica il contesto del controller specificato utilizzando il provider di dati specificato.
- Contesto del controller.
- Provider di dati temporanei.
-
-
- Restituisce un oggetto che contiene l'elemento associato alla chiave specificata, senza contrassegnare la chiave per l'eliminazione.
- Oggetto contenente l'elemento che è associato alla chiave specificata.
- Chiave dell'elemento da restituire.
-
-
- Rimuove l'elemento con la chiave specificata dall'oggetto .
- true se l'elemento è stato rimosso. In caso contrario, false.Questo metodo restituisce inoltre false se non viene trovato in ..
- Chiave dell'elemento da rimuovere.
- L'oggetto è di sola lettura.
-
- è null.
-
-
- Salva il contesto del controller specificato utilizzando il provider di dati specificato.
- Contesto del controller.
- Provider di dati temporanei.
-
-
- Aggiunge la coppia chiave/valore specificata al dizionario.
- Coppia chiave-valore.
-
-
- Determina se una sequenza contiene uno specifico elemento utilizzando l'operatore di confronto uguaglianze predefinito.
- true se il dizionario contiene la coppia chiave/valore specificata. In caso contrario, false.
- Coppia chiave/valore da cercare.
-
-
- Copia una coppia chiave/valore nella matrice specificata in corrispondenza dell'indice specificato.
- Matrice di destinazione.
- Indice.
-
-
- Ottiene un valore che indica se il dizionario è in sola lettura.
- true se il dizionario è di sola lettura. In caso contrario, false.
-
-
- Elimina la coppia chiave/valore specificata dal dizionario.
- true se la coppia chiave/valore è stata rimossa. In caso contrario, false.
- Coppia chiave-valore.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere un insieme.
- Oggetto che può essere utilizzato per scorrere gli elementi della raccolta.
-
-
- Ottiene il valore dell'elemento con la chiave specificata.
- true se l'oggetto che implementa contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave del valore da ottenere.
- Quando termina, questo metodo restituisce il valore associato alla chiave specificata, se la chiave viene trovata; in caso contrario, restituisce il valore predefinito per il tipo del parametro .Questo parametro viene passato senza inizializzazione.
-
- è null.
-
-
- Ottiene l'oggetto che contiene i valori nell'oggetto .
- Valori degli elementi dell'oggetto che implementa .
-
-
- Incapsula informazioni sul contesto del modello corrente.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il valore del modello formattato.
- Valore del modello formattato.
-
-
- Recupera l'ID DOM completo di un campo utilizzando l'attributo name HTML specificato.
- ID DOM completo.
- Valore dell'attributo HTML name.
-
-
- Recupera il nome completo (che include un prefisso) di un campo utilizzando l'attributo name HTML specificato.
- Nome con prefisso del campo.
- Valore dell'attributo HTML name.
-
-
- Ottiene o imposta il prefisso del campo HTML.
- Prefisso del campo HTML.
-
-
- Contiene il numero di oggetti visitati dall'utente.
- Numero di oggetti.
-
-
- Determina se il modello è stato visitato dall'utente.
- true se il modello è stato visitato dall'utente. In caso contrario, false.
- Oggetto che incapsula informazioni che descrivono il modello.
-
-
- Contiene i metodi per generare gli URL per ASP.NET MVC in un'applicazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto della richiesta specificato.
- Oggetto che contiene le informazioni sulla richiesta corrente e sulla route corrispondente.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto della richiesta e l'insieme di route specificati.
- Oggetto che contiene le informazioni sulla richiesta corrente e sulla route corrispondente.
- Insieme di route.
- Il parametro o è null.
-
-
- Genera una stringa a un URL completo di un metodo di azione.
- Stringa a un URL completo di un metodo di azione.
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione specificato.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione e i valori della route specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato utilizzando la sintassi dell'inizializzatore di oggetto.
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione e il nome del controller specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Nome del controller.
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione, il nome del controller e i valori della route specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato utilizzando la sintassi dell'inizializzatore di oggetto.
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione, il nome del controller, i valori della route e il protocollo specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato utilizzando la sintassi dell'inizializzatore di oggetto.
- Protocollo per l'URL, ad esempio "http" o "https".
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione, il nome del controller e i valori della route specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione, il nome del controller, i valori di route e il protocollo specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Protocollo per l'URL, ad esempio "http" o "https".
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione, il nome del controller, i valori di route, il protocollo e il nome host specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
-
-
- Genera un URL completo di un metodo di azione per il nome dell'azione e i valori della route specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Oggetto contenente i parametri per una route.
-
-
- Converte un percorso (relativo) virtuale in un percorso assoluto dell'applicazione.
- Percorso assoluto dell'applicazione.
- Percorso virtuale del contenuto.
-
-
- Codifica i caratteri speciali di una stringa URL nelle entità carattere equivalenti.
- Stringa URL codificata.
- Testo da codificare.
-
-
- Restituisce una stringa contenente un URL del contenuto.
- Stringa contenente un URL del contenuto.
- Percorso del contenuto.
- Contesto HTTP.
-
-
- Restituisce una stringa contenente un URL.
- Stringa contenente un URL.
- Nome della route.
- Nome dell'azione.
- Nome del controller.
- Protocollo HTTP.
- Nome dell'host.
- Frammento.
- Valori della route.
- Insieme di route.
- Contesto della richiesta.
- true per includere valori MVC impliciti. In caso contrario, false.
-
-
- Restituisce una stringa contenente un URL.
- Stringa contenente un URL.
- Nome della route.
- Nome dell'azione.
- Nome del controller.
- Valori della route.
- Insieme di route.
- Contesto della richiesta.
- true per includere valori MVC impliciti. In caso contrario, false.
-
-
- Genera un URL completo per i valori della route specificati.
- URL completo per i valori della route specificati.
- Nome della route.
- Valori della route.
-
-
- Genera un URL completo per i valori della route specificati.
- URL completo per i valori della route specificati.
- Nome della route.
- Valori della route.
-
-
- Restituisce un valore che indica se l'URL è locale.
- true se l'URL è locale. In caso contrario, false.
- URL.
-
-
- Ottiene le informazioni su una richiesta HTTP che corrisponde a una route definita.
- Contesto della richiesta.
-
-
- Ottiene un insieme contenente le route registrate per l'applicazione.
- Insieme di route.
-
-
- Genera un URL completo per i valori della route specificati.
- URL completo.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato utilizzando la sintassi dell'inizializzatore di oggetto.
-
-
- Genera un URL completo per il nome della route specificato.
- URL completo.
- Nome della route utilizzato per generare l'URL.
-
-
- Genera un URL completo per i valori di route specificati utilizzando un nome di route.
- URL completo.
- Nome della route utilizzato per generare l'URL.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato utilizzando la sintassi dell'inizializzatore di oggetto.
-
-
- Genera un URL completo per i valori della route specificati utilizzando un nome della route e il protocollo.
- URL completo.
- Nome della route utilizzato per generare l'URL.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato utilizzando la sintassi dell'inizializzatore di oggetto.
- Protocollo per l'URL, ad esempio "http" o "https".
-
-
- Genera un URL completo per i valori di route specificati utilizzando un nome di route.
- URL completo.
- Nome della route utilizzato per generare l'URL.
- Oggetto contenente i parametri per una route.
-
-
- Genera un URL completo per i valori della route specificati utilizzando il nome della route, il protocollo e il nome host specificati.
- URL completo.
- Nome della route utilizzato per generare l'URL.
- Oggetto contenente i parametri per una route.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
-
-
- Genera un URL completo per i valori della route specificati.
- URL completo.
- Oggetto contenente i parametri per una route.
-
-
- Rappresenta un parametro facoltativo che viene utilizzato dalla classe durante il routing.
-
-
- Contiene il valore di sola lettura per il parametro facoltativo.
-
-
- Restituisce una stringa vuota.Questo metodo supporta l'infrastruttura ASP.NET MVC e non può essere utilizzato direttamente dal codice.
- Stringa vuota.
-
-
- Fornisce un adattatore dell'oggetto che può essere convalidato.
-
-
- Inizializza una nuova istanza della classe .
- Metadati del modello.
- Contesto del controller.
-
-
- Convalida l'oggetto specificato.
- Elenco dei risultati di convalida.
- Contenitore.
-
-
- Rappresenta un attributo utilizzato per impedire richieste false.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Chiamato quando è necessaria l'autorizzazione.
- Contesto del filtro.
- Il parametro è null.
-
-
- Ottiene o imposta la stringa salt.
- Stringa salt.
-
-
- Rappresenta un attributo utilizzato per contrassegnare i metodi di azione il cui input deve essere convalidato.
-
-
- Inizializza una nuova istanza della classe .
- true per abilitare la convalida.
-
-
- Ottiene o imposta un valore che indica se abilitare la convalida.
- true se la convalida è abilitata. In caso contrario, false.
-
-
- Chiamato quando è necessaria l'autorizzazione.
- Contesto del filtro.
- Il parametro è null.
-
-
- Rappresenta l'insieme di oggetti provider di valori per l'applicazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe e registra i provider di valori specificati.
- Elenco di provider di valori da registrare.
-
-
- Determina se la raccolta contiene il prefisso specificato.
- true se la raccolta contiene il prefisso specificato. In caso contrario, false.
- Prefisso da ricercare.
-
-
- Ottiene le chiavi utilizzando il prefisso specificato.
- Chiavi.
- Prefisso.
-
-
- Restituisce un oggetto valore tramite la chiave specificata.
- Oggetto valore per la chiave specificata.
- Chiave dell'oggetto valore da recuperare.
-
-
- Restituisce un oggetto valore utilizzando la chiave e il parametro per ignorare la convalida specificati.
- Oggetto valore per la chiave specificata.
- Chiave dell'oggetto valore da recuperare.
- true per specificare che la convalida deve essere ignorata. In caso contrario, false.
-
-
- Inserisce l'oggetto provider di valori specificato nell'insieme in corrispondenza della posizione di indice specificata.
- Posizione dell'indice con base zero in corrispondenza della quale inserire il provider di valori nell'insieme.
- Oggetto provider di valori da inserire.
- Il parametro è null.
-
-
- Sostituisce il provider di valori nella posizione di indice specificata con un nuovo provider di valori.
- Indice in base zero dell'elemento da sostituire.
- Nuovo valore dell'elemento in corrispondenza dell'indice specificato.
- Il parametro è null.
-
-
- Nota: Questa API è ora obsoleta.Rappresenta un dizionario di provider di valori per l'applicazione.
-
-
- Inizializza una nuova istanza della classe .
- Contesto del controller.
-
-
- Aggiunge l'elemento specificato all'insieme di provider di valori.
- Oggetto da aggiungere all'oggetto .
- L'oggetto è di sola lettura.
-
-
- Aggiunge un elemento con la chiave e il valore specificati all'insieme di provider di valori.
- Chiave dell'elemento da aggiungere.
- Valore dell'elemento da aggiungere.
- L'oggetto è di sola lettura.
-
- è null.
- Un elemento con la chiave specificata esiste già nell'oggetto .
-
-
- Aggiunge un elemento con la chiave e il valore specificati all'insieme di provider di valori.
- Chiave dell'elemento da aggiungere.
- Valore dell'elemento da aggiungere.
- L'oggetto è di sola lettura.
-
- è null.
- Un elemento con la chiave specificata esiste già nell'oggetto .
-
-
- Rimuove tutti gli elementi dall'insieme di provider di valori.
- L'oggetto è di sola lettura.
-
-
- Determina se l'insieme di provider di valori contiene l'elemento specificato.
- true se viene trovato nella raccolta di provider di valori. In caso contrario, false.
- Oggetto da individuare nell'istanza di .
-
-
- Determina se l'insieme di provider di valori contiene un elemento con la chiave specificata.
- true se la raccolta di provider di valori contiene un elemento con la chiave. In caso contrario, false.
- Chiave dell'elemento da individuare nell'istanza di .
-
- è null.
-
-
- Ottiene o imposta il contesto del controller.
- Contesto del controller.
-
-
- Copia gli elementi dell'insieme in una matrice, a partire dall'indice specificato.
- Matrice unidimensionale che costituisce la destinazione degli elementi copiati dall'oggetto .L'indicizzazione della matrice deve essere in base zero.
- Indice in base zero in in corrispondenza del quale ha inizio la copia.
-
- è null.
-
- è minore di 0.
-
- è multidimensionale.oppure è uguale a o maggiore della lunghezza di .oppureIl numero di elementi nell'insieme di origine è maggiore dello spazio disponibile da alla fine dell'oggetto di destinazione.oppureNon è possibile eseguire automaticamente il cast del tipo al tipo della matrice di destinazione.
-
-
- Ottiene il numero di elementi nell'insieme.
- Numero di elementi contenuti nell'insieme.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere la raccolta.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Ottiene un valore che indica se la raccolta è di sola lettura.
- true se la raccolta è di sola lettura. In caso contrario, false.
-
-
- Ottiene o imposta l'oggetto con la chiave specificata.
- Oggetto .
-
-
- Ottiene un insieme contenente le chiavi dell'istanza di .
- Insieme contenente le chiavi dell'oggetto che implementa l'interfaccia .
-
-
- Rimuove la prima occorrenza dell'elemento specificato dall'insieme di provider di valori.
- true se il parametro è stato rimosso dalla raccolta. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nella raccolta.
- Oggetto che deve essere rimosso dall'istanza di .
- L'oggetto è di sola lettura.
-
-
- Rimuove l'elemento con la chiave specificata dall'insieme di provider di valori.
- true se l'elemento è stato rimosso. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nella raccolta.
- Chiave dell'elemento da rimuovere.
- L'oggetto è di sola lettura.
-
- è null.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere un insieme.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Determina se la raccolta contiene il prefisso specificato.
- true se la raccolta contiene il prefisso specificato. In caso contrario, false.
- Prefisso da ricercare.
-
-
- Restituisce un oggetto valore tramite la chiave specificata.
- Oggetto valore per la chiave specificata.
- Chiave dell'oggetto valore da restituire.
-
-
- Ottiene il valore dell'elemento con la chiave specificata.
- true se l'oggetto che implementa contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave dell'elemento da ottenere.
- Quando termina, questo metodo restituisce il valore associato alla chiave specificata, se la chiave viene trovata; in caso contrario, restituisce il valore predefinito per il tipo del parametro .Questo parametro viene passato senza inizializzazione.
-
- è null.
-
-
- Ottiene un insieme contenente i valori presenti nell'oggetto .
- Insieme dei valori nell'oggetto che implementa l'interfaccia .
-
-
- Rappresenta un contenitore per oggetti factory del provider di valori.
-
-
- Ottiene l'insieme di factory del provider di valori per l'applicazione.
- Insieme di oggetti factory del provider di valori.
-
-
- Rappresenta una factory per la creazione di oggetti provider di valori.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto provider di valori per il contesto del controller specificato.
- Oggetto provider di valori.
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
-
-
- Rappresenta l'insieme di factory del provider di valori per l'applicazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe usando l'elenco di factory del provider di valori specificato.
- Elenco di factory del provider di valori con cui inizializzare l'insieme.
-
-
- Rimuove tutti gli elementi dalla raccolta.
-
-
- Restituisce la factory del provider di valori per il contesto del controller specificato.
- Oggetto factory del provider di valori per il contesto del controller specificato.
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
-
-
- Inserisce l'oggetto factory del provider di valori specificato in corrispondenza della posizione di indice specificata.
- Posizione dell'indice con base zero in corrispondenza della quale inserire il provider di valori nell'insieme.
- Oggetto factory del provider di valori da inserire.
- Il parametro è null.
-
-
- Rimuove l'elemento all'indice specificato della .
- Indice in base zero dell'elemento da rimuovere.
-
- è minore di 0.oppure è uguale o maggiore di
-
-
- Imposta l'oggetto factory del provider di valori specificato in corrispondenza della posizione di indice data.
- Posizione dell'indice con base zero in corrispondenza della quale inserire il provider di valori nell'insieme.
- Oggetto factory del provider di valori da impostare.
- Il parametro è null.
-
-
- Rappresenta il risultato dell'associazione di un valore (ad esempio da un form o da una stringa di query) con una proprietà dell'argomento del metodo di azione o all'argomento stesso.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il valore non elaborato, il valore utilizzato come tentativo e le informazioni relative alle impostazioni cultura specificati.
- Valore non elaborato.
- Valore utilizzato come tentativo.
- Impostazioni cultura.
-
-
- Ottiene o imposta il valore non elaborato convertito in una stringa per la visualizzazione.
- Valore non elaborato.
-
-
- Converte il valore incapsulato dal risultato nel tipo specificato.
- Valore convertito.
- Tipo di destinazione.
- Il parametro è null.
-
-
- Converte il valore incapsulato dal risultato nel tipo specificato utilizzando le informazioni relative alle impostazioni cultura specificate.
- Valore convertito.
- Tipo di destinazione.
- Impostazioni cultura da utilizzare nella conversione.
- Il parametro è null.
-
-
- Ottiene o imposta le impostazioni cultura.
- Impostazioni cultura.
-
-
- Ottiene o imposta il valore non elaborato fornito dal provider di valori.
- Valore non elaborato.
-
-
- Incapsula le informazioni correlate al rendering di una visualizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe usando il contesto del controller, la visualizzazione, il dizionario dei dati della visualizzazione, il dizionario dei dati temporanei e il writer di testo specificati.
- Incapsula informazioni sulla richiesta HTTP.
- Visualizzazione di cui eseguire il rendering.
- Dizionario che contiene i dati necessari per eseguire il rendering della visualizzazione.
- Dizionario che contiene i dati temporanei per la visualizzazione.
- Oggetto writer di testo usato per scrivere l'output HTML.
- Uno dei parametri è null.
-
-
- Ottiene o imposta un valore che indica se la convalida lato client è abilitata.
- true se la convalida sul lato client è abilitata. In caso contrario, false.
-
-
- Ottiene o imposta un oggetto che incapsula le informazioni necessarie per convalidare ed elaborare i dati di input da un form HTML.
- Oggetto che incapsula le informazioni necessarie per convalidare ed elaborare i dati di input da un form HTML.
-
-
- Scrive le informazioni di convalida del client nella risposta HTTP.
-
-
- Ottiene i dati associati a questa richiesta e disponibili per una sola richiesta.
- Dati temporanei.
-
-
- Ottiene o imposta un valore che indica se è abilitato l'utilizzo di JavaScript non intrusivo.
- true se l'utilizzo di JavaScript non intrusivo è abilitato. In caso contrario, false.
-
-
- Nome di elemento usato per il wrapping di un messaggio di primo livello generato da e altri overload.
-
-
- Nome di elemento usato per il wrapping di un messaggio di primo livello generato da e altri overload.
-
-
- Ottiene un oggetto che implementa l'interfaccia per il rendering nel browser.
- Visualizzazione.
-
-
- Ottiene il dizionario dei dati della visualizzazione dinamica.
- Dizionario dei dati della visualizzazione dinamica.
-
-
- Ottiene i dati della visualizzazione che vengono passati alla visualizzazione stessa.
- Dati della visualizzazione.
-
-
- Ottiene o imposta l'oggetto writer di testo usato per scrivere l'output HTML.
- Oggetto usato per scrivere l'output HTML.
-
-
- Rappresenta un contenitore utilizzato per passare dati tra un controller e una visualizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il modello specificato.
- Modello.
-
-
- Inizializza una nuova istanza della classe utilizzando il dizionario specificato.
- Dizionario.
- Il parametro è null.
-
-
- Aggiunge l'elemento specificato all'insieme.
- Oggetto da aggiungere all'insieme.
- L'insieme è di sola lettura.
-
-
- Aggiunge un elemento all'insieme utilizzando la chiave e il valore specificati.
- Chiave dell'elemento da aggiungere.
- Valore dell'elemento da aggiungere.
- L'oggetto è di sola lettura.
-
- è null.
- Un elemento con la stessa chiave esiste già nell'oggetto .
-
-
- Rimuove tutti gli elementi dall'insieme.
- L'oggetto è di sola lettura.
-
-
- Determina se l'insieme contiene l'elemento specificato.
- true se viene trovato nella raccolta. In caso contrario, false.
- Oggetto da individuare nell'insieme.
-
-
- Determina se l'insieme contiene un elemento con la chiave specificata.
- true se la raccolta contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave dell'elemento da individuare nell'insieme.
-
- è null.
-
-
- Copia gli elementi dell'insieme in una matrice, a partire da un indice specifico.
- Matrice unidimensionale che rappresenta la destinazione degli elementi copiati dall'insieme.L'indicizzazione della matrice deve essere in base zero.
- Indice in base zero in in corrispondenza del quale viene iniziata la copia.
-
- è null.
-
- è minore di 0.
-
- è multidimensionale.oppure è uguale a o maggiore della lunghezza di .oppure Il numero di elementi nell'insieme di origine è maggiore dello spazio disponibile da alla fine dell'oggetto di destinazione.oppure Non è possibile eseguire automaticamente il cast del tipo al tipo dell'oggetto di destinazione.
-
-
- Ottiene il numero di elementi nell'insieme.
- Numero di elementi contenuti nell'insieme.
-
-
- Valuta l'espressione specificata.
- Risultati della valutazione.
- Espressione.
- Il parametro è null o vuoto.
-
-
- Valuta l'espressione specificata utilizzando il formato specificato.
- Risultati della valutazione.
- Espressione.
- Formato.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere la raccolta.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Restituisce informazioni sui dati di visualizzazione definiti dal parametro .
- Oggetto contenente informazioni sui dati di visualizzazione definiti dal parametro .
- Set di coppie chiave/valore che definiscono le informazioni sui dati di visualizzazione da restituire.
- Il parametro è null o vuoto.
-
-
- Ottiene un valore che indica se la raccolta è di sola lettura.
- true se la raccolta è di sola lettura. In caso contrario, false.
-
-
- Ottiene o imposta l'elemento associato alla chiave specificata.
- Valore dell'elemento selezionato.
-
-
- Ottiene un insieme contenente le chiavi del dizionario.
- Insieme contenente le chiavi dell'oggetto che implementa .
-
-
- Ottiene o imposta il modello associato ai dati di visualizzazione.
- Modello associato ai dati di visualizzazione.
-
-
- Ottiene o imposta informazioni sul modello.
- Informazioni sul modello.
-
-
- Ottiene lo stato del modello.
- Stato del modello.
-
-
- Rimuove la prima occorrenza di un oggetto specificato dall'insieme.
- true se il parametro è stato rimosso dalla raccolta. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nella raccolta.
- Oggetto da rimuovere dall'insieme.
- L'insieme è di sola lettura.
-
-
- Rimuove l'elemento dall'insieme utilizzando la chiave specificata.
- true se l'elemento è stato rimosso. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nella raccolta originale.
- Chiave dell'elemento da rimuovere.
- L'insieme è di sola lettura.
-
- è null.
-
-
- Imposta il modello di dati da utilizzare per la visualizzazione.
- Modello di dati da utilizzare per la visualizzazione.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere la raccolta.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Ottiene o imposta un oggetto che incapsula informazioni sul contesto del modello corrente.
- Oggetto contenente informazioni relative al modello corrente.
-
-
- Tenta di recuperare il valore associato alla chiave specificata.
- true se la raccolta contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave del valore da ottenere.
- Quando termina, questo metodo restituisce il valore associato alla chiave specificata, se la chiave viene trovata; in caso contrario, restituisce il valore predefinito per il tipo del parametro .Questo parametro viene passato senza inizializzazione.
-
- è null.
-
-
- Ottiene un insieme contenente i valori presenti nel dizionario.
- Insieme contenente i valori dell'oggetto che implementa .
-
-
- Rappresenta un contenitore utilizzato per passare dati fortemente tipizzati tra un controller e una visualizzazione.
- Tipo del modello.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il dizionario dei dati di visualizzazione specificato.
- Dizionario dei dati di visualizzazione esistente da copiare in questa istanza.
-
-
- Inizializza una nuova istanza della classe utilizzando il modello specificato.
- Modello di dati da utilizzare per la visualizzazione.
-
-
- Ottiene o imposta il modello.
- Riferimento al modello di dati.
-
-
- Ottiene o imposta informazioni sul modello.
- Informazioni sul modello.
-
-
- Imposta il modello di dati da utilizzare per la visualizzazione.
- Modello di dati da utilizzare per la visualizzazione.
- Si è verificato un errore durante l'impostazione del modello.
-
-
- Incapsula informazioni relative al contenuto del modello corrente utilizzato per sviluppare modelli e relative agli helper HTML che interagiscono con i modelli.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe T:System.Web.Mvc.ViewDataInfo e associa un delegato per l'accesso alle informazioni sui dati di visualizzazione.
- Delegato che definisce come accedere alle informazioni sui dati di visualizzazione.
-
-
- Ottiene o imposta l'oggetto che contiene i valori da visualizzare tramite il modello.
- Oggetto che contiene i valori da visualizzare tramite il modello.
-
-
- Ottiene o imposta la descrizione della proprietà da visualizzare tramite il modello.
- Descrizione della proprietà da visualizzare tramite il modello.
-
-
- Ottiene o imposta il valore corrente da visualizzare tramite il modello.
- Valore corrente da visualizzare tramite il modello.
-
-
- Rappresenta un insieme di motori di visualizzazione disponibili per l'applicazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe usando l'elenco specificato dei motori di visualizzazione.
- Elenco di cui il nuovo insieme è il wrapper.
-
- è null.
-
-
- Rimuove tutti gli elementi dalla .
-
-
- Trova la visualizzazione parziale specificata usando il contesto del controller specificato.
- Visualizzazione parziale.
- Contesto del controller.
- Nome della visualizzazione parziale.
- Il parametro è null.
- Il parametro è null o vuoto.
-
-
- Trova la visualizzazione specificata usando il contesto del controller e la visualizzazione Master specificati.
- Visualizzazione.
- Contesto del controller.
- Nome della visualizzazione.
- Nome della visualizzazione Master.
- Il parametro è null.
- Il parametro è null o vuoto.
-
-
- Consente di inserire un elemento nell'insieme in corrispondenza dell'indice specificato.
- Indice in base zero in corrispondenza del quale deve essere inserito l'elemento.
- Oggetto da inserire.
-
- è minore di 0.oppure è maggiore del numero di elementi nell'insieme.
- Il parametro è null.
-
-
- Rimuove l'elemento all'indice specificato della .
- Indice in base zero dell'elemento da rimuovere.
-
- è minore di 0.oppure è uguale o maggiore di
-
-
- Sostituisce l'elemento in corrispondenza dell'indice specificato.
- Indice in base zero dell'elemento da sostituire.
- Nuovo valore dell'elemento in corrispondenza dell'indice specificato.
-
- è minore di 0.oppure è maggiore del numero di elementi nell'insieme.
- Il parametro è null.
-
-
- Rappresenta il risultato dell'individuazione di un motore di visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando i percorsi di ricerca specificati.
- Percorsi di ricerca.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe utilizzando la visualizzazione e il motore di visualizzazione specificati.
- Visualizzazione.
- Motore di visualizzazione.
- Il parametro o è null.
-
-
- Ottiene o imposta i percorsi di ricerca.
- Percorsi di ricerca.
-
-
- Ottiene o imposta la visualizzazione.
- Visualizzazione.
-
-
- Ottiene o imposta il motore di visualizzazione.
- Motore di visualizzazione.
-
-
- Rappresenta un insieme di motori di visualizzazione disponibili per l'applicazione.
-
-
- Ottiene i motori di visualizzazione.
- Motori di visualizzazione.
-
-
- Rappresenta le informazioni necessarie per compilare una pagina di visualizzazione Master.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene lo script AJAX per la pagina master.
- Script AJAX per la pagina master.
-
-
- Ottiene il codice HTML per la pagina master.
- Codice HTML per la pagina master.
-
-
- Ottiene il modello.
- Modello.
-
-
- Ottiene i dati temporanei.
- Dati temporanei.
-
-
- Ottiene l'URL.
- URL.
-
-
- Ottiene il dizionario del contenitore delle visualizzazioni dinamiche.
- Dizionario del contenitore delle visualizzazioni dinamiche.
-
-
- Ottiene il contesto di visualizzazione.
- Contesto di visualizzazione.
-
-
- Ottiene i dati della visualizzazione.
- Dati della visualizzazione.
-
-
- Ottiene il writer utilizzato per il rendering della pagina master.
- Writer utilizzato per il rendering della pagina master.
-
-
- Rappresenta le informazioni necessarie per compilare una pagina di visualizzazione Master fortemente tipizzata.
- Tipo del modello.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene lo script AJAX per la pagina master.
- Script AJAX per la pagina master.
-
-
- Ottiene il codice HTML per la pagina master.
- Codice HTML per la pagina master.
-
-
- Ottiene il modello.
- Riferimento al modello di dati.
-
-
- Ottiene i dati della visualizzazione.
- Dati della visualizzazione.
-
-
- Rappresenta le proprietà e i metodi necessari per eseguire il rendering di una visualizzazione come una pagina Web Form.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta l'oggetto utilizzato per eseguire il rendering degli elementi HTML in scenari Ajax.
- Oggetto helper Ajax associato alla visualizzazione.
-
-
- Ottiene o imposta l'oggetto utilizzato per eseguire il rendering degli elementi HTML.
- Oggetto helper HTML associato alla visualizzazione.
-
-
- Inizializza le proprietà , e .
-
-
- Ottiene o imposta il percorso della visualizzazione Master.
- Percorso della visualizzazione Master.
-
-
- Ottiene la proprietà Model dell'oggetto associato.
- Proprietà Model dell'oggetto associato.
-
-
- Genera l'evento all'inizio della fase di inizializzazione della pagina.
- Dati dell'evento.
-
-
- Abilita l'elaborazione della richiesta HTTP specificata dal framework di ASP.NET MVC.
- Oggetto che incapsula le informazioni specifiche HTTP sulla richiesta HTTP corrente.
-
-
- Inizializza l'oggetto che riceve il contenuto della pagina di cui eseguire il rendering.
- Oggetto che riceve il contenuto della pagina.
-
-
- Esegue il rendering della pagina di visualizzazione nella risposta utilizzando il contesto di visualizzazione specificato.
- Oggetto che incapsula le informazioni necessarie per eseguire il rendering della visualizzazione che include il contesto del controller, il contesto del form, i dati temporanei e i dati di visualizzazione per la visualizzazione associata.
-
-
- Nota: Questa API è ora obsoleta.Imposta il writer di testo utilizzato per il rendering della visualizzazione nella risposta.
- Writer utilizzato per il rendering della visualizzazione nella risposta.
-
-
- Imposta il dizionario dei dati di visualizzazione per la visualizzazione associata.
- Dizionario dei dati da passare alla visualizzazione.
-
-
- Ottiene i dati temporanei da passare alla visualizzazione.
- Dati temporanei da passare alla visualizzazione.
-
-
- Ottiene o imposta l'URL della pagina di cui è stato eseguito il rendering.
- URL della pagina di cui è stato eseguito il rendering.
-
-
- Ottiene il contenitore delle visualizzazioni.
- Contenitore delle visualizzazioni.
-
-
- Ottiene o imposta le informazioni utilizzate per il rendering della visualizzazione.
- Informazioni utilizzate per eseguire il rendering della visualizzazione che includono il contesto del form, i dati temporanei e i dati di visualizzazione della visualizzazione associata.
-
-
- Ottiene o imposta un dizionario che contiene i dati da passare tra il controller e la visualizzazione.
- Dizionario che contiene i dati da passare tra il controller e la visualizzazione.
-
-
- Ottiene il writer di testo utilizzato per il rendering della visualizzazione nella risposta.
- Writer di testo utilizzato per il rendering della visualizzazione nella risposta.
-
-
- Rappresenta le informazioni necessarie per eseguire il rendering di una visualizzazione fortemente tipizzata come pagina Web Form.
- Tipo del modello.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta l'oggetto che supporta il rendering degli elementi HTML in scenari Ajax.
- Oggetto helper Ajax associato alla visualizzazione.
-
-
- Ottiene o imposta l'oggetto che fornisce supporto per l'esecuzione del rendering degli elementi.
- Oggetto helper HTML associato alla visualizzazione.
-
-
- Crea un'istanza delle proprietà e e le inizializza.
-
-
- Ottiene la proprietà dell'oggetto associato.
- Riferimento al modello di dati.
-
-
- Imposta il dizionario dei dati di visualizzazione per la visualizzazione associata.
- Dizionario dei dati da passare alla visualizzazione.
-
-
- Ottiene o imposta un dizionario che contiene i dati da passare tra il controller e la visualizzazione.
- Dizionario che contiene i dati da passare tra il controller e la visualizzazione.
-
-
- Rappresenta una classe utilizzata per eseguire il rendering di una visualizzazione utilizzando un'istanza di restituita da un oggetto .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Esegue una ricerca nei motori di visualizzazione registrati e restituisce l'oggetto utilizzato per eseguire il rendering della visualizzazione.
- Oggetto utilizzato per il rendering della visualizzazione.
- Contesto del controller.
- Si è verificato un errore durante la ricerca della visualizzazione da parte del metodo.
-
-
- Ottiene il nome della visualizzazione Master (ad esempio un modello o una pagina master) da utilizzare quando viene eseguito il rendering della visualizzazione.
- Nome della visualizzazione Master.
-
-
- Rappresenta una classe di base utilizzata per fornire il modello alla visualizzazione e quindi eseguire il rendering della visualizzazione nella risposta.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Se viene chiamato dall'invoker dell'azione, esegue il rendering della visualizzazione nella risposta.
- Contesto in cui il risultato viene eseguito.
- Il parametro è null.
-
-
- Restituisce l'oggetto utilizzato per eseguire il rendering della visualizzazione.
- Motore di visualizzazione.
- Contesto.
-
-
- Ottiene il modello di dati della visualizzazione.
- Modello di dati della visualizzazione.
-
-
- Ottiene o imposta l'oggetto per il risultato.
- Dati temporanei.
-
-
- Ottiene o imposta l'oggetto di cui viene eseguito il rendering nella risposta.
- Visualizzazione.
-
-
- Ottiene il contenitore delle visualizzazioni.
- Contenitore delle visualizzazioni.
-
-
- Ottiene o imposta l'oggetto dei dati della visualizzazione per il risultato.
- Dati della visualizzazione.
-
-
- Ottiene o imposta l'insieme di motori di visualizzazione associati al risultato.
- Insieme di motori di visualizzazione.
-
-
- Ottiene o imposta il nome della visualizzazione di cui eseguire il rendering.
- Nome della visualizzazione.
-
-
- Fornisce una classe astratta che può essere utilizzata per implementare una pagina di avvio della visualizzazione (master).
-
-
- Quando viene implementato in una classe derivata, inizializza una nuova istanza della classe .
-
-
- Se implementato in una classe derivata, ottiene il markup HTML per la pagina di avvio della visualizzazione.
- Markup HTML per la pagina di avvio della visualizzazione.
-
-
- Se implementato in una classe derivata, ottiene l'URL per la pagina di avvio della visualizzazione.
- URL per la pagina di avvio della visualizzazione.
-
-
- Se implementato in una classe derivata, ottiene il contesto di visualizzazione per la pagina di avvio della visualizzazione.
- Contesto di visualizzazione per la pagina di avvio della visualizzazione.
-
-
- Fornisce un contenitore per gli oggetti .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Fornisce un contenitore per gli oggetti .
- Tipo del modello.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il valore formattato.
- Valore formattato.
-
-
- Rappresenta il tipo di una visualizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il nome del tipo.
- Nome del tipo.
-
-
- Rappresenta le informazioni necessarie per compilare un controllo utente.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene lo script AJAX per la visualizzazione.
- Script AJAX per la visualizzazione.
-
-
- Verifica che i dati della visualizzazione vengano aggiunti all'oggetto del controllo utente, se tali dati sono disponibili.
-
-
- Ottiene il codice HTML per la visualizzazione.
- Codice HTML per la visualizzazione.
-
-
- Ottiene il modello.
- Modello.
-
-
- Esegue il rendering della visualizzazione utilizzando il contesto di visualizzazione specificato.
- Contesto di visualizzazione.
-
-
- Imposta il writer di testo utilizzato per il rendering della visualizzazione nella risposta.
- Writer utilizzato per il rendering della visualizzazione nella risposta.
-
-
- Imposta il dizionario dei dati della visualizzazione utilizzando i dati della visualizzazione specificati.
- Dati della visualizzazione.
-
-
- Ottiene il dizionario dei dati temporanei.
- Dizionario dei dati temporanei.
-
-
- Ottiene l'URL per la visualizzazione.
- URL per la visualizzazione.
-
-
- Ottiene il contenitore delle visualizzazioni.
- Contenitore delle visualizzazioni.
-
-
- Ottiene o imposta il contesto di visualizzazione.
- Contesto di visualizzazione.
-
-
- Ottiene o imposta il dizionario dei dati della visualizzazione.
- Dizionario dei dati della visualizzazione.
-
-
- Ottiene o imposta la chiave di dati della visualizzazione.
- Chiave di dati della visualizzazione.
-
-
- Ottiene il writer utilizzato per il rendering della visualizzazione nella risposta.
- Writer utilizzato per il rendering della visualizzazione nella risposta.
-
-
- Rappresenta le informazioni necessarie per compilare un controllo utente fortemente tipizzato.
- Tipo del modello.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene lo script AJAX per la visualizzazione.
- Script AJAX per la visualizzazione.
-
-
- Ottiene il codice HTML per la visualizzazione.
- Codice HTML per la visualizzazione.
-
-
- Ottiene il modello.
- Riferimento al modello di dati.
-
-
- Imposta i dati per la visualizzazione.
- Dati della visualizzazione.
-
-
- Ottiene o imposta i dati della visualizzazione.
- Dati della visualizzazione.
-
-
- Rappresenta un'implementazione della classe di base astratta dell'interfaccia .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta i formati del percorso master abilitati per l'area.
- Formati del percorso master abilitati per l'area.
-
-
- Ottiene o imposta i formati del percorso della visualizzazione parziale abilitati per l'area.
- Formati del percorso della visualizzazione parziale abilitati per l'area.
-
-
- Ottiene o imposta i formati del percorso della visualizzazione abilitati per l'area.
- Formati del percorso della visualizzazione abilitati per l'area.
-
-
- Crea la visualizzazione parziale specificata utilizzando il contesto del controller specificato.
- Riferimento alla visualizzazione parziale.
- Contesto del controller.
- Percorso parziale per la nuova visualizzazione parziale.
-
-
- Crea la visualizzazione specificata utilizzando il contesto del controller, il percorso della visualizzazione e il percorso della visualizzazione Master.
- Riferimento alla visualizzazione.
- Contesto del controller.
- Percorso della visualizzazione.
- Percorso della visualizzazione Master.
-
-
- Ottiene o imposta il provider della modalità di visualizzazione.
- Provider della modalità di visualizzazione.
-
-
- Restituisce un valore che indica se il file si trova nel percorso specificato, utilizzando il contesto del controller specificato.
- true se il file si trova nel percorso specificato. In caso contrario, false.
- Contesto del controller.
- Percorso virtuale.
-
-
- Ottiene o imposta le estensioni di file utilizzate per individuare una visualizzazione.
- Estensioni di file utilizzate per individuare una visualizzazione.
-
-
- Trova la visualizzazione parziale specificata utilizzando il contesto del controller specificato.
- Visualizzazione parziale.
- Contesto del controller.
- Nome della visualizzazione parziale.
- true per utilizzare la visualizzazione parziale memorizzata nella cache.
- Il parametro è null (Nothing in Visual Basic).
- Il parametro è null o vuoto.
-
-
- Trova la visualizzazione specificata utilizzando il contesto del controller e il nome della visualizzazione Master specificati.
- Visualizzazione Pagina.
- Contesto del controller.
- Nome della visualizzazione.
- Nome della visualizzazione Master.
- true per utilizzare la visualizzazione memorizzata nella cache.
- Il parametro è null (Nothing in Visual Basic).
- Il parametro è null o vuoto.
-
-
- Ottiene o imposta i formati del percorso master.
- Formati del percorso master.
-
-
- Ottiene o imposta i formati del percorso della visualizzazione parziale.
- Formati del percorso della visualizzazione parziale.
-
-
- Rilascia la visualizzazione specificata utilizzando il contesto del controller specificato.
- Contesto del controller.
- Visualizzazione da rilasciare.
-
-
- Ottiene o imposta la cache del percorso di visualizzazione.
- Cache del percorso di visualizzazione.
-
-
- Ottiene o imposta i formati del percorso di visualizzazione.
- Formati del percorso di visualizzazione.
-
-
- Ottiene o imposta il provider di percorsi virtuali.
- Provider di percorsi virtuali.
-
-
- Rappresenta le informazioni necessarie per compilare una pagina Web Form in ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller e il percorso della visualizzazione.
- Contesto del controller.
- Percorso della visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller, il percorso della visualizzazione e il percorso della pagina master.
- Contesto del controller.
- Percorso della visualizzazione.
- Percorso della pagina master.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller, il percorso della visualizzazione, il percorso della pagina master e un'istanza di .
- Contesto del controller.
- Percorso della visualizzazione.
- Percorso della pagina master.
- Istanza dell'interfaccia dell'attivatore della pagina di visualizzazione.
-
-
- Ottiene o imposta il percorso della visualizzazione Master.
- Percorso della visualizzazione Master.
-
-
- Esegue il rendering della visualizzazione nella risposta.
- Oggetto che incapsula le informazioni necessarie per eseguire il rendering della visualizzazione che include il contesto del controller, il contesto del form, i dati temporanei e i dati di visualizzazione per la visualizzazione associata.
- Oggetto writer di testo utilizzato per scrivere l'output HTML.
- Istanza della pagina di visualizzazione.
-
-
- Rappresenta un motore di visualizzazione utilizzato per eseguire il rendering di una pagina Web Form nella risposta.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'attivatore della pagina di visualizzazione specificato.
- Istanza di una classe che implementa l'interfaccia .
-
-
- Crea la visualizzazione parziale specificata utilizzando il contesto del controller specificato.
- Visualizzazione parziale.
- Contesto del controller.
- Percorso parziale.
-
-
- Crea la visualizzazione specificata utilizzando il contesto del controller, nonché i percorsi della visualizzazione e della visualizzazione Master specificati.
- Visualizzazione.
- Contesto del controller.
- Percorso della visualizzazione.
- Percorso della visualizzazione Master.
-
-
- Rappresenta le proprietà e i metodi necessari per eseguire il rendering di una visualizzazione che utilizza la sintassi ASP.NET Razor.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta l'oggetto utilizzato per eseguire il rendering del codice HTML con Ajax.
- Oggetto utilizzato per eseguire il rendering del codice HTML con Ajax.
-
-
- Imposta il contesto e i dati della visualizzazione per la pagina.
- Pagina padre.
-
-
- Ottiene l'oggetto associato alla pagina.
- Oggetto associato alla pagina.
-
-
- Esegue la gerarchia delle pagine per la pipeline di esecuzione ASP.NET Razor.
-
-
- Ottiene o imposta l'oggetto utilizzato per eseguire il rendering degli elementi HTML.
- Oggetto utilizzato per eseguire il rendering degli elementi HTML.
-
-
- Inizializza le classi , e .
-
-
- Ottiene la proprietà Model dell'oggetto associato.
- Proprietà Model dell'oggetto associato.
-
-
- Imposta i dati della visualizzazione.
- Dati della visualizzazione.
-
-
- Ottiene i dati temporanei da passare alla visualizzazione.
- Dati temporanei da passare alla visualizzazione.
-
-
- Ottiene o imposta l'URL della pagina di cui è stato eseguito il rendering.
- URL della pagina di cui è stato eseguito il rendering.
-
-
- Ottiene il contenitore delle visualizzazioni.
- Contenitore delle visualizzazioni.
-
-
- Ottiene o imposta le informazioni utilizzate per il rendering della visualizzazione.
- Informazioni utilizzate per eseguire il rendering della visualizzazione che includono il contesto del form, i dati temporanei e i dati di visualizzazione della visualizzazione associata.
-
-
- Ottiene o imposta un dizionario che contiene i dati da passare tra il controller e la visualizzazione.
- Dizionario che contiene i dati da passare tra il controller e la visualizzazione.
-
-
- Rappresenta le proprietà e i metodi necessari per eseguire il rendering di una visualizzazione che utilizza la sintassi ASP.NET Razor.
- Tipo di modello di dati della visualizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta l'oggetto utilizzato per eseguire il rendering del markup HTML con Ajax.
- Oggetto utilizzato per eseguire il rendering del markup HTML con Ajax.
-
-
- Ottiene o imposta l'oggetto utilizzato per eseguire il rendering degli elementi HTML.
- Oggetto utilizzato per eseguire il rendering degli elementi HTML.
-
-
- Inizializza le classi , e .
-
-
- Ottiene la proprietà Model dell'oggetto associato.
- Proprietà Model dell'oggetto associato.
-
-
- Imposta i dati della visualizzazione.
- Dati della visualizzazione.
-
-
- Ottiene o imposta un dizionario che contiene i dati da passare tra il controller e la visualizzazione.
- Dizionario che contiene i dati da passare tra il controller e la visualizzazione.
-
-
- Rappresenta il supporto per ASP.NET AJAX in un'applicazione ASP.NET MVC
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Nome del controller.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
- Nome del frammento URL (nome dell'ancoraggio).
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Nome del controller.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
- Nome del frammento URL (nome dell'ancoraggio).
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Nome del controller.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta utilizzando le informazioni di routing specificate.
- Tag <form> di apertura.
- Helper AJAX.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta utilizzando le informazioni di routing specificate.
- Tag <form> di apertura.
- Helper AJAX.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta utilizzando le informazioni di routing specificate.
- Tag <form> di apertura.
- Helper AJAX.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta utilizzando le informazioni di routing specificate.
- Tag <form> di apertura.
- Helper AJAX.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta utilizzando le informazioni di routing specificate.
- Tag <form> di apertura.
- Helper AJAX.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML script che contiene un riferimento a uno script di globalizzazione che definisce le informazioni sulle impostazioni cultura.
- Elemento script il cui attributo src è impostato sullo script di globalizzazione, come illustrato nell'esempio seguente: <script type="text/javascript" src="/MvcApplication1/Scripts/Globalization/en-US.js"></script>
- Oggetto helper AJAX esteso da questo metodo.
-
-
- Restituisce un elemento HTML script che contiene un riferimento a uno script di globalizzazione che definisce le informazioni sulle impostazioni cultura specificate.
- Elemento HTML script il cui attributo src è impostato sullo script di globalizzazione, come illustrato nell'esempio seguente:<script type="text/javascript" src="/MvcApplication1/Scripts/Globalization/en-US.js"></script>
- Oggetto helper AJAX esteso da questo metodo.
- Incapsula informazioni sulle impostazioni cultura di destinazione, ad esempio i formati della data.
- Il parametro è null.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
- Nome del frammento URL (nome dell'ancoraggio).
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Rappresenta le impostazioni delle opzioni per l'esecuzione di script Ajax in un'applicazione ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe .
-
-
-
- Ottiene o imposta il messaggio da visualizzare in una finestra di conferma prima dell'invio di una richiesta.
- Messaggio da visualizzare in una finestra di conferma.
-
-
- Ottiene o imposta il metodo di richiesta HTTP ("Get" o "Post").
- Metodo di richiesta HTTP.Il valore predefinito è "Post".
-
-
- Ottiene o imposta la modalità che specifica come inserire la risposta nell'elemento DOM di destinazione.
- Modalità di inserimento ("InsertAfter", "InsertBefore" o "Replace").Il valore predefinito è "Replace".
-
-
- Ottiene o imposta un valore, in millisecondi, che controlla la durata dell'animazione quando l'elemento di caricamento viene visualizzato o nascosto.
- Valore, in millisecondi, che controlla la durata dell'animazione quando l'elemento di caricamento viene visualizzato o nascosto.
-
-
- Ottiene o imposta l'attributo id di un elemento HTML visualizzato durante il caricamento della funzione Ajax.
- ID dell'elemento visualizzato durante il caricamento della funzione Ajax.
-
-
- Ottiene o imposta il nome della funzione JavaScript da chiamare immediatamente prima dell'aggiornamento della pagina.
- Nome della funzione JavaScript da chiamare prima dell'aggiornamento della pagina.
-
-
- Ottiene o imposta la funzione JavaScript da chiamare dopo la creazione di un'istanza dei dati della risposta ma prima dell'aggiornamento della pagina.
- Funzione JavaScript da chiamare dopo la creazione di un'istanza dei dati della risposta.
-
-
- Ottiene o imposta la funzione JavaScript da chiamare se l'aggiornamento della pagina non riesce.
- Funzione JavaScript da chiamare se l'aggiornamento della pagina non riesce.
-
-
- Ottiene o imposta la funzione JavaScript da chiamare dopo il corretto aggiornamento della pagina.
- Funzione JavaScript da chiamare dopo il corretto aggiornamento della pagina.
-
-
- Restituisce le opzioni Ajax come insieme di attributi HTML per supportare l'utilizzo di JavaScript non intrusivo.
- Opzioni Ajax come insieme di attributi HTML per supportare l'utilizzo di JavaScript non intrusivo.
-
-
- Ottiene o imposta l'ID dell'elemento DOM da aggiornare usando la risposta del server.
- ID dell'elemento DOM da aggiornare.
-
-
- Ottiene o imposta l'URL a cui inviare la richiesta.
- URL a cui inviare la richiesta.
-
-
- Enumera le modalità di inserimento di script AJAX.
-
-
- Inserimento dopo l'elemento.
-
-
- Inserimento prima dell'elemento.
-
-
- Sostituzione dell'elemento.
-
-
- Sostituzione dell'intero elemento.
-
-
- Fornisce informazioni su un metodo di azione asincrono, ad esempio nome, controller, parametri, attributi e filtri.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Richiama il metodo di azione asincrono utilizzando i parametri e il contesto del controller specificati.
- Oggetto contenente il risultato di una chiamata asincrona.
- Contesto del controller.
- Parametri del metodo di azione.
- Metodo di callback.
- Oggetto contenente informazioni che devono essere utilizzate dal metodo di callback.Questo parametro può essere null.
-
-
- Restituisce il risultato di un'operazione asincrona.
- Risultato di un'operazione asincrona.
- Oggetto che rappresenta lo stato di un'operazione asincrona.
-
-
- Esegue il metodo di azione asincrono utilizzando i parametri e il contesto del controller specificati.
- Risultato dell'esecuzione del metodo di azione asincrono.
- Contesto del controller.
- Parametri del metodo di azione.
-
-
- Rappresenta una classe responsabile del richiamo dei metodi di azione di un controller asincrono.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Richiama il metodo di azione asincrono utilizzando il contesto del controller, il nome dell'azione, il metodo di callback e lo stato specificati.
- Oggetto contenente il risultato di un'operazione asincrona.Implementa
- Contesto del controller.
- Nome dell'azione.
- Metodo di callback.
- Oggetto contenente informazioni che devono essere utilizzate dal metodo di callback.Questo parametro può essere null.
-
-
- Richiama il metodo di azione asincrono utilizzando il contesto del controller, il descrittore dell'azione, i parametri, il metodo di callback e lo stato specificati.
- Oggetto contenente il risultato di un'operazione asincrona.
- Contesto del controller.
- Descrittore dell'azione.
- Parametri per il metodo di azione asincrono.
- Metodo di callback.
- Oggetto contenente informazioni che devono essere utilizzate dal metodo di callback.Questo parametro può essere null.
-
-
- Richiama il metodo di azione asincrono utilizzando il contesto del controller, i filtri, il descrittore dell'azione, i parametri, il metodo di callback e lo stato specificati.
- Oggetto contenente il risultato di un'operazione asincrona.
- Contesto del controller.
- Filtri.
- Descrittore dell'azione.
- Parametri per il metodo di azione asincrono.
- Metodo di callback.
- Oggetto contenente informazioni che devono essere utilizzate dal metodo di callback.Questo parametro può essere null.
-
-
- Annulla l'azione.
- true se l'azione è stata annullata. In caso contrario, false.
- Oggetto definito dall'utente qualificato per un'operazione asincrona o contenente informazioni relative a un'operazione asincrona.
-
-
- Annulla l'azione.
- true se l'azione è stata annullata. In caso contrario, false.
- Oggetto definito dall'utente qualificato per un'operazione asincrona o contenente informazioni relative a un'operazione asincrona.
-
-
- Annulla l'azione.
- true se l'azione è stata annullata. In caso contrario, false.
- Oggetto definito dall'utente qualificato per un'operazione asincrona o contenente informazioni relative a un'operazione asincrona.
-
-
- Restituisce il descrittore del controller.
- Descrittore del controller.
- Contesto del controller.
-
-
- Fornisce le operazioni asincrone per la classe .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di sincronizzazione.
- Contesto di sincronizzazione.
-
-
- Notifica ad ASP.NET che tutte le operazioni asincrone sono complete.
-
-
- Si verifica quando viene chiamato il metodo .
-
-
- Ottiene il numero di operazioni in sospeso.
- Numero di operazioni in sospeso.
-
-
- Ottiene i parametri passati al metodo di completamento asincrono.
- Parametri passati al metodo di completamento asincrono.
-
-
- Esegue un callback nel contesto di sincronizzazione corrente.
- Azione asincrona.
-
-
- Ottiene o imposta il valore del timeout asincrono in millisecondi.
- Valore del timeout asincrono in millisecondi.
-
-
- Definisce l'interfaccia per un invoker di azione, utilizzato per richiamare un'azione asincrona in risposta a una richiesta HTTP.
-
-
- Richiama l'azione specificata.
- Stato del risultato asincrono.
- Contesto del controller.
- Nome dell'azione asincrona.
- Metodo di callback.
- Stato.
-
-
- Annulla l'azione asincrona.
- true se il metodo asincrono poteva essere annullato. In caso contrario, false.
- Risultato asincrono.
-
-
- Usato per creare un'istanza di per la richiesta corrente.
-
-
- Crea un'istanza di un invoker asincrono di azioni per la richiesta corrente.
-
- creato.
-
-
- Definisce i metodi necessari per un controller asincrono.
-
-
- Esegue il contesto della richiesta specificato.
- Stato dell'operazione asincrona.
- Contesto della richiesta.
- Metodo di callback asincrono.
- Stato.
-
-
- Termina l'operazione asincrona.
- Risultato asincrono.
-
-
- Fornisce un contenitore per l'oggetto gestore asincrono.
-
-
- Ottiene l'oggetto gestore asincrono.
- Oggetto gestore asincrono.
-
-
- Fornisce un contenitore che gestisce un conteggio di operazioni asincrone in sospeso.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Si verifica al completamento di un metodo asincrono.
-
-
- Ottiene il conteggio delle operazioni.
- Conteggio delle operazioni.
-
-
- Riduce di 1 il conteggio delle operazioni.
- Conteggio delle operazioni aggiornato.
-
-
- Riduce il conteggio delle operazioni del valore specificato.
- Conteggio delle operazioni aggiornato.
- Numero di operazioni per il quale ridurre il conteggio.
-
-
- Incrementa di uno il conteggio delle operazioni.
- Conteggio delle operazioni aggiornato.
-
-
- Incrementa il conteggio delle operazioni del valore specificato.
- Conteggio delle operazioni aggiornato.
- Numero di operazioni per il quale incrementare il conteggio.
-
-
- Fornisce informazioni su un metodo di azione asincrono, ad esempio nome, controller, parametri, attributi e filtri.
-
-
- Inizializza una nuova istanza della classe .
- Oggetto contenente informazioni sul metodo che avvia l'operazione asincrona (il metodo il cui nome termina con "Asynch").
- Oggetto contenente informazioni sul metodo di completamento (metodo il cui nome termina con "Completed").
- Nome dell'azione.
- Descrittore del controller.
-
-
- Ottiene il nome del metodo di azione.
- Nome del metodo di azione.
-
-
- Ottiene le informazioni sul metodo per il metodo di azione asincrono.
- Informazioni sul metodo per il metodo di azione asincrono.
-
-
- Inizia l'esecuzione del metodo di azione asincrono utilizzando i parametri e il contesto del controller specificati.
- Oggetto contenente il risultato di una chiamata asincrona.
- Contesto del controller.
- Parametri del metodo di azione.
- Metodo di callback.
- Oggetto contenente informazioni che devono essere utilizzate dal metodo di callback.Questo parametro può essere null.
-
-
- Ottiene le informazioni sul metodo per il metodo di completamento asincrono.
- Informazioni sul metodo per il metodo di completamento asincrono.
-
-
- Ottiene il descrittore del controller per il metodo di azione asincrono.
- Il descrittore del controller per il metodo di azione asincrono.
-
-
- Restituisce il risultato di un'operazione asincrona.
- Risultato di un'operazione asincrona.
- Oggetto che rappresenta lo stato di un'operazione asincrona.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, identificati dal tipo.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato del tipo specificato.
- Tipo di attributi personalizzati da restituire.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Ottiene gli attributi del filtro.
- Attributi del filtro.
- Usa flag di cache.
-
-
- Restituisce i parametri del metodo di azione.
- Parametri del metodo di azione.
-
-
- Restituisce i selettori del metodo di azione.
- Selettori del metodo di azione.
-
-
- Determina se per il membro di azione sono definite una o più istanze del tipo di attributo specificato.
- true se per questo membro è definito un attributo del tipo rappresentato da . In caso contrario, false.
- Tipo dell'attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
-
- Ottiene l'ID univoco inizializzato in modalità differita dell'istanza di questa classe.
- ID univoco inizializzato in modalità differita dell'istanza di questa classe.
-
-
- Incapsula le informazioni che descrivono un controller asincrono, ad esempio nome, tipo e azioni.
-
-
- Inizializza una nuova istanza della classe .
- Tipo del controller.
-
-
- Ottiene il tipo del controller.
- Tipo del controller.
-
-
- Trova un metodo di azione utilizzando il nome e il contesto del controller specificati.
- Informazioni sul metodo di azione.
- Contesto del controller.
- Nome dell'azione.
-
-
- Restituisce un elenco di descrittori dei metodi di azione nel controller.
- Elenco di descrittori dei metodi di azione nel controller.
-
-
- Restituisce gli attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Restituisce gli attributi personalizzati di un tipo specificato definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Ottiene gli attributi del filtro.
- Attributi del filtro.
- true per utilizzare la cache. In caso contrario, false.
-
-
- Restituisce un valore che indica se per questo membro sono definite una o più istanze dell'attributo personalizzato specificato.
- true se per questo membro è definito un attributo del tipo rappresentato da . In caso contrario, false.
- Tipo dell'attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Rappresenta un'eccezione che si è verificata durante l'elaborazione sincrona di una richiesta HTTP in un'applicazione ASP.NET MVC
-
-
- Inizializza una nuova istanza della classe utilizzando un messaggio fornito dal sistema.
-
-
- Inizializza una nuova istanza della classe utilizzando il messaggio specificato.
- Messaggio in cui viene descritta l'eccezione.Il chiamante di questo costruttore deve assicurare che la stringa sia stata localizzata in base alle impostazioni cultura correnti del sistema.
-
-
- Inizializza una nuova istanza della classe utilizzando un messaggio di errore specificato e un riferimento all'eccezione interna che rappresenta la causa di questa eccezione.
- Messaggio in cui viene descritta l'eccezione.Il chiamante di questo costruttore deve assicurare che la stringa sia stata localizzata in base alle impostazioni cultura correnti del sistema.
- L'eccezione che è la causa dell'eccezione corrente.Se il parametro non è null, l'eccezione corrente viene generata in un blocco catch in cui viene gestita l'eccezione interna.
-
-
- Quando un metodo di azione restituisce Task o Task<T>, fornice informazioni sull'azione.
-
-
- Inizializza una nuova istanza della classe .
- Informazioni sul metodo dell'attività.
- Nome dell'azione.
- Descrittore del controller.
-
-
- Ottiene il nome del metodo di azione.
- Nome del metodo di azione.
-
-
- Richiama il metodo di azione asincrono utilizzando i parametri, il callback del contesto del controller e lo stato specificati.
- Oggetto contenente il risultato di una chiamata asincrona.
- Contesto del controller.
- Parametri del metodo di azione.
- Metodo di callback opzionale.
- Oggetto contenente informazioni che devono essere utilizzate dal metodo di callback.Questo parametro può essere null.
-
-
- Ottiene il descrittore del controller.
- Descrittore del controller.
-
-
- Termina l'operazione asincrona.
- Risultato di un'operazione asincrona.
- Oggetto che rappresenta lo stato di un'operazione asincrona.
-
-
- Esegue il metodo di azione asincrono.
- Risultato dell'esecuzione del metodo di azione asincrono.
- Contesto del controller.
- Parametri del metodo di azione.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, identificati dal tipo.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Restituisce una matrice di tutti gli attributi personalizzati applicati a questo membro.
- Una matrice contenente tutti gli attributi personalizzati applicati a questo membro o una matrice con zero elementi se non è stato definito alcun attributo.
- true per cercare gli attributi nella catena di ereditarietà di questo membro. In caso contrario, false.
-
-
- Restituisce i parametri del metodo di azione asincrono.
- Parametri del metodo di azione asincrono.
-
-
- Restituisce i selettori del metodo di azione asincrono.
- Selettori del metodo di azione asincrono.
-
-
- Restituisce un valore che indica se per questo membro sono definite una o più istanze dell'attributo personalizzato specificato.
- Valore che indica se per questo membro sono definite una o più istanze dell'attributo personalizzato specificato.
- Tipo dell'attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
-
- Ottiene informazioni per l'attività asincrona.
- Informazioni per l'attività asincrona.
-
-
- Ottiene l'ID univoco per l'attività.
- ID univoco per l'attività.
-
-
- Rappresenta un contesto di richiesta di autenticazione contenente informazioni per l'esecuzione di una richiesta di autenticazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe .
- Contesto del controller.
- Metodi di azione associati alla richiesta.
- Risposta alla richiesta.
-
-
- Ottiene o imposta il descrittore dell'azione.
- Descrittore dell'azione associato alla richiesta.
-
-
- Ottiene o imposta il risultato dell'azione da eseguire.
- Risposta alla richiesta.
-
-
- Rappresenta un contesto di autenticazione contenente informazioni per eseguire l'autenticazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
-
- Ottiene o imposta il descrittore dell'azione.
- Metodi di azione associati all'autenticazione
-
-
- Ottiene o imposta l'entità attualmente autenticata.
- Credenziali di sicurezza per l'autenticazione.
-
-
- Ottiene o imposta il risultato dell'errore, il quale indica che l'autenticazione è stata tentata e non è riuscita.
- Risultato di autenticazione.
-
-
- Definisce un filtro che esegue l'autenticazione.
-
-
- Autentica la richiesta.
- Il contesto da utilizzare per l'autenticazione.
-
-
- Aggiunge una richiesta di autenticazione al corrente.
- Il contesto da utilizzare per la richiesta di autenticazione.
-
-
- Definisce un filtro che esegue l'override degli altri filtri.
-
-
- Ottiene il tipo di filtri su cui eseguire l'override.
- Filtro per eseguire l'override.
-
-
- Rappresenta il supporto per la chiamata di metodi di azione figlio e l'esecuzione del rendering dell'inline del risultato in una visualizzazione padre.
-
-
- Richiama il metodo di azione figlio specificato e restituisce il risultato come stringa HTML.
- Risultato dell'azione figlio come stringa HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione da richiamare.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato con i parametri specificati e restituisce il risultato come stringa HTML.
- Risultato dell'azione figlio come stringa HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione da richiamare.
- Oggetto contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando il nome del controller specificato e restituisce il risultato come stringa HTML.
- Risultato dell'azione figlio come stringa HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione da richiamare.
- Nome del controller contenente il metodo di azione.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando i parametri e il nome del controller specificati e restituisce il risultato come stringa HTML.
- Risultato dell'azione figlio come stringa HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione da richiamare.
- Nome del controller contenente il metodo di azione.
- Oggetto contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando i parametri e il nome del controller specificati e restituisce il risultato come stringa HTML.
- Risultato dell'azione figlio come stringa HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione da richiamare.
- Nome del controller contenente il metodo di azione.
- Dizionario contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando i parametri specificati e restituisce il risultato come stringa HTML.
- Risultato dell'azione figlio come stringa HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione da richiamare.
- Dizionario contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato ed esegue il rendering dell'inline del risultato nella visualizzazione padre.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione figlio da richiamare.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando i parametri specificati ed esegue il rendering dell'inline del risultato nella visualizzazione padre.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione figlio da richiamare.
- Oggetto contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando il nome del controller specificato ed esegue il rendering dell'inline del risultato nella visualizzazione padre.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione figlio da richiamare.
- Nome del controller contenente il metodo di azione.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando i parametri e il nome del controller specificati ed esegue il rendering dell'inline del risultato nella visualizzazione padre.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione figlio da richiamare.
- Nome del controller contenente il metodo di azione.
- Oggetto contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando i parametri e il nome del controller specificati ed esegue il rendering dell'inline del risultato nella visualizzazione padre.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione figlio da richiamare.
- Nome del controller contenente il metodo di azione.
- Dizionario contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando i parametri specificati ed esegue il rendering dell'inline del risultato nella visualizzazione padre.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione figlio da richiamare.
- Dizionario contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Rappresenta il supporto per il rendering di valori dell'oggetto in formato HTML.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato da un'espressione stringa.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato da un'espressione stringa utilizzando ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello specificato.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione utilizzando il modello specificato e ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello specificato e l'ID di un campo HTML.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione utilizzando il modello specificato, l'ID del campo HTML e ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione .
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce una stringa che contiene il valore di ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce una stringa contenente il valore di ogni proprietà nell'oggetto rappresentato da , utilizzando il modello specificato.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce una stringa che contiene il valore di ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando il modello specificato e ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato da , utilizzando il modello specificato e l'ID di un campo HTML.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando il modello, l'ID di un campo HTML e ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce il markup HTML per ogni proprietà nel modello.
- Markup HTML per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Restituisce il markup HTML per ogni proprietà nel modello utilizzando ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce il markup HTML per ogni proprietà nel modello utilizzando il modello specificato.
- Markup HTML per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello utilizzato per il rendering dell'oggetto.
-
-
- Restituisce il markup HTML per ogni proprietà nel modello utilizzando il modello specificato e ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce il markup HTML per ogni proprietà nel modello utilizzando il modello e l'ID di un campo HTML specificati.
- Markup HTML per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
-
-
- Restituisce il markup HTML per ogni proprietà nel modello utilizzando il modello specificato, l'ID di un campo HTML e ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Fornisce un meccanismo per ottenere i nomi visualizzati.
-
-
- Ottiene il nome visualizzato.
- Nome visualizzato.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente il nome visualizzato.
-
-
- Ottiene il nome visualizzato per il modello.
- Nome visualizzato per il modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente il nome visualizzato.
- Tipo del modello.
- Tipo del valore.
-
-
- Ottiene il nome visualizzato per il modello.
- Nome visualizzato per il modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente il nome visualizzato.
- Tipo del modello.
- Tipo del valore.
-
-
- Ottiene il nome visualizzato per il modello.
- Nome visualizzato per il modello.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Fornisce una modalità per eseguire il rendering di valori dell'oggetto come HTML.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Markup HTML per ogni proprietà.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Tipo del modello.
- Tipo di risultato.
-
-
- Rappresenta il supporto per l'elemento HTML input in un'applicazione.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello specificato.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello specificato e ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello e il nome di campo HTML specificati.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello specificato, il nome di campo HTML e ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione .
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione , utilizzando il modello specificato.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello specificato e ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione , utilizzando il modello e il nome di campo HTML specificati.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello specificato, il nome di campo HTML e ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML input per ogni proprietà nel modello.
- Elemento HTML input per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Restituisce un elemento HTML input per ogni proprietà nel modello, utilizzando ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce un elemento HTML input per ogni proprietà nel modello, utilizzando il modello specificato.
- Elemento HTML input per ogni proprietà nel modello e nel modello specificato.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello da utilizzare per il rendering dell'oggetto.
-
-
- Restituisce un elemento HTML input per ogni proprietà nel modello, utilizzando il modello specificato e ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce un elemento HTML input per ogni proprietà nel modello, utilizzando il nome del modello e il nome di campo HTML specificati.
- Elemento HTML input per ogni proprietà nel modello e nel modello denominato.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
-
-
- Restituisce un elemento HTML input per ogni proprietà nel modello, utilizzando il nome del modello, il nome di campo HTML e ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Fornisce metodi per l'utilizzo di valori di enumerazione ed elenchi di selezione.
-
-
- Ottiene un elenco di oggetti corrispondenti a costanti di enumerazione definite nel tipo specificato.
- Elenco per il parametro specificato.
- Tipo da valutare.
-
-
- Ottiene un elenco di oggetti corrispondenti a costanti di enumerazione definite nel tipo specificato.Garantisce inoltre il round trip di anche se non corrisponde a una costante definita e imposta la proprietà Selected su true per un elemento nell'elenco restituito, corrispondente a .
- Elenco per il parametro specificato, eventualmente esteso per includere un parametro non riconosciuto.
- Tipo da valutare.
- Valore del tipo da selezionare
-
-
- Ottiene un elenco di oggetti corrispondenti a costanti di enumerazione definite nei metadati specificati.
- Elenco per i metadati specificati.
- Metadati del modello da valutare.
-
-
- Ottiene un elenco di oggetti corrispondenti a costanti di enumerazione definite nei metadati specificati.Garantisce inoltre il round trip del valore anche se non corrisponde a una costante definita e imposta la proprietà Selected su true per un elemento nell'elenco restituito, corrispondente al valore.
- Elenco per il parametro specificato, eventualmente esteso per includere un parametro non riconosciuto.
- Metadati da valutare.
- Valore del tipo di metadati da selezionare.
-
-
- Ottiene un valore che indica se il tipo specificato o un'espressione di questo tipo è adatta per l'utilizzo nelle chiamate di e .
- true se non genererà un'eccezione quando viene passato il tipo specificato e non genererà un'eccezione quando viene passata un'espressione di questo tipo. In caso contrario, false.
- Tipo da controllare.
-
-
- Ottiene un valore che indica se l'espressione associata o i metadati specificati sono adatti per l'utilizzo nelle chiamate di e .
- true se non genererà un'eccezione quando viene passato l'oggetto specificato e non genererà un'eccezione quando viene passata l'espressione associata. In caso contrario, false.
- Metadati da controllare.
-
-
- Rappresenta il supporto per HTML in un'applicazione.
-
-
- Scrive un tag <form> di apertura nella risposta.Il form usa il metodo POST e la richiesta è elaborata dal metodo di azione per la visualizzazione.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Scrive un tag <form> di apertura nella risposta e include i valori della route nell'attributo dell'azione.Il form usa il metodo POST e la richiesta è elaborata dal metodo di azione per la visualizzazione.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller e sull'azione specificati.Il form usa il metodo POST.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller, sull'azione e sui valori della route specificati.Il form usa il metodo POST.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller, sull'azione e sui valori della route specificati.Il form usa il metodo HTTP specificato.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller, sull'azione e sui valori della route specificati.Il form usa il metodo HTTP specificato e include gli attributi HTML.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller e sull'azione specificati.Il form usa il metodo HTTP specificato.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller e sull'azione specificati.Il form usa il metodo HTTP specificato e include gli attributi HTML da un dizionario.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller e sull'azione specificati.Il form usa il metodo HTTP specificato e include gli attributi HTML.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller, sull'azione e sui valori della route dal dizionario dei valori della route specificati.Il form usa il metodo POST.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller, sull'azione e sui valori della route dal dizionario dei valori della route specificati.Il form usa il metodo HTTP specificato.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller, sull'azione e sui valori della route dal dizionario dei valori della route specificati.Il form usa il metodo HTTP specificato e include gli attributi HTML da un dizionario.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta e include i valori della route dal dizionario dei valori della route nell'attributo dell'azione.Il form usa il metodo POST e la richiesta è elaborata dal metodo di azione per la visualizzazione.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto contenente i parametri per una route.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Oggetto che contiene i parametri per una route.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Oggetto che contiene i parametri per una route.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Oggetto che contiene i parametri per una route.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto che contiene i parametri per una route.
-
-
- Esegue il rendering del tag </form> di chiusura nella risposta.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Rappresenta il supporto per i controlli di input HTML in un'applicazione.
-
-
- Restituisce un elemento input di tipo casella di controllo usando l'helper HTML e il nome del campo del form specificati.
- Elemento input il cui attributo type è impostato su "checkbox".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form.
-
-
- Restituisce un elemento input di tipo casella di controllo usando l'helper HTML e il nome del campo del form specificati e un valore che indica se la casella di controllo è selezionata.
- Elemento input il cui attributo type è impostato su "checkbox".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form.
- true per selezionare la casella di controllo. In casi contrario, false.Il valore della casella di controllo viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo checked negli attributi HTML.
-
-
- Restituisce un elemento input di tipo casella di controllo usando l'helper HTML, il nome del campo del form, un valore che indica se la casella di controllo è selezionata e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "checkbox".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form.
- true per selezionare la casella di controllo. In casi contrario, false.Il valore della casella di controllo viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo checked negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo casella di controllo usando l'helper HTML, il nome del campo del form, un valore che indica se la casella di controllo è selezionata e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "checkbox".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form.
- true per selezionare la casella di controllo. In casi contrario, false.Il valore della casella di controllo viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo checked negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo casella di controllo usando l'helper HTML, il nome del campo del form e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "checkbox".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo casella di controllo usando l'helper HTML, il nome del campo del form e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "checkbox".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo casella di controllo per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Elemento HTML input il cui attributo type è impostato su "checkbox" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Tipo del modello.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo casella di controllo per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento HTML input il cui attributo type è impostato su "checkbox" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo casella di controllo per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento HTML input il cui attributo type è impostato su "checkbox" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Il parametro è null.
-
-
- Restituisce un elemento input nascosto usando l'helper HTML e il nome del campo del form specificati.
- Elemento input il cui attributo type è impostato su "hidden".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
-
-
- Restituisce un elemento input nascosto usando l'helper HTML, il nome del campo del form e il valore specificati.
- Elemento input il cui attributo type è impostato su "hidden".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input nascosto.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
-
-
- Restituisce un elemento input nascosto usando l'helper HTML, il nome del campo del form, il valore e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "hidden".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input nascosto.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input nascosto usando l'helper HTML, il nome del campo del form, il valore e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "hidden".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input nascosto.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML input nascosto per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Elemento input il cui attributo type è impostato su "hidden" per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce un elemento HTML input nascosto per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "hidden" per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce un elemento HTML input nascosto per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "hidden" per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce un elemento input di tipo password usando l'helper HTML e il nome del campo del form specificati.
- Elemento input il cui attributo type è impostato su "password".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
-
-
- Restituisce un elemento input di tipo password usando l'helper HTML, il nome del campo del form e il valore specificati.
- Elemento input il cui attributo type è impostato su "password".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo password.Se non si specifica un valore per questo parametro, l'attributo value negli attributi HTML sarà usato per recuperare il valore.
-
-
- Restituisce un elemento input di tipo password usando l'helper HTML, il nome del campo del form, il valore e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "password".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo password.Se non si specifica un valore per questo parametro, l'attributo value negli attributi HTML sarà usato per recuperare il valore.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo password usando l'helper HTML, il nome del campo del form, il valore e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "password".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo password.Se non si specifica un valore per questo parametro, l'attributo value negli attributi HTML sarà usato per recuperare il valore.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo password per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Elemento HTML input il cui attributo type è impostato su "password" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo password per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento HTML input il cui attributo type è impostato su "password" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo password per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento HTML input il cui attributo type è impostato su "password" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione usato per presentare opzioni che si escludono a vicenda.
- Elemento input il cui attributo type è impostato su "radio".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Il parametro è null o vuoto.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione usato per presentare opzioni che si escludono a vicenda.
- Elemento input il cui attributo type è impostato su "radio".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- true per selezionare il pulsante di opzione. In caso contrario, false.
- Il parametro è null o vuoto.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione usato per presentare opzioni che si escludono a vicenda.
- Elemento input il cui attributo type è impostato su "radio".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- true per selezionare il pulsante di opzione. In caso contrario, false.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione usato per presentare opzioni che si escludono a vicenda.
- Elemento input il cui attributo type è impostato su "radio".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- true per selezionare il pulsante di opzione. In caso contrario, false.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione usato per presentare opzioni che si escludono a vicenda.
- Elemento input il cui attributo type è impostato su "radio".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione usato per presentare opzioni che si escludono a vicenda.
- Elemento input il cui attributo type è impostato su "radio".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Elemento HTML input il cui attributo type è impostato su "radio" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento HTML input il cui attributo type è impostato su "radio" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento HTML input il cui attributo type è impostato su "radio" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo testo usando l'helper HTML e il nome del campo del form specificati.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
-
-
- Restituisce un elemento input di tipo testo usando l'helper HTML, il nome del campo del form e il valore specificati.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo testo.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
-
-
- Restituisce un elemento input di tipo testo usando l'helper HTML, il nome del campo del form, il valore e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo testo.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo testo usando l'helper HTML, il nome del campo del form, il valore e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo testo.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo testo.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form.
- Valore dell'elemento input di tipo testo.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Stringa usata per la formattazione dell'input.
-
-
- Restituisce un elemento input di tipo testo.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo testo.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Stringa usata per la formattazione dell'input.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo testo.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo testo.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Stringa usata per la formattazione dell'input.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo testo per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Elemento input il cui attributo type è impostato su "text" per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento input di tipo testo per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento HTML input il cui attributo type è impostato su "text" per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento input di tipo testo per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "text" per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento input di tipo testo.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Stringa usata per la formattazione dell'input.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento input di tipo testo.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Stringa usata per la formattazione dell'input.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento input di tipo testo.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Stringa usata per la formattazione dell'input.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Rappresenta il supporto per l'elemento HTML label in una visualizzazione ASP.NET MVC.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata, utilizzando il testo dell'etichetta.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Testo dell'etichetta da visualizzare.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Testo dell'etichetta.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Testo dell'etichetta.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Valore.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata, utilizzando il testo dell'etichetta.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Testo dell'etichetta da visualizzare.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Testo dell'etichetta da visualizzare.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Testo dell'etichetta.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Valore.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dal modello.
- Elemento HTML label e nome della proprietà rappresentata dal modello
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata, utilizzando il testo dell'etichetta.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Testo dell'etichetta da visualizzare.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Testo dell'etichetta.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Testo dell'etichetta.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Rappresenta il supporto per i collegamenti HTML in un'applicazione.
-
-
- Restituisce un elemento anchor (elemento a) per il testo e l'azione del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione e i valori della route del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione, i valori della route e gli attributi HTML del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Oggetto che contiene gli attributi HTML per l'elemento.Gli attribuiti vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione e il controller del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Nome del controller.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione, il controller, i valori della route e gli attributi HTML del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione, il controller, il protocollo, il nome host, il frammento URL, i valori della route e gli attributi HTML del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Nome del controller.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
- Nome del frammento URL (nome dell'ancoraggio).
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione, il controller, il protocollo, il nome host, il frammento URL, i valori della route come dizionario dei valori della route e gli attributi HTML come dizionario del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Nome del controller.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
- Nome del frammento URL (nome dell'ancoraggio).
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione, il controller, i valori della route come dizionario dei valori della route e gli attributi HTML come dizionario del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione e i valori della route del collegamento specificato come dizionario dei valori della route.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Oggetto contenente i parametri per una route.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione e i valori della route come dizionario dei valori della route e gli attributi HTML come dizionario del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome della route usato per restituire un percorso virtuale.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome della route usato per restituire un percorso virtuale.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome della route usato per restituire un percorso virtuale.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome della route usato per restituire un percorso virtuale.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
- Nome del frammento URL (nome dell'ancoraggio).
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome della route usato per restituire un percorso virtuale.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
- Nome del frammento URL (nome dell'ancoraggio).
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome della route usato per restituire un percorso virtuale.
- Oggetto contenente i parametri per una route.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome della route usato per restituire un percorso virtuale.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Rappresenta un elemento HTML form in una visualizzazione MVC.
-
-
- Inizializza una nuova istanza della classe utilizzando l'oggetto risposta HTTP specificato.
- Oggetto risposta HTTP.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di visualizzazione specificato.
- Oggetto che incapsula le informazioni necessarie per eseguire il rendering di una visualizzazione.
- Il parametro è null.
-
-
- Rilascia tutte le risorse utilizzate dall'istanza corrente della classe .
-
-
- Rilascia le risorse non gestite e, facoltativamente, quelle gestite utilizzate dalla classe .
- true per rilasciare sia le risorse gestite sia quelle non gestite. false per rilasciare solo le risorse non gestite.
-
-
- Termina il form ed elimina tutte le risorse del form.
-
-
- Ottiene l'ID HTML e gli attributi di nome della stringa .
-
-
- Ottiene l'ID della stringa .
- Valore dell'attributo ID HTML per l'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente l'ID.
-
-
- Ottiene l'ID della stringa .
- Valore dell'attributo ID HTML per l'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente l'ID.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Ottiene l'ID della stringa .
- Valore dell'attributo ID HTML per l'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Ottiene il nome di campo HTML completo per l'oggetto rappresentato dall'espressione.
- Nome di campo HTML completo per l'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente il nome.
-
-
- Ottiene il nome di campo HTML completo per l'oggetto rappresentato dall'espressione.
- Nome di campo HTML completo per l'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente il nome.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Ottiene il nome di campo HTML completo per l'oggetto rappresentato dall'espressione.
- Nome di campo HTML completo per l'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Rappresenta la funzionalità per eseguire il rendering di una visualizzazione parziale come stringa codificata in formato HTML.
-
-
- Esegue il rendering di una visualizzazione parziale specificata come stringa codificata in formato HTML.
- Visualizzazione parziale di cui è stato eseguito il rendering come stringa codificata in formato HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della visualizzazione parziale di cui eseguire il rendering.
-
-
- Esegue il rendering di una visualizzazione parziale specificata come stringa codificata in formato HTML.
- Visualizzazione parziale di cui è stato eseguito il rendering come stringa codificata in formato HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della visualizzazione parziale di cui eseguire il rendering.
- Modello per la visualizzazione parziale.
-
-
- Esegue il rendering di una visualizzazione parziale specificata come stringa codificata in formato HTML.
- Visualizzazione parziale di cui è stato eseguito il rendering come stringa codificata in formato HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della visualizzazione parziale.
- Modello per la visualizzazione parziale.
- Dizionario dei dati di visualizzazione per la visualizzazione parziale.
-
-
- Esegue il rendering di una visualizzazione parziale specificata come stringa codificata in formato HTML.
- Visualizzazione parziale di cui è stato eseguito il rendering come stringa codificata in formato HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della visualizzazione parziale di cui eseguire il rendering.
- Dizionario dei dati di visualizzazione per la visualizzazione parziale.
-
-
- Fornisce supporto per il rendering di una visualizzazione parziale.
-
-
- Esegue il rendering della visualizzazione parziale specificata utilizzando l'helper HTML specificato.
- Helper HTML.
- Nome della visualizzazione parziale.
-
-
- Esegue il rendering della visualizzazione parziale specificata, passando ad essa una copia dell'oggetto corrente, ma con la proprietà Model impostata sul modello specificato.
- Helper HTML.
- Nome della visualizzazione parziale.
- Modello.
-
-
- Esegue il rendering della visualizzazione parziale specificata, sostituendo la proprietà ViewData della visualizzazione parziale con l'oggetto specificato e impostando la proprietà Model dei dati di visualizzazione sul modello specificato.
- Helper HTML.
- Nome della visualizzazione parziale.
- Modello per la visualizzazione parziale.
- Dati di visualizzazione per la visualizzazione parziale.
-
-
- Esegue il rendering della visualizzazione parziale specificata, sostituendo la relativa proprietà ViewData con l'oggetto specificato.
- Helper HTML.
- Nome della visualizzazione parziale.
- Dati della visualizzazione.
-
-
- Rappresenta il supporto per effettuare selezioni in un elenco.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML e il nome del campo del form specificati.
- Elemento HTML select.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML, il nome del campo del form e le voci dell'elenco specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML, il nome del campo del form, le voci dell'elenco e gli attributi HTML specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML, il nome del campo del form, le voci dell'elenco e gli attributi HTML specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML, il nome del campo del form, le voci dell'elenco e un'etichetta di opzione specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML, il nome del campo del form, le voci dell'elenco, un'etichetta di opzione e gli attributi HTML specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML, il nome del campo del form, le voci dell'elenco, un'etichetta di opzione e gli attributi HTML specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML, il nome del campo del form e un'etichetta di opzione specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, utilizzando le voci dell'elenco specificate.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando le voci dell'elenco e gli attributi HTML specificati.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando le voci dell'elenco e gli attributi HTML specificati.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, utilizzando le voci dell'elenco e l'etichetta di opzione specificate.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando le voci dell'elenco, l'etichetta di opzione e gli attributi HTML specificati.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando le voci dell'elenco, l'etichetta di opzione e gli attributi HTML specificati.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione specificata.
- Elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente i valori da visualizzare.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione specificata.
- Elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente i valori da visualizzare.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione specificata.
- Elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente i valori da visualizzare.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione specificata.
- Elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente i valori da visualizzare.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione specificata.
- Elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente i valori da visualizzare.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione specificata.
- Elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente i valori da visualizzare.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento select a selezione multipla utilizzando l'helper HTML e il nome del campo del form specificati.
- Elemento HTML select.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione multipla utilizzando l'helper HTML, il nome del campo del form e le voci dell'elenco specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione multipla utilizzando l'helper HTML, il nome del campo del form, le voci dell'elenco e gli attributi HTML specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione multipla utilizzando l'helper HTML, il nome del campo del form e le voci dell'elenco specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, utilizzando le voci dell'elenco specificate.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando le voci dell'elenco e gli attributi HTML specificati.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando le voci dell'elenco e gli attributi HTML specificati.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Rappresenta il supporto per i controlli HTML textarea.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML e il nome del campo del form specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML, il nome del campo del form e gli attributi HTML specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML e gli attributi HTML specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML, il nome del campo del form e il contenuto di testo specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Contenuto di testo.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML, il nome del campo del form, il contenuto di testo e gli attributi HTML specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Contenuto di testo.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML, il nome del campo del form, il contenuto di testo, il numero di righe e colonne e gli attributi HTML specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Contenuto di testo.
- Numero di righe.
- Numero di colonne.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML, il nome del campo del form, il contenuto di testo, il numero di righe e colonne e gli attributi HTML specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Contenuto di testo.
- Numero di righe.
- Numero di colonne.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML, il nome del campo del form, il contenuto di testo e gli attributi HTML specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Contenuto di testo.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Restituisce un elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando gli attributi HTML specificati.
- Elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Restituisce un elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando gli attributi HTML e il numero di righe e colonne specificati.
- Elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Numero di righe.
- Numero di colonne.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Restituisce un elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando gli attributi HTML e il numero di righe e colonne specificati.
- Elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Numero di righe.
- Numero di colonne.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Restituisce un elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando gli attributi HTML specificati.
- Elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Fornisce supporto per la convalida dell'input da un form HTML.
-
-
- Ottiene o imposta il nome del file di risorse (chiave della classe) che contiene valori stringa localizzati.
- Nome del file di risorse (chiave della classe).
-
-
- Recupera i metadati di convalida per il modello specificato e applica ogni regola al campo dati.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della proprietà o dell'oggetto modello in fase di convalida.
- Il parametro è null.
-
-
- Recupera i metadati di convalida per il modello specificato e applica ogni regola al campo dati.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Visualizza un messaggio di convalida in caso di errore relativo al campo specificato nell'oggetto .
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della proprietà o dell'oggetto modello in fase di convalida.
-
-
- Visualizza un messaggio di convalida in caso di errore relativo al campo specificato nell'oggetto .
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della proprietà o dell'oggetto modello in fase di convalida.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Mostra un messaggio di convalida in caso di errore relativo alla voce specificata nell'oggetto .
- Sarà null se la voce è valida e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Nome della voce sottoposta a convalida.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
-
-
- Visualizza un messaggio di convalida in caso di errore relativo al campo specificato nell'oggetto .
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della proprietà o dell'oggetto modello in fase di convalida.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Mostra un messaggio di convalida in caso di errore relativo alla voce specificata nell'oggetto .
- Sarà null se la voce è valida e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Nome della voce sottoposta a convalida.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
-
-
- Visualizza un messaggio di convalida in caso di errore relativo al campo specificato nell'oggetto .
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della proprietà o dell'oggetto modello in fase di convalida.
- Messaggio da visualizzare se il campo specificato contiene un errore.
-
-
- Visualizza un messaggio di convalida in caso di errore relativo al campo specificato nell'oggetto .
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della proprietà o dell'oggetto modello in fase di convalida.
- Messaggio da visualizzare se il campo specificato contiene un errore.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Mostra un messaggio di convalida in caso di errore relativo alla voce specificata nell'oggetto .
- Sarà null se l'oggetto modello è valido e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Nome dell'oggetto modello sottoposto a convalida.
- Messaggio da visualizzare se la voce specificata contiene un errore.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
-
-
- Visualizza un messaggio di convalida in caso di errore relativo al campo specificato nell'oggetto .
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della proprietà o dell'oggetto modello in fase di convalida.
- Messaggio da visualizzare se il campo specificato contiene un errore.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Mostra un messaggio di convalida in caso di errore relativo alla voce specificata nell'oggetto .
- Sarà null se la voce è valida e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Nome della voce sottoposta a convalida.
- Messaggio da visualizzare se la voce specificata contiene un errore.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
-
-
- Mostra un messaggio di convalida in caso di errore relativo alla voce specificata nell'oggetto .
- Sarà null se la voce è valida e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Nome della voce sottoposta a convalida.
- Messaggio da visualizzare se la voce specificata contiene un errore.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
-
-
- Restituisce il markup HTML per un messaggio di errore di convalida per ogni campo dati rappresentato dall'espressione specificata.
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce il markup HTML per un messaggio di errore di convalida per ogni campo dati rappresentato dall'espressione specificata usando il messaggio specificato.
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Messaggio da visualizzare se il campo specificato contiene un errore.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce il markup HTML per un messaggio di errore di convalida per ogni campo dati rappresentato dall'espressione specificata, usando il messaggio e gli attributi HTML specificati.
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Messaggio da visualizzare se il campo specificato contiene un errore.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce il markup HTML per un messaggio di errore di convalida per l'espressione specificata.
- Sarà null se l'oggetto modello è valido e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Messaggio da visualizzare in caso di errore di convalida.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce il markup HTML per un messaggio di errore di convalida per ogni campo dati rappresentato dall'espressione specificata, usando il messaggio e gli attributi HTML specificati.
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Messaggio da visualizzare se il campo specificato contiene un errore.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce il markup HTML per un messaggio di errore di convalida per l'espressione specificata.
- Sarà null se l'oggetto modello è valido e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Messaggio da visualizzare in caso di errore di convalida.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce il markup HTML per un messaggio di errore di convalida per l'espressione specificata.
- Sarà null se l'oggetto modello è valido e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Messaggio da visualizzare in caso di errore di convalida.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto .
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto e visualizza facoltativamente solo errori a livello di modello.
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HTML estesa da questo metodo.
- true per avere la visualizzazione riepilogativa solo degli errori a livello di modello o false per avere la visualizzazione riepilogativa di tutti gli errori.
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto e visualizza facoltativamente solo errori a livello di modello.
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HTML estesa da questo metodo.
- true per avere la visualizzazione riepilogativa solo degli errori a livello di modello o false per avere la visualizzazione riepilogativa di tutti gli errori.
- Messaggio da visualizzare con il riepilogo di convalida.
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto e visualizza facoltativamente solo errori a livello di modello.
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HTML estesa da questo metodo.
- true per avere la visualizzazione riepilogativa solo degli errori a livello di modello o false per avere la visualizzazione riepilogativa di tutti gli errori.
- Messaggio da visualizzare con il riepilogo di convalida.
- Dizionario contenente gli attributi HTML per l'elemento.
-
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto e visualizza facoltativamente solo errori a livello di modello.
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HTML estesa da questo metodo.
- true per avere la visualizzazione riepilogativa solo degli errori a livello di modello o false per avere la visualizzazione riepilogativa di tutti gli errori.
- Messaggio da visualizzare con il riepilogo di convalida.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto .
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HMTL estesa da questo metodo.
- Messaggio da visualizzare se il campo specificato contiene un errore.
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto .
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HTML estesa da questo metodo.
- Messaggio da visualizzare se il campo specificato contiene un errore.
- Dizionario contenente gli attributi HTML per l'elemento.
-
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto .
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HTML estesa da questo metodo.
- Messaggio da visualizzare se il campo specificato contiene un errore.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
-
-
- Fornisce un meccanismo per la creazione di markup HTML personalizzato compatibile con i modelli e gli strumenti di associazione di modelli ASP.NET MVC.
-
-
- Fornisce un meccanismo per la creazione di markup HTML personalizzato compatibile con i modelli e gli strumenti di associazione di modelli ASP.NET MVC.
- Markup HTML per il valore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello.
-
-
- Fornisce un meccanismo per la creazione di markup HTML personalizzato compatibile con i modelli e gli strumenti di associazione di modelli ASP.NET MVC.
- Markup HTML per il valore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello.
- Stringa del formato.
-
-
- Fornisce un meccanismo per la creazione di markup HTML personalizzato compatibile con i modelli e gli strumenti di associazione di modelli ASP.NET MVC.
- Markup HTML per il valore.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da esporre.
- Modello.
- Proprietà.
-
-
- Fornisce un meccanismo per la creazione di markup HTML personalizzato compatibile con i modelli e gli strumenti di associazione di modelli ASP.NET MVC.
- Markup HTML per il valore.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da esporre.
- Stringa del formato.
- Modello.
- Proprietà.
-
-
- Fornisce un meccanismo per la creazione di markup HTML personalizzato compatibile con i modelli e gli strumenti di associazione di modelli ASP.NET MVC.
- Markup HTML per il valore.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Fornisce un meccanismo per la creazione di markup HTML personalizzato compatibile con i modelli e gli strumenti di associazione di modelli ASP.NET MVC.
- Markup HTML per il valore.
- Istanza dell'helper HTML estesa da questo metodo.
- Stringa del formato.
-
-
- Compila le visualizzazioni ASP.NET Razor nelle classi.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Direttiva da ereditare.
-
-
- Direttiva modello.
-
-
- Estende la classe VBCodeParser aggiungendo il supporto per la parola chiave @model.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Imposta un valore che indica se il modello e il blocco di codice correnti devono essere ereditati.
- true se il modello e il blocco di codice vengono ereditati. In caso contrario, false.
-
-
- Direttiva tipo di modello.
- Restituisce void.
-
-
- Configura il generatore di codice e il parser ASP.NET Razor per un file specificato.
-
-
- Inizializza una nuova istanza della classe .
- Percorso virtuale del file ASP.NET Razor.
- Percorso fisico del file ASP.NET Razor.
-
-
- Restituisce il generatore di codice Razor specifico del linguaggio ASP.NET MVC.
- Generatore di codice Razor specifico del linguaggio ASP.NET MVC.
- Generatore di codice C# o Visual Basic.
-
-
- Restituisce il parser di codice Razor specifico del linguaggio ASP.NET MVC utilizzando il parser del linguaggio specificato.
- Parser di codice Razor specifico del linguaggio ASP.NET MVC.
- Parser di codice C# o Visual Basic.
-
-
-
-
- Crea istanze di in base alle factory e all'azione specificate.Le voci della route offrono il routing diretto all'azione specificata.
- Insieme di voci della route.
- Descrittore dell'azione.
- Factory della route diretta.
- Resolver del vincolo.
-
-
- Recupera un insieme di factory della route per il descrittore dell'azione specificato.
- Insieme di factory della route.
- Descrittore dell'azione.
-
-
- Recupera il prefisso dell'area dal controller specificato.
- Prefisso dell'area o null.
- Descrittore del controller.
-
-
- Crea istanze di in base alle factory, al controller e alle azioni specificati.Le voci della route offrono il routing diretto al controller specificato e possono raggiungere l'insieme di azioni specificate.
- Insieme di voci della route.
- Descrittore del controller.
- Descrittori dell'azione.
- Factory della route diretta.
- Resolver del vincolo.
-
-
- Ottiene le factory della route per il descrittore del controller specificato.
- Insieme di factory della route.
- Descrittore del controller.
-
-
- Ottiene route dirette per il descrittore del controller specificato in base agli attributi .
- Insieme di voci della route.
- Descrittore del controller.
- Descrittori dell'azione per tutte le azioni.
- Resolver del vincolo.
-
-
- Recupera il prefisso della route dal controller specificato.
- Prefisso della route o null.
- Descrittore del controller.
-
-
- Implementazione predefinita di .Risolve i vincoli mediante l'analisi di una chiave del vincolo e di argomenti del vincolo, utilizzando una mappa per risolvere il tipo di vincolo e chiamando un costruttore appropriato per tale tipo.
-
-
-
- Ottiene il dizionario modificabile che esegue il mapping delle chiavi del vincolo su un tipo di vincolo specifico.
-
-
-
- Rappresenta un contesto che supporta la creazione di una route diretta.
-
-
- Inizializza una nuova istanza della classe .
- Prefisso della route, se presente, definito dall'area.
- Prefisso della route, se presente, definito dal controller.
- Descrittori delle azioni per i quali creare una route.
- Resolver di vincoli inline.
- Valore che indica se la route è stata configurata a livello di azione o di controller.
-
-
- Ottiene i descrittori delle azioni per i quali creare una route.
- Descrittori delle azioni per i quali creare una route.
-
-
- Ottiene il prefisso della route, se presente, definito dall'area.
- Prefisso della route, se presente, definito dall'area.
-
-
- Ottiene il prefisso della route, se presente, definito dal controller.
- Prefisso della route, se presente, definito dal controller.
-
-
- Crea un compilatore di route che può generare una route corrispondente a questo contesto.
- Compilatore di route che può generare una route corrispondente a questo contesto.
- Modello di route.
-
-
- Crea un compilatore di route che può generare una route corrispondente a questo contesto.
- Compilatore di route che può generare una route corrispondente a questo contesto.
- Modello di route.
- Resolver di vincoli inline da utilizzare, se presente. In caso contrario null.
-
-
- Ottiene il resolver di vincoli inline.
- Resolver di vincoli inline.
-
-
- Ottiene un valore che indica se la route è stata configurata a livello di azione o di controller.
- true se la route è stata configurata a livello di azione. In caso contrario, false se la route è stata configurata a livello di controller.
-
-
- Definisce un compilatore che crea route dirette verso le azioni (route di attributi).
-
-
- Ottiene i descrittori delle azioni per i quali creare una route.
- Descrittori delle azioni per i quali creare una route.
-
-
- Crea una voce di route basata sui valori di proprietà correnti.
- Voce di route creata.
-
-
- Ottiene o imposta i vincoli della route.
- Vincoli della route.
-
-
- Ottiene o imposta i token di dati della route.
- Token di dati della route.
-
-
- Ottiene o imposta i valori predefiniti della route.
- Valori predefiniti route.
-
-
- Ottiene o imposta il nome della route.
- Nome della route, o null se non è stato fornito alcun nome.
-
-
- Ottiene o imposta l'ordine della route.
- Ordine della route.
-
-
- Ottiene o imposta la precedenza della route.
- Precedenza della route.
-
-
- Ottiene un valore che indica se la route è stata configurata a livello di azione o di controller.
- true se la route è stata configurata a livello di azione. In caso contrario, false se la route è stata configurata a livello di controller.
-
-
- Ottiene o imposta il modello di route.
- Modello di route.
-
-
- Definisce una factory che crea una route direttamente per un set di descrittori delle azioni (la route di un attributo).
-
-
- Crea una voce della route diretta.
- Voce della route diretta.
- Contesto da utilizzare per creare la route.
-
-
- Definisce un provider per route che fanno direttamente riferimento a descrittori di azioni (route di attributo).
-
-
- Recupera le route dirette per un controller.
- Insieme di voci della route per il controller.
- Descrittore del controller.
- Descrittori dell'azione.
- Resolver di vincoli inline.
-
-
- Definisce un'astrazione per la risoluzione dei vincoli inline come istanze di .
-
-
- Risolve il vincolo inline.
-
- in cui il vincolo inline è stato risolto.
- Vincolo inline da risolvere.
-
-
- Fornisce informazioni per creare un oggetto System.Web.Routing.Route.
-
-
- Ottiene il modello di route che descrive il modello di URI in base al quale stabilire la corrispondenza.
- Modello di route che descrive il modello di URI in base al quale stabilire la corrispondenza.
-
-
- Ottiene il nome della route da generare.
- Nome della route da generare.
-
-
- Definisce un prefisso di route.
-
-
- Ottiene il prefisso della route.
- Prefisso della route.
-
-
- Crea istanze basate sulle informazioni sulla route.
-
-
- Inizializza una nuova istanza della classe utilizzando il resolver di vincoli inline predefinito.
-
-
- Inizializza una nuova istanza della classe .
-
- da utilizzare per la risoluzione dei vincoli inline.
-
-
- Crea un oggetto per un'azione specifica.
- Oggetto generato.
- Modello da utilizzare per la route in formato token.
- Metodi HTTP supportati dalla route.Un valore null specifica che sono supportati tutti i metodi possibili.
- Nome del controller associato.
- Nome dell'azione associata.
- Il metodo su cui è stato applicato l'attributo della route.
-
-
- Crea un oggetto per un'azione specifica.
- Route generata.
- Modello da utilizzare per la route in formato token.
- Controller su cui è stato applicato l'attributo della route.
-
-
- Crea un oggetto .
- Oggetto generato.
- Valori predefiniti route.
- Vincoli della route.
- Modello di route non in formato token.
- Il metodo su cui è stato applicato l'attributo della route.
-
-
- Ottiene il resolver per la risoluzione dei vincoli inline.
- Resolver per la risoluzione dei vincoli inline.
-
-
- Rappresenta una route denominata.
-
-
- Inizializza una nuova istanza della classe .
- Nome della route.
- Route.
-
-
- Ottiene il nome della route.
- Nome della route, se presente. In caso contrario null.
-
-
- Ottiene la route.
- Route.
-
-
- Rappresenta la route di un attributo che può contenere vincoli personalizzati.
-
-
- Inizializza una nuova istanza della classe .
- Modello di route.
-
-
- Ottiene i vincoli della route.
- Vincoli della route, se presenti. In caso contrario null.
-
-
- Crea una voce della route diretta.
- Voce della route diretta.
- Contesto da utilizzare per creare la route.
-
-
- Ottiene i token di dati della route.
- Token di dati della route, se presenti. In caso contrario null.
-
-
- Ottiene i valori predefiniti della route.
- Valori predefiniti della route, se presenti. In caso contrario null.
-
-
- Ottiene o imposta il nome della route.
- Nome della route, se presente. In caso contrario null.
-
-
- Ottiene o imposta l'ordine della route.
- Ordine della route.
-
-
- Ottiene il modello di route.
- Modello di route.
-
-
- Vincola un parametro di route affinché contenga solo lettere minuscole o maiuscole dalla A alla Z dell'alfabeto inglese.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Vincola un parametro di route affinché rappresenti solo valori booleani.
-
-
-
-
- Vincola una route mediante più vincoli figlio.
-
-
- Inizializza una nuova istanza della classe .
- Vincoli figlio che devono corrispondere per la corrispondenza di questo vincolo.
-
-
- Ottiene i vincoli figlio che devono corrispondere per la corrispondenza di questo vincolo.
- Vincoli figlio che devono corrispondere per la corrispondenza di questo vincolo.
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Vincola un parametro di route affinché rappresenti solo valori .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Vincola un parametro di route affinché rappresenti solo valori decimali.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Vincola un parametro di route affinché rappresenti solo i valori a virgola mobile a 64 bit.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Vincola un parametro di route affinché rappresenti solo i valori a virgola mobile a 32 bit.
-
-
-
-
- Vincola un parametro di route affinché rappresenti solo valori .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Vincola un parametro di route affinché rappresenti solo i valori a virgola mobile a 32 bit.
-
-
-
-
- Vincola un parametro di route affinché sia una stringa di una determinata lunghezza oppure la cui lunghezza rientra in un intervallo di lunghezze specifico.
-
-
-
- Inizializza una nuova instanza della classe che vincola il parametro affinché sia una stringa di una determinata lunghezza.
- Lunghezza minima del parametro di route.
- Lunghezza massima del parametro di route.
-
-
- Ottiene la lunghezza del parametro di route, se impostata.
-
-
-
- Ottiene la lunghezza massima del parametro di route, se impostata.
-
-
- Ottiene la lunghezza minima del parametro di route, se impostata.
-
-
- Vincola un parametro di route affinché rappresenti solo i valori a virgola mobile a 64 bit.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Vincola un parametro di route affinché sia una stringa con una lunghezza massima.
-
-
-
-
- Ottiene la lunghezza massima del parametro di route.
-
-
- Vincola un parametro di route affinché sia un numero intero con un valore minimo.
-
-
- Inizializza una nuova istanza della classe .
- Valore massimo.
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Ottiene il valore massimo del parametro di route.
- Valore massimo del parametro di route.
-
-
- Vincola un parametro di route affinché sia una stringa con una lunghezza massima.
-
-
- Inizializza una nuova istanza della classe .
- Lunghezza minima.
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del confronto.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Ottiene la lunghezza minima del parametro di route.
- Lunghezza minima del parametro di route.
-
-
- Vincola un parametro di route affinché sia un long con un valore minimo.
-
-
- Inizializza una nuova istanza della classe .
- Valore minimo.
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Ottiene il valore minimo del parametro di route.
- Valore minimo del parametro di route.
-
-
- Vincola una route mediante un vincolo interno che non restituisce un errore quando un parametro opzionale viene impostato sul relativo valore predefinito.
-
-
- Inizializza una nuova istanza della classe .
- Vincolo interno con cui stabilire una corrispondenza se il parametro non è un parametro opzionale senza un valore.
-
-
- Ottiene il vincolo interno con cui stabilire una corrispondenza se il parametro non è un parametro opzionale senza un valore.
-
-
-
- Vincola un parametro di route affinché sia un numero intero che rientra un determinato intervallo di valori.
-
-
- Inizializza una nuova istanza della classe .
- Valore minimo.
- Valore massimo.
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Ottiene il valore massimo del parametro di route.
- Valore massimo del parametro di route.
-
-
- Ottiene il valore minimo del parametro di route.
- Valore minimo del parametro di route.
-
-
- Vincola un parametro di route affinché corrisponda a un'espressione regolare.
-
-
- Inizializza una nuova istanza della classe con il modello specificato.
- Modello con cui stabilire una corrispondenza.
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Ottiene il modello di espressione regolare con cui stabilire la corrispondenza.
- Modello di espressione regolare con cui stabilire la corrispondenza.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.Mvc.it.5.2.3/Microsoft.AspNet.Mvc.it.5.2.3.nupkg b/packages/Microsoft.AspNet.Mvc.it.5.2.3/Microsoft.AspNet.Mvc.it.5.2.3.nupkg
deleted file mode 100644
index 70082d5..0000000
Binary files a/packages/Microsoft.AspNet.Mvc.it.5.2.3/Microsoft.AspNet.Mvc.it.5.2.3.nupkg and /dev/null differ
diff --git a/packages/Microsoft.AspNet.Mvc.it.5.2.3/lib/net45/it/System.Web.Mvc.resources.dll b/packages/Microsoft.AspNet.Mvc.it.5.2.3/lib/net45/it/System.Web.Mvc.resources.dll
deleted file mode 100644
index e81c424..0000000
Binary files a/packages/Microsoft.AspNet.Mvc.it.5.2.3/lib/net45/it/System.Web.Mvc.resources.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.Mvc.it.5.2.3/lib/net45/it/System.Web.Mvc.xml b/packages/Microsoft.AspNet.Mvc.it.5.2.3/lib/net45/it/System.Web.Mvc.xml
deleted file mode 100644
index 4480c28..0000000
--- a/packages/Microsoft.AspNet.Mvc.it.5.2.3/lib/net45/it/System.Web.Mvc.xml
+++ /dev/null
@@ -1,11498 +0,0 @@
-
-
-
- System.Web.Mvc
-
-
-
- Rappresenta un attributo che specifica a quali verbi HTTP risponderà un metodo di azione.
-
-
- Inizializza una nuova istanza della classe utilizzando un elenco di verbi HTTP ai quali il metodo di azione risponderà.
- Verbi HTTP ai quali il metodo di azione risponderà.
- Il parametro è null o di lunghezza zero.
-
-
- Inizializza una nuova istanza della classe utilizzando i verbi HTTP ai quali il metodo di azione risponderà.
- Verbi HTTP ai quali il metodo di azione risponderà.
-
-
- Determina se le informazioni sul metodo specificate sono valide per il contesto del controller specificato.
- true se le informazioni sul metodo sono valide. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo.
- Il parametro è null.
-
-
- Ottiene o imposta l'elenco di verbi HTTP ai quali il metodo di azione risponderà.
- Elenco di verbi HTTP ai quali il metodo di azione risponderà.
-
-
- Fornisce informazioni su un metodo di azione, ad esempio nome, controller, parametri, attributi e filtri.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il nome del metodo di azione.
- Nome del metodo di azione.
-
-
- Ottiene il descrittore del controller.
- Descrittore del controller.
-
-
- Esegue il metodo di azione utilizzando i parametri e il contesto del controller specificati.
- Risultato dell'esecuzione del metodo di azione.
- Contesto del controller.
- Parametri del metodo di azione.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, identificati dal tipo.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato del tipo specificato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
- Il parametro è null.
-
-
- Ottiene gli attributi del filtro.
- Attributi del filtro.
- true per utilizzare la cache. In caso contrario, false.
-
-
- Restituisce i filtri associati al metodo di azione.
- Filtri associati al metodo di azione.
-
-
- Restituisce i parametri del metodo di azione.
- Parametri del metodo di azione.
-
-
- Restituisce i selettori del metodo di azione.
- Selettori del metodo di azione.
-
-
- Determina se per questo membro sono definite una o più istanze del tipo di attributo specificato.
- true se per questo membro è definito . In caso contrario, false.
- Tipo dell'attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il parametro è null.
-
-
- Ottiene l'ID univoco del descrittore dell'azione mediante l'inizializzazione differita.
- ID univoco.
-
-
- Fornisce il contesto per il metodo ActionExecuted della classe .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe .
- Contesto del controller.
- Descrittore del metodo di azione.
- true se l'azione è annullata.
- Oggetto eccezione.
- Il parametro è null.
-
-
- Ottiene o imposta il descrittore dell'azione.
- Descrittore dell'azione.
-
-
- Ottiene o imposta un valore che indica che l'oggetto è annullato.
- true se il contesto è annullato. In caso contrario, false.
-
-
- Ottiene o imposta l'eccezione che si è verificata durante l'esecuzione del metodo di azione, se presente.
- Eccezione che si è verificata durante l'esecuzione del metodo di azione.
-
-
- Ottiene o imposta un valore che indica se l'eccezione è gestita.
- true se l'eccezione è gestita. In caso contrario, false.
-
-
- Ottiene o imposta il risultato restituito dal metodo di azione.
- Risultato restituito dal metodo di azione.
-
-
- Fornisce il contesto per il metodo ActionExecuting della classe .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller, il descrittore dell'azione e i parametri del metodo di azione specificati.
- Contesto del controller.
- Descrittore dell'azione.
- Parametri del metodo di azione.
- Il parametro o è null.
-
-
- Ottiene o imposta il descrittore dell'azione.
- Descrittore dell'azione.
-
-
- Ottiene o imposta i parametri del metodo di azione.
- Parametri del metodo di azione.
-
-
- Ottiene o imposta il risultato restituito dal metodo di azione.
- Risultato restituito dal metodo di azione.
-
-
- Rappresenta la classe di base per gli attributi di filtro.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Chiamato dal framework ASP.NET MVC dopo l'esecuzione del metodo di azione.
- Contesto del filtro.
-
-
- Chiamato dal framework ASP.NET MVC prima dell'esecuzione del metodo di azione.
- Contesto del filtro.
-
-
- Chiamato dal framework ASP.NET MVC dopo l'esecuzione del risultato dell'azione.
- Contesto del filtro.
-
-
- Chiamato dal framework ASP.NET MVC prima dell'esecuzione del risultato dell'azione.
- Contesto del filtro.
-
-
- Rappresenta un attributo utilizzato per influire sulla selezione di un metodo di azione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la selezione del metodo di azione è valida per il contesto del controller specificato.
- true se la selezione del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Rappresenta un attributo utilizzato per il nome di un'azione.
-
-
- Inizializza una nuova istanza della classe .
- Nome dell'azione.
- Il parametro è null o vuoto.
-
-
- Determina se il nome dell'azione è valido nel contesto del controller specificato.
- true se il nome dell'azione è valido nel contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Nome dell'azione.
- Informazioni sul metodo di azione.
-
-
- Ottiene o imposta il nome dell'azione.
- Nome dell'azione.
-
-
- Rappresenta un attributo che influisce sulla selezione di un metodo di azione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se il nome dell'azione è valido nel contesto del controller specificato.
- true se il nome dell'azione è valido nel contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Nome dell'azione.
- Informazioni sul metodo di azione.
-
-
- Restituisce il risultato di un metodo di azione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui viene eseguito il risultato.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
-
-
- Rappresenta un delegato che contiene la logica per la selezione di un metodo di azione.
-
-
- Fornisce una classe che implementa l'interfaccia per supportare metadati aggiuntivi.
-
-
- Inizializza una nuova istanza della classe .
- Nome dei metadati del modello.
- Valore dei metadati del modello.
-
-
- Ottiene il nome dell'attributo dei metadati aggiuntivi.
- Nome dell'attributo dei metadati aggiuntivi.
-
-
- Fornisce i metadati al processo di creazione dei metadati del modello.
- Metadati.
-
-
- Ottiene il tipo dell'attributo dei metadati aggiuntivi.
- Tipo dell'attributo dei metadati aggiuntivi.
-
-
- Ottiene il valore dell'attributo dei metadati aggiuntivi.
- Valore dell'attributo dei metadati aggiuntivi.
-
-
- Rappresenta il supporto per il rendering di HTML in scenari AJAX in una visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di visualizzazione e il contenitore di dati della visualizzazione specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
- Uno o entrambi i parametri sono null.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di visualizzazione, il contenitore dei dati della visualizzazione e l'insieme di route specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
- Insieme di route dell'URL.
- Uno o più parametri sono null.
-
-
- Ottiene o imposta il percorso radice per il percorso da utilizzare per i file script di globalizzazione.
- Posizione della cartella in cui sono archiviati i file script di globalizzazione.Il percorso predefinito è "~/Scripts/Globalization".
-
-
- Serializza il messaggio specificato e restituisce la stringa in formato JSON risultante.
- Messaggio serializzato come stringa in formato JSON.
- Messaggio da serializzare.
-
-
- Ottiene l'insieme di route dell'URL per l'applicazione.
- Insieme di route per l'applicazione.
-
-
- Ottiene ViewBag.
- ViewBag.
-
-
- Ottiene le informazioni sul contesto della visualizzazione.
- Contesto della visualizzazione.
-
-
- Ottiene il dizionario dei dati della visualizzazione corrente.
- Dizionario dei dati della visualizzazione.
-
-
- Ottiene il contenitore di dati della visualizzazione.
- Contenitore di dati della visualizzazione.
-
-
- Rappresenta il supporto per il rendering di HTML in scenari AJAX in una visualizzazione fortemente tipizzata.
- Tipo del modello.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di visualizzazione e il contenitore di dati della visualizzazione specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di visualizzazione, il contenitore di dati della visualizzazione e l'insieme di route dell'URL specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
- Insieme di route dell'URL.
-
-
- Ottiene ViewBag.
- ViewBag.
-
-
- Ottiene la versione fortemente tipizzata del dizionario dei dati della visualizzazione.
- Dizionario dei dati della visualizzazione fortemente tipizzato.
-
-
- Rappresenta una classe che estende la classe aggiungendo la possibilità di determinare se una richiesta HTTP è una richiesta AJAX.
-
-
- Determina se la richiesta HTTP specificata è una richiesta AJAX.
- true se la richiesta HTTP specificata è una richiesta AJAX. In caso contrario, false.
- Richiesta HTTP.
- Il parametro è null (Nothing in Visual Basic).
-
-
- Rappresenta un attributo che contrassegna controller e azioni in modo da ignorare durante l'autorizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Consente a una richiesta di includere il markup HTML durante l'associazione del modello ignorando la convalida della richiesta per la proprietà.È consigliabile che l'applicazione verifichi in modo esplicito tutti i modelli in cui è stata disabilitata la convalida della richiesta in modo da impedire gli attacchi tramite script.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Questo metodo supporta l'infrastruttura di convalida ASP.NET MVC e non può essere utilizzato direttamente dal codice.
- Metadati del modello.
-
-
- Controlla l'interpretazione del nome di un controller durante la creazione di .
-
-
- Cercare il controller nell'area corrente.
-
-
- Cercare il controller nell'area della radice.
-
-
- Fornisce una modalità per registrare una o più aree in un'applicazione ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il nome dell'area da registrare.
- Nome dell'area da registrare.
-
-
- Registra tutte le aree in un'applicazione ASP.NET MVC.
-
-
- Registra tutte le aree all'interno di un'applicazione ASP.NET MVC utilizzando le informazioni definite dall'utente specificate.
- Oggetto contenente le informazioni definite dall'utente da passare all'area.
-
-
- Registra un'area all'interno di un'applicazione ASP.NET MVC utilizzando le informazioni sul contesto dell'area specificata.
- Incapsula le informazioni necessarie per registrare l'area.
-
-
- Incapsula le informazioni necessarie per registrare un'area all'interno di un'applicazione ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe utilizzando il nome dell'area e l'insieme di route specificati.
- Nome dell'area da registrare.
- Insieme di route per l'applicazione.
-
-
- Inizializza una nuova istanza della classe utilizzando il nome dell'area, l'insieme di route e i dati definiti dall'utente specificati.
- Nome dell'area da registrare.
- Insieme di route per l'applicazione.
- Oggetto contenente le informazioni definite dall'utente da passare all'area.
-
-
- Ottiene il nome dell'area da registrare.
- Nome dell'area da registrare.
-
-
- Esegue il mapping della route dell'URL specificata e la associa all'area specificata dalla proprietà .
- Riferimento alla route di cui è stato eseguito il mapping.
- Nome della route.
- Modello di URL per la route.
- Il parametro è null.
-
-
- Esegue il mapping della route dell'URL specificata e la associa all'area specificata dalla proprietà , utilizzando i valori predefiniti specificati della route.
- Riferimento alla route di cui è stato eseguito il mapping.
- Nome della route.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Il parametro è null.
-
-
- Esegue il mapping della route dell'URL specificata e la associa all'area specificata dalla proprietà , utilizzando i valori predefiniti della route e i vincoli specificati.
- Riferimento alla route di cui è stato eseguito il mapping.
- Nome della route.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Set di espressioni che specificano i valori validi per il parametro dell'URL.
- Il parametro è null.
-
-
- Esegue il mapping della route dell'URL specificata e la associa all'area specificata dalla proprietà , utilizzando i valori predefiniti della route, i vincoli e gli spazi dei nomi specificati.
- Riferimento alla route di cui è stato eseguito il mapping.
- Nome della route.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Set di espressioni che specificano i valori validi per il parametro dell'URL.
- Set enumerabile di spazi dei nomi per l'applicazione.
- Il parametro è null.
-
-
- Esegue il mapping della route dell'URL specificata e la associa all'area specificata dalla proprietà , utilizzando i valori predefiniti della route e i gli spazi dei nomi specificati.
- Riferimento alla route di cui è stato eseguito il mapping.
- Nome della route.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Set enumerabile di spazi dei nomi per l'applicazione.
- Il parametro è null.
-
-
- Esegue il mapping della route dell'URL specificata e la associa all'area specificata dalla proprietà , utilizzando gli spazi dei nomi specificati.
- Riferimento alla route di cui è stato eseguito il mapping.
- Nome della route.
- Modello di URL per la route.
- Set enumerabile di spazi dei nomi per l'applicazione.
- Il parametro è null.
-
-
- Ottiene gli spazi dei nomi per l'applicazione.
- Set enumerabile di spazi dei nomi per l'applicazione.
-
-
- Ottiene un insieme di route definite per l'applicazione.
- Insieme di route definite per l'applicazione.
-
-
- Ottiene un oggetto contenente le informazioni definite dall'utente da passare all'area.
- Oggetto contenente le informazioni definite dall'utente da passare all'area.
-
-
- Fornisce una classe astratta per implementare un provider di metadati.
-
-
- Chiamato dai costruttori in una classe derivata per inizializzare la classe .
-
-
- Quando è sottoposto a override in una classe derivata, crea i metadati del modello per la proprietà.
- Metadati del modello per la proprietà.
- Set di attributi.
- Tipo del contenitore.
- Funzione di accesso del modello.
- Tipo del modello.
- Nome della proprietà.
-
-
- Ottiene un elenco di attributi.
- Elenco di attributi.
- Tipo del contenitore.
- Descrittore di proprietà.
- Contenitore dell'attributo.
-
-
- Restituisce un elenco di proprietà per il modello.
- Elenco di proprietà del modello.
- Contenitore del modello.
- Tipo del contenitore.
-
-
- Restituisce i metadati per la proprietà specificata utilizzando il tipo di contenitore e il descrittore della proprietà.
- Metadati per la proprietà specificata utilizzando il tipo di contenitore e il descrittore della proprietà.
- Funzione di accesso del modello.
- Tipo del contenitore.
- Descrittore di proprietà.
-
-
- Restituisce i metadati per la proprietà specificata utilizzando il tipo di contenitore e il nome della proprietà.
- Metadati per la proprietà specificata utilizzando il tipo di contenitore e il nome della proprietà.
- Funzione di accesso del modello.
- Tipo del contenitore.
- Nome della proprietà.
-
-
- Restituisce i metadati per la proprietà specificata utilizzando il tipo del modello.
- Metadati per la proprietà specificata utilizzando il tipo del modello.
- Funzione di accesso del modello.
- Tipo del modello.
-
-
- Restituisce il descrittore di tipo dal tipo specificato.
- Descrittore di tipo.
- Tipo.
-
-
- Fornisce una classe astratta per le classi che implementano un provider di convalida.
-
-
- Chiamato dai costruttori nelle classi derivate per inizializzare la classe .
-
-
- Ottiene un descrittore di tipi per il tipo specificato.
- Descrittore di tipi per il tipo specificato.
- Tipo del provider di convalida.
-
-
- Ottiene i validator per il modello utilizzando i metadati e il contesto del controller.
- Validator per il modello.
- Metadati.
- Contesto del controller.
-
-
- Ottiene i validator per il modello utilizzando i metadati, il contesto del controller e l'elenco di attributi.
- Validator per il modello.
- Metadati.
- Contesto del controller.
- Elenco di attributi.
-
-
- Fornita per compatibilità con la versione precedente ASP.NET MVC 3.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Rappresenta un attributo utilizzato per impostare il valore di timeout, in millisecondi, per un metodo asincrono.
-
-
- Inizializza una nuova istanza della classe .
- Valore di timeout in millisecondi.
-
-
- Ottiene la durata del timeout, in millisecondi.
- Durata del timeout, in millisecondi.
-
-
- Chiamato da ASP.NET prima dell'esecuzione del metodo di azione asincrono.
- Contesto del filtro.
-
-
- Incapsula le informazioni necessarie per l'utilizzo di un attributo .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller specificato.
- Contesto in cui il risultato viene eseguito.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller e il descrittore dell'azione specificati.
- Contesto in cui viene eseguito il risultato.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Oggetto che fornisce informazioni su un metodo di azione, ad esempio nome, controller, parametri, attributi e filtri.
-
-
- Fornisce informazioni su un metodo di azione contrassegnato dall'attributo , ad esempio nome, controller, parametri, attributi e filtri.
- Descrittore dell'azione per il metodo di azione contrassegnato dall'attributo .
-
-
- Ottiene o imposta il risultato restituito da un metodo di azione.
- Risultato restituito da un metodo di azione.
-
-
- Specifica che l'accesso a un controller o a un metodo di azione è limitato agli utenti che soddisfano i requisiti di autorizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Quando sottoposto a override, fornisce un punto di ingresso per i controlli di autorizzazione personalizzati.
- true se l'utente è autorizzato. In caso contrario, false.
- Contenuto HTTP che incapsula tutte le informazioni specifiche di HTTP relative a una singola richiesta HTTP.
- Il parametro è null.
-
-
- Elabora le richieste HTTP che non ottengono l'autorizzazione.
- Incapsula le informazioni per l'utilizzo di .L'oggetto contiene il controller, il contesto HTTP, il contesto della richiesta, il risultato dell'azione e i dati della route.
-
-
- Chiamato quando un processo richiede un'autorizzazione.
- Contesto del filtro che incapsula informazioni per l'utilizzo di .
- Il parametro è null.
-
-
- Chiamato quando il modulo di memorizzazione nella cache richiede un'autorizzazione.
- Riferimento allo stato della convalida.
- Contenuto HTTP che incapsula tutte le informazioni specifiche di HTTP relative a una singola richiesta HTTP.
- Il parametro è null.
-
-
- Ottiene o imposta i ruoli utente autorizzati ad accedere al controller o al metodo di azione.
- Ruoli utente autorizzati ad accedere al controller o al metodo di azione.
-
-
- Ottiene l'identificatore univoco per questo attributo.
- Identificatore univoco per questo attributo.
-
-
- Ottiene o imposta gli utenti autorizzati ad accedere al controller o al metodo di azione.
- Utenti autorizzati ad accedere al controller o al metodo di azione.
-
-
- Rappresenta un attributo utilizzato per fornire dettagli su come deve essere eseguita l'associazione del modello a un parametro.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta un elenco di valori delimitati da virgole di nomi di proprietà per i quali l'associazione non è consentita.
- Elenco di esclusione.
-
-
- Ottiene o imposta un elenco di valori delimitati da virgole di nomi di proprietà per i quali l'associazione è consentita.
- Elenco di inclusione.
-
-
- Determina se la proprietà specificata è consentita.
- true se la proprietà specificata è consentita. In caso contrario, false.
- Nome della proprietà.
-
-
- Ottiene o imposta il prefisso da utilizzare quando viene eseguito il rendering del markup per l'associazione a un argomento dell'azione o a una proprietà del modello.
- Prefisso da utilizzare.
-
-
- Rappresenta la classe di base per le visualizzazioni compilate dalla classe BuildManager prima che ne venga eseguito il rendering da un motore di visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller e il percorso della visualizzazione specificati.
- Contesto del controller.
- Percorso della visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller, il percorso della visualizzazione e l'attivatore della pagina di visualizzazione specificati.
- Informazioni di contesto per il controller corrente.Tali informazioni includono il contesto HTTP, il contesto della richiesta, i dati della route, il contesto di visualizzazione dell'azione padre e altro ancora.
- Percorso della visualizzazione di cui verrà eseguito il rendering.
- Oggetto responsabile della costruzione dinamica della pagina di visualizzazione in fase di esecuzione.
- Il parametro è null.
- Il parametro è null o vuoto.
-
-
- Esegue il rendering del contesto di visualizzazione specificato utilizzando l'oggetto writer specificato.
- Informazioni correlate al rendering di una visualizzazione, ad esempio i dati della visualizzazione, i dati temporanei e il contesto del form.
- Oggetto writer.
- Il parametro è null.
- Non è stato possibile creare un'istanza del tipo di visualizzazione.
-
-
- Quando sottoposto a override in una classe derivata, esegue il rendering del contesto di visualizzazione specificato utilizzando l'oggetto writer e l'istanza dell'oggetto specificati.
- Informazioni correlate al rendering di una visualizzazione, ad esempio i dati della visualizzazione, i dati temporanei e il contesto del form.
- Oggetto writer.
- Oggetto che contiene ulteriori informazioni da poter utilizzare nella visualizzazione.
-
-
- Ottiene o imposta il percorso della visualizzazione.
- Percorso della visualizzazione.
-
-
- Fornisce una classe base per i motori di visualizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'attivatore della pagina di visualizzazione specificato.
- Attivatore della pagina di visualizzazione.
-
-
- Ottiene un valore che indica se un file esiste nel file system virtuale (percorso) specificato.
- true se il file esiste nel file system virtuale. In caso contrario, false.
- Contesto del controller.
- Percorso virtuale.
-
-
-
- Ottiene l'attivatore della pagina di visualizzazione.
- Attivatore della pagina di visualizzazione.
-
-
- Esegue il mapping di una richiesta del browser a una matrice di byte.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Associa il modello utilizzando il contesto del controller e il contesto di associazione specificati.
- Oggetto con dati associati.Implementa
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Il parametro è null.
-
-
- Fornisce una classe astratta per implementare un provider di metadati memorizzato nella cache.
-
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i criteri dell'elemento della cache.
- Criteri dell'elemento della cache.
-
-
- Ottiene il prefisso chiave della cache.
- Prefisso chiave della cache.
-
-
- Quando è sottoposto a override in una classe derivata, crea i metadati del modello memorizzati nella cache per la proprietà.
- Metadati del modello memorizzati nella cache per la proprietà.
- Attributi.
- Tipo di contenitore.
- Funzione di accesso del modello.
- Tipo di modello.
- Nome della proprietà.
-
-
- Crea i metadati del prototipo applicando il prototipo e l'accesso al modello per generare i metadati finali.
- Metadati del prototipo.
- Prototipo.
- Funzione di accesso del modello.
-
-
- Crea un prototipo dei metadati.
- Prototipo dei metadati.
- Attributi.
- Tipo di contenitore.
- Tipo di modello.
- Nome della proprietà.
-
-
- Ottiene i metadati per le proprietà.
- Metadati per le proprietà.
- Contenitore.
- Tipo di contenitore.
-
-
- Restituisce i metadati per la proprietà specificata.
- Metadati per la proprietà specificata.
- Funzione di accesso del modello.
- Tipo di contenitore.
- Descrittore di proprietà.
-
-
- Restituisce i metadati per la proprietà specificata.
- Metadati per la proprietà specificata.
- Funzione di accesso del modello.
- Tipo di contenitore.
- Nome della proprietà.
-
-
- Restituisce i metadati memorizzati nella cache per la proprietà specificata utilizzando il tipo del modello.
- Metadati memorizzati nella cache per la proprietà specificata utilizzando il tipo del modello.
- Funzione di accesso del modello.
- Tipo del contenitore.
-
-
- Ottiene la cache del prototipo.
- Cache del prototipo.
-
-
- Fornisce un contenitore per memorizzare nella cache gli attributi .
-
-
- Inizializza una nuova istanza della classe .
- Attributi.
-
-
- Ottiene il tipo di dati.
- Tipo di dati.
-
-
- Ottiene la visualizzazione.
- Visualizzazione.
-
-
- Ottiene la colonna di visualizzazione.
- Colonna di visualizzazione.
-
-
- Ottiene il formato di visualizzazione.
- Formato di visualizzazione.
-
-
- Ottiene il nome visualizzato.
- Nome visualizzato.
-
-
- Indica se un campo dati è modificabile.
- true se il campo è modificabile. In caso contrario, false.
-
-
- Ottiene l'input nascosto.
- Input nascosto.
-
-
- Indica se un campo dati è di sola lettura.
- true se il campo è di sola lettura. In caso contrario false.
-
-
- Indica se un campo dati è obbligatorio.
- true se il campo è obbligatorio. In caso contrario, false.
-
-
- Indica se di un campo dati è possibile eseguire lo scaffolding.
- true se di un campo dati è possibile eseguire lo scaffolding. In caso contrario, false.
-
-
- Ottiene l'hint UI.
- Hint UI.
-
-
- Fornisce un contenitore per memorizzare nella cache .
-
-
- Inizializza una nuova istanza della classe utilizzando il prototipo e la funzione di accesso del modello.
- Prototipo.
- Funzione di accesso del modello.
-
-
- Inizializza una nuova istanza della classe utilizzando il provider, il tipo di contenitore, il tipo di modello, il nome della proprietà e gli attributi.
- Provider.
- Tipo di contenitore.
- Tipo di modello.
- Nome della proprietà.
- Attributi.
-
-
- Ottiene un valore che indica se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in Nothing.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Un valore che indica se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in Nothing.
-
-
- Ottiene metainformazioni sul tipo di dati.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Metainformazioni sul tipo di dati.
-
-
- Ottiene la descrizione del modello.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Descrizione del modello.
-
-
- Ottiene la stringa del formato di visualizzazione per il modello.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Stringa del formato di visualizzazione per il modello.
-
-
- Ottiene il nome visualizzato del modello.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Nome visualizzato del modello.
-
-
- Ottiene la stringa del formato di modifica del modello.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Stringa del formato di modifica del modello.
-
-
- Ottiene un valore che indica se il modello utilizza un formato di modifica non predefinito.
- Valore che indica se viene utilizzato un formato di modifica non predefinito.
-
-
- Ottiene un valore che indica se deve essere eseguito il rendering dell'oggetto modello utilizzando gli elementi HTML associati.Ottiene un valore che indica se deve essere eseguito il rendering dell'oggetto modello utilizzando gli elementi HTML associati.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Valore che indica se deve essere eseguito il rendering dell'oggetto modello utilizzando gli elementi HTML associati.
-
-
-
- Ottiene un valore che indica se il modello è di sola lettura.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Valore che indica se il modello è di sola lettura.
-
-
- Ottiene un valore che indica se il modello è obbligatorio.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Valore che indica se il modello è obbligatorio.
-
-
- Ottiene la stringa da visualizzare per i valori Null.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Stringa da visualizzare per i valori Null.
-
-
- Ottiene un valore che rappresenta l'ordine dei metadati correnti.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Valore che rappresenta l'ordine dei metadati correnti.
-
-
- Ottiene un nome visualizzato breve.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Nome visualizzato breve.
-
-
- Ottiene un valore che indica se la proprietà deve essere visibile nelle visualizzazioni di sola lettura, ad esempio le visualizzazioni elenco e dettagli.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Valore che indica se la proprietà deve essere visibile nelle visualizzazioni di sola lettura, ad esempio le visualizzazioni elenco e dettagli.
-
-
- Ottiene o imposta un valore che indica se il modello deve essere visualizzato in modalità di modifica.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Restituisce .
-
-
- Ottiene la stringa di visualizzazione semplice per il modello.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Stringa di visualizzazione semplice per il modello.
-
-
- Ottiene un suggerimento che indica quale modello utilizzare per questo modello.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Suggerimento che indica quale modello utilizzare per questo modello.
-
-
- Ottiene un valore che può essere utilizzato come filigrana.Se il valore è memorizzato nella cache, viene restituito tale valore. In caso contrario, il valore viene recuperato dai metadati del modello e archiviato nella cache.
- Valore che può essere utilizzato come filigrana.
-
-
- Implementa il provider di metadati del modello memorizzato nella cache predefinito per ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un contenitore di istanze reali della classe di metadati memorizzata nella cache in base al prototipo e alla funzione di accesso del modello.
- Contenitore di istanze reali della classe di metadati memorizzata nella cache.
- Prototipo.
- Funzione di accesso del modello.
-
-
- Restituisce un contenitore di istanze prototipo della classe di metadati.
- Contenitore di istanze prototipo della classe di metadati.
- Tipo di attributi.
- Tipo di contenitore.
- Tipo di modello.
- Nome della proprietà.
-
-
- Fornisce un contenitore per i metadati memorizzati nella cache.
- Tipo del contenitore.
-
-
- Costruttore per la creazione di istanze reali della classe di metadati in base a un prototipo.
- Provider.
- Tipo di contenitore.
- Tipo di modello.
- Nome della proprietà.
- Prototipo.
-
-
- +Costruttore per la creazione delle istanze di prototipo della classe di metadati.
- Prototipo.
- Funzione di accesso del modello.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che indica se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in null.
- Valore memorizzato nella cache che indica se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in null.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta metainformazioni sul tipo di dati.
- Metainformazioni sul tipo di dati.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta la descrizione del modello.
- Descrizione del modello.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta la stringa del formato di visualizzazione per il modello.
- Stringa del formato di visualizzazione per il modello.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta il nome visualizzato del modello.
- Nome visualizzato del modello.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta la stringa del formato di modifica del modello.
- Stringa del formato di modifica del modello.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .
- Valore che indica se viene utilizzato un formato di modifica non predefinito.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che indica se deve essere eseguito il rendering dell'oggetto modello utilizzando gli elementi HTML associati.
- Valore memorizzato nella cache che indica se deve essere eseguito il rendering dell'oggetto modello utilizzando gli elementi HTML associati.
-
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che indica se il modello è di sola lettura.
- Valore memorizzato nella cache che indica se il modello è di sola lettura.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che indica se il modello è obbligatorio.
- Valore memorizzato nella cache che indica se il modello è obbligatorio.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta la stringa memorizzata nella cache da visualizzare per i valori Null.
- Stringa memorizzata nella cache da visualizzare per i valori Null.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che rappresenta l'ordine dei metadati correnti.
- Valore memorizzato nella cache che rappresenta l'ordine dei metadati correnti.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un nome di visualizzazione breve.
- Nome visualizzato breve.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che indica se la proprietà deve essere visibile nelle visualizzazioni di sola lettura, ad esempio le visualizzazioni elenco e dettagli.
- Valore memorizzato nella cache che indica se la proprietà deve essere visibile nelle visualizzazioni di sola lettura, ad esempio le visualizzazioni elenco e dettagli.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che indica se il modello deve essere visualizzato in modalità di modifica.
- Valore memorizzato nella cache che indica se il modello deve essere visualizzato in modalità di modifica.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta la stringa di visualizzazione semplice memorizzata nella cache per il modello.
- Stringa di visualizzazione semplice memorizzata nella cache per il modello.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un suggerimento memorizzato nella cache che indica quale modello utilizzare per questo modello.
- Suggerimento memorizzato nella cache che indica quale modello utilizzare per questo modello.
-
-
- Questo metodo è protetto e non può quindi essere chiamato direttamente.È stato progettato per l'override in una classe derivata, ad esempio .Ottiene o imposta un valore memorizzato nella cache che può essere utilizzato come filigrana.
- Valore memorizzato nella cache che può essere utilizzato come filigrana.
-
-
- Ottiene o imposta un valore memorizzato nella cache che indica se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in null.
- Valore memorizzato nella cache che indica se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in null.
-
-
- Ottiene o imposta metainformazioni sul tipo di dati.
- Metainformazioni sul tipo di dati.
-
-
- Ottiene o imposta la descrizione del modello.
- Descrizione del modello.
-
-
- Ottiene o imposta la stringa del formato di visualizzazione per il modello.
- Stringa del formato di visualizzazione per il modello.
-
-
- Ottiene o imposta il nome visualizzato del modello.
- Nome visualizzato del modello.
-
-
- Ottiene o imposta la stringa del formato di modifica del modello.
- Stringa del formato di modifica del modello.
-
-
- Ottiene o imposta la stringa di visualizzazione semplice per il modello.
- Stringa di visualizzazione semplice per il modello.
-
-
- Ottiene o imposta un valore che indica se deve essere eseguito il rendering dell'oggetto modello utilizzando gli elementi HTML associati.
- Valore che indica se deve essere eseguito il rendering dell'oggetto modello utilizzando gli elementi HTML associati.
-
-
-
- Ottiene o imposta un valore che indica se il modello è di sola lettura.
- Valore che indica se il modello è di sola lettura.
-
-
- Ottiene o imposta un valore che indica se il modello è obbligatorio.
- Valore che indica se il modello è obbligatorio.
-
-
- Ottiene o imposta la stringa da visualizzare per i valori Null.
- Stringa da visualizzare per i valori Null.
-
-
- Ottiene o imposta un valore che rappresenta l'ordine dei metadati correnti.
- Valore dell'ordine dei metadati correnti.
-
-
- Ottiene o imposta la cache del prototipo.
- Cache del prototipo.
-
-
- Ottiene o imposta un nome di visualizzazione breve.
- Nome di visualizzazione breve.
-
-
- Ottiene o imposta un valore che indica se la proprietà deve essere visibile nelle visualizzazioni di sola lettura, ad esempio le visualizzazioni elenco e dettagli.
- true se il modello deve essere visibile nelle visualizzazioni di sola lettura. In caso contrario, false.
-
-
- Ottiene o imposta un valore che indica se il modello deve essere visualizzato in modalità di modifica.
- true se il modello deve essere visualizzato in modalità di modifica. In caso contrario, false.
-
-
- Ottiene o imposta la stringa di visualizzazione semplice per il modello.
- Stringa di visualizzazione semplice per il modello.
-
-
- Ottiene o imposta un suggerimento che indica quale modello utilizzare per questo modello.
- Suggerimento che indica quale modello utilizzare per questo modello.
-
-
- Ottiene o imposta un valore che può essere utilizzato come una filigrana.
- Valore che può essere utilizzato come filigrana.
-
-
- Fornisce un meccanismo per propagare la notifica che le operazioni dello strumento di associazione di modelli devono essere annullate.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce il token di annullamento predefinito.
- Token di annullamento predefinito.Implementa
- Contesto del controller.
- Contesto di associazione.
-
-
- Rappresenta un attributo utilizzato per indicare che un metodo di azione deve essere chiamato solo come azione figlio.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Chiamato quando è necessaria l'autorizzazione.
- Oggetto che incapsula le informazioni necessarie per autorizzare l'accesso all'azione figlio.
-
-
- Rappresenta un provider di valori dalle azioni figlio.
-
-
- Inizializza una nuova istanza della classe .
- Contesto del controller.
-
-
- Recupera un oggetto valore mediante la chiave specificata.
- Oggetto valore per la chiave specificata.
- Chiave.
-
-
- Rappresenta una factory per la creazione di oggetti provider di valori per le azioni figlio.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto per il contesto del controller specificato.
- Oggetto .
- Contesto del controller.
-
-
- Restituisce i validator del modello di tipo di dati client.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce i validator del modello di tipo di dati client.
- Validator del modello di tipo di dati client.
- Metadati.
- Contesto.
-
-
- Ottiene la chiave della classe di risorsa.
- Chiave della classe di risorsa.
-
-
- Fornisce un attributo che confronta due proprietà di un modello.
-
-
- Inizializza una nuova istanza della classe .
- Proprietà da confrontare con la proprietà corrente.
-
-
- Applica la formattazione a un messaggio di errore in base al campo dati in cui si è verificato l'errore di confronto.
- Messaggio di errore formattato.
- Nome del campo che ha causato l'errore di convalida.
-
-
- Formatta la proprietà per la convalida del client anteponendo un asterisco (*) e un punto.
- La stringa "*." viene anteposta alla proprietà.
- Proprietà.
-
-
- Ottiene un elenco di regole di convalida del client con valori di confronto per la proprietà utilizzando i metadati del modello e il contesto del controller specificati.
- Elenco di regole di convalida del client con valori di confronto.
- Metadati del modello.
- Contesto del controller.
-
-
- Determina se l'oggetto specificato è uguale all'oggetto confrontato.
- null se il valore della proprietà confrontata è uguale al parametro del valore. In caso contrario, un risultato di convalida contenente il messaggio di errore in cui viene indicato che il confronto non è riuscito.
- Valore dell'oggetto da confrontare.
- Contesto di convalida.
-
-
- Ottiene la proprietà da confrontare con la proprietà corrente.
- Proprietà da confrontare con la proprietà corrente.
-
-
- Ottiene le altre proprietà del nome della visualizzazione.
- Altre proprietà del nome della visualizzazione.
-
-
- Rappresenta un tipo di contenuto definito dall'utente che è il risultato di un metodo di azione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il contenuto.
- Il contenuto.
-
-
- Ottiene o imposta la codifica del contenuto.
- Codifica del contenuto.
-
-
- Ottiene o imposta il tipo del contenuto.
- Tipo del contenuto.
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui il risultato viene eseguito.
- Il parametro è null.
-
-
- Fornisce metodi che rispondono alle richieste HTTP effettuate a un sito Web ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene l'invoker dell'azione per il controller.
- Invoker dell'azione.
-
-
- Fornisce operazioni asincrone.
- Restituisce .
-
-
- Inizia l'esecuzione del contesto della richiesta specificato.
- Restituisce un'istanza IAsyncController.
- Contesto della richiesta.
- Callback asincrono.
- Stato.
-
-
- Inizia a richiamare l'azione nel contesto del controller corrente.
- Restituisce un'istanza IAsyncController.
- Callback.
- Stato.
-
-
- Ottiene o imposta il gestore di associazione.
- Gestore di associazione.
-
-
- Crea un oggetto risultato del contenuto tramite una stringa.
- Istanza del risultato del contenuto.
- Contenuto da scrivere nella risposta.
-
-
- Crea un oggetto risultato del contenuto tramite una stringa e il tipo di contenuto.
- Istanza del risultato del contenuto.
- Contenuto da scrivere nella risposta.
- Tipo di contenuto (tipo MIME).
-
-
- Crea un oggetto risultato del contenuto tramite una stringa, il tipo di contenuto e la codifica del contenuto.
- Istanza del risultato del contenuto.
- Contenuto da scrivere nella risposta.
- Tipo di contenuto (tipo MIME).
- Codifica del contenuto.
-
-
- Crea un invoker dell'azione.
- Invoker dell'azione.
-
-
- Crea un provider di dati temporaneo.
- Provider di dati temporaneo.
-
-
- Ottiene se disabilitare il supporto asincrono per il controller.
- true per disabilitare il supporto asincrono per il controller. In caso contrario, false.
-
-
- Rilascia tutte le risorse usate dall'istanza corrente della classe .
-
-
- Rilascia le risorse non gestite e, facoltativamente, quelle gestite.
- true per rilasciare sia le risorse gestite sia quelle non gestite. false per rilasciare solo le risorse non gestite.
-
-
- Termina la chiamata dell'azione nel contesto del controller corrente.
- Risultato asincrono.
-
-
- Termina il core di esecuzione.
- Risultato asincrono.
-
-
- Richiama l'azione nel contesto del controller corrente.
-
-
- Crea un oggetto FileContentResult tramite il contenuto del file e il tipo di file.
- Oggetto risultato del contenuto del file.
- Contenuto binario da inviare alla risposta.
- Tipo di contenuto (tipo MIME).
-
-
- Crea un oggetto FileContentResult tramite i contenuti del file, il tipo di file e il nome del file di destinazione.
- Oggetto risultato del contenuto del file.
- Contenuto binario da inviare alla risposta.
- Tipo di contenuto (tipo MIME).
- Nome file da usare nella finestra di dialogo di download del file visualizzata nel browser.
-
-
- Crea un oggetto FileStreamResult tramite l'oggetto Stream e il tipo di contenuto.
- Oggetto risultato del contenuto del file.
- Flusso da inviare alla risposta.
- Tipo di contenuto (tipo MIME).
-
-
- Crea un oggetto FileStreamResult tramite l'oggetto Stream, il tipo di contenuto e il nome del file di destinazione.
- Oggetto risultato del flusso di file.
- Flusso da inviare alla risposta.
- Tipo di contenuto (tipo MIME).
- Nome file da usare nella finestra di dialogo di download del file visualizzata nel browser.
-
-
- Crea un oggetto FilePathResult tramite il nome del file e il tipo di contenuto.
- Oggetto risultato del flusso di file.
- Percorso del file da inviare alla risposta.
- Tipo di contenuto (tipo MIME).
-
-
- Crea un oggetto FilePathResult tramite il nome del file, il tipo di contenuto e il nome di download del file.
- Oggetto risultato del flusso di file.
- Percorso del file da inviare alla risposta.
- Tipo di contenuto (tipo MIME).
- Nome file da usare nella finestra di dialogo di download del file visualizzata nel browser.
-
-
- Chiamato quando una richiesta corrisponde a questo controller, ma in tale controller non è stato trovato alcun metodo con il nome dell'azione specificato.
- Nome dell'azione che si è tentato di eseguire.
-
-
- Ottiene informazioni specifiche di HTTP relative a una singola richiesta HTTP.
- Contesto HTTP.
-
-
- Restituisce un'istanza della classe .
- Istanza della classe .
-
-
- Restituisce un'istanza della classe .
- Istanza della classe .
- Descrizione dello stato,
-
-
- Inizializza i dati che potrebbero non essere disponibili quando viene chiamato il costruttore.
- Contesto HTTP e dati della route.
-
-
- Crea un oggetto .
- Oggetto che scrive lo script nella risposta.
- Codice JavaScript da eseguire sul client.
-
-
- Crea un oggetto che serializza l'oggetto specificato nel formato JSON (JavaScript Object Notation).
- Oggetto risultato JSON che serializza l'oggetto specificato nel formato JSON.L'oggetto risultato preparato da questo metodo viene scritto nella risposta dal framework ASP.NET MVC al momento dell'esecuzione dell'oggetto.
- Il grafico dell'oggetto JavaScript da serializzare.
-
-
- Crea un oggetto che serializza l'oggetto specificato nel formato JSON (JavaScript Object Notation).
- Oggetto risultato JSON che serializza l'oggetto specificato nel formato JSON.
- Il grafico dell'oggetto JavaScript da serializzare.
- Tipo di contenuto (tipo MIME).
-
-
- Crea un oggetto che serializza l'oggetto specificato nel formato JSON (JavaScript Object Notation).
- Oggetto risultato JSON che serializza l'oggetto specificato nel formato JSON.
- Il grafico dell'oggetto JavaScript da serializzare.
- Tipo di contenuto (tipo MIME).
- Codifica del contenuto.
-
-
- Crea un oggetto che serializza l'oggetto specificato in formato JSON (JavaScript Object Notation) usando il tipo di contenuto, la codifica del contenuto e il comportamento della richiesta JSON.
- Oggetto risultato che serializza l'oggetto specificato nel formato JSON.
- Il grafico dell'oggetto JavaScript da serializzare.
- Tipo di contenuto (tipo MIME).
- Codifica del contenuto.
- Comportamento della richiesta JSON.
-
-
- Crea un oggetto che serializza l'oggetto specificato in formato JSON (JavaScript Object Notation) usando il tipo di contenuto e il comportamento della richiesta JSON specificati.
- Oggetto risultato che serializza l'oggetto specificato nel formato JSON.
- Il grafico dell'oggetto JavaScript da serializzare.
- Tipo di contenuto (tipo MIME).
- Comportamento della richiesta JSON.
-
-
- Crea un oggetto JsonResult che serializza l'oggetto specificato in formato JSON (JavaScript Object Notation) usando il comportamento della richiesta JSON specificato.
- Oggetto risultato che serializza l'oggetto specificato nel formato JSON.
- Il grafico dell'oggetto JavaScript da serializzare.
- Comportamento della richiesta JSON.
-
-
- Ottiene l'oggetto dizionario di stato del modello che contiene lo stato del modello e della convalida dell'associazione del modello.
- Dizionario di stato del modello.
-
-
- Chiamato dopo che è stato richiamato il metodo dell'azione.
- Informazioni sulla richiesta e sull'azione correnti.
-
-
- Chiamato prima che venga richiamato il metodo di azione.
- Informazioni sulla richiesta e sull'azione correnti.
-
-
- Chiamato quando si verifica un'autorizzazione.
- Informazioni sulla richiesta e sull'azione correnti.
-
-
- Chiamato quando si verifica la richiesta di un'autorizzazione.
- Informazioni sulla richiesta e sull'azione correnti.
-
-
- Chiamato quando si verifica un'autorizzazione.
- Informazioni sulla richiesta e sull'azione correnti.
-
-
- Chiamato quando nell'azione si verifica un'eccezione non gestita.
- Informazioni sulla richiesta e sull'azione correnti.
-
-
- Chiamato dopo l'esecuzione del risultato dell'azione restituito da un metodo di azione.
- Informazioni sulla richiesta e sul risultato dell'azione correnti.
-
-
- Chiamato prima dell'esecuzione del risultato dell'azione restituito da un metodo di azione.
- Informazioni sulla richiesta e sul risultato dell'azione correnti.
-
-
- Crea un oggetto che esegue il rendering di una visualizzazione parziale.
- Oggetto risultato della visualizzazione parziale.
-
-
- Crea un oggetto che esegue il rendering di una visualizzazione parziale tramite il modello specificato.
- Oggetto risultato della visualizzazione parziale.
- Modello di cui è stato eseguito il rendering tramite la visualizzazione parziale.
-
-
- Crea un oggetto che esegue il rendering di una visualizzazione parziale tramite il nome della visualizzazione specificato.
- Oggetto risultato della visualizzazione parziale.
- Nome della visualizzazione di cui è stato eseguito il rendering nella risposta.
-
-
- Crea un oggetto che esegue il rendering di una visualizzazione parziale tramite il nome della visualizzazione e il modello specificati.
- Oggetto risultato della visualizzazione parziale.
- Nome della visualizzazione di cui è stato eseguito il rendering nella risposta.
- Modello di cui è stato eseguito il rendering tramite la visualizzazione parziale.
-
-
- Ottiene il profilo del contesto HTTP.
- Profilo del contesto HTTP.
-
-
- Crea un oggetto che effettua il reindirizzamento all'URL specificato.
- Oggetto risultato del reindirizzamento.
- URL di destinazione del reindirizzamento.
-
-
- Restituisce un'istanza della classe con la proprietà Permanent impostata su true.
- Istanza della classe con la proprietà Permanent impostata su true.
- URL di destinazione del reindirizzamento.
-
-
- Effettua il reindirizzamento all'azione specificata tramite il nome dell'azione.
- Oggetto risultato del reindirizzamento.
- Nome dell'azione.
-
-
- Effettua il reindirizzamento all'azione specificata tramite il nome dell'azione e i valori di route.
- Oggetto risultato del reindirizzamento.
- Nome dell'azione.
- Parametri per una route.
-
-
- Effettua il reindirizzamento all'azione specificata tramite il nome dell'azione e il nome del controller.
- Oggetto risultato del reindirizzamento.
- Nome dell'azione.
- Nome del controller.
-
-
- Effettua il reindirizzamento all'azione specificata tramite il nome dell'azione, il nome del controller e il dizionario della route.
- Oggetto risultato del reindirizzamento.
- Nome dell'azione.
- Nome del controller.
- Parametri per una route.
-
-
- Effettua il reindirizzamento all'azione specificata tramite il nome dell'azione, il nome del controller e i valori di route.
- Oggetto risultato del reindirizzamento.
- Nome dell'azione.
- Nome del controller.
- Parametri per una route.
-
-
- Effettua il reindirizzamento all'azione specificata tramite il nome dell'azione e il dizionario della route.
- Oggetto risultato del reindirizzamento.
- Nome dell'azione.
- Parametri per una route.
-
-
- Restituisce un'istanza della classe con la proprietà Permanent impostata su true mediante l'utilizzo del nome dell'azione specificato.
- Istanza della classe con la proprietà Permanent impostata su true mediante l'utilizzo del nome dell'azione, del nome del controller e dei valori di route specificati.
- Nome dell'azione.
-
-
- Restituisce un'istanza della classe con la proprietà Permanent impostata su true usando il nome dell'azione e i valori di route specificati.
- Istanza della classe con la proprietà Permanent impostata su true mediante l'utilizzo del nome dell'azione e dei valori di route specificati.
- Nome dell'azione.
- Valori della route.
-
-
- Restituisce un'istanza della classe con la proprietà impostata su true usando il nome dell'azione e il nome del controller specificati.
- Istanza della classe con la proprietà Permanent impostata su true usando il nome dell'azione e il nome del controller specificati.
- Nome dell'azione.
- Nome del controller.
-
-
- Restituisce un'istanza della classe con la proprietà Permanent impostata su true usando il nome dell'azione, il nome del controller e i valori di route specificati.
- Istanza della classe con la proprietà Permanent impostata su true mediante l'utilizzo del nome dell'azione, del nome del controller e dei valori di route specificati.
- Nome dell'azione.
- Nome del controller.
- Valori della route.
-
-
- Restituisce un'istanza della classe con la proprietà Permanent impostata su true usando il nome dell'azione, il nome del controller e i valori di route specificati.
- Istanza della classe con la proprietà Permanent impostata su true mediante l'utilizzo del nome dell'azione, del nome del controller e dei valori di route specificati.
- Nome dell'azione.
- Nome del controller.
- Valori della route.
-
-
- Restituisce un'istanza della classe con la proprietà Permanent impostata su true usando il nome dell'azione e i valori di route specificati.
- Istanza della classe con la proprietà Permanent impostata su true mediante l'utilizzo del nome dell'azione e dei valori di route specificati.
- Nome dell'azione.
- Valori della route.
-
-
- Effettua il reindirizzamento a una route specificata tramite i valori di route specificati.
- Oggetto risultato del reindirizzamento alla route.
- Parametri per una route.
-
-
- Effettua il reindirizzamento a una route specificata tramite il nome della route.
- Oggetto risultato del reindirizzamento alla route.
- Nome della route.
-
-
- Effettua il reindirizzamento alla route specificata tramite il nome della route e i valori di route.
- Oggetto risultato del reindirizzamento alla route.
- Nome della route.
- Parametri per una route.
-
-
- Effettua il reindirizzamento alla route specificata tramite il nome della route e il dizionario della route.
- Oggetto risultato del reindirizzamento alla route.
- Nome della route.
- Parametri per una route.
-
-
- Effettua il reindirizzamento alla route specificata tramite il dizionario della route.
- Oggetto risultato del reindirizzamento alla route.
- Parametri per una route.
-
-
- Restituisce un'istanza della classe RedirectResult con la proprietà Permanent impostata su true usando i valori di route specificati.
- Restituisce un'istanza della classe RedirectResult con la proprietà Permanent impostata su true.
- Nome della route.
-
-
- Restituisce un'istanza della classe RedirectResult con la proprietà Permanent impostata su true usando il nome di route specificato.
- Restituisce un'istanza della classe RedirectResult con la proprietà Permanent impostata su true usando il nome di route specificato.
- Nome della route.
-
-
- Restituisce un'istanza della classe RedirectResult con la proprietà Permanent impostata su true usando il nome e i valori di route specificati.
- Istanza della classe RedirectResult con la proprietà Permanent impostata su true usando il nome e i valori di route specificati.
- Nome della route.
- Valori della route.
-
-
- Restituisce un'istanza della classe RedirectResult con la proprietà Permanent impostata su true usando il nome e i valori di route specificati.
- Istanza della classe RedirectResult con la proprietà impostata su true.
- Nome della route.
- Valori della route.
-
-
- Restituisce un'istanza della classe RedirectResult con la proprietà Permanent impostata su true usando i valori di route specificati.
- Istanza della classe RedirectResult con la proprietà Permanent impostata su true usando i valori di route specificati.
- Valori della route.
-
-
- Ottiene l'oggetto HttpRequestBase per la richiesta HTTP corrente.
- Oggetto richiesta.
-
-
- Rappresenta un resolver di dipendenza sostituibile che fornisce servizi.Per impostazione predefinita, usa .
-
-
- Ottiene l'oggetto HttpResponseBase per la risposta HTTP corrente.
- Oggetto HttpResponseBase per la risposta HTTP corrente.
-
-
- Ottiene i dati di route per la richiesta corrente.
- Dati della route.
-
-
- Ottiene l'oggetto HttpServerUtilityBase che fornisce i metodi usati durante l'elaborazione delle richieste Web.
- Oggetto server HTTP.
-
-
- Ottiene l'oggetto HttpSessionStateBase per la richiesta HTTP corrente.
- Oggetto stato della sessione HTTP relativo alla richiesta HTTP corrente.
-
-
- Questo metodo chiama il metodo BeginExecute.
- Risultato dell'operazione.
- Contesto della richiesta.
- Callback asincrono.
- Stato dell'oggetto.
-
-
- Questo metodo chiama il metodo EndExecute.
- Risultato asincrono dell'operazione.
-
-
- Questo metodo chiama il metodo OnAuthentication.
- Contesto del filtro.
-
-
- Questo metodo chiama il metodo OnAuthenticationChallenge.
- Contesto del filtro.
-
-
- Questo metodo chiama il metodo OnActionExecuted.
- Contesto del filtro.
-
-
- Questo metodo chiama il metodo OnActionExecuting.
- Contesto del filtro.
-
-
- Questo metodo chiama il metodo OnAuthorization.
- Contesto del filtro.
-
-
- Questo metodo chiama il metodo OnException.
- Contesto del filtro.
-
-
- Questo metodo chiama il metodo OnResultExecuted.
- Contesto del filtro.
-
-
- Questo metodo chiama il metodo OnResultExecuting.
- Contesto del filtro.
-
-
- Ottiene l'oggetto provider di dati temporanei usato per archiviare dati per la richiesta successiva.
- Provider di dati temporanei.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Tipo dell'oggetto modello.
- Il parametro o la proprietà ValueProvider è null.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller e un prefisso.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Tipo dell'oggetto modello.
- Il parametro o la proprietà ValueProvider è null.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller, un prefisso e le proprietà incluse.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Tipo dell'oggetto modello.
- Il parametro o la proprietà ValueProvider è null.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller, un prefisso, un elenco di proprietà da escludere e un elenco di proprietà da includere.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Elenco di proprietà da escludere dall'aggiornamento in modo esplicito.Vengono escluse anche se sono presenti nell'elenco di parametri includeProperties.
- Tipo dell'oggetto modello.
- Il parametro o la proprietà ValueProvider è null.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori, un prefisso, un elenco di proprietà da escludere e un elenco di proprietà da includere.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Elenco di proprietà da escludere dall'aggiornamento in modo esplicito.Vengono escluse anche se sono presenti nell'elenco di parametri includeProperties.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori, un prefisso e le proprietà incluse.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori e un elenco di proprietà da includere.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Elenco di proprietà del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller e le proprietà incluse.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Elenco di proprietà del modello da aggiornare.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori e un elenco di proprietà da includere.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Elenco di proprietà del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori.
- true se l'aggiornamento viene eseguito correttamente. In caso contrario, false.
- Istanza del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Convalida l'istanza del modello specificata.
- true se viene eseguita la convalida del modello. In caso contrario, false.
- Modello da convalidare.
-
-
- Convalida l'istanza del modello specificato usando un prefisso HTML.
- true se viene eseguita la convalida del modello. In caso contrario, false.
- Modello da convalidare.
- Prefisso da usare quando si cercano valori nel provider di modelli.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller.
- Istanza del modello da aggiornare.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller e un prefisso.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller, un prefisso e le proprietà incluse.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente del controller, un prefisso, un elenco di proprietà da escludere e un elenco di proprietà da includere.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Elenco di proprietà da escludere dall'aggiornamento in modo esplicito.Vengono escluse anche se sono presenti nell'elenco includeProperties.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori, un prefisso, un elenco di proprietà da escludere e un elenco di proprietà da includere.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Elenco di proprietà da escludere dall'aggiornamento in modo esplicito.Vengono escluse anche se sono presenti nell'elenco di parametri includeProperties.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori, un prefisso e un elenco di proprietà da includere.
- Istanza del modello da aggiornare.
- Prefisso da usare quando si cercano valori nel provider di valori.
- Elenco di proprietà del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori, un prefisso e un elenco di proprietà da includere.
- Istanza del modello da aggiornare.
- Elenco di proprietà del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori corrente dell'oggetto controller.
- Istanza del modello da aggiornare.
- Elenco di proprietà del modello da aggiornare.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori, un prefisso e un elenco di proprietà da includere.
- Istanza del modello da aggiornare.
- Elenco di proprietà del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Aggiorna l'istanza del modello specificato tramite valori del provider di valori.
- Istanza del modello da aggiornare.
- Dizionario di valori usato per aggiornare il modello.
- Tipo dell'oggetto modello.
-
-
- Ottiene l'oggetto helper dell'URL usato per generare URL tramite il routing.
- Oggetto helper URL.
-
-
- Ottiene informazioni sulla sicurezza dell'utente per la richiesta HTTP corrente.
- Informazioni sulla sicurezza dell'utente per la richiesta HTTP corrente.
-
-
- Convalida l'istanza del modello specificata.
- Modello da convalidare.
-
-
- Convalida l'istanza del modello specificato usando un prefisso HTML.
- Modello da convalidare.
- Prefisso da usare quando si cercano valori nel provider di modelli.
-
-
- Crea un oggetto che esegue il rendering di una visualizzazione nella risposta.
- Risultato di che esegue il rendering di una visualizzazione nella risposta.
-
-
- Crea un oggetto tramite il modello che esegue il rendering di una visualizzazione nella risposta.
- Risultato della visualizzazione.
- Modello di cui è stato eseguito il rendering tramite la visualizzazione.
-
-
- Crea un oggetto tramite il nome della visualizzazione che esegue il rendering di una visualizzazione.
- Risultato della visualizzazione.
- Nome della visualizzazione di cui è stato eseguito il rendering nella risposta.
-
-
- Crea un oggetto che esegue il rendering dell'oggetto IView specificato.
- Risultato della visualizzazione.
- Visualizzazione di cui è stato eseguito il rendering nella risposta.
- Modello di cui è stato eseguito il rendering tramite la visualizzazione.
-
-
- Crea un oggetto tramite il nome della visualizzazione e il nome della pagina master che esegue il rendering di una visualizzazione nella risposta.
- Risultato della visualizzazione.
- Nome della visualizzazione di cui è stato eseguito il rendering nella risposta.
- Nome della pagina o del modello master da usare quando viene eseguito il rendering della visualizzazione.
-
-
- Crea un oggetto tramite il nome della visualizzazione, il nome della pagina master e il modello che esegue il rendering di una visualizzazione.
- Risultato della visualizzazione.
- Nome della visualizzazione di cui è stato eseguito il rendering nella risposta.
- Nome della pagina o del modello master da usare quando viene eseguito il rendering della visualizzazione.
- Modello di cui è stato eseguito il rendering tramite la visualizzazione.
-
-
- Crea un oggetto che esegue il rendering dell'oggetto IView specificato.
- Risultato della visualizzazione.
- Visualizzazione di cui è stato eseguito il rendering nella risposta.
-
-
- Crea un oggetto che esegue il rendering dell'oggetto specificato.
- Risultato della visualizzazione.
- Visualizzazione di cui è stato eseguito il rendering nella risposta.
- Modello di cui è stato eseguito il rendering tramite la visualizzazione.
-
-
- Ottiene l'insieme di motori di visualizzazione.
- Insieme di motori di visualizzazione.
-
-
- Rappresenta una classe responsabile del richiamo dei metodi di azione di un controller.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta i gestori di associazione del modello associati all'azione.
- Gestori di associazione del modello associati all'azione.
-
-
- Crea il risultato dell'azione.
- Oggetto risultato dell'azione.
- Contesto del controller.
- Descrittore dell'azione.
- Valore restituito dell'azione.
-
-
- Trova le informazioni sul metodo di azione.
- Informazioni sul metodo di azione.
- Contesto del controller.
- Descrittore del controller.
- Nome dell'azione.
-
-
- Recupera le informazioni sul controller utilizzando il contesto del controller specificato.
- Informazioni sul controller.
- Contesto del controller.
-
-
- Recupera le informazioni sui filtri dell'azione.
- Informazioni sui filtri dell'azione.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Ottiene il valore del parametro del metodo di azione specificato.
- Valore del parametro del metodo di azione.
- Contesto del controller.
- Descrittore del parametro.
-
-
- Ottiene i valori dei parametri del metodo di azione.
- Valori dei parametri del metodo di azione.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Richiama l'azione specificata utilizzando il contesto del controller specificato.
- Risultato dell'esecuzione dell'azione.
- Contesto del controller.
- Nome dell'azione da richiamare.
- Il parametro è null.
- Il parametro è null o vuoto.
- Il thread è stato interrotto durante la chiamata dell'azione.
- Si è verificato un errore non specificato durante la chiamata dell'azione.
-
-
- Richiama il metodo di azione specificato utilizzando il contesto del controller e i parametri specificati.
- Risultato dell'esecuzione del metodo di azione.
- Contesto del controller.
- Descrittore dell'azione.
- Parametri.
-
-
- Richiama il metodo di azione specificato utilizzando il contesto del controller, i parametri e i filtri dell'azione specificati.
- Contesto per il metodo ActionExecuted della classe .
- Contesto del controller.
- Filtri dell'azione.
- Descrittore dell'azione.
- Parametri.
-
-
- Richiama il risultato dell'azione specificato utilizzando il contesto del controller specificato.
- Contesto del controller.
- Risultato dell'azione.
-
-
- Richiama il risultato dell'azione specificato utilizzando il contesto del controller e i filtri dell'azione specificati.
- Contesto per il metodo ResultExecuted della classe .
- Contesto del controller.
- Filtri dell'azione.
- Risultato dell'azione.
-
-
-
-
- Richiama i filtri di autorizzazione specificati utilizzando il descrittore dell'azione e il contesto del controller specificati.
- Contesto dell'oggetto .
- Contesto del controller.
- Filtri di autorizzazione.
- Descrittore dell'azione.
-
-
- Richiama i filtri eccezioni specificati utilizzando il contesto del controller e l'eccezione specificati.
- Contesto dell'oggetto .
- Contesto del controller.
- Filtri eccezioni.
- Eccezione.
-
-
- Rappresenta la classe base per tutti i controller MVC.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il contesto del controller.
- Contesto del controller.
-
-
- Esegue il contesto della richiesta specificato.
- Contesto della richiesta.
- Il parametro è null.
-
-
- Esegue la richiesta.
-
-
- Inizializza il contesto della richiesta specificato.
- Contesto della richiesta.
-
-
- Esegue il contesto della richiesta specificato.
- Contesto della richiesta.
-
-
- Ottiene o imposta il dizionario per i dati temporanei.
- Dizionario per i dati temporanei.
-
-
- Ottiene o imposta un valore che indica se la convalida della richiesta è abilitata per questa richiesta.
- true se la convalida della richiesta è abilitata. In caso contrario, false.Il valore predefinito è true.
-
-
- Ottiene o imposta il provider di valori per il controller.
- Provider di valori per il controller.
-
-
- Ottiene il dizionario dei dati della visualizzazione dinamica.
- Dizionario dei dati della visualizzazione dinamica.
-
-
- Ottiene o imposta il dizionario per i dati della visualizzazione.
- Dizionario per i dati della visualizzazione.
-
-
- Rappresenta una classe responsabile della compilazione dinamica di un controller.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene l'oggetto compilatore del controller corrente.
- Oggetto compilatore del controller corrente.
-
-
- Ottiene gli spazi dei nomi predefiniti.
- Spazi dei nomi predefiniti.
-
-
- Ottiene la factory del controller associata.
- Controller factory.
-
-
- Imposta la factory del controller utilizzando il tipo specificato.
- Tipo della factory del controller.
- Il parametro è null.
- La factory del controller non può essere assegnata dal tipo nel parametro .
- Si è verificato un errore durante l'impostazione della factory del controller.
-
-
- Imposta la factory del controller specificata.
- Controller factory.
- Il parametro è null.
-
-
- Incapsula le informazioni su una richiesta HTTP che corrisponde alle istanze di e specificate.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto HTTP, i dati della route dell'URL e il controller specificati.
- Contesto HTTP.
- Dati della route.
- Controller.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller specificato.
- Contesto del controller.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto della richiesta e il controller specificati.
- Contesto della richiesta.
- Controller.
- Uno o entrambi i parametri sono null.
-
-
- Ottiene o imposta il controller.
- Controller.
-
-
- Ottiene la modalità di visualizzazione.
- Modalità di visualizzazione.
-
-
- Ottiene o imposta il contesto HTTP.
- Contesto HTTP.
-
-
- Ottiene un valore che indica se il metodo di azione associato è un'azione figlio.
- true se il metodo di azione associato è un'azione figlio. In caso contrario false.
-
-
- Ottiene un oggetto contenente le informazioni sul contesto di visualizzazione per il metodo di azione padre.
- Un oggetto contenente le informazioni sul contesto di visualizzazione per il metodo di azione padre.
-
-
- Ottiene o imposta il contesto della richiesta.
- Contesto della richiesta.
-
-
- Ottiene o imposta i dati della route dell'URL.
- Dati della route dell'URL.
-
-
- Incapsula le informazioni che descrivono un controller, ad esempio nome, tipo e azioni.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il nome del controller.
- Nome del controller.
-
-
- Ottiene il tipo del controller.
- Tipo del controller.
-
-
- Trova un metodo di azione utilizzando il nome e il contesto del controller specificati.
- Informazioni sul metodo di azione.
- Contesto del controller.
- Nome dell'azione.
-
-
- Recupera un elenco di descrittori dei metodi di azione nel controller.
- Elenco di descrittori dei metodi di azione nel controller.
-
-
- Recupera gli attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Recupera gli attributi personalizzati di un tipo specificato definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
- Il parametro è null (Nothing in Visual Basic).
-
-
- Ottiene gli attributi del filtro.
- Attributi del filtro.
- true se la cache deve essere utilizzata. In caso contrario, false.
-
-
- Recupera un valore che indica se per questo membro sono definite una o più istanze dell'attributo personalizzato specificato.
- true se per questo membro è definito . In caso contrario, false.
- Tipo dell'attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il parametro è null (Nothing in Visual Basic).
-
-
- Se implementato in una classe derivata, ottiene l'ID univoco del descrittore del controller mediante l'inizializzazione differita.
- ID univoco.
-
-
- Aggiunge il controller all'istanza di .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce l'insieme dei filtri dell'istanza del controller.
- Insieme dei filtri dell'istanza del controller.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Rappresenta un attributo che richiama uno strumento di associazione di modelli personalizzato.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Recupera lo strumento di associazione di modelli associato.
- Riferimento a un oggetto che implementa l'interfaccia .
-
-
- Fornisce un contenitore per metadati comuni, per la classe e per la classe di un modello dati.
-
-
- Inizializza una nuova istanza della classe .
- Provider di metadati del modello di annotazioni dei dati.
- Tipo del contenitore.
- Funzione di accesso del modello.
- Tipo del modello.
- Nome della proprietà.
- Attributo della colonna di visualizzazione.
-
-
- Restituisce testo semplice per i dati del modello.
- Testo semplice per i dati del modello.
-
-
- Implementa il provider di metadati del modello predefinito per ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i metadati per la proprietà specificata.
- Metadati della proprietà.
- Attributi.
- Tipo del contenitore.
- Funzione di accesso del modello.
- Tipo del modello.
- Nome della proprietà.
-
-
- Rappresenta il metodo che crea un'istanza di .
-
-
- Fornisce un validator del modello.
-
-
- Inizializza una nuova istanza della classe .
- Metadati per il modello.
- Contesto del controller per il modello.
- Attributo di convalida per il modello.
-
-
- Ottiene l'attributo di convalida per il validator del modello.
- Attributo di convalida per il validator del modello.
-
-
- Ottiene il messaggio di errore per l'errore di convalida.
- Messaggio di errore per l'errore di convalida.
-
-
- Recupera un insieme di regole di convalida del client.
- Insieme di regole di convalida del client.
-
-
- Ottiene un valore che indica se la convalida del modello è obbligatoria.
- true se la convalida del modello è obbligatoria. In caso contrario, false.
-
-
- Restituisce un elenco di messaggi di errore della convalida per il modello.
- Un elenco di messaggi di errore di convalida per il modello o un elenco vuoto se non si sono verificati errori.
- Contenitore per il modello.
-
-
- Fornisce un validator del modello per un tipo di convalida specificato.
-
-
-
- Inizializza una nuova istanza della classe .
- Metadati per il modello.
- Contesto del controller per il modello.
- Attributo di convalida per il modello.
-
-
- Ottiene l'attributo di convalida dal validator del modello.
- Attributo di convalida ottenuto dal validator del modello.
-
-
- Implementa il provider di convalida predefinito per ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta un valore che indica se sono richiesti tipi di valore non nullable.
- true se sono richiesti tipi di valore non nullable. In caso contrario, false.
-
-
- Ottiene un elenco di validator.
- Elenco di validator.
- Metadati.
- Contesto.
- Elenco di attributi di convalida.
-
-
- Registra un adattatore per fornire la convalida lato client.
- Tipo dell'attributo di convalida.
- Tipo dell'adattatore.
-
-
- Registra una factory dell'adattatore per il provider di convalida.
- Tipo dell'attributo.
- Factory che sarà utilizzata per creare l'oggetto per l'attributo specificato.
-
-
- Registra l'adattatore predefinito.
- Tipo dell'adattatore.
-
-
- Registra la factory dell'adattatore predefinito.
- Factory che sarà utilizzata per creare l'oggetto per l'adattatore predefinito.
-
-
- Registra un adattatore per fornire la convalida dell'oggetto predefinito.
- Tipo dell'adattatore.
-
-
- Registra una factory dell'adattatore per il provider di convalida dell'oggetto predefinito.
- Factory.
-
-
- Registra un adattatore per fornire la convalida dell'oggetto.
- Tipo del modello.
- Tipo dell'adattatore.
-
-
- Registra una factory dell'adattatore per il provider di convalida dell'oggetto.
- Tipo del modello.
- Factory.
-
-
- Fornisce una factory per i validator basati sull'oggetto .
-
-
- Fornisce un contenitore per il validator del modello informativo di errore.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene un elenco di validator del modello informativo di errore.
- Elenco di validator del modello informativo di errore.
- Metadati del modello.
- Contesto del controller.
-
-
- Rappresenta la factory del controller registrata per impostazione predefinita.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando un attivatore del controller.
- Oggetto che implementa l'interfaccia dell'attivatore del controller.
-
-
- Crea il controller specificato utilizzando il contesto della richiesta specificato.
- Controller.
- Contesto della richiesta HTTP che include il contesto HTTP e i dati della route.
- Nome del controller.
- Il parametro è null.
- Il parametro è null o vuoto.
-
-
- Recupera l'istanza del controller per il contesto della richiesta e il tipo di controller specificati.
- Istanza del controller.
- Contesto della richiesta HTTP che include il contesto HTTP e i dati della route.
- Tipo del controller.
-
- è null.
-
- non può essere assegnato.
- Non è possibile creare un'istanza di .
-
-
- Restituisce il comportamento di sessione del controller.
- Comportamento di sessione del controller.
- Contesto della richiesta.
- Tipo del controller.
-
-
- Recupera il tipo di controller per il nome e il contesto della richiesta specificati.
- Tipo di controller.
- Contesto della richiesta HTTP che include il contesto HTTP e i dati della route.
- Nome del controller.
-
-
- Rilascia il controller specificato.
- Controller da rilasciare.
-
-
- Questa API supporta l'infrastruttura ASP.NET MVC e non può essere utilizzata direttamente dal codice.Questo metodo chiama il metodo .
- Comportamento di sessione del controller.
- Contesto della richiesta.
- Nome del controller.
-
-
- Esegue il mapping di una richiesta del browser a un oggetto dati.Questa classe fornisce un'implementazione concreta di un gestore di associazione del modello.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta i gestori di associazione del modello per l'applicazione.
- Gestori di associazione del modello per l'applicazione.
-
-
- Associa il modello utilizzando il contesto del controller e il contesto di associazione specificati.
- Oggetto associato.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Il parametro è null.
-
-
- Associa la proprietà specificata utilizzando il contesto del controller, il contesto di associazione e il descrittore della proprietà specificati.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Descrive una proprietà da associare.Il descrittore fornisce informazioni quali il tipo di componente, il tipo di proprietà e il valore della proprietà.Fornisce inoltre metodi per ottenere o impostare il valore della proprietà.
-
-
- Crea il tipo di modello specificato utilizzando il contesto del controller e il contesto di associazione specificati.
- Oggetto dati del tipo specificato.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Tipo di oggetto modello da restituire.
-
-
- Crea un indice (indice secondario) basato su una categoria di componenti che costituiscono un indice più grande, in cui il valore di indice specificato è un intero.
- Nome dell'indice secondario.
- Prefisso per l'indice secondario.
- Valore dell'indice.
-
-
- Crea un indice (indice secondario) basato su una categoria di componenti che costituiscono un indice più grande, in cui il valore di indice specificato è una stringa.
- Nome dell'indice secondario.
- Prefisso per l'indice secondario.
- Valore dell'indice.
-
-
- Crea il nome della sottoproprietà utilizzando il prefisso e il nome della proprietà specificati.
- Nome della proprietà secondaria.
- Prefisso per la proprietà secondaria.
- Nome della proprietà.
-
-
- Restituisce un set di proprietà corrispondenti alle limitazioni del filtro delle proprietà stabilite dal parametro specificato.
- Set enumerabile di descrittori della proprietà.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
-
-
- Restituisce le proprietà del modello utilizzando il contesto del controller e il contesto di associazione specificati.
- Insieme di descrittori della proprietà.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
-
-
- Restituisce il valore di una proprietà utilizzando il contesto del controller, il contesto di associazione, il descrittore della proprietà e il gestore di associazione della proprietà specificati.
- Oggetto che rappresenta il valore della proprietà.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Descrittore per la proprietà a cui accedere.Il descrittore fornisce informazioni quali il tipo di componente, il tipo di proprietà e il valore della proprietà.Fornisce inoltre metodi per ottenere o impostare il valore della proprietà.
- Oggetto che fornisce un modo per associare la proprietà.
-
-
- Restituisce l'oggetto descrittore per un tipo specificato dal contesto del controller e dal contesto di associazione corrispondenti.
- Oggetto descrittore del tipo personalizzato.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
-
-
- Determina se un modello di dati è valido per il contesto di associazione specificato.
- true se il modello è valido. In caso contrario, false.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Il parametro è null.
-
-
- Chiamato quando il modello viene aggiornato.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
-
-
- Chiamato quando è in corso l'aggiornamento del modello.
- true se il modello è in fase di aggiornamento. In caso contrario, false.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
-
-
- Chiamato quando la proprietà specificata viene convalidata.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Descrive una proprietà da convalidare.Il descrittore fornisce informazioni quali il tipo di componente, il tipo di proprietà e il valore della proprietà.Fornisce inoltre metodi per ottenere o impostare il valore della proprietà.
- Valore da impostare per la proprietà.
-
-
- Chiamato quando in corso la convalida della proprietà specificata.
- true se la proprietà è in fase di convalida. In caso contrario, false.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Descrive una proprietà di cui è in corso la convalida.Il descrittore fornisce informazioni quali il tipo di componente, il tipo di proprietà e il valore della proprietà.Fornisce inoltre metodi per ottenere o impostare il valore della proprietà.
- Valore da impostare per la proprietà.
-
-
- Ottiene o imposta il nome del file di risorse (chiave della classe) che contiene valori stringa localizzati.
- Nome del file di risorse (chiave della classe).
-
-
- Imposta la proprietà specificata utilizzando il contesto del controller, il contesto di associazione e il valore della proprietà specificati.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
- Descrive una proprietà da impostare.Il descrittore fornisce informazioni quali il tipo di componente, il tipo di proprietà e il valore della proprietà.Fornisce inoltre metodi per ottenere o impostare il valore della proprietà.
- Valore da impostare per la proprietà.
-
-
- Rappresenta una cache in memoria per i percorsi di visualizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'intervallo di tempo della cache specificato.
- Intervallo di tempo della cache.
- L'attributo Ticks del parametro è impostato su un numero negativo.
-
-
- Recupera il percorso di visualizzazione predefinito utilizzando il contesto HTTP e la chiave di cache specificati.
- Percorso di visualizzazione predefinito.
- Contesto HTTP.
- Chiave di cache.
- Il parametro è null.
-
-
- Inserisce la visualizzazione nel percorso virtuale specificato utilizzando il contesto HTTP, la chiave di cache e il percorso virtuale specificati.
- Contesto HTTP.
- Chiave di cache.
- Percorso virtuale.
- Il parametro è null.
-
-
- Crea una cache del percorso di visualizzazione vuota.
-
-
- Ottiene o imposta l'intervallo di tempo della cache.
- Intervallo di tempo della cache.
-
-
- Fornisce un punto di registrazione per i resolver di dipendenza che implementano o l'interfaccia IServiceLocator del localizzatore di servizi comune.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene l'implementazione del resolver di dipendenza.
- Implementazione del resolver di dipendenza.
-
-
- Questa API supporta l'infrastruttura ASP.NET MVC e non può essere utilizzata direttamente dal codice.
- Implementazione del resolver di dipendenza.
-
-
- Questa API supporta l'infrastruttura ASP.NET MVC e non può essere utilizzata direttamente dal codice.
- Funzione che fornisce il servizio.
- Funzione che fornisce i servizi.
-
-
- Questa API supporta l'infrastruttura ASP.NET MVC e non può essere utilizzata direttamente dal codice.
- Localizzatore di servizi comune.
-
-
- Questa API supporta l'infrastruttura ASP.NET MVC e non può essere utilizzata direttamente dal codice.
- Oggetto che implementa il resolver di dipendenza.
-
-
- Fornisce un punto di registrazione per i resolver di dipendenza utilizzando il delegato del servizio e i delegati di raccolta del servizio specificati.
- Delegato del servizio.
- Delegati dei servizi.
-
-
- Fornisce un punto di registrazione per i resolver di dipendenza utilizzando il localizzatore di servizi comune fornito quando si utilizza un'interfaccia del localizzatore di servizi.
- Localizzatore di servizi comune.
-
-
- Fornisce un punto di registrazione per i resolver di dipendenza utilizzando l'interfaccia del resolver di dipendenza specificata.
- Resolver di dipendenza.
-
-
- Fornisce un'implementazione indipendente dai tipi di e .
-
-
- Risolve i singoli servizi registrati che supportano la creazione di oggetti arbitrari.
- Servizio o oggetto richiesto.
- Istanza del resolver di dipendenza estesa da questo metodo.
- Tipo di servizio o oggetto richiesto.
-
-
- Risolve più servizi registrati.
- Servizi richiesti.
- Istanza del resolver di dipendenza estesa da questo metodo.
- Tipo di servizi richiesti.
-
-
- Rappresenta la classe di base per i provider di valori i cui valori provengono da un insieme che implementa l'interfaccia .
- Tipo del valore.
-
-
- Inizializza una nuova istanza della classe .
- Coppie nome/valore utilizzate per inizializzare il provider di valori.
- Informazioni su impostazioni cultura specifiche, quali i nomi delle impostazioni cultura, il sistema di scrittura e il calendario utilizzati.
- Il parametro è null.
-
-
- Determina se la raccolta contiene il prefisso specificato.
- true se la raccolta contiene il prefisso specificato. In caso contrario, false.
- Prefisso da ricercare.
- Il parametro è null.
-
-
- Ottiene le chiavi dal prefisso.
- Chiavi ottenute dal prefisso.
- Prefisso.
-
-
- Restituisce un oggetto valore utilizzando la chiave e il contesto del controller specificati.
- Oggetto valore per la chiave specificata.
- Chiave dell'oggetto valore da recuperare.
- Il parametro è null.
-
-
- Fornisce un provider di metadati vuoto per i modelli di dati che non richiedono metadati.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Crea una nuova istanza della classe .
- Nuova istanza della classe .
- Attributi.
- Tipo del contenitore.
- Funzione di accesso del modello.
- Tipo del modello.
- Nome del modello.
-
-
- Fornisce un provider di convalida vuoto per i modelli che non richiedono alcun validator.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il validator del modello vuoto.
- Validator del modello vuoto.
- Metadati.
- Contesto.
-
-
- Rappresenta un risultato che non ha alcun effetto, ad esempio un metodo di azione del controller che non restituisce niente.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Esegue il contesto del risultato specificato.
- Contesto del risultato.
-
-
- Fornisce il contesto per l'utilizzo della classe .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe per l'eccezione specificata utilizzando il contesto del controller specificato.
- Contesto del controller.
- Eccezione.
- Il parametro è null.
-
-
- Ottiene o imposta l'oggetto eccezione.
- Oggetto eccezione.
-
-
- Ottiene o imposta un valore che indica se l'eccezione è stata gestita.
- true se l'eccezione è stata gestita. In caso contrario, false.
-
-
- Ottiene o imposta il risultato dell'azione.
- Risultato dell'azione.
-
-
- Fornisce una classe helper per ottenere il nome del modello da un'espressione.
-
-
- Ottiene il nome del modello da un'espressione lambda.
- Nome del modello.
- Espressione.
-
-
- Ottiene il nome del modello da un'espressione stringa.
- Nome del modello.
- Espressione.
-
-
- Fornisce un contenitore per i metadati di convalida del campo lato client.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il nome del campo dati.
- Nome del campo dati.
-
-
- Ottiene o imposta un valore che indica se il contenuto del messaggio di convalida deve essere sostituito con l'errore di convalida del client.
- true se il contenuto del messaggio di convalida deve essere sostituito con l'errore di convalida del client. In caso contrario, false.
-
-
- Ottiene o imposta l'ID del messaggio del validator.
- ID del messaggio del validator.
-
-
- Ottiene le regole della convalida del client.
- Regole della convalida del client.
-
-
- Invia il contenuto di un file binario alla risposta.
-
-
- Inizializza una nuova istanza della classe utilizzando il contenuto del file e il tipo di contenuto specificati.
- Matrice di byte da inviare alla risposta.
- Tipo di contenuto da utilizzare per la risposta.
- Il parametro è null.
-
-
- Contenuto binario da inviare alla risposta.
- Contenuto del file.
-
-
- Scrive il contenuto del file nella risposta.
- Risposta.
-
-
- Invia il contenuto di un file alla risposta.
-
-
- Inizializza una nuova istanza della classe utilizzando il nome di file e il tipo di contenuto specificati.
- Nome del file da inviare alla risposta corrente.
- Tipo di contenuto della risposta.
- Il parametro è null o vuoto.
-
-
- Ottiene o imposta il percorso del file inviato alla risposta.
- Percorso del file inviato alla risposta.
-
-
- Scrive il file nella risposta.
- Risposta.
-
-
- Rappresenta una classe di base utilizzata per inviare contenuto del file binario alla risposta.
-
-
- Inizializza una nuova istanza della classe .
- Tipo del contenuto.
- Il parametro è null o vuoto.
-
-
- Ottiene il tipo di contenuto da utilizzare per la risposta.
- Tipo del contenuto.
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui il risultato viene eseguito.
- Il parametro è null.
-
-
- Ottiene o imposta l'intestazione Content-Disposition in modo che nel browser venga visualizzata una finestra di dialogo relativa al download del file con il nome di file specificato.
- Nome del file.
-
-
- Scrive il file nella risposta.
- Risposta.
-
-
- Invia contenuto binario alla risposta utilizzando un'istanza di .
-
-
- Inizializza una nuova istanza della classe .
- Flusso da inviare alla risposta.
- Tipo di contenuto da utilizzare per la risposta.
- Il parametro è null.
-
-
- Ottiene il flusso che verrà inviato alla risposta.
- Flusso di file.
-
-
- Scrive il file nella risposta.
- Risposta.
-
-
- Rappresenta una classe di metadati che contiene un riferimento all'implementazione di una o più delle interfacce del filtro, all'ordine e all'ambito del filtro.
-
-
- Inizializza una nuova istanza della classe .
- Istanza.
- Ambito.
- Ordine.
-
-
- Rappresenta una costante utilizzata per specificare l'ordinamento predefinito dei filtri.
-
-
- Ottiene l'istanza di questa classe.
- Istanza di questa classe.
-
-
- Ottiene l'ordine in cui viene applicato il filtro.
- Ordine in cui viene applicato il filtro.
-
-
- Ottiene l'ordinamento dell'ambito del filtro.
- Ordinamento dell'ambito del filtro.
-
-
- Rappresenta la classe di base per gli attributi dei filtri azione e dei risultati.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta un valore che indica se è possibile specificare più istanze dell'attributo di filtro.
- true se è possibile specificare più istanze dell'attributo di filtro. In caso contrario, false.
-
-
- Ottiene o imposta l'ordine con cui vengono eseguiti i filtri dell'azione.
- Ordine con cui vengono eseguiti i filtri dell'azione.
-
-
- Definisce un provider di filtri per gli attributi di filtro.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe e, facoltativamente, memorizza nella cache le istanze di attributo.
- true per memorizzare nella cache le istanze di attributo. In caso contrario, false.
-
-
- Ottiene un insieme di attributi dell'azione personalizzata.
- Insieme di attributi dell'azione personalizzata.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Ottiene un insieme di attributi del controller.
- Insieme di attributi del controller.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Aggrega i filtri di tutti i provider di filtri in un unico insieme.
- Filtri dell'insieme di tutti i provider di filtri.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Incapsula le informazioni sui filtri dell'azione disponibili.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'insieme di filtri specificato.
- Insieme di filtri.
-
-
- Ottiene tutti i filtri dell'azione nell'applicazione.
- Filtri dell'azione.
-
-
- Ottiene tutti i filtri di autenticazione nell'applicazione.
- Elenco dei filtri di autenticazione.
-
-
- Ottiene tutti i filtri di autorizzazione nell'applicazione.
- Filtri di autorizzazione.
-
-
- Ottiene tutti i filtri eccezioni nell'applicazione.
- Filtri eccezioni.
-
-
- Ottiene tutti i filtri dei risultati nell'applicazione.
- Filtri dei risultati.
-
-
- Rappresenta l'insieme di provider di filtri per l'applicazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'elenco del provider dei filtri specificato.
- Elenco di provider dei filtri.
-
-
- Rimuove tutti gli elementi dalla raccolta.
-
-
- Restituisce l'insieme di provider di filtri.
- Insieme di provider di filtri.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Consente di inserire un elemento nell'insieme in corrispondenza dell'indice specificato.
- Indice in base zero in corrispondenza del quale deve essere inserito l'elemento.
- Oggetto da inserire.Il valore può essere null per i tipi di riferimento.
-
-
- Rimuove l'elemento all'indice della raccolta specificato.
- Indice in base zero dell'elemento da rimuovere.
-
-
- Sostituisce l'elemento in corrispondenza dell'indice specificato.
- Indice in base zero dell'elemento da sostituire.
- Nuovo valore dell'elemento in corrispondenza dell'indice specificato.Il valore può essere null per i tipi di riferimento.
-
-
- Fornisce un punto di registrazione per i filtri.
-
-
- Fornisce un punto di registrazione per i filtri.
- Insieme di filtri.
-
-
- Definisce i valori che specificano l'ordine in cui vengono eseguiti i filtri ASP.NET MVC nello stesso tipo di filtro e nello stesso ordine del filtro.
-
-
- Specifica un ordine prima di e dopo di .
-
-
- Specifica un ordine prima di e dopo di .
-
-
- Specifica il primo valore.
-
-
- Specifica un ordine prima di e dopo di .
-
-
- Specifica l'ultimo valore.
-
-
- Contiene i provider di valori del form per l'applicazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe .
- Insieme.
- Il parametro è null.
-
-
- Ottiene il provider di valori specificato.
- Provider di valori.
- Nome del provider di valori da ottenere.
- Il parametro è null o vuoto.
-
-
- Ottiene un valore che indica se il provider di valori contiene una voce con il prefisso specificato.
- true se il provider di valori contiene una voce con il prefisso specificato. In caso contrario, false.
- Prefisso da ricercare.
-
-
- Ottiene un valore da un provider di valori tramite la chiave specificata.
- Valore ottenuto da un provider di valori.
- Chiave.
-
-
- Restituisce un dizionario che contiene i provider di valori.
- Dizionario di provider di valori.
-
-
- Incapsula le informazioni necessarie per convalidare ed elaborare i dati di input da un form HTML.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i validator dei campi per il form.
- Dizionario di validator di campo per il form.
-
-
- Ottiene o imposta l'identificatore del form.
- Identificatore del form.
-
-
- Restituisce un oggetto serializzato contenente l'identificatore di form e valori di convalida dei campi per il form.
- Oggetto serializzato contenente l'identificatore di form e valori di convalida dei campi per il form.
-
-
- Restituisce il valore di convalida per il campo di input specificato.
- Valore con cui convalidare l'input del campo.
- Nome del campo per il quale recuperare il valore di convalida.
- Il parametro è null o vuoto.
-
-
- Restituisce il valore di convalida per il campo di input specificato e un valore che indica l'operazione da eseguire se il valore di convalida non viene trovato.
- Valore con cui convalidare l'input del campo.
- Nome del campo per il quale recuperare il valore di convalida.
- true per creare un valore di convalida se non ne viene trovato uno. In caso contrario false.
- Il parametro è null o vuoto.
-
-
- Restituisce un valore che indica se è stato eseguito il rendering del campo specificato nel form.
- true se è stato eseguito il rendering del campo. In caso contrario, false.
- Nome del campo.
-
-
- Imposta un valore che indica se è stato eseguito il rendering del campo specificato nel form.
- Nome del campo.
- true per specificare che è stato eseguito il rendering del campo nel form. In caso contrario, false.
-
-
- Determina se gli errori di convalida del client devono essere aggiunti dinamicamente al riepilogo di convalida.
- true se gli errori di convalida del client devono essere aggiunti al riepilogo di convalida. In caso contrario, false.
-
-
- Ottiene o imposta l'identificatore per il riepilogo di convalida.
- Identificatore per il riepilogo di convalida.
-
-
- Enumera i tipi di richiesta HTTP per un form.
-
-
- Specifica una richiesta GET.
-
-
- Specifica una richiesta POST.
-
-
- Rappresenta un provider di valori per valori del form contenuti in un oggetto .
-
-
- Inizializza una nuova istanza della classe .
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
-
-
- Rappresenta una classe responsabile per la creazione di una nuova istanza di un oggetto provider di valori del form.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto provider di valori del form per il contesto del controller specificato.
- Oggetto provider di valori del form.
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
- Il parametro è null.
-
-
- Rappresenta una classe che contiene tutti i filtri globali.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Aggiunge il filtro specificato all'insieme di filtri globali.
- Filtro.
-
-
- Aggiunge il filtro specificato all'insieme di filtri globali utilizzando l'ordine di esecuzione del filtro.
- Filtro.
- Ordine di esecuzione del filtro.
-
-
- Rimuove tutti i filtri dall'insieme di filtri globali.
-
-
- Determina se un filtro si trova nell'insieme di filtri globali.
- true se viene trovato nella raccolta di filtri globali. In caso contrario, false.
- Filtro.
-
-
- Ottiene il numero di filtri presenti nell'insieme di filtri globali.
- Numero di filtri presenti nell'insieme di filtri globali.
-
-
- Restituisce un enumeratore che scorre l'insieme di filtri globali.
- Enumeratore che scorre l'insieme di filtri globali.
-
-
- Rimuove tutti i filtri che corrispondono al filtro specificato.
- Filtro da rimuovere.
-
-
- Questa API supporta l'infrastruttura ASP.NET MVC e non può essere utilizzata direttamente dal codice.
- Enumeratore che scorre l'insieme di filtri globali.
-
-
- Questa API supporta l'infrastruttura ASP.NET MVC e non può essere utilizzata direttamente dal codice.
- Enumeratore che scorre l'insieme di filtri globali.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Rappresenta l'insieme di filtri globale.
-
-
- Ottiene o imposta l'insieme di filtri globale.
- Insieme di filtri globale.
-
-
- Rappresenta un attributo utilizzato per gestire un'eccezione generata da un metodo di azione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il tipo dell'eccezione.
- Il tipo dell'eccezione.
-
-
- Ottiene o imposta la visualizzazione Master per le informazioni sull'eccezione.
- Visualizzazione Master.
-
-
- Chiamato quando si verifica un'eccezione.
- Contesto del filtro dell'azione.
- Il parametro è null.
-
-
- Ottiene l'identificatore univoco per questo attributo.
- Identificatore univoco per questo attributo.
-
-
- Ottiene o imposta la visualizzazione Pagina per le informazioni sull'eccezione.
- Visualizzazione Pagina.
-
-
- Incapsula le informazioni per la gestione di un errore generato da un metodo di azione.
-
-
- Inizializza una nuova istanza della classe .
- Eccezione.
- Nome del controller.
- Nome dell'azione.
- Il parametro è null.
- Il parametro o è null o vuoto.
-
-
- Ottiene o imposta il nome dell'azione in esecuzione al momento della generazione dell'eccezione.
- Nome dell'azione.
-
-
- Ottiene o imposta il nome de controller contenente il metodo di azione che ha generato l'eccezione.
- Nome del controller.
-
-
- Ottiene o imposta l'oggetto eccezione.
- Oggetto eccezione.
-
-
- Rappresenta un attributo utilizzato per indicare se deve essere eseguito il rendering del valore di una proprietà o un campo come elemento input nascosto.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta un valore che indica se visualizzare il valore dell'elemento input nascosto.
- true se il valore deve essere visualizzato. In caso contrario, false.
-
-
- Enumera la modalità di rendering della data per il formato HTML5.
-
-
- Formattazione della cultura corrente.
-
-
- Formattazione RFC 3339.
-
-
- Supporta il rendering di controlli HTML in una visualizzazione.
-
-
- Inizializza una nuova istanza della classe usando il contesto di visualizzazione e il contenitore di dati della visualizzazione specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
- Il parametro o viewDataContainer è null.
-
-
- Inizializza una nuova istanza della classe usando il contesto di visualizzazione, il contenitore dei dati della visualizzazione e l'insieme di route specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
- Insieme di route.
- Uno o più parametri sono null.
-
-
- Sostituisce i caratteri di sottolineatura (_) con i trattini (-) negli attributi HTML specificati.
- Attributi HTML con caratteri di sottolineatura sostituiti dai trattini.
- Attributi HTML.
-
-
- Genera un campo del form nascosto (token antifalsificazione) che viene convalidato all'invio del form.
- Campo del form generato (token antifalsificazione).
-
-
- Genera un campo del form nascosto (token antifalsificazione) che viene convalidato all'invio del form.Il valore del campo viene generato usando il valore salt specificato.
- Campo del form generato (token antifalsificazione).
- Valore salt che può essere una qualsiasi stringa non vuota.
-
-
- Genera un campo del form nascosto (token antifalsificazione) che viene convalidato all'invio del form.Il valore del campo viene generato usando il valore salt, il dominio e il percorso specificati.
- Campo del form generato (token antifalsificazione).
- Valore salt che può essere una qualsiasi stringa non vuota.
- Dominio dell'applicazione.
- Percorso virtuale.
-
-
- Converte il valore dell'attributo specificato in una stringa codificata in formato HTML.
- Stringa codificata in formato HTML.Se il parametro del valore è null o vuoto, questo metodo restituisce una stringa vuota.
- Oggetto da codificare.
-
-
- Converte il valore dell'attributo specificato in una stringa codificata in formato HTML.
- Stringa codificata in formato HTML.Se il parametro del valore è null o vuoto, questo metodo restituisce una stringa vuota.
- Stringa da codificare.
-
-
- Ottiene o imposta un valore che indica se è abilitata la convalida del client.
- true se la convalida client è abilitata. In caso contrario, false.
-
-
- Consente la convalida dell'input eseguita tramite lo script client nel browser.
-
-
- Abilita o disabilita la convalida del client.
- true per abilitare la convalida client. In caso contrario, false.
-
-
- Abilita o disabilita l'utilizzo di JavaScript non intrusivo.
-
-
- Abilita o disabilita l'utilizzo di JavaScript non intrusivo.
- true per abilitare JavaScript non intrusivo. In caso contrario, false.
-
-
- Converte il valore dell'oggetto specificato in una stringa codificata in formato HTML.
- Stringa codificata in formato HTML.
- Oggetto da codificare.
-
-
- Converte la stringa specificata in una stringa codificata in formato HTML.
- Stringa codificata in formato HTML.
- Stringa da codificare.
-
-
- Formatta il valore.
- Valore formattato.
- Valore.
- Stringa del formato.
-
-
- Crea un ID dell'elemento HTML usando il nome dell'elemento specificato.
- ID dell'elemento HTML.
- Nome dell'elemento HTML.
- Il parametro name è null.
-
-
- Crea un ID dell'elemento HTML usando il nome dell'elemento specificato e una stringa che sostituisce i punti nel nome.
- ID dell'elemento HTML.
- Nome dell'elemento HTML.
- Stringa che sostituisce i punti (.) nel nome del parametro.
- Il parametro name o idAttributeDotReplacement è null.
-
-
- Genera un elemento ancoraggio HTML (elemento a) che si collega al metodo di azione specificato e consente all'utente di specificare il protocollo di comunicazione, il nome dell'host e un frammento URL.
- Elemento HTML che si collega al metodo di azione specificato.
- Contesto della richiesta HTTP.
- Insieme delle route dell'URL.
- Didascalia di testo visualizzata per il collegamento.
- Nome della route usato per restituire un percorso virtuale.
- Nome del metodo di azione.
- Nome del controller.
- Protocollo di comunicazione, ad esempio HTTP o HTTPS.Se questo parametro è null, per impostazione predefinita il protocollo viene impostato su HTTP.
- Nome dell'host.
- Identificatore del frammento.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Genera un elemento ancoraggio HTML (elemento a) che si collega al metodo di azione specificato.
- Elemento HTML che si collega al metodo di azione specificato.
- Contesto della richiesta HTTP.
- Insieme delle route dell'URL.
- Didascalia di testo visualizzata per il collegamento.
- Nome della route usato per restituire un percorso virtuale.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Genera un elemento ancoraggio HTML (elemento a) che si collega alla route dell'URL specificata e consente all'utente di specificare il protocollo di comunicazione, il nome dell'host e un frammento di URL.
- Elemento HTML che si collega alla route dell'URL specificata.
- Contesto della richiesta HTTP.
- Insieme delle route dell'URL.
- Didascalia di testo visualizzata per il collegamento.
- Nome della route usato per restituire un percorso virtuale.
- Protocollo di comunicazione, ad esempio HTTP o HTTPS.Se questo parametro è null, per impostazione predefinita il protocollo viene impostato su HTTP.
- Nome dell'host.
- Identificatore del frammento.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Genera un elemento ancoraggio HTML (elemento a) che si collega alla route dell'URL specificata.
- Elemento HTML che si collega alla route dell'URL specificata.
- Contesto della richiesta HTTP.
- Insieme delle route dell'URL.
- Didascalia di testo visualizzata per il collegamento.
- Nome della route usato per restituire un percorso virtuale.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Restituisce il metodo HTTP che gestisce l'input (GET o POST) del form come stringa.
- Stringa del metodo del form, "get" o "post".
- Metodo HTTP che gestisce il form.
-
-
- Restituisce il tipo di controllo di input HTML come stringa.
- Stringa del tipo di input ("checkbox", "hidden", "password", "radio" o "text").
- Tipo di input enumerato.
-
-
- Ottiene la raccolta degli attributi di convalida JavaScript non intrusivo usando il nome dell'attributo HTML specificato.
- Insieme degli attributi di convalida di JavaScript non intrusivo.
- Nome dell'attributo HTML.
-
-
- Ottiene la raccolta degli attributi di convalida JavaScript non intrusivo usando il nome dell'attributo HTML e i metadati del modello specificati.
- Insieme degli attributi di convalida di JavaScript non intrusivo.
- Nome dell'attributo HTML.
- Metadati del modello.
-
-
- Ottiene o imposta la modalità di rendering dei dati in formato HTML5.
- Modalità di rendering dei dati in formato HTML5.
-
-
- Restituisce un elemento input nascosto che identifica il metodo di override per il metodo di trasferimento dei dati HTTP specificato usato dal client.
- Metodo di override che usa il metodo di trasferimento dei dati HTTP usato dal client.
- Metodo di trasferimento dei dati HTTP usato dal client (DELETE, HEAD o PUT).
- Il parametro httpVerb non è "PUT", "DELETE" o "HEAD".
-
-
- Restituisce un elemento input nascosto che identifica il metodo di override per il verbo specificato che rappresenta il metodo di trasferimento dei dati HTTP usato dal client.
- Il metodo di override che usa il verbo che rappresenta il metodo di trasferimento dei dati HTTP usato dal client.
- Verbo che rappresenta il metodo di trasferimento dei dati HTTP usato dal client.
- Il parametro httpVerb non è "PUT", "DELETE" o "HEAD".
-
-
- Ottiene o imposta il carattere che sostituisce i punti nell'attributo ID di un elemento.
- Carattere che sostituisce i punti nell'attributo ID di un elemento.
-
-
- Crea un dizionario da un oggetto tramite l'aggiunta al dizionario della proprietà di ogni istanza pubblica come chiave con il rispettivo valore associato.Esporrà anche le proprietà pubbliche dai tipi derivati.Usato in genere con oggetti di tipo anonimo.
- Dizionario creato dei nomi di proprietà e dei valori di proprietà.
- Oggetto da convertire.
-
-
- Restituisce il markup che non è codificato in formato HTML.
- Markup HTML senza codifica.
- Markup HTML.
-
-
- Restituisce il markup che non è codificato in formato HTML.
- Markup HTML senza codifica.
- Markup HTML.
-
-
- Ottiene o imposta l'insieme di route per l'applicazione.
- Insieme di route per l'applicazione.
-
-
- Imposta il nome dell'elemento usato per il wrapping del messaggio di convalida generato da e altri overload.
-
-
- Imposta il nome dell'elemento usato per il wrapping di un messaggio di primo livello in e altri overload.
-
-
- Ottiene o imposta un valore che indica se è abilitato l'utilizzo di JavaScript non intrusivo.
- true se l'utilizzo di JavaScript non intrusivo è abilitato. In caso contrario, false.
-
-
- Nome della classe CSS usata per definire lo stile di un campo di input quando si verifica un errore di convalida.
-
-
- Nome della classe CSS usata per definire lo stile di un campo di input quando l'input è valido.
-
-
- Nome della classe CSS usata per definire lo stile di un messaggio di errore quando si verifica un errore di convalida.
-
-
- Nome di elemento usato per il wrapping del messaggio di convalida generato da e altri overload.
-
-
- Nome della classe CSS usata per definire lo stile del messaggio di convalida quando l'input è valido.
-
-
- Nome della classe CSS usata per definire lo stile dei messaggi di errore di riepilogo di convalida.
-
-
- Nome di elemento usato per il wrapping di un messaggio di primo livello in e altri overload.
-
-
- Nome della classe CSS usato per definire lo stile del riepilogo di convalida quando l'input è valido.
-
-
- Ottiene il contenitore delle visualizzazioni.
- Contenitore delle visualizzazioni.
-
-
- Ottiene o imposta le informazioni del contesto relative alla visualizzazione.
- Contesto della visualizzazione.
-
-
- Ottiene il dizionario dei dati della visualizzazione corrente.
- Dizionario dei dati della visualizzazione.
-
-
- Ottiene o imposta il contenitore dei dati della visualizzazione.
- Contenitore di dati della visualizzazione.
-
-
- Rappresenta il supporto per il rendering dei controlli HTML in una visualizzazione fortemente tipizzata.
- Tipo del modello.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di visualizzazione e il contenitore di dati della visualizzazione specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di visualizzazione, il contenitore dei dati della visualizzazione e l'insieme di route specificati.
- Contesto di visualizzazione.
- Contenitore di dati della visualizzazione.
- Insieme di route.
-
-
- Ottiene il contenitore delle visualizzazioni.
- Contenitore delle visualizzazioni.
-
-
- Ottiene il dizionario dei dati di visualizzazione fortemente tipizzato.
- Dizionario dei dati di visualizzazione fortemente tipizzato.
-
-
- Rappresenta un attributo utilizzato per limitare un metodo di azione in modo che gestisca solo richieste DELETE HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la richiesta DELETE del metodo di azione è valida per il contesto del controller specificato.
- true se la richiesta del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Rappresenta un provider di valori da utilizzare con valori che provengono da un insieme di file HTTP.
-
-
- Inizializza una nuova istanza della classe .
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
-
-
- Rappresenta una classe responsabile per la creazione di una nuova istanza di un oggetto provider di valori per l'insieme di file HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto provider di valori per il contesto del controller specificato.
- Provider di valori per l'insieme di file HTTP.
- Oggetto che incapsula informazioni sulla richiesta HTTP.
- Il parametro è null.
-
-
- Rappresenta un attributo utilizzato per limitare un metodo di azione in modo che gestisca solo richieste GET HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la richiesta GET del metodo di azione è valida per il contesto del controller specificato.
- true se la richiesta del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Specifica che la richiesta HTTP deve corrispondere al metodo HEAD HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la richiesta del metodo di azione è valida per il contesto del controller specificato.
- true se la richiesta del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Definisce un oggetto utilizzato per indicare che la risorsa richiesta non è stata trovata.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando una descrizione di stato.
- Descrizione dello stato,
-
-
- Rappresenta un attributo utilizzato per limitare un metodo di azione in modo che gestisca solo richieste OPTIONS HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la richiesta del metodo di azione è valida per il contesto del controller specificato.
- true se la richiesta del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Rappresenta un attributo utilizzato per limitare un metodo di azione in modo che gestisca solo richieste PATCH HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la richiesta del metodo di azione è valida per il contesto del controller specificato.
- true se la richiesta del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Rappresenta un attributo utilizzato per limitare un metodo di azione in modo che gestisca solo richieste POST HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la richiesta POST del metodo di azione è valida per il contesto del controller specificato.
- true se la richiesta del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Associa un modello a un file inserito.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Associa il modello.
- Valore associato.Implementa
- Contesto del controller.
- Contesto di associazione.
- Uno o entrambi i parametri sono null.
-
-
- Rappresenta un attributo utilizzato per limitare un metodo di azione in modo che gestisca solo richieste PUT HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se la richiesta PUT del metodo di azione è valida per il contesto del controller specificato.
- true se la richiesta del metodo di azione è valida per il contesto del controller specificato. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo di azione.
-
-
- Estende la classe che contiene i valori HTTP inviati da un client durante una richiesta Web.
-
-
- Recupera l'override del metodo di trasferimento dati HTTP utilizzato dal client.
- Override del metodo di trasferimento dati HTTP utilizzato dal client.
- Oggetto contenente i valori HTTP inviati da un client durante una richiesta Web.
- Il parametro è null.
- Override del metodo di trasferimento dati HTTP non implementato.
-
-
- Consente di restituire un risultato dell'azione con una descrizione e un codice di stato della risposta HTTP specifici.
-
-
- Inizializza una nuova istanza della classe utilizzando un codice di stato.
- Codice di stato.
-
-
- Inizializza una nuova istanza della classe utilizzando un codice e una descrizione di stato.
- Codice di stato.
- Descrizione dello stato,
-
-
- Inizializza una nuova istanza della classe utilizzando un codice di stato.
- Codice di stato.
-
-
- Inizializza una nuova istanza della classe utilizzando un codice e una descrizione di stato.
- Codice di stato.
- Descrizione dello stato,
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui viene eseguito il risultato.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
-
-
- Ottiene il codice di stato HTTP.
- Codice di stato HTTP.
-
-
- Ottiene la descrizione di stato HTTP.
- Descrizione di stato HTTP.
-
-
- Rappresenta il risultato di una richiesta HTTP non autorizzata.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando la descrizione di stato.
- Descrizione dello stato,
-
-
- Enumera i verbi HTTP.
-
-
- Richiede che un URI specificato venga eliminato.
-
-
- Recupera le informazioni o l'entità identificata dall'URI della richiesta.
-
-
- Recupera le intestazioni del messaggio per le informazioni o l'entità identificata dall'URI della richiesta.
-
-
- Rappresenta una richiesta di informazioni sulle opzioni di comunicazione disponibili nella catena di richiesta/risposta identificata dall'URI della richiesta.
-
-
- Richiede che un set di modifiche descritte nell'entità di richiesta venga applicato alla risorsa identificata dall'URI della richiesta.
-
-
- Inserisce una nuova entità come aggiunta a un URI.
-
-
- Sostituisce un'entità identificata da un URI.
-
-
- Definisce i metodi utilizzati in un filtro dell'azione.
-
-
- Chiamato dopo l'esecuzione del metodo di azione.
- Contesto del filtro.
-
-
- Chiamato prima dell'esecuzione di un metodo di azione.
- Contesto del filtro.
-
-
- Definisce il contratto per un invoker di azione, utilizzato per richiamare un'azione in risposta a una richiesta HTTP.
-
-
- Richiama l'azione specificata utilizzando il contesto del controller specificato.
- true se l'azione è stata trovata. In caso contrario, false.
- Contesto del controller.
- Nome dell'azione.
-
-
- Usato per creare un'istanza di per la richiesta corrente.
-
-
- Crea un'istanza di un invoker di azioni per la richiesta corrente.
-
- creato.
-
-
- Definisce i metodi necessari per un filtro di autorizzazione.
-
-
- Chiamato quando è necessaria l'autorizzazione.
- Contesto del filtro.
-
-
- Consente al framework di convalida ASP.NET MVC di individuare in fase di esecuzione se un validator supporta la convalida del client.
-
-
- Se implementato in una classe, restituisce le regole di convalida del client per tale classe.
- Regole di convalida del client per il validator.
- Metadati del modello.
- Contesto del controller.
-
-
- Definisce i metodi necessari per un controller.
-
-
- Esegue il contesto della richiesta specificato.
- Contesto della richiesta.
-
-
- Fornisce un controllo accurato sul modo in cui viene creata un'istanza dei controller mediante l'inserimento di dipendenze.
-
-
- Se implementato in una classe, crea un controller.
- Controller creato.
- Contesto della richiesta.
- Tipo di controller.
-
-
- Definisce i metodi necessari per una factory di controller.
-
-
- Crea il controller specificato utilizzando il contesto della richiesta specificato.
- Controller.
- Contesto della richiesta.
- Nome del controller.
-
-
- Ottiene il comportamento di sessione del controller.
- Comportamento di sessione del controller.
- Contesto della richiesta.
- Nome del controller di cui si desidera ottenere il comportamento di sessione.
-
-
- Rilascia il controller specificato.
- Controller.
-
-
- Definisce i metodi che semplificano la posizione del servizio e la risoluzione delle dipendenze.
-
-
- Risolve i singoli servizi registrati che supportano la creazione di oggetti arbitrari.
- Servizio o oggetto richiesto.
- Tipo di servizio o oggetto richiesto.
-
-
- Risolve più servizi registrati.
- Servizi richiesti.
- Tipo di servizi richiesti.
-
-
- Rappresenta un'interfaccia speciale che supporta l'enumerazione.
-
-
- Ottiene le chiavi dal prefisso.
- Chiavi.
- Prefisso.
-
-
- Definisce i metodi necessari per un filtro eccezioni.
-
-
- Chiamato quando si verifica un'eccezione.
- Contesto del filtro.
-
-
- Fornisce un'interfaccia per la ricerca dei filtri.
-
-
- Restituisce un enumeratore contenente tutte le istanze di presenti nel localizzatore di servizi.
- Enumeratore contenente tutte le istanze di presenti nel localizzatore di servizi.
- Contesto del controller.
- Descrittore dell'azione.
-
-
- Fornisce un'interfaccia per esporre gli attributi alla classe .
-
-
- Se implementata in una classe, fornisce i metadati al processo di creazione dei metadati del modello.
- Metadati del modello.
-
-
- Interfaccia facoltativa per tipi che forniscono un .
-
-
- Recupera MethodInfo
-
-
- Definisce i metodi necessari per uno strumento di associazione di modelli.
-
-
- Associa il modello a un valore utilizzando il contesto del controller e il contesto di associazione specificati.
- Valore associato.
- Contesto del controller.
- Contesto di associazione.
-
-
- Definisce i metodi che consentono le implementazioni dinamiche dell'associazione del modello per le classi che implementano l'interfaccia .
-
-
- Restituisce il gestore di associazione del modello per il tipo specificato.
- Gestore di associazione del modello per il tipo specificato.
- Tipo del modello.
-
-
- Definisce i membri che specificano l'ordine dei filtri e il valore che specifica se sono consentiti più filtri.
-
-
- Se implementato in una classe, ottiene o imposta un valore che indica se sono consentiti più filtri.
- true se sono consentiti più filtri. In caso contrario, false.
-
-
- Se implementato in una classe, ottiene l'ordine del filtro.
- Ordine del filtro.
-
-
- Enumera i tipi di controlli di input.
-
-
- Casella di controllo.
-
-
- Campo nascosto.
-
-
- Casella della password.
-
-
- Pulsante di opzione.
-
-
- Casella di testo.
-
-
- Definisce i metodi necessari per un filtro dei risultati.
-
-
- Chiamato dopo l'esecuzione di un risultato di un'azione.
- Contesto del filtro.
-
-
- Chiamato prima dell'esecuzione di un risultato di un'azione.
- Contesto del filtro.
-
-
- Associa una route a un'area in un'applicazione ASP.NET MVC.
-
-
- Ottiene il nome dell'area a cui associare la route.
- Nome dell'area a cui associare la route.
-
-
- Definisce il contratto per i provider di dati temporanei che archiviano i dati visualizzati nella richiesta successiva.
-
-
- Carica i dati temporanei.
- Dati temporanei.
- Contesto del controller.
-
-
- Salva i dati temporanei.
- Contesto del controller.
- Valori.
-
-
- Usato per creare un'istanza di per il controller.
-
-
- Crea un'istanza di per il controller.
-
- creato.
-
-
- Rappresenta un'interfaccia che può ignorare la convalida della richiesta.
-
-
- Recupera il valore dell'oggetto associato alla chiave specificata.
- Valore dell'oggetto per la chiave specificata.
- Chiave.
- true se la convalida deve essere ignorata. In caso contrario, false.
-
-
- Definisce i metodi richiesti per un provider di valori in ASP.NET MVC.
-
-
- Determina se la raccolta contiene il prefisso specificato.
- true se la raccolta contiene il prefisso specificato. In caso contrario, false.
- Prefisso da ricercare.
-
-
- Recupera un oggetto valore mediante la chiave specificata.
- Oggetto valore per la chiave specificata o null se la chiave non viene trovata.
- Chiave dell'oggetto valore da recuperare.
-
-
- Definisce i metodi necessari per una visualizzazione.
-
-
- Esegue il rendering del contesto di visualizzazione specificato utilizzando l'oggetto writer specificato.
- Contesto di visualizzazione.
- Oggetto writer.
-
-
- Definisce i metodi necessari per un dizionario dei dati della visualizzazione.
-
-
- Ottiene o imposta il dizionario dei dati della visualizzazione.
- Dizionario dei dati della visualizzazione.
-
-
- Definisce i metodi necessari per un motore di visualizzazione.
-
-
- Trova la visualizzazione parziale specificata utilizzando il contesto del controller specificato.
- Visualizzazione parziale.
- Contesto del controller.
- Nome della visualizzazione parziale.
- true per specificare che il motore di visualizzazione restituisce la visualizzazione memorizzata nella cache, se disponibile. In caso contrario, false.
-
-
- Trova la visualizzazione specificata utilizzando il contesto del controller specificato.
- Visualizzazione Pagina.
- Contesto del controller.
- Nome della visualizzazione.
- Nome del master.
- true per specificare che il motore di visualizzazione restituisce la visualizzazione memorizzata nella cache, se disponibile. In caso contrario, false.
-
-
- Rilascia la visualizzazione specificata utilizzando il contesto del controller specificato.
- Contesto del controller.
- Visualizzazione.
-
-
- Definisce i metodi necessari per memorizzare nella cache i percorsi di visualizzazione.
-
-
- Ottiene il percorso di visualizzazione utilizzando il contesto HTTP e la chiave di cache specificati.
- Percorso di visualizzazione.
- Contesto HTTP.
- Chiave di cache.
-
-
- Inserisce il percorso di visualizzazione specificato nella cache utilizzando il contesto HTTP e la chiave di cache specificati.
- Contesto HTTP.
- Chiave di cache.
- Percorso virtuale.
-
-
- Fornisce un controllo accurato sul modo in cui vengono create le pagine di visualizzazione mediante l'inserimento di dipendenze.
-
-
- Fornisce un controllo accurato sul modo in cui vengono create le pagine di visualizzazione mediante l'inserimento di dipendenze.
- Pagina della visualizzazione creata.
- Contesto del controller.
- Tipo del controller.
-
-
- Invia contenuto JavaScript alla risposta.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui il risultato viene eseguito.
- Il parametro è null.
-
-
- Ottiene o imposta lo script.
- Script.
-
-
- Il provider di valori per il form JQuery è usato per gestire i dati con formattazione JQuery nei form di richiesta.
-
-
- Crea una nuova istanza di ValueProvider per il form JQuery
- Contesto usato da ValueProvider.
-
-
- Fornisce il ValueProvider necessario per la gestione dei dati del form JQuery.
-
-
- Crea una nuova istanza della factory che fornisce ValueProviders per il form JQuery.
-
-
- Restituisce il ValueProvider appropriato.
- Contesto che deve essere usato da ValueProvider.
-
-
- Specifica se sono consentite richieste GET HTTP dal client.
-
-
- Le richieste GET HTTP dal client sono consentite.
-
-
- Le richieste GET HTTP dal client non sono consentite.
-
-
- Rappresenta una classe usata per inviare contenuto in formato JSON alla risposta.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta la codifica del contenuto.
- Codifica del contenuto.
-
-
- Ottiene o imposta il tipo del contenuto.
- Tipo del contenuto.
-
-
- Ottiene o imposta i dati.
- Dati.
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui il risultato viene eseguito.
- Il parametro è null.
-
-
- Ottiene o imposta un valore che indica se sono consentite richieste HTTP GET dal client.
- Valore che indica se sono consentite richieste HTTP GET dal client.
-
-
- Ottiene o imposta la lunghezza massima dei dati.
- Lunghezza massima dei dati
-
-
- Ottiene o imposta il limite di ricorsione.
- Limite di ricorsione.
-
-
- Consente ai metodi di azione di inviare e ricevere testo in formato JSON e di eseguire l'associazione del modello del testo JSON ai parametri dei metodi di azione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto provider di valori JSON per il contesto del controller specificato.
- Oggetto provider di valori JSON per il contesto del controller specificato.
- Contesto del controller.
-
-
- Esegue il mapping di una richiesta del browser a un oggetto LINQ .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Associa il modello utilizzando il contesto del controller e il contesto di associazione specificati.
- Oggetto con dati associati.Se il modello non può essere associato, questo metodo restituisce null.Implementa.
- Contesto in cui opera il controllo.Le informazioni del contesto includono il controller, il contenuto HTTP, il contesto della richiesta e i dati della route.
- Contesto nel quale viene associato il modello.Il contesto include informazioni quali l'oggetto modello, il nome del modello, il tipo di modello, il filtro delle proprietà e il provider di valori.
-
-
- Fornisce un adattatore per l'attributo MaxLengthAttribute.
-
-
- Inizializza una nuova istanza della classe MaxLengthAttribute.
- Metadati del modello.
- Contesto del controller.
- Attributo MaxLength.
-
-
- Ottiene un elenco di regole di convalida del client per una verifica della lunghezza massima.
- Elenco di regole di convalida del client per la verifica.
-
-
- Fornisce un adattatore per l'attributo MinLengthAttribute.
-
-
- Inizializza una nuova istanza della classe MinLengthAttribute.
- Metadati del modello.
- Contesto del controller.
- Attributo della lunghezza minima.
-
-
- Ottiene un elenco di regole di convalida del client per la verifica della lunghezza minima.
- Elenco di regole di convalida del client per una verifica.
-
-
- Rappresenta un attributo utilizzato per associare un tipo di modello a un tipo di compilatore di modelli.
-
-
- Inizializza una nuova istanza della classe .
- Tipo del gestore di associazione.
- Il parametro è null.
-
-
- Ottiene o imposta il tipo del gestore di associazione.
- Tipo del gestore di associazione.
-
-
- Recupera un'istanza del gestore di associazione del modello.
- Riferimento a un oggetto che implementa l'interfaccia .
- Si è verificato un errore durante la creazione di un'istanza del gestore di associazione del modello.
-
-
- Rappresenta una classe che contiene tutti i gestori di associazione del modello per l'applicazione, elencati in base al tipo di gestore di associazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Aggiunge l'elemento specificato al dizionario del gestore di associazione del modello.
- Oggetto da aggiungere all'istanza di .
- L'oggetto è di sola lettura.
-
-
- Aggiunge l'elemento specificato al dizionario del gestore di associazione del modello utilizzando la chiave specificata.
- Chiave dell'elemento da aggiungere.
- Valore dell'elemento da aggiungere.
- L'oggetto è di sola lettura.
-
- è null.
- Un elemento con la stessa chiave esiste già nell'oggetto .
-
-
- Rimuove tutti gli elementi dal dizionario del gestore di associazione del modello.
- L'oggetto è di sola lettura.
-
-
- Determina se il dizionario del gestore di associazione del modello contiene un valore specificato.
- true se viene trovato nel dizionario dello strumento di associazione di modelli. In caso contrario, false.
- Oggetto da individuare nell'oggetto .
-
-
- Determina se il dizionario del gestore di associazione del modello contiene un elemento con la chiave specificata.
- true se il dizionario dello strumento di associazione di modelli contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave da individuare nell'oggetto .
-
- è null.
-
-
- Copia gli elementi del dizionario del gestore di associazione del modello in una matrice, iniziando da un indice specificato.
- Matrice unidimensionale che rappresenta la destinazione degli elementi copiati dall'oggetto .L'indicizzazione della matrice deve essere in base zero.
- Indice in base zero in in corrispondenza del quale ha inizio la copia.
-
- è null.
-
- è minore di 0.
-
- è multidimensionale.oppure è uguale a o maggiore della lunghezza di .oppure Il numero di elementi nell'oggetto di origine è maggiore dello spazio disponibile dall'oggetto alla fine della matrice di destinazione. oppure Non è possibile eseguire automaticamente il cast del tipo al tipo della matrice di destinazione.
-
-
- Ottiene il numero di elementi nel dizionario del gestore di associazione del modello.
- Numero di elementi nel dizionario del gestore di associazione del modello.
-
-
- Ottiene o imposta il gestore di associazione del modello predefinito.
- Gestore di associazione del modello predefinito.
-
-
- Recupera il gestore di associazione del modello per il tipo specificato.
- Strumento di associazione di modelli.
- Tipo del modello da recuperare.
- Il parametro è null.
-
-
- Recupera il gestore di associazione del modello per il tipo specificato oppure recupera il gestore di associazione del modello predefinito.
- Strumento di associazione di modelli.
- Tipo del modello da recuperare.
- true per recuperare lo strumento di associazione di modelli predefinito.
- Il parametro è null.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere la raccolta.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Ottiene un valore che indica se il dizionario del gestore di associazione del modello è di sola lettura.
- true se il dizionario dello strumento di associazione di modelli è di sola lettura. In caso contrario, false.
-
-
- Ottiene o imposta la chiave specificata in un oggetto che implementa l'interfaccia .
- Chiave dell'elemento specificato.
-
-
- Ottiene un insieme contenente le chiavi presenti nel dizionario del gestore di associazione del modello.
- Insieme contenente le chiavi presenti nel dizionario del gestore di associazione del modello.
-
-
- Rimuove la prima occorrenza dell'elemento specificato dal dizionario del gestore di associazione del modello.
- true se è stato rimosso dal dizionario dello strumento di associazione di modelli. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nel dizionario dello strumento di associazione di modelli.
- Oggetto che deve essere rimosso dall'oggetto .
- L'oggetto è di sola lettura.
-
-
- Rimuove l'elemento con la chiave specificata dal dizionario del gestore di associazione del modello.
- true se l'elemento è stato rimosso. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nel dizionario dello strumento di associazione di modelli.
- Chiave dell'elemento da rimuovere.
- L'oggetto è di sola lettura.
-
- è null.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere un insieme.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Ottiene il valore associato alla chiave specificata.
- true se l'oggetto che implementa contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave del valore da ottenere.
- Quando termina, questo metodo restituisce il valore associato alla chiave specificata nel caso in cui la chiave venga trovata; in caso contrario, restituisce il valore predefinito per il tipo del parametro .Questo parametro viene passato senza inizializzazione.
-
- è null.
-
-
- Ottiene un insieme contenente i valori presenti nel dizionario del gestore di associazione del modello.
- Insieme contenente i valori presenti nel dizionario del gestore di associazione del modello.
-
-
- Rappresenta la raccolta dello strumento di associazione di modelli.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe usando un elenco di provider del gestore di associazione del modello.
- Elenco di provider del gestore di associazione del modello.
-
-
- Rimuove tutti gli elementi dalla raccolta.
-
-
- Restituisce un gestore di associazione del modello del tipo specificato.
- Gestore di associazione del modello del tipo specificato.
- Tipo dello strumento di associazione di modelli.
-
-
- Inserisce un provider dello strumento di associazione dei modelli in ModelBinderProviderCollection in corrispondenza dell'indice specificato.
- Indice.
- Provider dello strumento di associazione di modelli.
-
-
- Rimuove l'elemento all'indice della raccolta specificato.
- Indice in base zero dell'elemento da rimuovere.
-
-
- Sostituisce l'elemento provider del gestore di associazione del modello in corrispondenza dell'indice specificato.
- Indice.
- Provider dello strumento di associazione di modelli.
-
-
- Fornisce un contenitore per i provider del gestore di associazione del modello.
-
-
- Fornisce un punto di registrazione per i provider del gestore di associazione del modello per le applicazioni che non utilizzano l'inserimento di dipendenze.
- Insieme di provider del gestore di associazione del modello.
-
-
- Fornisce accesso globale ai gestori di associazione del modello per l'applicazione.
-
-
- Ottiene i gestori di associazione del modello per l'applicazione.
- Gestori di associazione del modello per l'applicazione.
-
-
- Fornisce il contesto nel quale funziona uno strumento di associazione di modelli.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizia una nuova istanza della classe utilizzando il contesto di associazione.
- Contesto di associazione.
-
-
- Ottiene o imposta un valore che indica se lo strumento di associazione deve utilizzare un prefisso vuoto.
- true se lo strumento di associazione deve utilizzare un prefisso vuoto. In caso contrario, false.
-
-
- Ottiene o imposta il modello.
- Modello.
-
-
- Ottiene o imposta i metadati del modello.
- Metadati del modello.
-
-
- Ottiene o imposta il nome del modello.
- Nome del modello.
-
-
- Ottiene o imposta lo stato del modello.
- Stato del modello.
-
-
- Ottiene o imposta il tipo del modello.
- Tipo del modello.
-
-
- Ottiene o imposta il filtro delle proprietà.
- Filtro delle proprietà.
-
-
- Ottiene i metadati della proprietà.
- Metadati della proprietà.
-
-
- Ottiene o imposta il provider di valori.
- Provider di valori.
-
-
- Rappresenta un errore che si verifica durante l'associazione del modello.
-
-
- Inizializza una nuova istanza della classe utilizzando l'eccezione specificata.
- Eccezione.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe utilizzando l'eccezione e il messaggio di errore specificati.
- Eccezione.
- Messaggio di errore.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe utilizzando il messaggio di errore specificato.
- Messaggio di errore.
-
-
- Ottiene o imposta il messaggio di errore.
- Messaggio di errore.
-
-
- Ottiene o imposta l'oggetto eccezione.
- Oggetto eccezione.
-
-
- Raccolta di istanze di .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Aggiunge l'oggetto specificato all'insieme di errori del modello.
- Eccezione.
-
-
- Aggiunge il messaggio di errore specificato alla raccolta di errori del modello.
- Messaggio di errore.
-
-
- Fornisce un contenitore per metadati comuni, per la classe e per la classe di un modello dati.
-
-
- Inizializza una nuova istanza della classe .
- Provider.
- Tipo del contenitore.
- Funzione di accesso del modello.
- Tipo del modello.
- Nome del modello.
-
-
- Ottiene un dizionario che contiene metadati aggiuntivi sul modello.
- Dizionario che contiene metadati aggiuntivi sul modello.
-
-
- Riferimento all'oggetto contenitore del modello.Sarà non null se il modello rappresenta una proprietà.
-
-
- Ottiene o imposta il tipo di contenitore per il modello.
- Tipo del contenitore per il modello.
-
-
- Ottiene o imposta un valore che indica se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in null.
- true se le stringhe vuote di cui viene eseguito il postback nei form devono essere convertite in null. In caso contrario, false.Il valore predefinito è true.
-
-
- Ottiene o imposta metainformazioni sul tipo di dati.
- Metainformazioni sul tipo di dati.
-
-
- Valore dell'ordine predefinito, vale a dire 10000.
-
-
- Ottiene o imposta la descrizione del modello.
- Descrizione del modello.Il valore predefinito è null.
-
-
- Ottiene o imposta la stringa del formato di visualizzazione per il modello.
- Stringa del formato di visualizzazione per il modello.
-
-
- Ottiene o imposta il nome visualizzato del modello.
- Nome visualizzato del modello.
-
-
- Ottiene o imposta la stringa del formato di modifica del modello.
- Stringa del formato di modifica del modello.
-
-
- Restituisce i metadati dal parametro per il modello.
- Metadati.
- Espressione che identifica il modello.
- Dizionario dei dati della visualizzazione.
- Tipo del parametro.
- Tipo del valore.
-
-
- Ottiene i metadati dal parametro dell'espressione per il modello.
- Metadati per il modello.
- Espressione che identifica il modello.
- Dizionario dei dati della visualizzazione.
-
-
- Ottiene il nome visualizzato per il modello.
- Nome visualizzato per il modello.
-
-
- Restituisce la descrizione semplice del modello.
- Descrizione semplice del modello.
-
-
- Ottiene un elenco di validator per il modello.
- Elenco di validator per il modello.
- Contesto del controller.
-
-
- Ottiene o imposta un valore che indica se deve essere eseguito il rendering dell'oggetto modello usando gli elementi HTML associati.
- true se gli elementi HTML associati che contengono l'oggetto modello devono essere inclusi con l'oggetto. In caso contrario, false.
-
-
-
- Ottiene o imposta un valore che indica se il modello è un tipo complesso.
- Valore che indica se il modello viene considerato un tipo complesso dal framework MVC.
-
-
- Ottiene un valore che indica se il tipo è nullable.
- true se il tipo è nullable. In caso contrario, false.
-
-
- Ottiene o imposta un valore che indica se il modello è di sola lettura.
- true se il modello è di sola lettura. In caso contrario, false.
-
-
- Ottiene o imposta un valore che indica se il modello è obbligatorio.
- true se il modello è obbligatorio. In caso contrario, false.
-
-
- Ottiene il valore del modello.
- Valore del modello.Per ulteriori informazioni su , vedere l'intervento ASP.NET MVC 2 Templates, Part 2: ModelMetadata sul blog di Brad Wilson.
-
-
- Ottiene il tipo del modello.
- Tipo del modello.
-
-
- Ottiene o imposta la stringa da visualizzare per i valori Null.
- Stringa da visualizzare per i valori Null.
-
-
- Ottiene o imposta un valore che rappresenta l'ordine dei metadati correnti.
- Valore dell'ordine dei metadati correnti.
-
-
- Ottiene una raccolta di oggetti metadati del modello che descrivono le proprietà del modello.
- Raccolta di oggetti metadati del modello che descrivono le proprietà del modello.
-
-
- Ottiene il nome della proprietà.
- Nome della proprietà.
-
-
- Ottiene o imposta il provider.
- Provider.
-
-
- Ottiene o imposta un valore che indica se la convalida della richiesta è abilitata.
- true se la convalida della richiesta è abilitata. In caso contrario, false.
-
-
- Ottiene o imposta un nome di visualizzazione breve.
- Nome di visualizzazione breve.
-
-
- Ottiene o imposta un valore che indica se la proprietà deve essere visibile nelle visualizzazioni di sola lettura, ad esempio le visualizzazioni elenco e dettagli.
- true se il modello deve essere visibile nelle visualizzazioni di sola lettura. In caso contrario, false.
-
-
- Ottiene o imposta un valore che indica se il modello deve essere visualizzato in modalità di modifica.
- true se il modello deve essere visualizzato in modalità di modifica. In caso contrario, false.
-
-
- Ottiene o imposta la stringa di visualizzazione semplice per il modello.
- Stringa di visualizzazione semplice per il modello.
-
-
- Ottiene o imposta un suggerimento che indica quale modello usare per questo modello.
- Suggerimento che indica quale modello usare per questo modello.
-
-
- Ottiene o imposta un valore che può essere usato come una filigrana.
- Filigrana.
-
-
- Fornisce una classe di base astratta per un provider di metadati personalizzato.
-
-
- Quando sottoposto a override in una classe derivata, inizializza una nuova istanza dell'oggetto che deriva dalla classe .
-
-
- Ottiene un oggetto per ogni proprietà di un modello.
- Oggetto per ogni proprietà di un modello.
- Contenitore.
- Tipo del contenitore.
-
-
- Ottiene i metadati per la proprietà specificata.
- Oggetto per la proprietà.
- Funzione di accesso del modello.
- Tipo del contenitore.
- Proprietà per cui ottenere il modello di metadati.
-
-
- Ottiene i metadati per la funzione di accesso del modello e il tipo di modello specificati.
- Oggetto per la funzione di accesso del modello specificata e il tipo di modello.
- Funzione di accesso del modello.
- Tipo del modello.
-
-
- Fornisce un contenitore per l'istanza di corrente.
-
-
- Ottiene o imposta l'oggetto corrente.
- Oggetto corrente.
-
-
- Incapsula lo stato di associazione del modello a una proprietà di un argomento del metodo di azione o all'argomento stesso.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto che contiene gli errori che si sono verificati durante l'associazione del modello.
- Errori.
-
-
- Restituisce un oggetto che incapsula il valore associato durante l'associazione del modello.
- Valore.
-
-
- Rappresenta lo stato di un tentativo di associazione di un form pubblicato a un metodo di azione che include informazioni di convalida.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando i valori copiati dal dizionario di stato del modello specificato.
- Dizionario di stato del modello.
- Il parametro è null.
-
-
- Aggiunge l'elemento specificato al dizionario di stato del modello.
- Oggetto da aggiungere al dizionario di stato del modello.
- Il dizionario di stato del modello è di sola lettura.
-
-
- Aggiunge un elemento con la chiave e il valore specificati al dizionario di stato del modello.
- Chiave dell'elemento da aggiungere.
- Valore dell'elemento da aggiungere.
- Il dizionario di stato del modello è di sola lettura.
-
- è null.
- Un elemento con la chiave specificata è già presente nel dizionario di stato del modello.
-
-
- Aggiunge l'errore del modello specificato alla raccolta di errori per il dizionario di stato del modello associato alla chiave specificata.
- Chiave.
- Eccezione.
-
-
- Aggiunge il messaggio di errore specificato alla raccolta di errori per il dizionario di stato del modello associato alla chiave specificata.
- Chiave.
- Messaggio di errore.
-
-
- Rimuove tutti gli elementi dal dizionario di stato del modello.
- Il dizionario di stato del modello è di sola lettura.
-
-
- Determina se il dizionario di stato del modello contiene un valore specifico.
- true se viene trovato nel dizionario di stato del modello. In caso contrario, false.
- Oggetto da individuare nel dizionario di stato del modello.
-
-
- Determina se il dizionario di stato del modello contiene la chiave specificata.
- true se il dizionario di stato del modello contiene la chiave specificata. In caso contrario, false.
- Chiave da individuare nel dizionario di stato del modello.
-
-
- Copia gli elementi del dizionario di stato del modello in una matrice, iniziando da un indice specificato.
- Matrice unidimensionale che costituisce la destinazione degli elementi copiati dall'oggetto .L'indicizzazione della matrice deve essere in base zero.
- Indice in base zero in in corrispondenza del quale ha inizio la copia.
-
- è null.
-
- è minore di 0.
-
- è multidimensionale.oppure è uguale a o maggiore della lunghezza di .oppure Il numero di elementi nell'insieme di origine è maggiore dello spazio disponibile da alla fine dell'oggetto di destinazione.oppure Non è possibile eseguire automaticamente il cast del tipo al tipo dell'oggetto di destinazione.
-
-
- Ottiene il numero di coppie chiave/valore nella raccolta.
- Numero di coppie chiave/valore nella raccolta.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere la raccolta.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Ottiene un valore che indica se la raccolta è di sola lettura.
- true se la raccolta è di sola lettura. In caso contrario, false.
-
-
- Ottiene un valore che indica se l'istanza del dizionario di stato del modello è valida.
- true se l'istanza è valida. In caso contrario, false.
-
-
- Determina se sono presenti oggetti associati alla chiave specificata o con tale chiave come prefisso.
- true se il dizionario di stato del modello contiene un valore associato alla chiave specificata. In caso contrario, false.
- Chiave.
- Il parametro è null.
-
-
- Ottiene o imposta il valore associato alla chiave specificata.
- Elemento di stato del modello.
-
-
- Ottiene una raccolta contenente le chiavi presenti nel dizionario.
- Raccolta contenente le chiavi del dizionario di stato del modello.
-
-
- Copia i valori dall'oggetto specificato nel dizionario, sovrascrivendo i valori esistenti, se le chiavi corrispondono.
- Dizionario.
-
-
- Rimuove la prima occorrenza dell'oggetto specificato dal dizionario di stato del modello.
- true se è stato rimosso dal dizionario di stato del modello. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nel dizionario di stato del modello.
- Oggetto da rimuovere dal dizionario di stato del modello.
- Il dizionario di stato del modello è di sola lettura.
-
-
- Rimuove l'elemento con la chiave specificata dal dizionario di stato del modello.
- true se l'elemento è stato rimosso. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nel dizionario di stato del modello.
- Chiave dell'elemento da rimuovere.
- Il dizionario di stato del modello è di sola lettura.
-
- è null.
-
-
- Imposta il valore per la chiave specificata utilizzando il dizionario di provider di valori specificato.
- Chiave.
- Valore.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere la raccolta.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Tenta di ottenere il valore associato alla chiave specificata.
- true se l'oggetto che implementa contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave del valore da ottenere.
- Quando termina, questo metodo restituisce il valore associato alla chiave specificata nel caso in cui la chiave venga trovata; in caso contrario, restituisce il valore predefinito per il tipo del parametro .Questo parametro viene passato senza inizializzazione.
-
- è null.
-
-
- Ottiene una raccolta contenente i valori presenti nel dizionario.
- Raccolta contenente i valori del dizionario di stato del modello.
-
-
- Fornisce un contenitore per un risultato di convalida.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il nome del membro.
- Nome del membro.
-
-
- Ottiene o imposta il messaggio del risultato di convalida.
- Messaggio del risultato di convalida.
-
-
- Fornisce una classe di base per l'implementazione della logica di convalida.
-
-
- Chiamato dai costruttori nelle classi derivate per inizializzare la classe .
- Metadati.
- Contesto del controller.
-
-
- Ottiene il contesto del controller.
- Contesto del controller.
-
-
- Se implementato in una classe derivata, restituisce i metadati per la convalida del client.
- Metadati per la convalida del client.
-
-
- Restituisce un validator del modello composito per il modello.
- Validator del modello composito per il modello.
- Metadati.
- Contesto del controller.
-
-
- Ottiene o imposta un valore che indica se una proprietà del modello è obbligatoria.
- true se la proprietà del modello è obbligatoria. In caso contrario, false.
-
-
- Ottiene i metadati per il validator del modello.
- Metadati per il validator del modello.
-
-
- Se implementato in una classe derivata, convalida l'oggetto.
- Elenco dei risultati di convalida.
- Contenitore.
-
-
- Fornisce un elenco di validator per un modello.
-
-
- Quando viene implementato in una classe derivata, inizializza una nuova istanza della classe .
-
-
- Ottiene un elenco di validator.
- Elenco di validator.
- Metadati.
- Contesto.
-
-
- Rappresenta la raccolta del provider del validator del modello.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe usando un elenco di provider di convalida del modello.
- Elenco di provider di convalida del modello.
-
-
- Rimuove tutti gli elementi dalla raccolta.
-
-
- Restituisce l'elenco di validator per il modello.
- Elenco di validator per il modello.
- Metadati del modello.
- Contesto del controller.
-
-
- Inserisce un provider di validator del modello nell'insieme.
- Indice in base zero in corrispondenza del quale deve essere inserito l'elemento.
- Oggetto provider del validator del modello da inserire.
-
-
- Rimuove l'elemento all'indice della raccolta specificato.
- Indice in base zero dell'elemento da rimuovere.
-
-
- Sostituisce l'elemento provider del validator del modello nella posizione di indice specificata.
- Indice in base zero dell'elemento provider del validator del modello da sostituire.
- Il nuovo valore per l'elemento del provider del validator del modello.
-
-
- Fornisce un contenitore per il provider di convalida corrente.
-
-
- Ottiene l'insieme di provider del validator del modello.
- Insieme di provider del validator del modello.
-
-
- Rappresenta un elenco di elementi in cui gli utenti possono selezionare più elementi.
-
-
- Inizializza una nuova istanza della classe usando gli elementi specificati da includere nell'elenco.
- Elementi.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe usando gli elementi specificati da includere nell'elenco e i valori selezionati.
- Elementi.
- Valori selezionati.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe MultiSelectList usando gli elementi da includere nell'elenco, i valori selezionati e i valori disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Campo dei valori selezionati.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe usando gli elementi da includere nell'elenco, il campo del valore dei dati e il campo del testo dei dati.
- Elementi.
- Campo del valore dei dati.
- Campo del testo dei dati.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe usando gli elementi da includere nell'elenco, il campo del valore dei dati, il campo del testo dei dati e i valori selezionati.
- Elementi.
- Campo del valore dei dati.
- Campo del testo dei dati.
- Valori selezionati.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe MultiSelectList usando gli elementi da includere nell'elenco, il campo del valore dei dati, il campo del testo dei dati, i valori selezionati e i valori disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo dei valori selezionati.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe MultiSelectList usando gli elementi da includere nell'elenco, il campo del valore dei dati, il campo del testo dei dati e il campo del gruppo dei dati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo del gruppo dei dati.Usato per stabilire una corrispondenza con la proprietà Group dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe MultiSelectList usando gli elementi da includere nell'elenco, il campo del valore dei dati, il campo del testo dei dati, il campo del gruppo dei dati e i valori selezionati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo del gruppo dei dati.Usato per stabilire una corrispondenza con la proprietà Group dell'elemento corrispondente.
- Campo dei valori selezionati.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe MultiSelectList usando gli elementi da includere nell'elenco, il campo del valore dei dati, il campo del testo dei dati, il campo del gruppo dei dati, i valori selezionati e i valori disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo del gruppo dei dati.Usato per stabilire una corrispondenza con la proprietà Group dell'elemento corrispondente.
- Campo dei valori selezionati.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe MultiSelectList usando gli elementi da includere nell'elenco, il campo del valore dei dati, il campo del testo dei dati, il campo del gruppo dei dati, i valori selezionati, i valori disabilitati e i gruppi disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo del gruppo dei dati.Usato per stabilire una corrispondenza con la proprietà Group dell'elemento corrispondente.
- Campo dei valori selezionati.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
- Gruppi disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Ottiene il campo del gruppo dei dati.
-
-
- Ottiene o imposta il campo del testo dei dati.
- Campo del testo dei dati.
-
-
- Ottiene o imposta il campo del valore dei dati.
- Campo del valore dei dati.
-
-
- Ottiene i gruppi disabilitati.
-
-
- Ottiene i valori disabilitati.
-
-
- Restituisce un enumeratore che può essere usato per scorrere la raccolta.
- Enumeratore che può essere usato per scorrere la raccolta.
-
-
- Ottiene o imposta gli elementi dell'elenco.
- Elementi dell'elenco.
-
-
- Ottiene o imposta i valori selezionati.
- Valori selezionati.
-
-
- Restituisce un enumeratore che può essere usato per scorrere un insieme.
- Enumeratore che può essere usato per scorrere la raccolta.
-
-
- Se implementato in una classe derivata, fornisce una classe di metadati che contiene un riferimento all'implementazione di una o più delle interfacce del filtro, all'ordine e all'ambito del filtro.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe e specifica l'ordine dei filtri e il valore che indica se sono consentiti più filtri.
- true per specificare che sono consentiti più filtri dello stesso tipo. In caso contrario, false.
- Ordine del filtro.
-
-
- Ottiene un valore che indica se è possibile specificare più istanze dell'attributo di filtro.
- true se sono consentite più istanze dell'attributo di filtro. In caso contrario, false.Implementa.
-
-
- Ottiene un valore che indica l'ordine in cui viene applicato un filtro.
- Valore che indica l'ordine in cui viene applicato un filtro.Implementa.
-
-
- Seleziona il controller che gestirà una richiesta HTTP.
-
-
- Inizializza una nuova istanza della classe .
- Contesto della richiesta.
- Il parametro è null.
-
-
- Aggiunge l'intestazione della versione utilizzando il contesto HTTP specificato.
- Contesto HTTP.
-
-
- Chiamato da ASP.NET per iniziare l'elaborazione della richiesta asincrona.
- Stato della chiamata asincrona.
- Contesto HTTP.
- Metodo di callback asincrono.
- Stato dell'oggetto asincrono.
-
-
- Chiamato da ASP.NET per iniziare l'elaborazione della richiesta asincrona utilizzando il contesto HTTP di base.
- Stato della chiamata asincrona.
- Contesto HTTP.
- Metodo di callback asincrono.
- Stato dell'oggetto asincrono.
-
-
- Ottiene o imposta un valore che indica se l'intestazione della risposta MVC è disabilitata.
- true se l'intestazione della risposta MVC è disabilitata. In caso contrario, false.
-
-
- Chiamato da ASP.NET al termine dell'elaborazione della richiesta asincrona.
- Risultato asincrono.
-
-
- Ottiene un valore che indica se l'istanza di può essere utilizzata da un'altra richiesta.
- true se l'istanza di è riutilizzabile. In caso contrario, false.
-
-
- Contiene il nome dell'intestazione della versione ASP.NET MVC.
-
-
- Elabora la richiesta utilizzando il contesto della richiesta HTTP specificato.
- Contesto HTTP.
-
-
- Elabora la richiesta utilizzando il contesto della richiesta HTTP di base specificato.
- Contesto HTTP.
-
-
- Ottiene il contesto della richiesta.
- Contesto della richiesta.
-
-
- Chiamato da ASP.NET per iniziare l'elaborazione della richiesta asincrona utilizzando il contesto HTTP di base.
- Stato della chiamata asincrona.
- Contesto HTTP.
- Metodo di callback asincrono.
- Dati.
-
-
- Chiamato da ASP.NET al termine dell'elaborazione della richiesta asincrona.
- Risultato asincrono.
-
-
- Ottiene un valore che indica se l'istanza di può essere utilizzata da un'altra richiesta.
- true se l'istanza di è riutilizzabile. In caso contrario, false.
-
-
- Consente di attivare l'elaborazione delle richieste Web HTTP da parte di un gestore HTTP personalizzato che implementa l'interfaccia .
- Oggetto che fornisce riferimenti agli oggetti intrinseci del server, ad esempio Request, Response, Session e Server, utilizzati per gestire le richieste HTTP.
-
-
- Rappresenta una stringa codificata in formato HTML che non deve essere codificata nuovamente.
-
-
- Inizializza una nuova istanza della classe .
- Stringa da creare.Se non viene assegnato alcun valore, l'oggetto viene creato utilizzando un valore stringa vuoto.
-
-
- Crea una stringa codificata in formato HTML mediante il valore di testo specificato.
- Stringa codificata in formato HTML.
- Valore della stringa da creare.
-
-
- Contiene una stringa HTML vuota.
-
-
- Determina se la stringa specificata include contenuto oppure è null o vuota.
- true se la stringa è null o vuota. In caso contrario, false.
- Stringa.
-
-
- Verifica ed elabora una richiesta HTTP.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Chiamato da ASP.NET per iniziare l'elaborazione della richiesta asincrona.
- Stato della chiamata asincrona.
- Contesto HTTP.
- Metodo di callback asincrono.
- Stato.
-
-
- Chiamato da ASP.NET per iniziare l'elaborazione della richiesta asincrona.
- Stato della chiamata asincrona.
- Contesto HTTP di base.
- Metodo di callback asincrono.
- Stato.
-
-
- Chiamato da ASP.NET al termine dell'elaborazione della richiesta asincrona.
- Risultato asincrono.
-
-
- Chiamato da ASP.NET per iniziare l'elaborazione della richiesta asincrona.
- Stato della chiamata asincrona.
- Contesto.
- Metodo di callback asincrono.
- Oggetto contenente dati.
-
-
- Chiamato da ASP.NET al termine dell'elaborazione della richiesta asincrona.
- Stato delle operazioni asincrone.
-
-
- Verifica ed elabora una richiesta HTTP.
- Gestore HTTP.
- Contesto HTTP.
-
-
- Crea un oggetto che implementa l'interfaccia IHttpHandler e vi passa il contesto della richiesta.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'oggetto controller della factory specificato.
- Controller factory.
-
-
- Restituisce il gestore HTTP utilizzando il contesto HTTP specificato.
- Gestore HTTP.
- Contesto della richiesta.
-
-
- Restituisce il comportamento di sessione.
- Comportamento di sessione.
- Contesto della richiesta.
-
-
- Restituisce il gestore HTTP utilizzando il contesto della richiesta specificato.
- Gestore HTTP.
- Contesto della richiesta.
-
-
- Crea istanze di file di .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Crea un host Razor.
- Host Razor.
- Percorso virtuale del file di destinazione.
- Percorso fisico del file di destinazione.
-
-
- Estende un oggetto NameValueCollection in modo che la raccolta possa essere copiata in un dizionario specificato.
-
-
- Copia l'insieme specificato nella destinazione specificata.
- Insieme.
- Destinazione.
-
-
- Copia l'insieme specificato nella destinazione specificata e, facoltativamente, sostituisce le voci precedenti.
- Insieme.
- Destinazione.
- true per sostituire le voci precedenti. In caso contrario, false.
-
-
- Rappresenta la classe base per provider di valori i cui valori provengono da un oggetto .
-
-
- Inizializza una nuova istanza della classe usando l'insieme non convalidato specificato.
- Raccolta contenente i valori usati per inizializzare il provider.
- Raccolta contenente i valori usati per inizializzare il provider.Questo insieme non verrà convalidato.
- Oggetto contenente informazioni sulle impostazioni cultura di destinazione.
-
-
- Inizializza il provider dell'insieme di valori del nome.
- Raccolta di valori di chiave dalla richiesta.
- Raccolta di valori di chiave non convalidata dalla richiesta.
- Impostazioni cultura con cui devono essere usati i valori.
- POST jQuery durante l'invio di oggetti Javascript complessi al server non esegue la codifica in modo comprensibile da MVC.Il flag deve essere impostato se la richiesta deve essere normalizzata nel form MVC - https://aspnetwebstack.codeplex.com/workitem/1564.
-
-
- Inizializza una nuova istanza della classe .
- Raccolta contenente i valori usati per inizializzare il provider.
- Oggetto contenente informazioni sulle impostazioni cultura di destinazione.
- Il parametro è null.
-
-
- Determina se la raccolta contiene il prefisso specificato.
- true se la raccolta contiene il prefisso specificato. In caso contrario, false.
- Prefisso da ricercare.
- Il parametro è null.
-
-
- Ottiene le chiavi usando il prefisso specificato.
- Chiavi.
- Prefisso.
-
-
- Restituisce un oggetto valore tramite la chiave specificata.
- Oggetto valore per la chiave specificata.
- Chiave dell'oggetto valore da recuperare.
- Il parametro è null.
-
-
- Restituisce un oggetto valore usando la chiave e la direttiva di convalida specificate.
- Oggetto valore per la chiave specificata.
- Chiave.
- true se la convalida deve essere ignorata. In caso contrario, false.
-
-
- Fornisce un wrapper utile per l'attributo .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Rappresenta un attributo utilizzato per indicare che un metodo del controller non è un metodo di azione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se l'attributo contrassegna un metodo che non è un metodo di azione utilizzando il contesto del controller specificato.
- true se l'attributo contrassegna un metodo non di azione valido. In caso contrario, false.
- Contesto del controller.
- Informazioni sul metodo.
-
-
- Rappresenta un attributo utilizzato per contrassegnare un metodo di azione il cui output verrà memorizzato nella cache.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il nome del profilo della cache.
- Nome del profilo della cache.
-
-
- Ottiene o imposta la cache dell'azione figlio.
- Cache dell'azione figlio.
-
-
- Ottiene o imposta la durata della cache in secondi.
- Durata della cache.
-
-
- Restituisce un valore che indica se è attiva una cache dell'azione figlio.
- true se la cache dell'azione figlio è attiva. In caso contrario, false.
- Contesto del controller.
-
-
- Ottiene o imposta il percorso.
- Il percorso.
-
-
- Ottiene o imposta un valore che indica se archiviare la cache.
- true se la cache deve essere archiviata. In caso contrario, false.
-
-
- Questo metodo è un'implementazione di e supporta l'infrastruttura ASP.NET MVC.Non deve essere utilizzato direttamente dal codice.
- Contesto del filtro.
-
-
- Questo metodo è un'implementazione di e supporta l'infrastruttura ASP.NET MVC.Non deve essere utilizzato direttamente dal codice.
- Contesto del filtro.
-
-
- Questo metodo è un'implementazione di e supporta l'infrastruttura ASP.NET MVC.Non deve essere utilizzato direttamente dal codice.
- Contesto del filtro.
-
-
- Questo metodo è un'implementazione di e supporta l'infrastruttura ASP.NET MVC.Non deve essere utilizzato direttamente dal codice.
- Contesto del filtro.
-
-
- Chiamato prima dell'esecuzione del risultato dell'azione.
- Contesto del filtro che incapsula informazioni per l'utilizzo di .
- Il parametro è null.
-
-
- Ottiene o imposta la dipendenza SQL.
- Dipendenza SQL.
-
-
- Ottiene o imposta la codifica variabile in base al contenuto.
- Codifica variabile in base al contenuto.
-
-
- Ottiene o imposta il valore variabile in base alla personalizzazione.
- Valore variabile in base alla personalizzazione.
-
-
- Ottiene o imposta il valore variabile in base all'intestazione.
- Valore variabile in base all'intestazione.
-
-
- Ottiene o imposta il valore variabile in base al parametro.
- Valore variabile in base al parametro.
-
-
- Rappresenta gli attributi associati al filtro di override.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i filtri per eseguire l'override per questa istanza.
- Filtri per eseguire l'override per questa istanza.
-
-
- Rappresenta gli attributi associati all'autenticazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i filtri per eseguire l'override per questa istanza.
- Filtri per eseguire l'override per questa istanza.
-
-
- Rappresenta gli attributi associati all'autorizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i filtri per eseguire l'override per questa istanza.
- Filtri per eseguire l'override per questa istanza.
-
-
- Rappresenta gli attributi associati al filtro dell'eccezione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i filtri per eseguire l'override per questa istanza.
- Filtri per eseguire l'override per questa istanza.
-
-
- Rappresenta gli attributi associati al filtro del risultato.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene i filtri per eseguire l'override per questa istanza.
- Filtri per eseguire l'override per questa istanza.
-
-
- Incapsula le informazioni per l'associazione dei parametri del metodo di azione a un modello di dati.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il gestore di associazione del modello.
- Strumento di associazione di modelli.
-
-
- Ottiene un elenco di valori delimitati da virgole di nomi di proprietà per i quali l'associazione è disabilitata.
- Elenco di esclusione.
-
-
- Ottiene un elenco di valori delimitati da virgole di nomi di proprietà per i quali l'associazione è abilitata.
- Elenco di inclusione.
-
-
- Ottiene il prefisso da utilizzare quando il framework MVC associa un valore a un parametro di azione o a una proprietà del modello.
- Prefisso.
-
-
- Contiene informazioni che descrivono un parametro.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il descrittore dell'azione.
- Descrittore dell'azione.
-
-
- Ottiene le informazioni di associazione.
- Informazioni di associazione.
-
-
- Ottiene il valore predefinito del parametro.
- Valore predefinito del parametro.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, identificati dal tipo.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
- Il parametro è null.
-
-
- Indica se per questo membro sono definite una o più istanze di un tipo di attributo personalizzato.
- true se per questo membro è definito il tipo di attributo personalizzato. In caso contrario, false.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il parametro è null.
-
-
- Ottiene il nome del parametro.
- Nome del parametro.
-
-
- Ottiene il tipo del parametro.
- Tipo del parametro.
-
-
- Rappresenta una classe di base utilizzata per inviare una visualizzazione parziale alla risposta.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce l'oggetto utilizzato per eseguire il rendering della visualizzazione.
- Risultato del motore di visualizzazione.
- Contesto del controller.
- Si è verificato un errore durante il tentativo di ricerca della visualizzazione da parte del metodo.
-
-
- Fornisce un punto di registrazione per il codice di preavvio dell'applicazione ASP.NET Razor.
-
-
- Registra il codice di preavvio dell'applicazione Razor.
-
-
- Rappresenta un provider di valori per stringhe di query contenute in un oggetto .
-
-
- Inizializza una nuova istanza della classe .
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
-
-
- Rappresenta una classe responsabile della creazione di una nuova istanza di un oggetto provider di valori per stringhe di query.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto provider di valori per il contesto del controller specificato.
- Oggetto provider di valori per stringhe di query.
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
- Il parametro è null.
-
-
- Fornisce un adattatore per l'attributo .
-
-
- Inizializza una nuova istanza della classe .
- Metadati del modello.
- Contesto del controller.
- Attributo range.
-
-
- Ottiene un elenco di regole di convalida del client per la verifica di un intervallo.
- Elenco di regole di convalida del client per la verifica di un intervallo.
-
-
- Rappresenta la classe utilizzata per creare le visualizzazioni con sintassi Razor.
-
-
- Inizializza una nuova istanza della classe .
- Contesto del controller.
- Percorso della visualizzazione.
- Layout o pagina master.
- Valore che indica se i file di avvio della visualizzazione devono essere eseguiti prima della visualizzazione.
- Set di estensioni che verranno utilizzate per cercare i file di avvio della visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando l'attivatore della pagina di visualizzazione.
- Contesto del controller.
- Percorso della visualizzazione.
- Layout o pagina master.
- Valore che indica se i file di avvio della visualizzazione devono essere eseguiti prima della visualizzazione.
- Set di estensioni che verranno utilizzate per cercare i file di avvio della visualizzazione.
- Attivatore della pagina di visualizzazione.
-
-
- Ottiene il layout o la pagina master.
- Layout o pagina master.
-
-
- Esegue il rendering del contesto di visualizzazione specificato utilizzando il writer e l'istanza di specificati.
- Contesto di visualizzazione.
- Writer utilizzato per il rendering della visualizzazione nella risposta.
- Istanza di .
-
-
- Ottiene un valore che indica se i file di avvio della visualizzazione devono essere eseguiti prima della visualizzazione.
- Valore che indica se i file di avvio della visualizzazione devono essere eseguiti prima della visualizzazione.
-
-
- Ottiene o imposta il set di estensioni di file che verranno utilizzate per cercare i file di avvio della visualizzazione.
- Set di estensioni di file che verranno utilizzate per cercare i file di avvio della visualizzazione.
-
-
- Rappresenta un motore di visualizzazione utilizzato per eseguire il rendering di una pagina Web che utilizza la sintassi ASP.NET Razor.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'attivatore della pagina di visualizzazione.
- Attivatore della pagina di visualizzazione.
-
-
- Crea una visualizzazione parziale utilizzando il contesto del controller e il percorso parziale specificati.
- Visualizzazione parziale.
- Contesto del controller.
- Percorso della visualizzazione parziale.
-
-
- Crea una visualizzazione utilizzando il contesto del controller specificato e i percorsi della visualizzazione e della visualizzazione Master.
- Visualizzazione.
- Contesto del controller.
- Percorso della visualizzazione.
- Percorso della visualizzazione Master.
-
-
- Controlla l'elaborazione delle azioni dell'applicazione eseguendo il reindirizzamento a un URI specificato.
-
-
- Inizializza una nuova istanza della classe .
- URL di destinazione.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe utilizzando l'URL e il flag di reindirizzamento permanente specificati.
- URL.
- Valore che indica se l'indirizzamento deve essere permanente.
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui il risultato viene eseguito.
- Il parametro è null.
-
-
- Ottiene un valore che indica se il reindirizzamento deve essere permanente.
- true se il reindirizzamento deve essere permanente. In caso contrario, false.
-
-
- Ottiene o imposta l'URL di destinazione.
- URL di destinazione.
-
-
- Rappresenta un risultato che esegue un reindirizzamento utilizzando il dizionario di valori della route specificato.
-
-
- Inizializza una nuova istanza della classe utilizzando il nome e i valori della route specificati.
- Nome della route.
- Valori della route.
-
-
- Inizializza una nuova istanza della classe utilizzando il nome della route, i valori della route e il flag di reindirizzamento permanente specificati.
- Nome della route.
- Valori della route.
- Valore che indica se l'indirizzamento deve essere permanente.
-
-
- Inizializza una nuova istanza della classe utilizzando i valori della route specificati.
- Valori della route.
-
-
- Abilita l'elaborazione del risultato di un metodo di azione da parte di un tipo personalizzato che eredita dalla classe .
- Contesto in cui il risultato viene eseguito.
- Il parametro è null.
-
-
- Ottiene un valore che indica se il reindirizzamento deve essere permanente.
- true se il reindirizzamento deve essere permanente. In caso contrario, false.
-
-
- Ottiene o imposta il nome della route.
- Nome della route.
-
-
- Ottiene o imposta i valori della route.
- Valori della route.
-
-
- Contiene informazioni che descrivono un metodo di azione riflesso.
-
-
- Inizializza una nuova istanza della classe .
- Informazioni sul metodo di azione.
- Nome dell'azione.
- Descrittore del controller.
- Il parametro o è null.
- Il parametro è null o vuoto.
-
-
- Ottiene il nome dell'azione.
- Nome dell'azione.
-
-
- Ottiene il descrittore del controller.
- Descrittore del controller.
-
-
- Esegue il contesto del controller specificato utilizzando i parametri del metodo di azione specificati.
- Valore restituito dell'azione.
- Contesto del controller.
- Parametri.
- Il parametro o è null.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, identificati dal tipo.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Ottiene gli attributi del filtro.
- Attributi del filtro.
- true per utilizzare la cache. In caso contrario, false.
-
-
- Recupera i parametri del metodo di azione.
- Parametri del metodo di azione.
-
-
- Recupera i selettori dell'azione.
- Selettori dell'azione.
-
-
- Indica se per questo membro sono definite una o più istanze di un tipo di attributo personalizzato.
- true se per questo membro è definito il tipo di attributo personalizzato. In caso contrario, false.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Ottiene o imposta le informazioni sul metodo di azione.
- Informazioni sul metodo di azione.
-
-
- Ottiene l'ID univoco del descrittore dell'azione riflessa mediante l'inizializzazione differita.
- ID univoco.
-
-
- Contiene informazioni che descrivono un controller riflesso.
-
-
- Inizializza una nuova istanza della classe .
- Tipo del controller.
- Il parametro è null.
-
-
- Ottiene il tipo del controller.
- Tipo del controller.
-
-
- Trova l'azione specificata per il contesto del controller specificato.
- Informazioni sull'azione.
- Contesto del controller.
- Nome dell'azione.
- Il parametro è null.
- Il parametro è null o vuoto.
-
-
- Restituisce l'elenco di azioni per il controller.
- Elenco di descrittori delle azioni per il controller.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, identificati dal tipo.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Ottiene gli attributi del filtro.
- Attributi del filtro.
- true per utilizzare la cache. In caso contrario, false.
-
-
- Restituisce un valore che indica se per questo membro sono definite una o più istanze di un tipo di attributo personalizzato.
- true se per questo membro è definito il tipo di attributo personalizzato. In caso contrario, false.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Contiene informazioni che descrivono un parametro del metodo di azione riflesso.
-
-
- Inizializza una nuova istanza della classe .
- Informazioni sul parametro.
- Descrittore dell'azione.
- Il parametro o è null.
-
-
- Ottiene il descrittore dell'azione.
- Descrittore dell'azione.
-
-
- Ottiene le informazioni di associazione.
- Informazioni di associazione.
-
-
- Ottiene il valore predefinito del parametro riflesso.
- Valore predefinito del parametro riflesso.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, identificati dal tipo.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
- Il tipo di attributo personalizzato non può essere caricato.
- Sono presenti più attributi di tipo definiti per questo membro.
-
-
- Restituisce un valore che indica se per questo membro sono definite una o più istanze di un tipo di attributo personalizzato.
- true se per questo membro è definito il tipo di attributo personalizzato. In caso contrario, false.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Ottiene o imposta le informazioni sul parametro.
- Informazioni sul parametro.
-
-
- Ottiene il nome del parametro.
- Nome del parametro.
-
-
- Ottiene il tipo del parametro.
- Tipo del parametro.
-
-
- Fornisce un adattatore per l'attributo .
-
-
- Inizializza una nuova istanza della classe .
- Metadati del modello.
- Contesto del controller.
- Attributo di espressione regolare.
-
-
- Ottiene un elenco di regole di convalida del client per l'espressione regolare.
- Elenco di regole di convalida del client per l'espressione regolare.
-
-
- Fornisce un attributo che usa il validator remoto del plug-in di convalida jQuery.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe usando il nome della route specificato.
- Nome della route.
-
-
- Inizializza una nuova istanza della classe usando il nome del metodo di azione e il nome del controller specificati.
- Nome del metodo di azione.
- Nome del controller.
-
-
- Inizializza una nuova istanza della classe usando il nome del metodo di azione, il nome del controller e il nome dell'area specificati.
- Nome del metodo di azione.
- Nome del controller.
- Nome dell'area.
-
-
- Inizializza una nuova istanza della classe .
- Nome della route.
- Nome del controller.
- Cercare il controller nella radice se .In caso contrario, cercare nell'area corrente.
-
-
- Ottiene o imposta i campi aggiuntivi necessari per la convalida.
- Campi aggiuntivi necessari per la convalida.
-
-
- Restituisce una stringa delimitata da virgole di nomi di campo di convalida.
- Stringa delimitata da virgole di nomi di campo di convalida.
- Il nome della proprietà di convalida.
-
-
- Formatta il messaggio di errore visualizzato quando la convalida non riesce.
- Messaggio di errore formattato.
- Nome da visualizzare con il messaggio di errore.
-
-
- Formatta la proprietà per la convalida del client anteponendo un asterisco (*) e un punto.
- Stringa "*." Viene anteposta alla proprietà.
- Proprietà.
-
-
- Ottiene un elenco di regole di convalida del client per la proprietà.
- Elenco di regole di convalida del client remoto per la proprietà.
- Metadati del modello.
- Contesto del controller.
-
-
- Ottiene l'URL per la chiamata di convalida remota.
- URL per la chiamata di convalida remota.
- Contesto del controller.
-
-
- Ottiene o imposta il metodo HTTP usato per la convalida remota.
- Metodo HTTP usato per la convalida remota.Il valore predefinito è "Get".
-
-
- Questo metodo restituisce sempre true.
- true
- Destinazione di convalida.
-
-
- Ottiene il dizionario dei dati della route.
- Dizionario dei dati della route.
-
-
- Ottiene o imposta il nome della route.
- Nome della route.
-
-
- Ottiene l'insieme di route dalla tabella di route.
- Insieme di route della tabella di route.
-
-
- Fornisce un adattatore per l'attributo .
-
-
- Inizializza una nuova istanza della classe .
- Metadati del modello.
- Contesto del controller.
- Attributo obbligatorio.
-
-
- Ottiene un elenco di regole di convalida del client per il valore obbligatorio.
- Elenco di regole di convalida del client per il valore obbligatorio.
-
-
- Rappresenta un attributo che impone il nuovo invio di una richiesta HTTP non sicura tramite HTTPS.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Gestisce richieste HTTP non protette inviate al metodo di azione.
- Oggetto che incapsula le informazioni necessarie per l'utilizzo dell'attributo .
- La richiesta HTTP contiene un override del metodo di trasferimento non valido.Tutte le richieste GET non vengono considerate valide.
-
-
- Determina se una richiesta è sicura (HTTPS) e, in caso contrario, chiama il metodo .
- Oggetto che incapsula le informazioni necessarie per l'utilizzo dell'attributo .
- Il parametro è null.
-
-
- Fornisce il contesto per il metodo della classe .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe .
- Contesto del controller.
- Oggetto risultato.
- true per annullare l'esecuzione. In caso contrario, false.
- Oggetto eccezione.
- Il parametro è null.
-
-
- Ottiene o imposta un valore che indica se l'stanza di è annullata.
- true se l'istanza è annullata. In caso contrario, false.
-
-
- Ottiene o imposta l'oggetto eccezione.
- Oggetto eccezione.
-
-
- Ottiene o imposta un valore che indica se l'eccezione è stata gestita.
- true se l'eccezione è stata gestita. In caso contrario, false.
-
-
- Ottiene o imposta il risultato dell'azione.
- Risultato dell'azione.
-
-
- Fornisce il contesto per il metodo della classe .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller e il risultato dell'azione specificati.
- Contesto del controller.
- Risultato dell'azione.
- Il parametro è null.
-
-
- Ottiene o imposta un valore che indica se il valore di è "cancel".
- true se il valore è "cancel". In caso contrario, false.
-
-
- Ottiene o imposta il risultato dell'azione.
- Risultato dell'azione.
-
-
- Definisce un'area da impostare per tutte le route definite in questo controller.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe .
- Nome dell'area.Se il valore è null, verrà effettuato un tentativo per dedurre il nome dell'area dallo spazio dei nomi del controller di destinazione.
-
-
- Ottiene il nome dell'area da impostare per tutte le route definite nel controller.Se il valore è null, verrà effettuato un tentativo per dedurre il nome dell'area dallo spazio dei nomi del controller di destinazione.
- Nome dell'area da impostare per tutte le route definite nel controller.
-
-
- Ottiene il prefisso dell'URL da applicare a tutte le route di questa area.L'impostazione predefinita è il nome dell'area.
- Prefisso dell'URL da applicare a tutte le route di questa area.
-
-
- Inserisce un controller o un'azione da esporre direttamente tramite una route.Una volta inserito un controller, questo viene applicato alle azioni che non includono un oggetto System.Web.Mvc.RouteAttribute’s.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe con il modello specificato.
- Modello della route con cui stabilire una corrispondenza.
-
-
- Ottiene o imposta il nome della route.
- Nome della route.
-
-
- Ottiene l'ordine in cui viene applicata la route.
- Ordine in cui viene applicata la route.
-
-
- Crea una voce della route diretta.
- Voce della route diretta.
- Contesto da utilizzare per creare la route.
-
-
- Ottiene il modello per la route con cui stabilire una corrispondenza.
- Modello con cui stabilire una corrispondenza.
-
-
- Fornisce estensioni di routing per l'attributo dell'insieme di route.
-
-
- Esegue il mapping delle route definite da un attributo per l'applicazione.
- Insieme di route.
-
-
- Esegue il mapping delle route definite da un attributo per l'applicazione.
-
- da usare per il mapping delle route.
-
-
- Esegue il mapping delle route definite da un attributo per l'applicazione.
- Insieme di route.
-
- da usare per la risoluzione dei vincoli inline nei modelli di route.
-
-
- Esegue il mapping delle route definite da un attributo per l'applicazione.
-
- da usare per la risoluzione dei vincoli inline nei modelli di route.
-
- da usare per il mapping delle route.
-
-
- Estende un oggetto per il routing MVC.
-
-
- Restituisce un oggetto che contiene informazioni sulla route e il percorso virtuale risultanti dalla generazione di un URL nell'area corrente.
- Oggetto che contiene informazioni sulla route e il percorso virtuale risultanti dalla generazione di un URL nell'area corrente.
- Oggetto che contiene le route perle applicazioni.
- Oggetto che incapsula informazioni sulla ruote richiesta.
- Nome della route da utilizzare quando vengono recuperate le informazioni sul percorso URL.
- Oggetto contenente i parametri per una route.
-
-
- Restituisce un oggetto che contiene informazioni sulla route e il percorso virtuale risultanti dalla generazione di un URL nell'area corrente.
- Oggetto che contiene informazioni sulla route e il percorso virtuale risultanti dalla generazione di un URL nell'area corrente.
- Oggetto che contiene le route perle applicazioni.
- Oggetto che incapsula informazioni sulla ruote richiesta.
- Oggetto contenente i parametri per una route.
-
-
- Ignora la route dell'URL specificata per l'elenco di route disponibili.
- Raccolta di route per l'applicazione.
- Modello di URL per la route da ignorare.
- Il parametro o è null.
-
-
- Ignora la route dell'URL specificata per l'elenco di route disponibili e un elenco di vincoli.
- Raccolta di route per l'applicazione.
- Modello di URL per la route da ignorare.
- Set di espressioni che specificano i valori per il parametro .
- Il parametro o è null.
-
-
- Esegue il mapping della route dell'URL specificata.
- Riferimento alla route di cui è stato eseguito il mapping.
- Raccolta di route per l'applicazione.
- Nome della route di cui eseguire il mapping.
- Modello di URL per la route.
- Il parametro o è null.
-
-
- Esegue il mapping della route dell'URL specificata e imposta valori della route predefiniti.
- Riferimento alla route di cui è stato eseguito il mapping.
- Raccolta di route per l'applicazione.
- Nome della route di cui eseguire il mapping.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Il parametro o è null.
-
-
- Esegue il mapping della route dell'URL specificata e imposta valori della route e i vincoli predefiniti.
- Riferimento alla route di cui è stato eseguito il mapping.
- Raccolta di route per l'applicazione.
- Nome della route di cui eseguire il mapping.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Set di espressioni che specificano i valori per il parametro .
- Il parametro o è null.
-
-
- Esegue il mapping della route dell'URL specificata e imposta valori della route, vincoli e spazi dei nomi predefiniti.
- Riferimento alla route di cui è stato eseguito il mapping.
- Raccolta di route per l'applicazione.
- Nome della route di cui eseguire il mapping.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Set di espressioni che specificano i valori per il parametro .
- Set di spazi dei nomi per l'applicazione.
- Il parametro o è null.
-
-
- Esegue il mapping della route dell'URL specificata e imposta valori della route e gli spazi dei nomi predefiniti.
- Riferimento alla route di cui è stato eseguito il mapping.
- Raccolta di route per l'applicazione.
- Nome della route di cui eseguire il mapping.
- Modello di URL per la route.
- Oggetto che contiene valori di route predefiniti.
- Set di spazi dei nomi per l'applicazione.
- Il parametro o è null.
-
-
- Esegue il mapping della route dell'URL specificata e imposta gli spazi dei nomi.
- Riferimento alla route di cui è stato eseguito il mapping.
- Raccolta di route per l'applicazione.
- Nome della route di cui eseguire il mapping.
- Modello di URL per la route.
- Set di spazi dei nomi per l'applicazione.
- Il parametro o è null.
-
-
- Rappresenta un provider di valori per dati della route contenuti in un oggetto che implementa l'interfaccia .
-
-
- Inizializza una nuova istanza della classe .
- Oggetto contenente informazioni sulla richiesta HTTP.
-
-
- Rappresenta una factory per la creazione di oggetti provider di valori per dati della route.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto provider di valori per il contesto del controller specificato.
- Oggetto provider di valori.
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
- Il parametro è null.
-
-
- Annota un controller con un prefisso di route che si applica a tutte le azioni all'interno del controller.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe con il prefisso specificato.
- Prefisso della route per il controller.
-
-
- Ottiene il prefisso della route.
- Prefisso della route.
-
-
- Rappresenta un elenco che consente agli utenti di selezionare un elemento.
-
-
- Inizializza una nuova istanza della classe usando gli elementi specificati per l'elenco.
- Elementi.
-
-
- Inizializza una nuova istanza della classe usando gli elementi specificati per l'elenco e un valore selezionato.
- Elementi.
- Valore selezionato.
-
-
- Inizializza una nuova istanza della classe SelectList usando gli elementi specificati per l'elenco, il valore selezionato e i valori disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Valore selezionato.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe usando gli elementi specificati per l'elenco, il campo del valore dei dati e il campo del testo dei dati.
- Elementi.
- Campo del valore dei dati.
- Campo del testo dei dati.
-
-
- Inizializza una nuova istanza della classe usando gli elementi specificati per l'elenco, il campo del valore dei dati, il campo del testo dei dati e un valore selezionato.
- Elementi.
- Campo del valore dei dati.
- Campo del testo dei dati.
- Valore selezionato.
-
-
- Inizializza una nuova istanza della classe SelectList usando gli elementi specificati per l'elenco, il campo del valore dei dati, il campo del testo dei dati, il valore selezionato e i valori disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Valore selezionato.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe SelectList usando gli elementi specificati per l'elenco, il campo del valore dei dati, il campo del testo dei dati, il campo del gruppo dei dati e il valore selezionato.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo del gruppo dei dati.Usato per stabilire una corrispondenza con la proprietà Group dell'elemento corrispondente.
- Valore selezionato.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe SelectList usando gli elementi specificati per l'elenco, il campo del valore dei dati, il campo del testo dei dati, il campo del gruppo dei dati, il valore selezionato e i valori disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo del gruppo dei dati.Usato per stabilire una corrispondenza con la proprietà Group dell'elemento corrispondente.
- Valore selezionato.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Inizializza una nuova istanza della classe SelectList usando gli elementi specificati per l'elenco, il campo del valore dei dati, il campo del testo dei dati e il campo del gruppo dei dati.Valore selezionato, valori disabilitati e gruppi disabilitati.
- Elementi usati per creare ogni dell'elenco.
- Campo del valore dei dati.Usato per stabilire una corrispondenza con la proprietà Value dell'elemento corrispondente.
- Campo del testo dei dati.Usato per stabilire una corrispondenza con la proprietà Text dell'elemento corrispondente.
- Campo del gruppo dei dati.Usato per stabilire una corrispondenza con la proprietà Group dell'elemento corrispondente.
- Valore selezionato.Usato per stabilire una corrispondenza con la proprietà Selected dell'elemento corrispondente.
- Valori disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
- Gruppi disabilitati.Usato per stabilire una corrispondenza con la proprietà Disabled dell'elemento corrispondente.
-
-
- Ottiene il valore di elenco selezionato dall'utente.
- Valore selezionato.
-
-
- Rappresenta l'elemento HTML optgroup e i relativi attributi.In un elenco di selezione sono supportati più gruppi con lo stesso nome.Il confronto è eseguito tramite l'uguaglianza del riferimento.
-
-
-
- Ottiene o imposta un valore che indica se l'oggetto è disabilitato.
-
-
- Rappresenta il valore dell'etichetta di optgroup.
-
-
- Rappresenta l'elemento selezionato in un'istanza della classe .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta un valore che indica se l'oggetto è disabilitato.
-
-
- Rappresenta l'elemento HTML optgroup in cui è stato eseguito il wrapping dell'elemento.In un elenco di selezione sono supportati più gruppi con lo stesso nome.Il confronto è eseguito tramite l'uguaglianza del riferimento.
-
-
- Ottiene o imposta un valore che indica se l'oggetto è selezionato.
- true se l'elemento è selezionato. In caso contrario, false.
-
-
- Ottiene o imposta il testo dell'elemento selezionato.
- Testo.
-
-
- Ottiene o imposta il valore dell'elemento selezionato.
- Valore.
-
-
- Specifica lo stato della sessione del controller.
-
-
- Inizializza una nuova istanza della classe .
- Tipo di stato della sessione.
-
-
- Ottiene il comportamento dello stato di sessione del controller.
- Comportamento dello stato di sessione del controller.
-
-
- Fornisce i dati dello stato sessione all'oggetto corrente.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Carica i dati temporanei utilizzando il contesto del controller specificato.
- Dati temporanei.
- Contesto del controller.
- Si è verificato un errore durante il recupero del contesto della sessione.
-
-
- Salva i valori specificati nel dizionario dei dati temporanei utilizzando il contesto del controller specificato.
- Contesto del controller.
- Valori.
- Si è verificato un errore durante il recupero del contesto della sessione.
-
-
- Fornisce un adattatore per l'attributo .
-
-
- Inizializza una nuova istanza della classe .
- Metadati del modello.
- Contesto del controller.
- Attributo string-length.
-
-
- Ottiene un elenco di regole di convalida del client per la lunghezza delle stringhe.
- Elenco di regole di convalida del client per la lunghezza delle stringhe.
-
-
- Rappresenta un set di dati che rimangono persistenti solo da una richiesta a quella successiva.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Aggiunge un elemento con la chiave e il valore specificati all'oggetto .
- Chiave dell'elemento da aggiungere.
- Valore dell'elemento da aggiungere.
- L'oggetto è di sola lettura.
-
- è null.
- Un elemento con la stessa chiave esiste già nell'oggetto .
-
-
- Rimuove tutti gli elementi dall'istanza di .
- L'oggetto è di sola lettura.
-
-
- Determina se l'istanza di contiene un elemento con la chiave specificata.
- true se l'istanza di contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave da individuare nell'istanza di .
-
- è null.
-
-
- Determina se il dizionario contiene il valore specificato.
- true se il dizionario contiene il valore specificato. In caso contrario, false.
- Valore.
-
-
- Ottiene il numero di elementi dell'oggetto .
- Numero di elementi nell'oggetto .
-
-
- Ottiene l'enumeratore.
- Enumeratore.
-
-
- Ottiene o imposta l'oggetto con la chiave specificata.
- Oggetto con la chiave specificata.
-
-
- Contrassegna tutte le chiavi nel dizionario per la memorizzazione.
-
-
- Contrassegna la chiave specificata nel dizionario per la memorizzazione.
- Chiave da conservare nel dizionario.
-
-
- Ottiene un oggetto che contiene le chiavi di elementi nell'oggetto .
- Chiavi degli elementi nell'oggetto .
-
-
- Carica il contesto del controller specificato utilizzando il provider di dati specificato.
- Contesto del controller.
- Provider di dati temporanei.
-
-
- Restituisce un oggetto che contiene l'elemento associato alla chiave specificata, senza contrassegnare la chiave per l'eliminazione.
- Oggetto contenente l'elemento che è associato alla chiave specificata.
- Chiave dell'elemento da restituire.
-
-
- Rimuove l'elemento con la chiave specificata dall'oggetto .
- true se l'elemento è stato rimosso. In caso contrario, false.Questo metodo restituisce inoltre false se non viene trovato in ..
- Chiave dell'elemento da rimuovere.
- L'oggetto è di sola lettura.
-
- è null.
-
-
- Salva il contesto del controller specificato utilizzando il provider di dati specificato.
- Contesto del controller.
- Provider di dati temporanei.
-
-
- Aggiunge la coppia chiave/valore specificata al dizionario.
- Coppia chiave-valore.
-
-
- Determina se una sequenza contiene uno specifico elemento utilizzando l'operatore di confronto uguaglianze predefinito.
- true se il dizionario contiene la coppia chiave/valore specificata. In caso contrario, false.
- Coppia chiave/valore da cercare.
-
-
- Copia una coppia chiave/valore nella matrice specificata in corrispondenza dell'indice specificato.
- Matrice di destinazione.
- Indice.
-
-
- Ottiene un valore che indica se il dizionario è in sola lettura.
- true se il dizionario è di sola lettura. In caso contrario, false.
-
-
- Elimina la coppia chiave/valore specificata dal dizionario.
- true se la coppia chiave/valore è stata rimossa. In caso contrario, false.
- Coppia chiave-valore.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere un insieme.
- Oggetto che può essere utilizzato per scorrere gli elementi della raccolta.
-
-
- Ottiene il valore dell'elemento con la chiave specificata.
- true se l'oggetto che implementa contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave del valore da ottenere.
- Quando termina, questo metodo restituisce il valore associato alla chiave specificata, se la chiave viene trovata; in caso contrario, restituisce il valore predefinito per il tipo del parametro .Questo parametro viene passato senza inizializzazione.
-
- è null.
-
-
- Ottiene l'oggetto che contiene i valori nell'oggetto .
- Valori degli elementi dell'oggetto che implementa .
-
-
- Incapsula informazioni sul contesto del modello corrente.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il valore del modello formattato.
- Valore del modello formattato.
-
-
- Recupera l'ID DOM completo di un campo utilizzando l'attributo name HTML specificato.
- ID DOM completo.
- Valore dell'attributo HTML name.
-
-
- Recupera il nome completo (che include un prefisso) di un campo utilizzando l'attributo name HTML specificato.
- Nome con prefisso del campo.
- Valore dell'attributo HTML name.
-
-
- Ottiene o imposta il prefisso del campo HTML.
- Prefisso del campo HTML.
-
-
- Contiene il numero di oggetti visitati dall'utente.
- Numero di oggetti.
-
-
- Determina se il modello è stato visitato dall'utente.
- true se il modello è stato visitato dall'utente. In caso contrario, false.
- Oggetto che incapsula informazioni che descrivono il modello.
-
-
- Contiene i metodi per generare gli URL per ASP.NET MVC in un'applicazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto della richiesta specificato.
- Oggetto che contiene le informazioni sulla richiesta corrente e sulla route corrispondente.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto della richiesta e l'insieme di route specificati.
- Oggetto che contiene le informazioni sulla richiesta corrente e sulla route corrispondente.
- Insieme di route.
- Il parametro o è null.
-
-
- Genera una stringa a un URL completo di un metodo di azione.
- Stringa a un URL completo di un metodo di azione.
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione specificato.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione e i valori della route specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato utilizzando la sintassi dell'inizializzatore di oggetto.
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione e il nome del controller specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Nome del controller.
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione, il nome del controller e i valori della route specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato utilizzando la sintassi dell'inizializzatore di oggetto.
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione, il nome del controller, i valori della route e il protocollo specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato utilizzando la sintassi dell'inizializzatore di oggetto.
- Protocollo per l'URL, ad esempio "http" o "https".
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione, il nome del controller e i valori della route specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione, il nome del controller, i valori di route e il protocollo specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Protocollo per l'URL, ad esempio "http" o "https".
-
-
- Genera un URL completo di un metodo di azione utilizzando il nome dell'azione, il nome del controller, i valori di route, il protocollo e il nome host specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
-
-
- Genera un URL completo di un metodo di azione per il nome dell'azione e i valori della route specificati.
- URL completo di un metodo di azione.
- Nome del metodo di azione.
- Oggetto contenente i parametri per una route.
-
-
- Converte un percorso (relativo) virtuale in un percorso assoluto dell'applicazione.
- Percorso assoluto dell'applicazione.
- Percorso virtuale del contenuto.
-
-
- Codifica i caratteri speciali di una stringa URL nelle entità carattere equivalenti.
- Stringa URL codificata.
- Testo da codificare.
-
-
- Restituisce una stringa contenente un URL del contenuto.
- Stringa contenente un URL del contenuto.
- Percorso del contenuto.
- Contesto HTTP.
-
-
- Restituisce una stringa contenente un URL.
- Stringa contenente un URL.
- Nome della route.
- Nome dell'azione.
- Nome del controller.
- Protocollo HTTP.
- Nome dell'host.
- Frammento.
- Valori della route.
- Insieme di route.
- Contesto della richiesta.
- true per includere valori MVC impliciti. In caso contrario, false.
-
-
- Restituisce una stringa contenente un URL.
- Stringa contenente un URL.
- Nome della route.
- Nome dell'azione.
- Nome del controller.
- Valori della route.
- Insieme di route.
- Contesto della richiesta.
- true per includere valori MVC impliciti. In caso contrario, false.
-
-
- Genera un URL completo per i valori della route specificati.
- URL completo per i valori della route specificati.
- Nome della route.
- Valori della route.
-
-
- Genera un URL completo per i valori della route specificati.
- URL completo per i valori della route specificati.
- Nome della route.
- Valori della route.
-
-
- Restituisce un valore che indica se l'URL è locale.
- true se l'URL è locale. In caso contrario, false.
- URL.
-
-
- Ottiene le informazioni su una richiesta HTTP che corrisponde a una route definita.
- Contesto della richiesta.
-
-
- Ottiene un insieme contenente le route registrate per l'applicazione.
- Insieme di route.
-
-
- Genera un URL completo per i valori della route specificati.
- URL completo.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato utilizzando la sintassi dell'inizializzatore di oggetto.
-
-
- Genera un URL completo per il nome della route specificato.
- URL completo.
- Nome della route utilizzato per generare l'URL.
-
-
- Genera un URL completo per i valori di route specificati utilizzando un nome di route.
- URL completo.
- Nome della route utilizzato per generare l'URL.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato utilizzando la sintassi dell'inizializzatore di oggetto.
-
-
- Genera un URL completo per i valori della route specificati utilizzando un nome della route e il protocollo.
- URL completo.
- Nome della route utilizzato per generare l'URL.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato utilizzando la sintassi dell'inizializzatore di oggetto.
- Protocollo per l'URL, ad esempio "http" o "https".
-
-
- Genera un URL completo per i valori di route specificati utilizzando un nome di route.
- URL completo.
- Nome della route utilizzato per generare l'URL.
- Oggetto contenente i parametri per una route.
-
-
- Genera un URL completo per i valori della route specificati utilizzando il nome della route, il protocollo e il nome host specificati.
- URL completo.
- Nome della route utilizzato per generare l'URL.
- Oggetto contenente i parametri per una route.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
-
-
- Genera un URL completo per i valori della route specificati.
- URL completo.
- Oggetto contenente i parametri per una route.
-
-
- Rappresenta un parametro facoltativo che viene utilizzato dalla classe durante il routing.
-
-
- Contiene il valore di sola lettura per il parametro facoltativo.
-
-
- Restituisce una stringa vuota.Questo metodo supporta l'infrastruttura ASP.NET MVC e non può essere utilizzato direttamente dal codice.
- Stringa vuota.
-
-
- Fornisce un adattatore dell'oggetto che può essere convalidato.
-
-
- Inizializza una nuova istanza della classe .
- Metadati del modello.
- Contesto del controller.
-
-
- Convalida l'oggetto specificato.
- Elenco dei risultati di convalida.
- Contenitore.
-
-
- Rappresenta un attributo utilizzato per impedire richieste false.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Chiamato quando è necessaria l'autorizzazione.
- Contesto del filtro.
- Il parametro è null.
-
-
- Ottiene o imposta la stringa salt.
- Stringa salt.
-
-
- Rappresenta un attributo utilizzato per contrassegnare i metodi di azione il cui input deve essere convalidato.
-
-
- Inizializza una nuova istanza della classe .
- true per abilitare la convalida.
-
-
- Ottiene o imposta un valore che indica se abilitare la convalida.
- true se la convalida è abilitata. In caso contrario, false.
-
-
- Chiamato quando è necessaria l'autorizzazione.
- Contesto del filtro.
- Il parametro è null.
-
-
- Rappresenta l'insieme di oggetti provider di valori per l'applicazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe e registra i provider di valori specificati.
- Elenco di provider di valori da registrare.
-
-
- Determina se la raccolta contiene il prefisso specificato.
- true se la raccolta contiene il prefisso specificato. In caso contrario, false.
- Prefisso da ricercare.
-
-
- Ottiene le chiavi utilizzando il prefisso specificato.
- Chiavi.
- Prefisso.
-
-
- Restituisce un oggetto valore tramite la chiave specificata.
- Oggetto valore per la chiave specificata.
- Chiave dell'oggetto valore da recuperare.
-
-
- Restituisce un oggetto valore utilizzando la chiave e il parametro per ignorare la convalida specificati.
- Oggetto valore per la chiave specificata.
- Chiave dell'oggetto valore da recuperare.
- true per specificare che la convalida deve essere ignorata. In caso contrario, false.
-
-
- Inserisce l'oggetto provider di valori specificato nell'insieme in corrispondenza della posizione di indice specificata.
- Posizione dell'indice con base zero in corrispondenza della quale inserire il provider di valori nell'insieme.
- Oggetto provider di valori da inserire.
- Il parametro è null.
-
-
- Sostituisce il provider di valori nella posizione di indice specificata con un nuovo provider di valori.
- Indice in base zero dell'elemento da sostituire.
- Nuovo valore dell'elemento in corrispondenza dell'indice specificato.
- Il parametro è null.
-
-
- Nota: Questa API è ora obsoleta.Rappresenta un dizionario di provider di valori per l'applicazione.
-
-
- Inizializza una nuova istanza della classe .
- Contesto del controller.
-
-
- Aggiunge l'elemento specificato all'insieme di provider di valori.
- Oggetto da aggiungere all'oggetto .
- L'oggetto è di sola lettura.
-
-
- Aggiunge un elemento con la chiave e il valore specificati all'insieme di provider di valori.
- Chiave dell'elemento da aggiungere.
- Valore dell'elemento da aggiungere.
- L'oggetto è di sola lettura.
-
- è null.
- Un elemento con la chiave specificata esiste già nell'oggetto .
-
-
- Aggiunge un elemento con la chiave e il valore specificati all'insieme di provider di valori.
- Chiave dell'elemento da aggiungere.
- Valore dell'elemento da aggiungere.
- L'oggetto è di sola lettura.
-
- è null.
- Un elemento con la chiave specificata esiste già nell'oggetto .
-
-
- Rimuove tutti gli elementi dall'insieme di provider di valori.
- L'oggetto è di sola lettura.
-
-
- Determina se l'insieme di provider di valori contiene l'elemento specificato.
- true se viene trovato nella raccolta di provider di valori. In caso contrario, false.
- Oggetto da individuare nell'istanza di .
-
-
- Determina se l'insieme di provider di valori contiene un elemento con la chiave specificata.
- true se la raccolta di provider di valori contiene un elemento con la chiave. In caso contrario, false.
- Chiave dell'elemento da individuare nell'istanza di .
-
- è null.
-
-
- Ottiene o imposta il contesto del controller.
- Contesto del controller.
-
-
- Copia gli elementi dell'insieme in una matrice, a partire dall'indice specificato.
- Matrice unidimensionale che costituisce la destinazione degli elementi copiati dall'oggetto .L'indicizzazione della matrice deve essere in base zero.
- Indice in base zero in in corrispondenza del quale ha inizio la copia.
-
- è null.
-
- è minore di 0.
-
- è multidimensionale.oppure è uguale a o maggiore della lunghezza di .oppureIl numero di elementi nell'insieme di origine è maggiore dello spazio disponibile da alla fine dell'oggetto di destinazione.oppureNon è possibile eseguire automaticamente il cast del tipo al tipo della matrice di destinazione.
-
-
- Ottiene il numero di elementi nell'insieme.
- Numero di elementi contenuti nell'insieme.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere la raccolta.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Ottiene un valore che indica se la raccolta è di sola lettura.
- true se la raccolta è di sola lettura. In caso contrario, false.
-
-
- Ottiene o imposta l'oggetto con la chiave specificata.
- Oggetto .
-
-
- Ottiene un insieme contenente le chiavi dell'istanza di .
- Insieme contenente le chiavi dell'oggetto che implementa l'interfaccia .
-
-
- Rimuove la prima occorrenza dell'elemento specificato dall'insieme di provider di valori.
- true se il parametro è stato rimosso dalla raccolta. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nella raccolta.
- Oggetto che deve essere rimosso dall'istanza di .
- L'oggetto è di sola lettura.
-
-
- Rimuove l'elemento con la chiave specificata dall'insieme di provider di valori.
- true se l'elemento è stato rimosso. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nella raccolta.
- Chiave dell'elemento da rimuovere.
- L'oggetto è di sola lettura.
-
- è null.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere un insieme.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Determina se la raccolta contiene il prefisso specificato.
- true se la raccolta contiene il prefisso specificato. In caso contrario, false.
- Prefisso da ricercare.
-
-
- Restituisce un oggetto valore tramite la chiave specificata.
- Oggetto valore per la chiave specificata.
- Chiave dell'oggetto valore da restituire.
-
-
- Ottiene il valore dell'elemento con la chiave specificata.
- true se l'oggetto che implementa contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave dell'elemento da ottenere.
- Quando termina, questo metodo restituisce il valore associato alla chiave specificata, se la chiave viene trovata; in caso contrario, restituisce il valore predefinito per il tipo del parametro .Questo parametro viene passato senza inizializzazione.
-
- è null.
-
-
- Ottiene un insieme contenente i valori presenti nell'oggetto .
- Insieme dei valori nell'oggetto che implementa l'interfaccia .
-
-
- Rappresenta un contenitore per oggetti factory del provider di valori.
-
-
- Ottiene l'insieme di factory del provider di valori per l'applicazione.
- Insieme di oggetti factory del provider di valori.
-
-
- Rappresenta una factory per la creazione di oggetti provider di valori.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un oggetto provider di valori per il contesto del controller specificato.
- Oggetto provider di valori.
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
-
-
- Rappresenta l'insieme di factory del provider di valori per l'applicazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe usando l'elenco di factory del provider di valori specificato.
- Elenco di factory del provider di valori con cui inizializzare l'insieme.
-
-
- Rimuove tutti gli elementi dalla raccolta.
-
-
- Restituisce la factory del provider di valori per il contesto del controller specificato.
- Oggetto factory del provider di valori per il contesto del controller specificato.
- Oggetto che incapsula le informazioni sulla richiesta HTTP corrente.
-
-
- Inserisce l'oggetto factory del provider di valori specificato in corrispondenza della posizione di indice specificata.
- Posizione dell'indice con base zero in corrispondenza della quale inserire il provider di valori nell'insieme.
- Oggetto factory del provider di valori da inserire.
- Il parametro è null.
-
-
- Rimuove l'elemento all'indice specificato della .
- Indice in base zero dell'elemento da rimuovere.
-
- è minore di 0.oppure è uguale o maggiore di
-
-
- Imposta l'oggetto factory del provider di valori specificato in corrispondenza della posizione di indice data.
- Posizione dell'indice con base zero in corrispondenza della quale inserire il provider di valori nell'insieme.
- Oggetto factory del provider di valori da impostare.
- Il parametro è null.
-
-
- Rappresenta il risultato dell'associazione di un valore (ad esempio da un form o da una stringa di query) con una proprietà dell'argomento del metodo di azione o all'argomento stesso.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il valore non elaborato, il valore utilizzato come tentativo e le informazioni relative alle impostazioni cultura specificati.
- Valore non elaborato.
- Valore utilizzato come tentativo.
- Impostazioni cultura.
-
-
- Ottiene o imposta il valore non elaborato convertito in una stringa per la visualizzazione.
- Valore non elaborato.
-
-
- Converte il valore incapsulato dal risultato nel tipo specificato.
- Valore convertito.
- Tipo di destinazione.
- Il parametro è null.
-
-
- Converte il valore incapsulato dal risultato nel tipo specificato utilizzando le informazioni relative alle impostazioni cultura specificate.
- Valore convertito.
- Tipo di destinazione.
- Impostazioni cultura da utilizzare nella conversione.
- Il parametro è null.
-
-
- Ottiene o imposta le impostazioni cultura.
- Impostazioni cultura.
-
-
- Ottiene o imposta il valore non elaborato fornito dal provider di valori.
- Valore non elaborato.
-
-
- Incapsula le informazioni correlate al rendering di una visualizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe usando il contesto del controller, la visualizzazione, il dizionario dei dati della visualizzazione, il dizionario dei dati temporanei e il writer di testo specificati.
- Incapsula informazioni sulla richiesta HTTP.
- Visualizzazione di cui eseguire il rendering.
- Dizionario che contiene i dati necessari per eseguire il rendering della visualizzazione.
- Dizionario che contiene i dati temporanei per la visualizzazione.
- Oggetto writer di testo usato per scrivere l'output HTML.
- Uno dei parametri è null.
-
-
- Ottiene o imposta un valore che indica se la convalida lato client è abilitata.
- true se la convalida sul lato client è abilitata. In caso contrario, false.
-
-
- Ottiene o imposta un oggetto che incapsula le informazioni necessarie per convalidare ed elaborare i dati di input da un form HTML.
- Oggetto che incapsula le informazioni necessarie per convalidare ed elaborare i dati di input da un form HTML.
-
-
- Scrive le informazioni di convalida del client nella risposta HTTP.
-
-
- Ottiene i dati associati a questa richiesta e disponibili per una sola richiesta.
- Dati temporanei.
-
-
- Ottiene o imposta un valore che indica se è abilitato l'utilizzo di JavaScript non intrusivo.
- true se l'utilizzo di JavaScript non intrusivo è abilitato. In caso contrario, false.
-
-
- Nome di elemento usato per il wrapping di un messaggio di primo livello generato da e altri overload.
-
-
- Nome di elemento usato per il wrapping di un messaggio di primo livello generato da e altri overload.
-
-
- Ottiene un oggetto che implementa l'interfaccia per il rendering nel browser.
- Visualizzazione.
-
-
- Ottiene il dizionario dei dati della visualizzazione dinamica.
- Dizionario dei dati della visualizzazione dinamica.
-
-
- Ottiene i dati della visualizzazione che vengono passati alla visualizzazione stessa.
- Dati della visualizzazione.
-
-
- Ottiene o imposta l'oggetto writer di testo usato per scrivere l'output HTML.
- Oggetto usato per scrivere l'output HTML.
-
-
- Rappresenta un contenitore utilizzato per passare dati tra un controller e una visualizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il modello specificato.
- Modello.
-
-
- Inizializza una nuova istanza della classe utilizzando il dizionario specificato.
- Dizionario.
- Il parametro è null.
-
-
- Aggiunge l'elemento specificato all'insieme.
- Oggetto da aggiungere all'insieme.
- L'insieme è di sola lettura.
-
-
- Aggiunge un elemento all'insieme utilizzando la chiave e il valore specificati.
- Chiave dell'elemento da aggiungere.
- Valore dell'elemento da aggiungere.
- L'oggetto è di sola lettura.
-
- è null.
- Un elemento con la stessa chiave esiste già nell'oggetto .
-
-
- Rimuove tutti gli elementi dall'insieme.
- L'oggetto è di sola lettura.
-
-
- Determina se l'insieme contiene l'elemento specificato.
- true se viene trovato nella raccolta. In caso contrario, false.
- Oggetto da individuare nell'insieme.
-
-
- Determina se l'insieme contiene un elemento con la chiave specificata.
- true se la raccolta contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave dell'elemento da individuare nell'insieme.
-
- è null.
-
-
- Copia gli elementi dell'insieme in una matrice, a partire da un indice specifico.
- Matrice unidimensionale che rappresenta la destinazione degli elementi copiati dall'insieme.L'indicizzazione della matrice deve essere in base zero.
- Indice in base zero in in corrispondenza del quale viene iniziata la copia.
-
- è null.
-
- è minore di 0.
-
- è multidimensionale.oppure è uguale a o maggiore della lunghezza di .oppure Il numero di elementi nell'insieme di origine è maggiore dello spazio disponibile da alla fine dell'oggetto di destinazione.oppure Non è possibile eseguire automaticamente il cast del tipo al tipo dell'oggetto di destinazione.
-
-
- Ottiene il numero di elementi nell'insieme.
- Numero di elementi contenuti nell'insieme.
-
-
- Valuta l'espressione specificata.
- Risultati della valutazione.
- Espressione.
- Il parametro è null o vuoto.
-
-
- Valuta l'espressione specificata utilizzando il formato specificato.
- Risultati della valutazione.
- Espressione.
- Formato.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere la raccolta.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Restituisce informazioni sui dati di visualizzazione definiti dal parametro .
- Oggetto contenente informazioni sui dati di visualizzazione definiti dal parametro .
- Set di coppie chiave/valore che definiscono le informazioni sui dati di visualizzazione da restituire.
- Il parametro è null o vuoto.
-
-
- Ottiene un valore che indica se la raccolta è di sola lettura.
- true se la raccolta è di sola lettura. In caso contrario, false.
-
-
- Ottiene o imposta l'elemento associato alla chiave specificata.
- Valore dell'elemento selezionato.
-
-
- Ottiene un insieme contenente le chiavi del dizionario.
- Insieme contenente le chiavi dell'oggetto che implementa .
-
-
- Ottiene o imposta il modello associato ai dati di visualizzazione.
- Modello associato ai dati di visualizzazione.
-
-
- Ottiene o imposta informazioni sul modello.
- Informazioni sul modello.
-
-
- Ottiene lo stato del modello.
- Stato del modello.
-
-
- Rimuove la prima occorrenza di un oggetto specificato dall'insieme.
- true se il parametro è stato rimosso dalla raccolta. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nella raccolta.
- Oggetto da rimuovere dall'insieme.
- L'insieme è di sola lettura.
-
-
- Rimuove l'elemento dall'insieme utilizzando la chiave specificata.
- true se l'elemento è stato rimosso. In caso contrario, false.Questo metodo restituisce inoltre false se il parametro non viene trovato nella raccolta originale.
- Chiave dell'elemento da rimuovere.
- L'insieme è di sola lettura.
-
- è null.
-
-
- Imposta il modello di dati da utilizzare per la visualizzazione.
- Modello di dati da utilizzare per la visualizzazione.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere la raccolta.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Ottiene o imposta un oggetto che incapsula informazioni sul contesto del modello corrente.
- Oggetto contenente informazioni relative al modello corrente.
-
-
- Tenta di recuperare il valore associato alla chiave specificata.
- true se la raccolta contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave del valore da ottenere.
- Quando termina, questo metodo restituisce il valore associato alla chiave specificata, se la chiave viene trovata; in caso contrario, restituisce il valore predefinito per il tipo del parametro .Questo parametro viene passato senza inizializzazione.
-
- è null.
-
-
- Ottiene un insieme contenente i valori presenti nel dizionario.
- Insieme contenente i valori dell'oggetto che implementa .
-
-
- Rappresenta un contenitore utilizzato per passare dati fortemente tipizzati tra un controller e una visualizzazione.
- Tipo del modello.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il dizionario dei dati di visualizzazione specificato.
- Dizionario dei dati di visualizzazione esistente da copiare in questa istanza.
-
-
- Inizializza una nuova istanza della classe utilizzando il modello specificato.
- Modello di dati da utilizzare per la visualizzazione.
-
-
- Ottiene o imposta il modello.
- Riferimento al modello di dati.
-
-
- Ottiene o imposta informazioni sul modello.
- Informazioni sul modello.
-
-
- Imposta il modello di dati da utilizzare per la visualizzazione.
- Modello di dati da utilizzare per la visualizzazione.
- Si è verificato un errore durante l'impostazione del modello.
-
-
- Incapsula informazioni relative al contenuto del modello corrente utilizzato per sviluppare modelli e relative agli helper HTML che interagiscono con i modelli.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe T:System.Web.Mvc.ViewDataInfo e associa un delegato per l'accesso alle informazioni sui dati di visualizzazione.
- Delegato che definisce come accedere alle informazioni sui dati di visualizzazione.
-
-
- Ottiene o imposta l'oggetto che contiene i valori da visualizzare tramite il modello.
- Oggetto che contiene i valori da visualizzare tramite il modello.
-
-
- Ottiene o imposta la descrizione della proprietà da visualizzare tramite il modello.
- Descrizione della proprietà da visualizzare tramite il modello.
-
-
- Ottiene o imposta il valore corrente da visualizzare tramite il modello.
- Valore corrente da visualizzare tramite il modello.
-
-
- Rappresenta un insieme di motori di visualizzazione disponibili per l'applicazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe usando l'elenco specificato dei motori di visualizzazione.
- Elenco di cui il nuovo insieme è il wrapper.
-
- è null.
-
-
- Rimuove tutti gli elementi dalla .
-
-
- Trova la visualizzazione parziale specificata usando il contesto del controller specificato.
- Visualizzazione parziale.
- Contesto del controller.
- Nome della visualizzazione parziale.
- Il parametro è null.
- Il parametro è null o vuoto.
-
-
- Trova la visualizzazione specificata usando il contesto del controller e la visualizzazione Master specificati.
- Visualizzazione.
- Contesto del controller.
- Nome della visualizzazione.
- Nome della visualizzazione Master.
- Il parametro è null.
- Il parametro è null o vuoto.
-
-
- Consente di inserire un elemento nell'insieme in corrispondenza dell'indice specificato.
- Indice in base zero in corrispondenza del quale deve essere inserito l'elemento.
- Oggetto da inserire.
-
- è minore di 0.oppure è maggiore del numero di elementi nell'insieme.
- Il parametro è null.
-
-
- Rimuove l'elemento all'indice specificato della .
- Indice in base zero dell'elemento da rimuovere.
-
- è minore di 0.oppure è uguale o maggiore di
-
-
- Sostituisce l'elemento in corrispondenza dell'indice specificato.
- Indice in base zero dell'elemento da sostituire.
- Nuovo valore dell'elemento in corrispondenza dell'indice specificato.
-
- è minore di 0.oppure è maggiore del numero di elementi nell'insieme.
- Il parametro è null.
-
-
- Rappresenta il risultato dell'individuazione di un motore di visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando i percorsi di ricerca specificati.
- Percorsi di ricerca.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe utilizzando la visualizzazione e il motore di visualizzazione specificati.
- Visualizzazione.
- Motore di visualizzazione.
- Il parametro o è null.
-
-
- Ottiene o imposta i percorsi di ricerca.
- Percorsi di ricerca.
-
-
- Ottiene o imposta la visualizzazione.
- Visualizzazione.
-
-
- Ottiene o imposta il motore di visualizzazione.
- Motore di visualizzazione.
-
-
- Rappresenta un insieme di motori di visualizzazione disponibili per l'applicazione.
-
-
- Ottiene i motori di visualizzazione.
- Motori di visualizzazione.
-
-
- Rappresenta le informazioni necessarie per compilare una pagina di visualizzazione Master.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene lo script AJAX per la pagina master.
- Script AJAX per la pagina master.
-
-
- Ottiene il codice HTML per la pagina master.
- Codice HTML per la pagina master.
-
-
- Ottiene il modello.
- Modello.
-
-
- Ottiene i dati temporanei.
- Dati temporanei.
-
-
- Ottiene l'URL.
- URL.
-
-
- Ottiene il dizionario del contenitore delle visualizzazioni dinamiche.
- Dizionario del contenitore delle visualizzazioni dinamiche.
-
-
- Ottiene il contesto di visualizzazione.
- Contesto di visualizzazione.
-
-
- Ottiene i dati della visualizzazione.
- Dati della visualizzazione.
-
-
- Ottiene il writer utilizzato per il rendering della pagina master.
- Writer utilizzato per il rendering della pagina master.
-
-
- Rappresenta le informazioni necessarie per compilare una pagina di visualizzazione Master fortemente tipizzata.
- Tipo del modello.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene lo script AJAX per la pagina master.
- Script AJAX per la pagina master.
-
-
- Ottiene il codice HTML per la pagina master.
- Codice HTML per la pagina master.
-
-
- Ottiene il modello.
- Riferimento al modello di dati.
-
-
- Ottiene i dati della visualizzazione.
- Dati della visualizzazione.
-
-
- Rappresenta le proprietà e i metodi necessari per eseguire il rendering di una visualizzazione come una pagina Web Form.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta l'oggetto utilizzato per eseguire il rendering degli elementi HTML in scenari Ajax.
- Oggetto helper Ajax associato alla visualizzazione.
-
-
- Ottiene o imposta l'oggetto utilizzato per eseguire il rendering degli elementi HTML.
- Oggetto helper HTML associato alla visualizzazione.
-
-
- Inizializza le proprietà , e .
-
-
- Ottiene o imposta il percorso della visualizzazione Master.
- Percorso della visualizzazione Master.
-
-
- Ottiene la proprietà Model dell'oggetto associato.
- Proprietà Model dell'oggetto associato.
-
-
- Genera l'evento all'inizio della fase di inizializzazione della pagina.
- Dati dell'evento.
-
-
- Abilita l'elaborazione della richiesta HTTP specificata dal framework di ASP.NET MVC.
- Oggetto che incapsula le informazioni specifiche HTTP sulla richiesta HTTP corrente.
-
-
- Inizializza l'oggetto che riceve il contenuto della pagina di cui eseguire il rendering.
- Oggetto che riceve il contenuto della pagina.
-
-
- Esegue il rendering della pagina di visualizzazione nella risposta utilizzando il contesto di visualizzazione specificato.
- Oggetto che incapsula le informazioni necessarie per eseguire il rendering della visualizzazione che include il contesto del controller, il contesto del form, i dati temporanei e i dati di visualizzazione per la visualizzazione associata.
-
-
- Nota: Questa API è ora obsoleta.Imposta il writer di testo utilizzato per il rendering della visualizzazione nella risposta.
- Writer utilizzato per il rendering della visualizzazione nella risposta.
-
-
- Imposta il dizionario dei dati di visualizzazione per la visualizzazione associata.
- Dizionario dei dati da passare alla visualizzazione.
-
-
- Ottiene i dati temporanei da passare alla visualizzazione.
- Dati temporanei da passare alla visualizzazione.
-
-
- Ottiene o imposta l'URL della pagina di cui è stato eseguito il rendering.
- URL della pagina di cui è stato eseguito il rendering.
-
-
- Ottiene il contenitore delle visualizzazioni.
- Contenitore delle visualizzazioni.
-
-
- Ottiene o imposta le informazioni utilizzate per il rendering della visualizzazione.
- Informazioni utilizzate per eseguire il rendering della visualizzazione che includono il contesto del form, i dati temporanei e i dati di visualizzazione della visualizzazione associata.
-
-
- Ottiene o imposta un dizionario che contiene i dati da passare tra il controller e la visualizzazione.
- Dizionario che contiene i dati da passare tra il controller e la visualizzazione.
-
-
- Ottiene il writer di testo utilizzato per il rendering della visualizzazione nella risposta.
- Writer di testo utilizzato per il rendering della visualizzazione nella risposta.
-
-
- Rappresenta le informazioni necessarie per eseguire il rendering di una visualizzazione fortemente tipizzata come pagina Web Form.
- Tipo del modello.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta l'oggetto che supporta il rendering degli elementi HTML in scenari Ajax.
- Oggetto helper Ajax associato alla visualizzazione.
-
-
- Ottiene o imposta l'oggetto che fornisce supporto per l'esecuzione del rendering degli elementi.
- Oggetto helper HTML associato alla visualizzazione.
-
-
- Crea un'istanza delle proprietà e e le inizializza.
-
-
- Ottiene la proprietà dell'oggetto associato.
- Riferimento al modello di dati.
-
-
- Imposta il dizionario dei dati di visualizzazione per la visualizzazione associata.
- Dizionario dei dati da passare alla visualizzazione.
-
-
- Ottiene o imposta un dizionario che contiene i dati da passare tra il controller e la visualizzazione.
- Dizionario che contiene i dati da passare tra il controller e la visualizzazione.
-
-
- Rappresenta una classe utilizzata per eseguire il rendering di una visualizzazione utilizzando un'istanza di restituita da un oggetto .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Esegue una ricerca nei motori di visualizzazione registrati e restituisce l'oggetto utilizzato per eseguire il rendering della visualizzazione.
- Oggetto utilizzato per il rendering della visualizzazione.
- Contesto del controller.
- Si è verificato un errore durante la ricerca della visualizzazione da parte del metodo.
-
-
- Ottiene il nome della visualizzazione Master (ad esempio un modello o una pagina master) da utilizzare quando viene eseguito il rendering della visualizzazione.
- Nome della visualizzazione Master.
-
-
- Rappresenta una classe di base utilizzata per fornire il modello alla visualizzazione e quindi eseguire il rendering della visualizzazione nella risposta.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Se viene chiamato dall'invoker dell'azione, esegue il rendering della visualizzazione nella risposta.
- Contesto in cui il risultato viene eseguito.
- Il parametro è null.
-
-
- Restituisce l'oggetto utilizzato per eseguire il rendering della visualizzazione.
- Motore di visualizzazione.
- Contesto.
-
-
- Ottiene il modello di dati della visualizzazione.
- Modello di dati della visualizzazione.
-
-
- Ottiene o imposta l'oggetto per il risultato.
- Dati temporanei.
-
-
- Ottiene o imposta l'oggetto di cui viene eseguito il rendering nella risposta.
- Visualizzazione.
-
-
- Ottiene il contenitore delle visualizzazioni.
- Contenitore delle visualizzazioni.
-
-
- Ottiene o imposta l'oggetto dei dati della visualizzazione per il risultato.
- Dati della visualizzazione.
-
-
- Ottiene o imposta l'insieme di motori di visualizzazione associati al risultato.
- Insieme di motori di visualizzazione.
-
-
- Ottiene o imposta il nome della visualizzazione di cui eseguire il rendering.
- Nome della visualizzazione.
-
-
- Fornisce una classe astratta che può essere utilizzata per implementare una pagina di avvio della visualizzazione (master).
-
-
- Quando viene implementato in una classe derivata, inizializza una nuova istanza della classe .
-
-
- Se implementato in una classe derivata, ottiene il markup HTML per la pagina di avvio della visualizzazione.
- Markup HTML per la pagina di avvio della visualizzazione.
-
-
- Se implementato in una classe derivata, ottiene l'URL per la pagina di avvio della visualizzazione.
- URL per la pagina di avvio della visualizzazione.
-
-
- Se implementato in una classe derivata, ottiene il contesto di visualizzazione per la pagina di avvio della visualizzazione.
- Contesto di visualizzazione per la pagina di avvio della visualizzazione.
-
-
- Fornisce un contenitore per gli oggetti .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Fornisce un contenitore per gli oggetti .
- Tipo del modello.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il valore formattato.
- Valore formattato.
-
-
- Rappresenta il tipo di una visualizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta il nome del tipo.
- Nome del tipo.
-
-
- Rappresenta le informazioni necessarie per compilare un controllo utente.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene lo script AJAX per la visualizzazione.
- Script AJAX per la visualizzazione.
-
-
- Verifica che i dati della visualizzazione vengano aggiunti all'oggetto del controllo utente, se tali dati sono disponibili.
-
-
- Ottiene il codice HTML per la visualizzazione.
- Codice HTML per la visualizzazione.
-
-
- Ottiene il modello.
- Modello.
-
-
- Esegue il rendering della visualizzazione utilizzando il contesto di visualizzazione specificato.
- Contesto di visualizzazione.
-
-
- Imposta il writer di testo utilizzato per il rendering della visualizzazione nella risposta.
- Writer utilizzato per il rendering della visualizzazione nella risposta.
-
-
- Imposta il dizionario dei dati della visualizzazione utilizzando i dati della visualizzazione specificati.
- Dati della visualizzazione.
-
-
- Ottiene il dizionario dei dati temporanei.
- Dizionario dei dati temporanei.
-
-
- Ottiene l'URL per la visualizzazione.
- URL per la visualizzazione.
-
-
- Ottiene il contenitore delle visualizzazioni.
- Contenitore delle visualizzazioni.
-
-
- Ottiene o imposta il contesto di visualizzazione.
- Contesto di visualizzazione.
-
-
- Ottiene o imposta il dizionario dei dati della visualizzazione.
- Dizionario dei dati della visualizzazione.
-
-
- Ottiene o imposta la chiave di dati della visualizzazione.
- Chiave di dati della visualizzazione.
-
-
- Ottiene il writer utilizzato per il rendering della visualizzazione nella risposta.
- Writer utilizzato per il rendering della visualizzazione nella risposta.
-
-
- Rappresenta le informazioni necessarie per compilare un controllo utente fortemente tipizzato.
- Tipo del modello.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene lo script AJAX per la visualizzazione.
- Script AJAX per la visualizzazione.
-
-
- Ottiene il codice HTML per la visualizzazione.
- Codice HTML per la visualizzazione.
-
-
- Ottiene il modello.
- Riferimento al modello di dati.
-
-
- Imposta i dati per la visualizzazione.
- Dati della visualizzazione.
-
-
- Ottiene o imposta i dati della visualizzazione.
- Dati della visualizzazione.
-
-
- Rappresenta un'implementazione della classe di base astratta dell'interfaccia .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta i formati del percorso master abilitati per l'area.
- Formati del percorso master abilitati per l'area.
-
-
- Ottiene o imposta i formati del percorso della visualizzazione parziale abilitati per l'area.
- Formati del percorso della visualizzazione parziale abilitati per l'area.
-
-
- Ottiene o imposta i formati del percorso della visualizzazione abilitati per l'area.
- Formati del percorso della visualizzazione abilitati per l'area.
-
-
- Crea la visualizzazione parziale specificata utilizzando il contesto del controller specificato.
- Riferimento alla visualizzazione parziale.
- Contesto del controller.
- Percorso parziale per la nuova visualizzazione parziale.
-
-
- Crea la visualizzazione specificata utilizzando il contesto del controller, il percorso della visualizzazione e il percorso della visualizzazione Master.
- Riferimento alla visualizzazione.
- Contesto del controller.
- Percorso della visualizzazione.
- Percorso della visualizzazione Master.
-
-
- Ottiene o imposta il provider della modalità di visualizzazione.
- Provider della modalità di visualizzazione.
-
-
- Restituisce un valore che indica se il file si trova nel percorso specificato, utilizzando il contesto del controller specificato.
- true se il file si trova nel percorso specificato. In caso contrario, false.
- Contesto del controller.
- Percorso virtuale.
-
-
- Ottiene o imposta le estensioni di file utilizzate per individuare una visualizzazione.
- Estensioni di file utilizzate per individuare una visualizzazione.
-
-
- Trova la visualizzazione parziale specificata utilizzando il contesto del controller specificato.
- Visualizzazione parziale.
- Contesto del controller.
- Nome della visualizzazione parziale.
- true per utilizzare la visualizzazione parziale memorizzata nella cache.
- Il parametro è null (Nothing in Visual Basic).
- Il parametro è null o vuoto.
-
-
- Trova la visualizzazione specificata utilizzando il contesto del controller e il nome della visualizzazione Master specificati.
- Visualizzazione Pagina.
- Contesto del controller.
- Nome della visualizzazione.
- Nome della visualizzazione Master.
- true per utilizzare la visualizzazione memorizzata nella cache.
- Il parametro è null (Nothing in Visual Basic).
- Il parametro è null o vuoto.
-
-
- Ottiene o imposta i formati del percorso master.
- Formati del percorso master.
-
-
- Ottiene o imposta i formati del percorso della visualizzazione parziale.
- Formati del percorso della visualizzazione parziale.
-
-
- Rilascia la visualizzazione specificata utilizzando il contesto del controller specificato.
- Contesto del controller.
- Visualizzazione da rilasciare.
-
-
- Ottiene o imposta la cache del percorso di visualizzazione.
- Cache del percorso di visualizzazione.
-
-
- Ottiene o imposta i formati del percorso di visualizzazione.
- Formati del percorso di visualizzazione.
-
-
- Ottiene o imposta il provider di percorsi virtuali.
- Provider di percorsi virtuali.
-
-
- Rappresenta le informazioni necessarie per compilare una pagina Web Form in ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller e il percorso della visualizzazione.
- Contesto del controller.
- Percorso della visualizzazione.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller, il percorso della visualizzazione e il percorso della pagina master.
- Contesto del controller.
- Percorso della visualizzazione.
- Percorso della pagina master.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto del controller, il percorso della visualizzazione, il percorso della pagina master e un'istanza di .
- Contesto del controller.
- Percorso della visualizzazione.
- Percorso della pagina master.
- Istanza dell'interfaccia dell'attivatore della pagina di visualizzazione.
-
-
- Ottiene o imposta il percorso della visualizzazione Master.
- Percorso della visualizzazione Master.
-
-
- Esegue il rendering della visualizzazione nella risposta.
- Oggetto che incapsula le informazioni necessarie per eseguire il rendering della visualizzazione che include il contesto del controller, il contesto del form, i dati temporanei e i dati di visualizzazione per la visualizzazione associata.
- Oggetto writer di testo utilizzato per scrivere l'output HTML.
- Istanza della pagina di visualizzazione.
-
-
- Rappresenta un motore di visualizzazione utilizzato per eseguire il rendering di una pagina Web Form nella risposta.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'attivatore della pagina di visualizzazione specificato.
- Istanza di una classe che implementa l'interfaccia .
-
-
- Crea la visualizzazione parziale specificata utilizzando il contesto del controller specificato.
- Visualizzazione parziale.
- Contesto del controller.
- Percorso parziale.
-
-
- Crea la visualizzazione specificata utilizzando il contesto del controller, nonché i percorsi della visualizzazione e della visualizzazione Master specificati.
- Visualizzazione.
- Contesto del controller.
- Percorso della visualizzazione.
- Percorso della visualizzazione Master.
-
-
- Rappresenta le proprietà e i metodi necessari per eseguire il rendering di una visualizzazione che utilizza la sintassi ASP.NET Razor.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta l'oggetto utilizzato per eseguire il rendering del codice HTML con Ajax.
- Oggetto utilizzato per eseguire il rendering del codice HTML con Ajax.
-
-
- Imposta il contesto e i dati della visualizzazione per la pagina.
- Pagina padre.
-
-
- Ottiene l'oggetto associato alla pagina.
- Oggetto associato alla pagina.
-
-
- Esegue la gerarchia delle pagine per la pipeline di esecuzione ASP.NET Razor.
-
-
- Ottiene o imposta l'oggetto utilizzato per eseguire il rendering degli elementi HTML.
- Oggetto utilizzato per eseguire il rendering degli elementi HTML.
-
-
- Inizializza le classi , e .
-
-
- Ottiene la proprietà Model dell'oggetto associato.
- Proprietà Model dell'oggetto associato.
-
-
- Imposta i dati della visualizzazione.
- Dati della visualizzazione.
-
-
- Ottiene i dati temporanei da passare alla visualizzazione.
- Dati temporanei da passare alla visualizzazione.
-
-
- Ottiene o imposta l'URL della pagina di cui è stato eseguito il rendering.
- URL della pagina di cui è stato eseguito il rendering.
-
-
- Ottiene il contenitore delle visualizzazioni.
- Contenitore delle visualizzazioni.
-
-
- Ottiene o imposta le informazioni utilizzate per il rendering della visualizzazione.
- Informazioni utilizzate per eseguire il rendering della visualizzazione che includono il contesto del form, i dati temporanei e i dati di visualizzazione della visualizzazione associata.
-
-
- Ottiene o imposta un dizionario che contiene i dati da passare tra il controller e la visualizzazione.
- Dizionario che contiene i dati da passare tra il controller e la visualizzazione.
-
-
- Rappresenta le proprietà e i metodi necessari per eseguire il rendering di una visualizzazione che utilizza la sintassi ASP.NET Razor.
- Tipo di modello di dati della visualizzazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta l'oggetto utilizzato per eseguire il rendering del markup HTML con Ajax.
- Oggetto utilizzato per eseguire il rendering del markup HTML con Ajax.
-
-
- Ottiene o imposta l'oggetto utilizzato per eseguire il rendering degli elementi HTML.
- Oggetto utilizzato per eseguire il rendering degli elementi HTML.
-
-
- Inizializza le classi , e .
-
-
- Ottiene la proprietà Model dell'oggetto associato.
- Proprietà Model dell'oggetto associato.
-
-
- Imposta i dati della visualizzazione.
- Dati della visualizzazione.
-
-
- Ottiene o imposta un dizionario che contiene i dati da passare tra il controller e la visualizzazione.
- Dizionario che contiene i dati da passare tra il controller e la visualizzazione.
-
-
- Rappresenta il supporto per ASP.NET AJAX in un'applicazione ASP.NET MVC
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Nome del controller.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
- Nome del frammento URL (nome dell'ancoraggio).
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Nome del controller.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
- Nome del frammento URL (nome dell'ancoraggio).
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene l'URL del metodo di azione specificato. Quando viene selezionato il collegamento all'azione, il metodo di azione viene richiamato in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome del metodo di azione.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Nome del controller.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Nome del metodo di azione che gestirà la richiesta.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.
- Tag <form> di apertura.
- Helper AJAX.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta utilizzando le informazioni di routing specificate.
- Tag <form> di apertura.
- Helper AJAX.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta utilizzando le informazioni di routing specificate.
- Tag <form> di apertura.
- Helper AJAX.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta utilizzando le informazioni di routing specificate.
- Tag <form> di apertura.
- Helper AJAX.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta utilizzando le informazioni di routing specificate.
- Tag <form> di apertura.
- Helper AJAX.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
-
-
- Scrive un tag <form> di apertura nella risposta utilizzando le informazioni di routing specificate.
- Tag <form> di apertura.
- Helper AJAX.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML script che contiene un riferimento a uno script di globalizzazione che definisce le informazioni sulle impostazioni cultura.
- Elemento script il cui attributo src è impostato sullo script di globalizzazione, come illustrato nell'esempio seguente: <script type="text/javascript" src="/MvcApplication1/Scripts/Globalization/en-US.js"></script>
- Oggetto helper AJAX esteso da questo metodo.
-
-
- Restituisce un elemento HTML script che contiene un riferimento a uno script di globalizzazione che definisce le informazioni sulle impostazioni cultura specificate.
- Elemento HTML script il cui attributo src è impostato sullo script di globalizzazione, come illustrato nell'esempio seguente:<script type="text/javascript" src="/MvcApplication1/Scripts/Globalization/en-US.js"></script>
- Oggetto helper AJAX esteso da questo metodo.
- Incapsula informazioni sulle impostazioni cultura di destinazione, ad esempio i formati della data.
- Il parametro è null.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, utilizzando la sintassi dell'inizializzatore di oggetto.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
- Nome del frammento URL (nome dell'ancoraggio).
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Nome della route da utilizzare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio che contiene il percorso virtuale dei valori di route specificati. Quando viene selezionato il collegamento, viene effettuata una richiesta al percorso virtuale in modo asincrono utilizzando JavaScript.
- Elemento ancoraggio.
- Helper AJAX.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.
- Oggetto che fornisce le opzioni per la richiesta asincrona.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Rappresenta le impostazioni delle opzioni per l'esecuzione di script Ajax in un'applicazione ASP.NET MVC.
-
-
- Inizializza una nuova istanza della classe .
-
-
-
- Ottiene o imposta il messaggio da visualizzare in una finestra di conferma prima dell'invio di una richiesta.
- Messaggio da visualizzare in una finestra di conferma.
-
-
- Ottiene o imposta il metodo di richiesta HTTP ("Get" o "Post").
- Metodo di richiesta HTTP.Il valore predefinito è "Post".
-
-
- Ottiene o imposta la modalità che specifica come inserire la risposta nell'elemento DOM di destinazione.
- Modalità di inserimento ("InsertAfter", "InsertBefore" o "Replace").Il valore predefinito è "Replace".
-
-
- Ottiene o imposta un valore, in millisecondi, che controlla la durata dell'animazione quando l'elemento di caricamento viene visualizzato o nascosto.
- Valore, in millisecondi, che controlla la durata dell'animazione quando l'elemento di caricamento viene visualizzato o nascosto.
-
-
- Ottiene o imposta l'attributo id di un elemento HTML visualizzato durante il caricamento della funzione Ajax.
- ID dell'elemento visualizzato durante il caricamento della funzione Ajax.
-
-
- Ottiene o imposta il nome della funzione JavaScript da chiamare immediatamente prima dell'aggiornamento della pagina.
- Nome della funzione JavaScript da chiamare prima dell'aggiornamento della pagina.
-
-
- Ottiene o imposta la funzione JavaScript da chiamare dopo la creazione di un'istanza dei dati della risposta ma prima dell'aggiornamento della pagina.
- Funzione JavaScript da chiamare dopo la creazione di un'istanza dei dati della risposta.
-
-
- Ottiene o imposta la funzione JavaScript da chiamare se l'aggiornamento della pagina non riesce.
- Funzione JavaScript da chiamare se l'aggiornamento della pagina non riesce.
-
-
- Ottiene o imposta la funzione JavaScript da chiamare dopo il corretto aggiornamento della pagina.
- Funzione JavaScript da chiamare dopo il corretto aggiornamento della pagina.
-
-
- Restituisce le opzioni Ajax come insieme di attributi HTML per supportare l'utilizzo di JavaScript non intrusivo.
- Opzioni Ajax come insieme di attributi HTML per supportare l'utilizzo di JavaScript non intrusivo.
-
-
- Ottiene o imposta l'ID dell'elemento DOM da aggiornare usando la risposta del server.
- ID dell'elemento DOM da aggiornare.
-
-
- Ottiene o imposta l'URL a cui inviare la richiesta.
- URL a cui inviare la richiesta.
-
-
- Enumera le modalità di inserimento di script AJAX.
-
-
- Inserimento dopo l'elemento.
-
-
- Inserimento prima dell'elemento.
-
-
- Sostituzione dell'elemento.
-
-
- Sostituzione dell'intero elemento.
-
-
- Fornisce informazioni su un metodo di azione asincrono, ad esempio nome, controller, parametri, attributi e filtri.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Richiama il metodo di azione asincrono utilizzando i parametri e il contesto del controller specificati.
- Oggetto contenente il risultato di una chiamata asincrona.
- Contesto del controller.
- Parametri del metodo di azione.
- Metodo di callback.
- Oggetto contenente informazioni che devono essere utilizzate dal metodo di callback.Questo parametro può essere null.
-
-
- Restituisce il risultato di un'operazione asincrona.
- Risultato di un'operazione asincrona.
- Oggetto che rappresenta lo stato di un'operazione asincrona.
-
-
- Esegue il metodo di azione asincrono utilizzando i parametri e il contesto del controller specificati.
- Risultato dell'esecuzione del metodo di azione asincrono.
- Contesto del controller.
- Parametri del metodo di azione.
-
-
- Rappresenta una classe responsabile del richiamo dei metodi di azione di un controller asincrono.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Richiama il metodo di azione asincrono utilizzando il contesto del controller, il nome dell'azione, il metodo di callback e lo stato specificati.
- Oggetto contenente il risultato di un'operazione asincrona.Implementa
- Contesto del controller.
- Nome dell'azione.
- Metodo di callback.
- Oggetto contenente informazioni che devono essere utilizzate dal metodo di callback.Questo parametro può essere null.
-
-
- Richiama il metodo di azione asincrono utilizzando il contesto del controller, il descrittore dell'azione, i parametri, il metodo di callback e lo stato specificati.
- Oggetto contenente il risultato di un'operazione asincrona.
- Contesto del controller.
- Descrittore dell'azione.
- Parametri per il metodo di azione asincrono.
- Metodo di callback.
- Oggetto contenente informazioni che devono essere utilizzate dal metodo di callback.Questo parametro può essere null.
-
-
- Richiama il metodo di azione asincrono utilizzando il contesto del controller, i filtri, il descrittore dell'azione, i parametri, il metodo di callback e lo stato specificati.
- Oggetto contenente il risultato di un'operazione asincrona.
- Contesto del controller.
- Filtri.
- Descrittore dell'azione.
- Parametri per il metodo di azione asincrono.
- Metodo di callback.
- Oggetto contenente informazioni che devono essere utilizzate dal metodo di callback.Questo parametro può essere null.
-
-
- Annulla l'azione.
- true se l'azione è stata annullata. In caso contrario, false.
- Oggetto definito dall'utente qualificato per un'operazione asincrona o contenente informazioni relative a un'operazione asincrona.
-
-
- Annulla l'azione.
- true se l'azione è stata annullata. In caso contrario, false.
- Oggetto definito dall'utente qualificato per un'operazione asincrona o contenente informazioni relative a un'operazione asincrona.
-
-
- Annulla l'azione.
- true se l'azione è stata annullata. In caso contrario, false.
- Oggetto definito dall'utente qualificato per un'operazione asincrona o contenente informazioni relative a un'operazione asincrona.
-
-
- Restituisce il descrittore del controller.
- Descrittore del controller.
- Contesto del controller.
-
-
- Fornisce le operazioni asincrone per la classe .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di sincronizzazione.
- Contesto di sincronizzazione.
-
-
- Notifica ad ASP.NET che tutte le operazioni asincrone sono complete.
-
-
- Si verifica quando viene chiamato il metodo .
-
-
- Ottiene il numero di operazioni in sospeso.
- Numero di operazioni in sospeso.
-
-
- Ottiene i parametri passati al metodo di completamento asincrono.
- Parametri passati al metodo di completamento asincrono.
-
-
- Esegue un callback nel contesto di sincronizzazione corrente.
- Azione asincrona.
-
-
- Ottiene o imposta il valore del timeout asincrono in millisecondi.
- Valore del timeout asincrono in millisecondi.
-
-
- Definisce l'interfaccia per un invoker di azione, utilizzato per richiamare un'azione asincrona in risposta a una richiesta HTTP.
-
-
- Richiama l'azione specificata.
- Stato del risultato asincrono.
- Contesto del controller.
- Nome dell'azione asincrona.
- Metodo di callback.
- Stato.
-
-
- Annulla l'azione asincrona.
- true se il metodo asincrono poteva essere annullato. In caso contrario, false.
- Risultato asincrono.
-
-
- Usato per creare un'istanza di per la richiesta corrente.
-
-
- Crea un'istanza di un invoker asincrono di azioni per la richiesta corrente.
-
- creato.
-
-
- Definisce i metodi necessari per un controller asincrono.
-
-
- Esegue il contesto della richiesta specificato.
- Stato dell'operazione asincrona.
- Contesto della richiesta.
- Metodo di callback asincrono.
- Stato.
-
-
- Termina l'operazione asincrona.
- Risultato asincrono.
-
-
- Fornisce un contenitore per l'oggetto gestore asincrono.
-
-
- Ottiene l'oggetto gestore asincrono.
- Oggetto gestore asincrono.
-
-
- Fornisce un contenitore che gestisce un conteggio di operazioni asincrone in sospeso.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Si verifica al completamento di un metodo asincrono.
-
-
- Ottiene il conteggio delle operazioni.
- Conteggio delle operazioni.
-
-
- Riduce di 1 il conteggio delle operazioni.
- Conteggio delle operazioni aggiornato.
-
-
- Riduce il conteggio delle operazioni del valore specificato.
- Conteggio delle operazioni aggiornato.
- Numero di operazioni per il quale ridurre il conteggio.
-
-
- Incrementa di uno il conteggio delle operazioni.
- Conteggio delle operazioni aggiornato.
-
-
- Incrementa il conteggio delle operazioni del valore specificato.
- Conteggio delle operazioni aggiornato.
- Numero di operazioni per il quale incrementare il conteggio.
-
-
- Fornisce informazioni su un metodo di azione asincrono, ad esempio nome, controller, parametri, attributi e filtri.
-
-
- Inizializza una nuova istanza della classe .
- Oggetto contenente informazioni sul metodo che avvia l'operazione asincrona (il metodo il cui nome termina con "Asynch").
- Oggetto contenente informazioni sul metodo di completamento (metodo il cui nome termina con "Completed").
- Nome dell'azione.
- Descrittore del controller.
-
-
- Ottiene il nome del metodo di azione.
- Nome del metodo di azione.
-
-
- Ottiene le informazioni sul metodo per il metodo di azione asincrono.
- Informazioni sul metodo per il metodo di azione asincrono.
-
-
- Inizia l'esecuzione del metodo di azione asincrono utilizzando i parametri e il contesto del controller specificati.
- Oggetto contenente il risultato di una chiamata asincrona.
- Contesto del controller.
- Parametri del metodo di azione.
- Metodo di callback.
- Oggetto contenente informazioni che devono essere utilizzate dal metodo di callback.Questo parametro può essere null.
-
-
- Ottiene le informazioni sul metodo per il metodo di completamento asincrono.
- Informazioni sul metodo per il metodo di completamento asincrono.
-
-
- Ottiene il descrittore del controller per il metodo di azione asincrono.
- Il descrittore del controller per il metodo di azione asincrono.
-
-
- Restituisce il risultato di un'operazione asincrona.
- Risultato di un'operazione asincrona.
- Oggetto che rappresenta lo stato di un'operazione asincrona.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, identificati dal tipo.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato del tipo specificato.
- Tipo di attributi personalizzati da restituire.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Ottiene gli attributi del filtro.
- Attributi del filtro.
- Usa flag di cache.
-
-
- Restituisce i parametri del metodo di azione.
- Parametri del metodo di azione.
-
-
- Restituisce i selettori del metodo di azione.
- Selettori del metodo di azione.
-
-
- Determina se per il membro di azione sono definite una o più istanze del tipo di attributo specificato.
- true se per questo membro è definito un attributo del tipo rappresentato da . In caso contrario, false.
- Tipo dell'attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
-
- Ottiene l'ID univoco inizializzato in modalità differita dell'istanza di questa classe.
- ID univoco inizializzato in modalità differita dell'istanza di questa classe.
-
-
- Incapsula le informazioni che descrivono un controller asincrono, ad esempio nome, tipo e azioni.
-
-
- Inizializza una nuova istanza della classe .
- Tipo del controller.
-
-
- Ottiene il tipo del controller.
- Tipo del controller.
-
-
- Trova un metodo di azione utilizzando il nome e il contesto del controller specificati.
- Informazioni sul metodo di azione.
- Contesto del controller.
- Nome dell'azione.
-
-
- Restituisce un elenco di descrittori dei metodi di azione nel controller.
- Elenco di descrittori dei metodi di azione nel controller.
-
-
- Restituisce gli attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Restituisce gli attributi personalizzati di un tipo specificato definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Ottiene gli attributi del filtro.
- Attributi del filtro.
- true per utilizzare la cache. In caso contrario, false.
-
-
- Restituisce un valore che indica se per questo membro sono definite una o più istanze dell'attributo personalizzato specificato.
- true se per questo membro è definito un attributo del tipo rappresentato da . In caso contrario, false.
- Tipo dell'attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Rappresenta un'eccezione che si è verificata durante l'elaborazione sincrona di una richiesta HTTP in un'applicazione ASP.NET MVC
-
-
- Inizializza una nuova istanza della classe utilizzando un messaggio fornito dal sistema.
-
-
- Inizializza una nuova istanza della classe utilizzando il messaggio specificato.
- Messaggio in cui viene descritta l'eccezione.Il chiamante di questo costruttore deve assicurare che la stringa sia stata localizzata in base alle impostazioni cultura correnti del sistema.
-
-
- Inizializza una nuova istanza della classe utilizzando un messaggio di errore specificato e un riferimento all'eccezione interna che rappresenta la causa di questa eccezione.
- Messaggio in cui viene descritta l'eccezione.Il chiamante di questo costruttore deve assicurare che la stringa sia stata localizzata in base alle impostazioni cultura correnti del sistema.
- L'eccezione che è la causa dell'eccezione corrente.Se il parametro non è null, l'eccezione corrente viene generata in un blocco catch in cui viene gestita l'eccezione interna.
-
-
- Quando un metodo di azione restituisce Task o Task<T>, fornice informazioni sull'azione.
-
-
- Inizializza una nuova istanza della classe .
- Informazioni sul metodo dell'attività.
- Nome dell'azione.
- Descrittore del controller.
-
-
- Ottiene il nome del metodo di azione.
- Nome del metodo di azione.
-
-
- Richiama il metodo di azione asincrono utilizzando i parametri, il callback del contesto del controller e lo stato specificati.
- Oggetto contenente il risultato di una chiamata asincrona.
- Contesto del controller.
- Parametri del metodo di azione.
- Metodo di callback opzionale.
- Oggetto contenente informazioni che devono essere utilizzate dal metodo di callback.Questo parametro può essere null.
-
-
- Ottiene il descrittore del controller.
- Descrittore del controller.
-
-
- Termina l'operazione asincrona.
- Risultato di un'operazione asincrona.
- Oggetto che rappresenta lo stato di un'operazione asincrona.
-
-
- Esegue il metodo di azione asincrono.
- Risultato dell'esecuzione del metodo di azione asincrono.
- Contesto del controller.
- Parametri del metodo di azione.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, esclusi gli attributi denominati.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Restituisce una matrice di attributi personalizzati definiti per questo membro, identificati dal tipo.
- Matrice di attributi personalizzati o matrice vuota se non è presente alcun attributo personalizzato.
- Tipo degli attributi personalizzati.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
- Restituisce una matrice di tutti gli attributi personalizzati applicati a questo membro.
- Una matrice contenente tutti gli attributi personalizzati applicati a questo membro o una matrice con zero elementi se non è stato definito alcun attributo.
- true per cercare gli attributi nella catena di ereditarietà di questo membro. In caso contrario, false.
-
-
- Restituisce i parametri del metodo di azione asincrono.
- Parametri del metodo di azione asincrono.
-
-
- Restituisce i selettori del metodo di azione asincrono.
- Selettori del metodo di azione asincrono.
-
-
- Restituisce un valore che indica se per questo membro sono definite una o più istanze dell'attributo personalizzato specificato.
- Valore che indica se per questo membro sono definite una o più istanze dell'attributo personalizzato specificato.
- Tipo dell'attributo personalizzato.
- true per cercare l'attributo personalizzato ereditato nella catena della gerarchia. In caso contrario, false.
-
-
-
- Ottiene informazioni per l'attività asincrona.
- Informazioni per l'attività asincrona.
-
-
- Ottiene l'ID univoco per l'attività.
- ID univoco per l'attività.
-
-
- Rappresenta un contesto di richiesta di autenticazione contenente informazioni per l'esecuzione di una richiesta di autenticazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe .
- Contesto del controller.
- Metodi di azione associati alla richiesta.
- Risposta alla richiesta.
-
-
- Ottiene o imposta il descrittore dell'azione.
- Descrittore dell'azione associato alla richiesta.
-
-
- Ottiene o imposta il risultato dell'azione da eseguire.
- Risposta alla richiesta.
-
-
- Rappresenta un contesto di autenticazione contenente informazioni per eseguire l'autenticazione.
-
-
- Inizializza una nuova istanza della classe .
-
-
-
- Ottiene o imposta il descrittore dell'azione.
- Metodi di azione associati all'autenticazione
-
-
- Ottiene o imposta l'entità attualmente autenticata.
- Credenziali di sicurezza per l'autenticazione.
-
-
- Ottiene o imposta il risultato dell'errore, il quale indica che l'autenticazione è stata tentata e non è riuscita.
- Risultato di autenticazione.
-
-
- Definisce un filtro che esegue l'autenticazione.
-
-
- Autentica la richiesta.
- Il contesto da utilizzare per l'autenticazione.
-
-
- Aggiunge una richiesta di autenticazione al corrente.
- Il contesto da utilizzare per la richiesta di autenticazione.
-
-
- Definisce un filtro che esegue l'override degli altri filtri.
-
-
- Ottiene il tipo di filtri su cui eseguire l'override.
- Filtro per eseguire l'override.
-
-
- Rappresenta il supporto per la chiamata di metodi di azione figlio e l'esecuzione del rendering dell'inline del risultato in una visualizzazione padre.
-
-
- Richiama il metodo di azione figlio specificato e restituisce il risultato come stringa HTML.
- Risultato dell'azione figlio come stringa HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione da richiamare.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato con i parametri specificati e restituisce il risultato come stringa HTML.
- Risultato dell'azione figlio come stringa HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione da richiamare.
- Oggetto contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando il nome del controller specificato e restituisce il risultato come stringa HTML.
- Risultato dell'azione figlio come stringa HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione da richiamare.
- Nome del controller contenente il metodo di azione.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando i parametri e il nome del controller specificati e restituisce il risultato come stringa HTML.
- Risultato dell'azione figlio come stringa HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione da richiamare.
- Nome del controller contenente il metodo di azione.
- Oggetto contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando i parametri e il nome del controller specificati e restituisce il risultato come stringa HTML.
- Risultato dell'azione figlio come stringa HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione da richiamare.
- Nome del controller contenente il metodo di azione.
- Dizionario contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando i parametri specificati e restituisce il risultato come stringa HTML.
- Risultato dell'azione figlio come stringa HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione da richiamare.
- Dizionario contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato ed esegue il rendering dell'inline del risultato nella visualizzazione padre.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione figlio da richiamare.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando i parametri specificati ed esegue il rendering dell'inline del risultato nella visualizzazione padre.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione figlio da richiamare.
- Oggetto contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando il nome del controller specificato ed esegue il rendering dell'inline del risultato nella visualizzazione padre.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione figlio da richiamare.
- Nome del controller contenente il metodo di azione.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando i parametri e il nome del controller specificati ed esegue il rendering dell'inline del risultato nella visualizzazione padre.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione figlio da richiamare.
- Nome del controller contenente il metodo di azione.
- Oggetto contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando i parametri e il nome del controller specificati ed esegue il rendering dell'inline del risultato nella visualizzazione padre.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione figlio da richiamare.
- Nome del controller contenente il metodo di azione.
- Dizionario contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Richiama il metodo di azione figlio specificato utilizzando i parametri specificati ed esegue il rendering dell'inline del risultato nella visualizzazione padre.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione figlio da richiamare.
- Dizionario contenente i parametri per una route.È possibile utilizzare per fornire i parametri associati ai parametri del metodo di azione.Il parametro viene unito ai valori della route originali eseguendone l'override.
- Il parametro è null.
- Il parametro è null o vuoto.
- Non è possibile trovare i dati del percorso virtuale necessari.
-
-
- Rappresenta il supporto per il rendering di valori dell'oggetto in formato HTML.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato da un'espressione stringa.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato da un'espressione stringa utilizzando ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello specificato.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione utilizzando il modello specificato e ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello specificato e l'ID di un campo HTML.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione utilizzando il modello specificato, l'ID del campo HTML e ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione .
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce una stringa che contiene il valore di ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce una stringa contenente il valore di ogni proprietà nell'oggetto rappresentato da , utilizzando il modello specificato.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce una stringa che contiene il valore di ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando il modello specificato e ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato da , utilizzando il modello specificato e l'ID di un campo HTML.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando il modello, l'ID di un campo HTML e ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce il markup HTML per ogni proprietà nel modello.
- Markup HTML per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Restituisce il markup HTML per ogni proprietà nel modello utilizzando ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce il markup HTML per ogni proprietà nel modello utilizzando il modello specificato.
- Markup HTML per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello utilizzato per il rendering dell'oggetto.
-
-
- Restituisce il markup HTML per ogni proprietà nel modello utilizzando il modello specificato e ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce il markup HTML per ogni proprietà nel modello utilizzando il modello e l'ID di un campo HTML specificati.
- Markup HTML per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
-
-
- Restituisce il markup HTML per ogni proprietà nel modello utilizzando il modello specificato, l'ID di un campo HTML e ulteriori dati della visualizzazione.
- Markup HTML per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello utilizzato per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Fornisce un meccanismo per ottenere i nomi visualizzati.
-
-
- Ottiene il nome visualizzato.
- Nome visualizzato.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente il nome visualizzato.
-
-
- Ottiene il nome visualizzato per il modello.
- Nome visualizzato per il modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente il nome visualizzato.
- Tipo del modello.
- Tipo del valore.
-
-
- Ottiene il nome visualizzato per il modello.
- Nome visualizzato per il modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente il nome visualizzato.
- Tipo del modello.
- Tipo del valore.
-
-
- Ottiene il nome visualizzato per il modello.
- Nome visualizzato per il modello.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Fornisce una modalità per eseguire il rendering di valori dell'oggetto come HTML.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
-
-
- Restituisce il markup HTML per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Markup HTML per ogni proprietà.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Tipo del modello.
- Tipo di risultato.
-
-
- Rappresenta il supporto per l'elemento HTML input in un'applicazione.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello specificato.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello specificato e ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello e il nome di campo HTML specificati.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello specificato, il nome di campo HTML e ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione .
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione , utilizzando il modello specificato.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello specificato e ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione , utilizzando il modello e il nome di campo HTML specificati.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione, utilizzando il modello specificato, il nome di campo HTML e ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML input per ogni proprietà nel modello.
- Elemento HTML input per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Restituisce un elemento HTML input per ogni proprietà nel modello, utilizzando ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce un elemento HTML input per ogni proprietà nel modello, utilizzando il modello specificato.
- Elemento HTML input per ogni proprietà nel modello e nel modello specificato.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello da utilizzare per il rendering dell'oggetto.
-
-
- Restituisce un elemento HTML input per ogni proprietà nel modello, utilizzando il modello specificato e ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Restituisce un elemento HTML input per ogni proprietà nel modello, utilizzando il nome del modello e il nome di campo HTML specificati.
- Elemento HTML input per ogni proprietà nel modello e nel modello denominato.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
-
-
- Restituisce un elemento HTML input per ogni proprietà nel modello, utilizzando il nome del modello, il nome di campo HTML e ulteriori dati della visualizzazione.
- Elemento HTML input per ogni proprietà nel modello.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello da utilizzare per il rendering dell'oggetto.
- Stringa utilizzata per risolvere l'ambiguità dei nomi degli elementi HTML input di cui viene eseguito il rendering per le proprietà con lo stesso nome.
- Oggetto anonimo che può contenere ulteriori dati della visualizzazione che verranno uniti all'istanza di creata per il modello.
-
-
- Fornisce metodi per l'utilizzo di valori di enumerazione ed elenchi di selezione.
-
-
- Ottiene un elenco di oggetti corrispondenti a costanti di enumerazione definite nel tipo specificato.
- Elenco per il parametro specificato.
- Tipo da valutare.
-
-
- Ottiene un elenco di oggetti corrispondenti a costanti di enumerazione definite nel tipo specificato.Garantisce inoltre il round trip di anche se non corrisponde a una costante definita e imposta la proprietà Selected su true per un elemento nell'elenco restituito, corrispondente a .
- Elenco per il parametro specificato, eventualmente esteso per includere un parametro non riconosciuto.
- Tipo da valutare.
- Valore del tipo da selezionare
-
-
- Ottiene un elenco di oggetti corrispondenti a costanti di enumerazione definite nei metadati specificati.
- Elenco per i metadati specificati.
- Metadati del modello da valutare.
-
-
- Ottiene un elenco di oggetti corrispondenti a costanti di enumerazione definite nei metadati specificati.Garantisce inoltre il round trip del valore anche se non corrisponde a una costante definita e imposta la proprietà Selected su true per un elemento nell'elenco restituito, corrispondente al valore.
- Elenco per il parametro specificato, eventualmente esteso per includere un parametro non riconosciuto.
- Metadati da valutare.
- Valore del tipo di metadati da selezionare.
-
-
- Ottiene un valore che indica se il tipo specificato o un'espressione di questo tipo è adatta per l'utilizzo nelle chiamate di e .
- true se non genererà un'eccezione quando viene passato il tipo specificato e non genererà un'eccezione quando viene passata un'espressione di questo tipo. In caso contrario, false.
- Tipo da controllare.
-
-
- Ottiene un valore che indica se l'espressione associata o i metadati specificati sono adatti per l'utilizzo nelle chiamate di e .
- true se non genererà un'eccezione quando viene passato l'oggetto specificato e non genererà un'eccezione quando viene passata l'espressione associata. In caso contrario, false.
- Metadati da controllare.
-
-
- Rappresenta il supporto per HTML in un'applicazione.
-
-
- Scrive un tag <form> di apertura nella risposta.Il form usa il metodo POST e la richiesta è elaborata dal metodo di azione per la visualizzazione.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Scrive un tag <form> di apertura nella risposta e include i valori della route nell'attributo dell'azione.Il form usa il metodo POST e la richiesta è elaborata dal metodo di azione per la visualizzazione.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller e sull'azione specificati.Il form usa il metodo POST.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller, sull'azione e sui valori della route specificati.Il form usa il metodo POST.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller, sull'azione e sui valori della route specificati.Il form usa il metodo HTTP specificato.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller, sull'azione e sui valori della route specificati.Il form usa il metodo HTTP specificato e include gli attributi HTML.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller e sull'azione specificati.Il form usa il metodo HTTP specificato.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller e sull'azione specificati.Il form usa il metodo HTTP specificato e include gli attributi HTML da un dizionario.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller e sull'azione specificati.Il form usa il metodo HTTP specificato e include gli attributi HTML.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller, sull'azione e sui valori della route dal dizionario dei valori della route specificati.Il form usa il metodo POST.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller, sull'azione e sui valori della route dal dizionario dei valori della route specificati.Il form usa il metodo HTTP specificato.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
-
-
- Scrive un tag <form> di apertura nella risposta e imposta il tag dell'azione sul controller, sull'azione e sui valori della route dal dizionario dei valori della route specificati.Il form usa il metodo HTTP specificato e include gli attributi HTML da un dizionario.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del metodo di azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta e include i valori della route dal dizionario dei valori della route nell'attributo dell'azione.Il form usa il metodo POST e la richiesta è elaborata dal metodo di azione per la visualizzazione.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto contenente i parametri per una route.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.Questo oggetto viene creato, in genere, usando la sintassi dell'inizializzatore di oggetto.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Oggetto che contiene i parametri per una route.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Oggetto che contiene i parametri per una route.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della route da usare per ottenere l'URL del post per il form.
- Oggetto che contiene i parametri per una route.
- Metodo HTTP per l'elaborazione del form, ovvero GET o POST.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Scrive un tag <form> di apertura nella risposta.Quando l'utente invia il form, la richiesta verrà elaborata dalla destinazione della route.
- Tag <form> di apertura.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto che contiene i parametri per una route.
-
-
- Esegue il rendering del tag </form> di chiusura nella risposta.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Rappresenta il supporto per i controlli di input HTML in un'applicazione.
-
-
- Restituisce un elemento input di tipo casella di controllo usando l'helper HTML e il nome del campo del form specificati.
- Elemento input il cui attributo type è impostato su "checkbox".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form.
-
-
- Restituisce un elemento input di tipo casella di controllo usando l'helper HTML e il nome del campo del form specificati e un valore che indica se la casella di controllo è selezionata.
- Elemento input il cui attributo type è impostato su "checkbox".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form.
- true per selezionare la casella di controllo. In casi contrario, false.Il valore della casella di controllo viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo checked negli attributi HTML.
-
-
- Restituisce un elemento input di tipo casella di controllo usando l'helper HTML, il nome del campo del form, un valore che indica se la casella di controllo è selezionata e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "checkbox".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form.
- true per selezionare la casella di controllo. In casi contrario, false.Il valore della casella di controllo viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo checked negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo casella di controllo usando l'helper HTML, il nome del campo del form, un valore che indica se la casella di controllo è selezionata e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "checkbox".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form.
- true per selezionare la casella di controllo. In casi contrario, false.Il valore della casella di controllo viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo checked negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo casella di controllo usando l'helper HTML, il nome del campo del form e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "checkbox".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo casella di controllo usando l'helper HTML, il nome del campo del form e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "checkbox".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo casella di controllo per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Elemento HTML input il cui attributo type è impostato su "checkbox" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Tipo del modello.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo casella di controllo per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento HTML input il cui attributo type è impostato su "checkbox" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo casella di controllo per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento HTML input il cui attributo type è impostato su "checkbox" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Il parametro è null.
-
-
- Restituisce un elemento input nascosto usando l'helper HTML e il nome del campo del form specificati.
- Elemento input il cui attributo type è impostato su "hidden".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
-
-
- Restituisce un elemento input nascosto usando l'helper HTML, il nome del campo del form e il valore specificati.
- Elemento input il cui attributo type è impostato su "hidden".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input nascosto.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
-
-
- Restituisce un elemento input nascosto usando l'helper HTML, il nome del campo del form, il valore e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "hidden".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input nascosto.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input nascosto usando l'helper HTML, il nome del campo del form, il valore e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "hidden".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input nascosto.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML input nascosto per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Elemento input il cui attributo type è impostato su "hidden" per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce un elemento HTML input nascosto per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "hidden" per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce un elemento HTML input nascosto per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "hidden" per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce un elemento input di tipo password usando l'helper HTML e il nome del campo del form specificati.
- Elemento input il cui attributo type è impostato su "password".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
-
-
- Restituisce un elemento input di tipo password usando l'helper HTML, il nome del campo del form e il valore specificati.
- Elemento input il cui attributo type è impostato su "password".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo password.Se non si specifica un valore per questo parametro, l'attributo value negli attributi HTML sarà usato per recuperare il valore.
-
-
- Restituisce un elemento input di tipo password usando l'helper HTML, il nome del campo del form, il valore e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "password".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo password.Se non si specifica un valore per questo parametro, l'attributo value negli attributi HTML sarà usato per recuperare il valore.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo password usando l'helper HTML, il nome del campo del form, il valore e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "password".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo password.Se non si specifica un valore per questo parametro, l'attributo value negli attributi HTML sarà usato per recuperare il valore.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo password per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Elemento HTML input il cui attributo type è impostato su "password" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo password per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento HTML input il cui attributo type è impostato su "password" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo password per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento HTML input il cui attributo type è impostato su "password" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione usato per presentare opzioni che si escludono a vicenda.
- Elemento input il cui attributo type è impostato su "radio".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Il parametro è null o vuoto.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione usato per presentare opzioni che si escludono a vicenda.
- Elemento input il cui attributo type è impostato su "radio".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- true per selezionare il pulsante di opzione. In caso contrario, false.
- Il parametro è null o vuoto.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione usato per presentare opzioni che si escludono a vicenda.
- Elemento input il cui attributo type è impostato su "radio".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- true per selezionare il pulsante di opzione. In caso contrario, false.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione usato per presentare opzioni che si escludono a vicenda.
- Elemento input il cui attributo type è impostato su "radio".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- true per selezionare il pulsante di opzione. In caso contrario, false.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione usato per presentare opzioni che si escludono a vicenda.
- Elemento input il cui attributo type è impostato su "radio".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione usato per presentare opzioni che si escludono a vicenda.
- Elemento input il cui attributo type è impostato su "radio".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Elemento HTML input il cui attributo type è impostato su "radio" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento HTML input il cui attributo type è impostato su "radio" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo pulsante di opzione per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento HTML input il cui attributo type è impostato su "radio" per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Valore del pulsante di opzione selezionato.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento input di tipo testo usando l'helper HTML e il nome del campo del form specificati.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
-
-
- Restituisce un elemento input di tipo testo usando l'helper HTML, il nome del campo del form e il valore specificati.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo testo.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
-
-
- Restituisce un elemento input di tipo testo usando l'helper HTML, il nome del campo del form, il valore e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo testo.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo testo usando l'helper HTML, il nome del campo del form, il valore e gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo testo.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo testo.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form.
- Valore dell'elemento input di tipo testo.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Stringa usata per la formattazione dell'input.
-
-
- Restituisce un elemento input di tipo testo.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo testo.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Stringa usata per la formattazione dell'input.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo testo.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form e chiave usati per cercare il valore.
- Valore dell'elemento input di tipo testo.Il valore viene recuperato nell'ordine seguente: l'oggetto , il valore di questo parametro, l'oggetto e infine un attributo value negli attributi HTML.
- Stringa usata per la formattazione dell'input.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento input di tipo testo per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Elemento input il cui attributo type è impostato su "text" per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento input di tipo testo per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento HTML input il cui attributo type è impostato su "text" per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento input di tipo testo per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, usando gli attributi HTML specificati.
- Elemento input il cui attributo type è impostato su "text" per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento input di tipo testo.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Stringa usata per la formattazione dell'input.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento input di tipo testo.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Stringa usata per la formattazione dell'input.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento input di tipo testo.
- Elemento input il cui attributo type è impostato su "text".
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Stringa usata per la formattazione dell'input.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Rappresenta il supporto per l'elemento HTML label in una visualizzazione ASP.NET MVC.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata, utilizzando il testo dell'etichetta.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Testo dell'etichetta da visualizzare.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Testo dell'etichetta.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Testo dell'etichetta.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Valore.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata, utilizzando il testo dell'etichetta.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Testo dell'etichetta da visualizzare.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Testo dell'etichetta da visualizzare.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica la proprietà da visualizzare.
- Testo dell'etichetta.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Valore.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dal modello.
- Elemento HTML label e nome della proprietà rappresentata dal modello
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata, utilizzando il testo dell'etichetta.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Testo dell'etichetta da visualizzare.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Testo dell'etichetta.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML label e il nome della proprietà rappresentata dall'espressione specificata.
- Elemento HTML label e nome della proprietà rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Testo dell'etichetta.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Rappresenta il supporto per i collegamenti HTML in un'applicazione.
-
-
- Restituisce un elemento anchor (elemento a) per il testo e l'azione del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione e i valori della route del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione, i valori della route e gli attributi HTML del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Oggetto che contiene gli attributi HTML per l'elemento.Gli attribuiti vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione e il controller del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Nome del controller.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione, il controller, i valori della route e gli attributi HTML del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione, il controller, il protocollo, il nome host, il frammento URL, i valori della route e gli attributi HTML del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Nome del controller.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
- Nome del frammento URL (nome dell'ancoraggio).
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione, il controller, il protocollo, il nome host, il frammento URL, i valori della route come dizionario dei valori della route e gli attributi HTML come dizionario del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Nome del controller.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
- Nome del frammento URL (nome dell'ancoraggio).
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione, il controller, i valori della route come dizionario dei valori della route e gli attributi HTML come dizionario del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Nome del controller.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione e i valori della route del collegamento specificato come dizionario dei valori della route.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Oggetto contenente i parametri per una route.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento anchor (elemento a) per il testo, l'azione e i valori della route come dizionario dei valori della route e gli attributi HTML come dizionario del collegamento specificato.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome dell'azione.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome della route usato per restituire un percorso virtuale.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome della route usato per restituire un percorso virtuale.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome della route usato per restituire un percorso virtuale.
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome della route usato per restituire un percorso virtuale.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
- Nome del frammento URL (nome dell'ancoraggio).
- Oggetto contenente i parametri per una route.I parametri vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.L'oggetto viene in genere creato usando la sintassi dell'inizializzatore di oggetto.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome della route usato per restituire un percorso virtuale.
- Protocollo per l'URL, ad esempio "http" o "https".
- Nome host per l'URL.
- Nome del frammento URL (nome dell'ancoraggio).
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome della route usato per restituire un percorso virtuale.
- Oggetto contenente i parametri per una route.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Nome della route usato per restituire un percorso virtuale.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento ancoraggio (elemento a) che contiene il percorso virtuale dell'azione specificata.
- Elemento ancoraggio (elemento a).
- Istanza dell'helper HTML estesa da questo metodo.
- Testo interno dell'elemento ancoraggio.
- Oggetto contenente i parametri per una route.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Rappresenta un elemento HTML form in una visualizzazione MVC.
-
-
- Inizializza una nuova istanza della classe utilizzando l'oggetto risposta HTTP specificato.
- Oggetto risposta HTTP.
- Il parametro è null.
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto di visualizzazione specificato.
- Oggetto che incapsula le informazioni necessarie per eseguire il rendering di una visualizzazione.
- Il parametro è null.
-
-
- Rilascia tutte le risorse utilizzate dall'istanza corrente della classe .
-
-
- Rilascia le risorse non gestite e, facoltativamente, quelle gestite utilizzate dalla classe .
- true per rilasciare sia le risorse gestite sia quelle non gestite. false per rilasciare solo le risorse non gestite.
-
-
- Termina il form ed elimina tutte le risorse del form.
-
-
- Ottiene l'ID HTML e gli attributi di nome della stringa .
-
-
- Ottiene l'ID della stringa .
- Valore dell'attributo ID HTML per l'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente l'ID.
-
-
- Ottiene l'ID della stringa .
- Valore dell'attributo ID HTML per l'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente l'ID.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Ottiene l'ID della stringa .
- Valore dell'attributo ID HTML per l'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Ottiene il nome di campo HTML completo per l'oggetto rappresentato dall'espressione.
- Nome di campo HTML completo per l'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente il nome.
-
-
- Ottiene il nome di campo HTML completo per l'oggetto rappresentato dall'espressione.
- Nome di campo HTML completo per l'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente il nome.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Ottiene il nome di campo HTML completo per l'oggetto rappresentato dall'espressione.
- Nome di campo HTML completo per l'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Rappresenta la funzionalità per eseguire il rendering di una visualizzazione parziale come stringa codificata in formato HTML.
-
-
- Esegue il rendering di una visualizzazione parziale specificata come stringa codificata in formato HTML.
- Visualizzazione parziale di cui è stato eseguito il rendering come stringa codificata in formato HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della visualizzazione parziale di cui eseguire il rendering.
-
-
- Esegue il rendering di una visualizzazione parziale specificata come stringa codificata in formato HTML.
- Visualizzazione parziale di cui è stato eseguito il rendering come stringa codificata in formato HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della visualizzazione parziale di cui eseguire il rendering.
- Modello per la visualizzazione parziale.
-
-
- Esegue il rendering di una visualizzazione parziale specificata come stringa codificata in formato HTML.
- Visualizzazione parziale di cui è stato eseguito il rendering come stringa codificata in formato HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della visualizzazione parziale.
- Modello per la visualizzazione parziale.
- Dizionario dei dati di visualizzazione per la visualizzazione parziale.
-
-
- Esegue il rendering di una visualizzazione parziale specificata come stringa codificata in formato HTML.
- Visualizzazione parziale di cui è stato eseguito il rendering come stringa codificata in formato HTML.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della visualizzazione parziale di cui eseguire il rendering.
- Dizionario dei dati di visualizzazione per la visualizzazione parziale.
-
-
- Fornisce supporto per il rendering di una visualizzazione parziale.
-
-
- Esegue il rendering della visualizzazione parziale specificata utilizzando l'helper HTML specificato.
- Helper HTML.
- Nome della visualizzazione parziale.
-
-
- Esegue il rendering della visualizzazione parziale specificata, passando ad essa una copia dell'oggetto corrente, ma con la proprietà Model impostata sul modello specificato.
- Helper HTML.
- Nome della visualizzazione parziale.
- Modello.
-
-
- Esegue il rendering della visualizzazione parziale specificata, sostituendo la proprietà ViewData della visualizzazione parziale con l'oggetto specificato e impostando la proprietà Model dei dati di visualizzazione sul modello specificato.
- Helper HTML.
- Nome della visualizzazione parziale.
- Modello per la visualizzazione parziale.
- Dati di visualizzazione per la visualizzazione parziale.
-
-
- Esegue il rendering della visualizzazione parziale specificata, sostituendo la relativa proprietà ViewData con l'oggetto specificato.
- Helper HTML.
- Nome della visualizzazione parziale.
- Dati della visualizzazione.
-
-
- Rappresenta il supporto per effettuare selezioni in un elenco.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML e il nome del campo del form specificati.
- Elemento HTML select.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML, il nome del campo del form e le voci dell'elenco specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML, il nome del campo del form, le voci dell'elenco e gli attributi HTML specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML, il nome del campo del form, le voci dell'elenco e gli attributi HTML specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML, il nome del campo del form, le voci dell'elenco e un'etichetta di opzione specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML, il nome del campo del form, le voci dell'elenco, un'etichetta di opzione e gli attributi HTML specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML, il nome del campo del form, le voci dell'elenco, un'etichetta di opzione e gli attributi HTML specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione singola utilizzando l'helper HTML, il nome del campo del form e un'etichetta di opzione specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, utilizzando le voci dell'elenco specificate.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando le voci dell'elenco e gli attributi HTML specificati.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando le voci dell'elenco e gli attributi HTML specificati.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, utilizzando le voci dell'elenco e l'etichetta di opzione specificate.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando le voci dell'elenco, l'etichetta di opzione e gli attributi HTML specificati.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando le voci dell'elenco, l'etichetta di opzione e gli attributi HTML specificati.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione specificata.
- Elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente i valori da visualizzare.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione specificata.
- Elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente i valori da visualizzare.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione specificata.
- Elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente i valori da visualizzare.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione specificata.
- Elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente i valori da visualizzare.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione specificata.
- Elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente i valori da visualizzare.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione specificata.
- Elemento HTML select per ogni valore nell'enumerazione rappresentata dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente i valori da visualizzare.
- Testo per una voce vuota predefinita.Questo parametro può essere null.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo del valore.
-
-
- Restituisce un elemento select a selezione multipla utilizzando l'helper HTML e il nome del campo del form specificati.
- Elemento HTML select.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione multipla utilizzando l'helper HTML, il nome del campo del form e le voci dell'elenco specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione multipla utilizzando l'helper HTML, il nome del campo del form, le voci dell'elenco e gli attributi HTML specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento select a selezione multipla utilizzando l'helper HTML, il nome del campo del form e le voci dell'elenco specificati.
- Elemento HTML select con un sottoelemento option per ogni voce nell'elenco.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Il parametro è null o vuoto.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata, utilizzando le voci dell'elenco specificate.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando le voci dell'elenco e gli attributi HTML specificati.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Restituisce un elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando le voci dell'elenco e gli attributi HTML specificati.
- Elemento HTML select per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da visualizzare.
- Insieme di oggetti utilizzati per popolare l'elenco a discesa.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Rappresenta il supporto per i controlli HTML textarea.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML e il nome del campo del form specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML, il nome del campo del form e gli attributi HTML specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML e gli attributi HTML specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML, il nome del campo del form e il contenuto di testo specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Contenuto di testo.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML, il nome del campo del form, il contenuto di testo e gli attributi HTML specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Contenuto di testo.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML, il nome del campo del form, il contenuto di testo, il numero di righe e colonne e gli attributi HTML specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Contenuto di testo.
- Numero di righe.
- Numero di colonne.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML, il nome del campo del form, il contenuto di testo, il numero di righe e colonne e gli attributi HTML specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Contenuto di testo.
- Numero di righe.
- Numero di colonne.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce l'elemento textarea specificato utilizzando l'helper HTML, il nome del campo del form, il contenuto di testo e gli attributi HTML specificati.
- Elemento textarea.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del campo del form da restituire.
- Contenuto di testo.
- Oggetto che contiene gli attributi HTML da impostare per l'elemento.
-
-
- Restituisce un elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione specificata.
- Elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Restituisce un elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando gli attributi HTML specificati.
- Elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Restituisce un elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando gli attributi HTML e il numero di righe e colonne specificati.
- Elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Numero di righe.
- Numero di colonne.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Restituisce un elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando gli attributi HTML e il numero di righe e colonne specificati.
- Elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Numero di righe.
- Numero di colonne.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Restituisce un elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione specificata utilizzando gli attributi HTML specificati.
- Elemento HTML textarea per ogni proprietà nell'oggetto rappresentato dall'espressione.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Dizionario contenente gli attributi HTML da impostare per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
- Il parametro è null.
-
-
- Fornisce supporto per la convalida dell'input da un form HTML.
-
-
- Ottiene o imposta il nome del file di risorse (chiave della classe) che contiene valori stringa localizzati.
- Nome del file di risorse (chiave della classe).
-
-
- Recupera i metadati di convalida per il modello specificato e applica ogni regola al campo dati.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della proprietà o dell'oggetto modello in fase di convalida.
- Il parametro è null.
-
-
- Recupera i metadati di convalida per il modello specificato e applica ogni regola al campo dati.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Visualizza un messaggio di convalida in caso di errore relativo al campo specificato nell'oggetto .
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della proprietà o dell'oggetto modello in fase di convalida.
-
-
- Visualizza un messaggio di convalida in caso di errore relativo al campo specificato nell'oggetto .
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della proprietà o dell'oggetto modello in fase di convalida.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Mostra un messaggio di convalida in caso di errore relativo alla voce specificata nell'oggetto .
- Sarà null se la voce è valida e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Nome della voce sottoposta a convalida.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
-
-
- Visualizza un messaggio di convalida in caso di errore relativo al campo specificato nell'oggetto .
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della proprietà o dell'oggetto modello in fase di convalida.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Mostra un messaggio di convalida in caso di errore relativo alla voce specificata nell'oggetto .
- Sarà null se la voce è valida e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Nome della voce sottoposta a convalida.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
-
-
- Visualizza un messaggio di convalida in caso di errore relativo al campo specificato nell'oggetto .
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della proprietà o dell'oggetto modello in fase di convalida.
- Messaggio da visualizzare se il campo specificato contiene un errore.
-
-
- Visualizza un messaggio di convalida in caso di errore relativo al campo specificato nell'oggetto .
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della proprietà o dell'oggetto modello in fase di convalida.
- Messaggio da visualizzare se il campo specificato contiene un errore.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Mostra un messaggio di convalida in caso di errore relativo alla voce specificata nell'oggetto .
- Sarà null se l'oggetto modello è valido e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Nome dell'oggetto modello sottoposto a convalida.
- Messaggio da visualizzare se la voce specificata contiene un errore.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
-
-
- Visualizza un messaggio di convalida in caso di errore relativo al campo specificato nell'oggetto .
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome della proprietà o dell'oggetto modello in fase di convalida.
- Messaggio da visualizzare se il campo specificato contiene un errore.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
- Mostra un messaggio di convalida in caso di errore relativo alla voce specificata nell'oggetto .
- Sarà null se la voce è valida e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Nome della voce sottoposta a convalida.
- Messaggio da visualizzare se la voce specificata contiene un errore.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
-
-
- Mostra un messaggio di convalida in caso di errore relativo alla voce specificata nell'oggetto .
- Sarà null se la voce è valida e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Nome della voce sottoposta a convalida.
- Messaggio da visualizzare se la voce specificata contiene un errore.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
-
-
- Restituisce il markup HTML per un messaggio di errore di convalida per ogni campo dati rappresentato dall'espressione specificata.
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce il markup HTML per un messaggio di errore di convalida per ogni campo dati rappresentato dall'espressione specificata usando il messaggio specificato.
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Messaggio da visualizzare se il campo specificato contiene un errore.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce il markup HTML per un messaggio di errore di convalida per ogni campo dati rappresentato dall'espressione specificata, usando il messaggio e gli attributi HTML specificati.
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Messaggio da visualizzare se il campo specificato contiene un errore.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce il markup HTML per un messaggio di errore di convalida per l'espressione specificata.
- Sarà null se l'oggetto modello è valido e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Messaggio da visualizzare in caso di errore di convalida.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce il markup HTML per un messaggio di errore di convalida per ogni campo dati rappresentato dall'espressione specificata, usando il messaggio e gli attributi HTML specificati.
- Stringa vuota se la proprietà o l'oggetto è valido. In caso contrario, elemento span che contiene un messaggio di errore.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Messaggio da visualizzare se il campo specificato contiene un errore.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce il markup HTML per un messaggio di errore di convalida per l'espressione specificata.
- Sarà null se l'oggetto modello è valido e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Messaggio da visualizzare in caso di errore di convalida.
- Oggetto che contiene gli attributi HTML per l'elemento.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce il markup HTML per un messaggio di errore di convalida per l'espressione specificata.
- Sarà null se l'oggetto modello è valido e la convalida lato client è disabilitata.In caso contrario, un elemento contenente un messaggio di errore.
- Istanza dell'helper HTML usata da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà di cui eseguire il rendering.
- Messaggio da visualizzare in caso di errore di convalida.
- Tag da impostare per l'elemento HTML di wrapping del messaggio di convalida.
- Tipo del modello.
- Tipo della proprietà.
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto .
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto e visualizza facoltativamente solo errori a livello di modello.
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HTML estesa da questo metodo.
- true per avere la visualizzazione riepilogativa solo degli errori a livello di modello o false per avere la visualizzazione riepilogativa di tutti gli errori.
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto e visualizza facoltativamente solo errori a livello di modello.
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HTML estesa da questo metodo.
- true per avere la visualizzazione riepilogativa solo degli errori a livello di modello o false per avere la visualizzazione riepilogativa di tutti gli errori.
- Messaggio da visualizzare con il riepilogo di convalida.
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto e visualizza facoltativamente solo errori a livello di modello.
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HTML estesa da questo metodo.
- true per avere la visualizzazione riepilogativa solo degli errori a livello di modello o false per avere la visualizzazione riepilogativa di tutti gli errori.
- Messaggio da visualizzare con il riepilogo di convalida.
- Dizionario contenente gli attributi HTML per l'elemento.
-
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto e visualizza facoltativamente solo errori a livello di modello.
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HTML estesa da questo metodo.
- true per avere la visualizzazione riepilogativa solo degli errori a livello di modello o false per avere la visualizzazione riepilogativa di tutti gli errori.
- Messaggio da visualizzare con il riepilogo di convalida.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto .
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HMTL estesa da questo metodo.
- Messaggio da visualizzare se il campo specificato contiene un errore.
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto .
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HTML estesa da questo metodo.
- Messaggio da visualizzare se il campo specificato contiene un errore.
- Dizionario contenente gli attributi HTML per l'elemento.
-
-
-
- Restituisce un elenco non ordinato (elemento ul) di messaggi di convalida inclusi nell'oggetto .
- Stringa che contiene un elenco non ordinato (elemento ul) di messaggi di convalida.
- Istanza dell'helper HTML estesa da questo metodo.
- Messaggio da visualizzare se il campo specificato contiene un errore.
- Oggetto che contiene gli attributi HTML per l'elemento.
-
-
-
-
- Fornisce un meccanismo per la creazione di markup HTML personalizzato compatibile con i modelli e gli strumenti di associazione di modelli ASP.NET MVC.
-
-
- Fornisce un meccanismo per la creazione di markup HTML personalizzato compatibile con i modelli e gli strumenti di associazione di modelli ASP.NET MVC.
- Markup HTML per il valore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello.
-
-
- Fornisce un meccanismo per la creazione di markup HTML personalizzato compatibile con i modelli e gli strumenti di associazione di modelli ASP.NET MVC.
- Markup HTML per il valore.
- Istanza dell'helper HTML estesa da questo metodo.
- Nome del modello.
- Stringa del formato.
-
-
- Fornisce un meccanismo per la creazione di markup HTML personalizzato compatibile con i modelli e gli strumenti di associazione di modelli ASP.NET MVC.
- Markup HTML per il valore.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da esporre.
- Modello.
- Proprietà.
-
-
- Fornisce un meccanismo per la creazione di markup HTML personalizzato compatibile con i modelli e gli strumenti di associazione di modelli ASP.NET MVC.
- Markup HTML per il valore.
- Istanza dell'helper HTML estesa da questo metodo.
- Espressione che identifica l'oggetto contenente le proprietà da esporre.
- Stringa del formato.
- Modello.
- Proprietà.
-
-
- Fornisce un meccanismo per la creazione di markup HTML personalizzato compatibile con i modelli e gli strumenti di associazione di modelli ASP.NET MVC.
- Markup HTML per il valore.
- Istanza dell'helper HTML estesa da questo metodo.
-
-
- Fornisce un meccanismo per la creazione di markup HTML personalizzato compatibile con i modelli e gli strumenti di associazione di modelli ASP.NET MVC.
- Markup HTML per il valore.
- Istanza dell'helper HTML estesa da questo metodo.
- Stringa del formato.
-
-
- Compila le visualizzazioni ASP.NET Razor nelle classi.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Direttiva da ereditare.
-
-
- Direttiva modello.
-
-
- Estende la classe VBCodeParser aggiungendo il supporto per la parola chiave @model.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Imposta un valore che indica se il modello e il blocco di codice correnti devono essere ereditati.
- true se il modello e il blocco di codice vengono ereditati. In caso contrario, false.
-
-
- Direttiva tipo di modello.
- Restituisce void.
-
-
- Configura il generatore di codice e il parser ASP.NET Razor per un file specificato.
-
-
- Inizializza una nuova istanza della classe .
- Percorso virtuale del file ASP.NET Razor.
- Percorso fisico del file ASP.NET Razor.
-
-
- Restituisce il generatore di codice Razor specifico del linguaggio ASP.NET MVC.
- Generatore di codice Razor specifico del linguaggio ASP.NET MVC.
- Generatore di codice C# o Visual Basic.
-
-
- Restituisce il parser di codice Razor specifico del linguaggio ASP.NET MVC utilizzando il parser del linguaggio specificato.
- Parser di codice Razor specifico del linguaggio ASP.NET MVC.
- Parser di codice C# o Visual Basic.
-
-
-
-
- Crea istanze di in base alle factory e all'azione specificate.Le voci della route offrono il routing diretto all'azione specificata.
- Insieme di voci della route.
- Descrittore dell'azione.
- Factory della route diretta.
- Resolver del vincolo.
-
-
- Recupera un insieme di factory della route per il descrittore dell'azione specificato.
- Insieme di factory della route.
- Descrittore dell'azione.
-
-
- Recupera il prefisso dell'area dal controller specificato.
- Prefisso dell'area o null.
- Descrittore del controller.
-
-
- Crea istanze di in base alle factory, al controller e alle azioni specificati.Le voci della route offrono il routing diretto al controller specificato e possono raggiungere l'insieme di azioni specificate.
- Insieme di voci della route.
- Descrittore del controller.
- Descrittori dell'azione.
- Factory della route diretta.
- Resolver del vincolo.
-
-
- Ottiene le factory della route per il descrittore del controller specificato.
- Insieme di factory della route.
- Descrittore del controller.
-
-
- Ottiene route dirette per il descrittore del controller specificato in base agli attributi .
- Insieme di voci della route.
- Descrittore del controller.
- Descrittori dell'azione per tutte le azioni.
- Resolver del vincolo.
-
-
- Recupera il prefisso della route dal controller specificato.
- Prefisso della route o null.
- Descrittore del controller.
-
-
- Implementazione predefinita di .Risolve i vincoli mediante l'analisi di una chiave del vincolo e di argomenti del vincolo, utilizzando una mappa per risolvere il tipo di vincolo e chiamando un costruttore appropriato per tale tipo.
-
-
-
- Ottiene il dizionario modificabile che esegue il mapping delle chiavi del vincolo su un tipo di vincolo specifico.
-
-
-
- Rappresenta un contesto che supporta la creazione di una route diretta.
-
-
- Inizializza una nuova istanza della classe .
- Prefisso della route, se presente, definito dall'area.
- Prefisso della route, se presente, definito dal controller.
- Descrittori delle azioni per i quali creare una route.
- Resolver di vincoli inline.
- Valore che indica se la route è stata configurata a livello di azione o di controller.
-
-
- Ottiene i descrittori delle azioni per i quali creare una route.
- Descrittori delle azioni per i quali creare una route.
-
-
- Ottiene il prefisso della route, se presente, definito dall'area.
- Prefisso della route, se presente, definito dall'area.
-
-
- Ottiene il prefisso della route, se presente, definito dal controller.
- Prefisso della route, se presente, definito dal controller.
-
-
- Crea un compilatore di route che può generare una route corrispondente a questo contesto.
- Compilatore di route che può generare una route corrispondente a questo contesto.
- Modello di route.
-
-
- Crea un compilatore di route che può generare una route corrispondente a questo contesto.
- Compilatore di route che può generare una route corrispondente a questo contesto.
- Modello di route.
- Resolver di vincoli inline da utilizzare, se presente. In caso contrario null.
-
-
- Ottiene il resolver di vincoli inline.
- Resolver di vincoli inline.
-
-
- Ottiene un valore che indica se la route è stata configurata a livello di azione o di controller.
- true se la route è stata configurata a livello di azione. In caso contrario, false se la route è stata configurata a livello di controller.
-
-
- Definisce un compilatore che crea route dirette verso le azioni (route di attributi).
-
-
- Ottiene i descrittori delle azioni per i quali creare una route.
- Descrittori delle azioni per i quali creare una route.
-
-
- Crea una voce di route basata sui valori di proprietà correnti.
- Voce di route creata.
-
-
- Ottiene o imposta i vincoli della route.
- Vincoli della route.
-
-
- Ottiene o imposta i token di dati della route.
- Token di dati della route.
-
-
- Ottiene o imposta i valori predefiniti della route.
- Valori predefiniti route.
-
-
- Ottiene o imposta il nome della route.
- Nome della route, o null se non è stato fornito alcun nome.
-
-
- Ottiene o imposta l'ordine della route.
- Ordine della route.
-
-
- Ottiene o imposta la precedenza della route.
- Precedenza della route.
-
-
- Ottiene un valore che indica se la route è stata configurata a livello di azione o di controller.
- true se la route è stata configurata a livello di azione. In caso contrario, false se la route è stata configurata a livello di controller.
-
-
- Ottiene o imposta il modello di route.
- Modello di route.
-
-
- Definisce una factory che crea una route direttamente per un set di descrittori delle azioni (la route di un attributo).
-
-
- Crea una voce della route diretta.
- Voce della route diretta.
- Contesto da utilizzare per creare la route.
-
-
- Definisce un provider per route che fanno direttamente riferimento a descrittori di azioni (route di attributo).
-
-
- Recupera le route dirette per un controller.
- Insieme di voci della route per il controller.
- Descrittore del controller.
- Descrittori dell'azione.
- Resolver di vincoli inline.
-
-
- Definisce un'astrazione per la risoluzione dei vincoli inline come istanze di .
-
-
- Risolve il vincolo inline.
-
- in cui il vincolo inline è stato risolto.
- Vincolo inline da risolvere.
-
-
- Fornisce informazioni per creare un oggetto System.Web.Routing.Route.
-
-
- Ottiene il modello di route che descrive il modello di URI in base al quale stabilire la corrispondenza.
- Modello di route che descrive il modello di URI in base al quale stabilire la corrispondenza.
-
-
- Ottiene il nome della route da generare.
- Nome della route da generare.
-
-
- Definisce un prefisso di route.
-
-
- Ottiene il prefisso della route.
- Prefisso della route.
-
-
- Crea istanze basate sulle informazioni sulla route.
-
-
- Inizializza una nuova istanza della classe utilizzando il resolver di vincoli inline predefinito.
-
-
- Inizializza una nuova istanza della classe .
-
- da utilizzare per la risoluzione dei vincoli inline.
-
-
- Crea un oggetto per un'azione specifica.
- Oggetto generato.
- Modello da utilizzare per la route in formato token.
- Metodi HTTP supportati dalla route.Un valore null specifica che sono supportati tutti i metodi possibili.
- Nome del controller associato.
- Nome dell'azione associata.
- Il metodo su cui è stato applicato l'attributo della route.
-
-
- Crea un oggetto per un'azione specifica.
- Route generata.
- Modello da utilizzare per la route in formato token.
- Controller su cui è stato applicato l'attributo della route.
-
-
- Crea un oggetto .
- Oggetto generato.
- Valori predefiniti route.
- Vincoli della route.
- Modello di route non in formato token.
- Il metodo su cui è stato applicato l'attributo della route.
-
-
- Ottiene il resolver per la risoluzione dei vincoli inline.
- Resolver per la risoluzione dei vincoli inline.
-
-
- Rappresenta una route denominata.
-
-
- Inizializza una nuova istanza della classe .
- Nome della route.
- Route.
-
-
- Ottiene il nome della route.
- Nome della route, se presente. In caso contrario null.
-
-
- Ottiene la route.
- Route.
-
-
- Rappresenta la route di un attributo che può contenere vincoli personalizzati.
-
-
- Inizializza una nuova istanza della classe .
- Modello di route.
-
-
- Ottiene i vincoli della route.
- Vincoli della route, se presenti. In caso contrario null.
-
-
- Crea una voce della route diretta.
- Voce della route diretta.
- Contesto da utilizzare per creare la route.
-
-
- Ottiene i token di dati della route.
- Token di dati della route, se presenti. In caso contrario null.
-
-
- Ottiene i valori predefiniti della route.
- Valori predefiniti della route, se presenti. In caso contrario null.
-
-
- Ottiene o imposta il nome della route.
- Nome della route, se presente. In caso contrario null.
-
-
- Ottiene o imposta l'ordine della route.
- Ordine della route.
-
-
- Ottiene il modello di route.
- Modello di route.
-
-
- Vincola un parametro di route affinché contenga solo lettere minuscole o maiuscole dalla A alla Z dell'alfabeto inglese.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Vincola un parametro di route affinché rappresenti solo valori booleani.
-
-
-
-
- Vincola una route mediante più vincoli figlio.
-
-
- Inizializza una nuova istanza della classe .
- Vincoli figlio che devono corrispondere per la corrispondenza di questo vincolo.
-
-
- Ottiene i vincoli figlio che devono corrispondere per la corrispondenza di questo vincolo.
- Vincoli figlio che devono corrispondere per la corrispondenza di questo vincolo.
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Vincola un parametro di route affinché rappresenti solo valori .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Vincola un parametro di route affinché rappresenti solo valori decimali.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Vincola un parametro di route affinché rappresenti solo i valori a virgola mobile a 64 bit.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Vincola un parametro di route affinché rappresenti solo i valori a virgola mobile a 32 bit.
-
-
-
-
- Vincola un parametro di route affinché rappresenti solo valori .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Vincola un parametro di route affinché rappresenti solo i valori a virgola mobile a 32 bit.
-
-
-
-
- Vincola un parametro di route affinché sia una stringa di una determinata lunghezza oppure la cui lunghezza rientra in un intervallo di lunghezze specifico.
-
-
-
- Inizializza una nuova instanza della classe che vincola il parametro affinché sia una stringa di una determinata lunghezza.
- Lunghezza minima del parametro di route.
- Lunghezza massima del parametro di route.
-
-
- Ottiene la lunghezza del parametro di route, se impostata.
-
-
-
- Ottiene la lunghezza massima del parametro di route, se impostata.
-
-
- Ottiene la lunghezza minima del parametro di route, se impostata.
-
-
- Vincola un parametro di route affinché rappresenti solo i valori a virgola mobile a 64 bit.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Vincola un parametro di route affinché sia una stringa con una lunghezza massima.
-
-
-
-
- Ottiene la lunghezza massima del parametro di route.
-
-
- Vincola un parametro di route affinché sia un numero intero con un valore minimo.
-
-
- Inizializza una nuova istanza della classe .
- Valore massimo.
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Ottiene il valore massimo del parametro di route.
- Valore massimo del parametro di route.
-
-
- Vincola un parametro di route affinché sia una stringa con una lunghezza massima.
-
-
- Inizializza una nuova istanza della classe .
- Lunghezza minima.
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del confronto.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Ottiene la lunghezza minima del parametro di route.
- Lunghezza minima del parametro di route.
-
-
- Vincola un parametro di route affinché sia un long con un valore minimo.
-
-
- Inizializza una nuova istanza della classe .
- Valore minimo.
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Ottiene il valore minimo del parametro di route.
- Valore minimo del parametro di route.
-
-
- Vincola una route mediante un vincolo interno che non restituisce un errore quando un parametro opzionale viene impostato sul relativo valore predefinito.
-
-
- Inizializza una nuova istanza della classe .
- Vincolo interno con cui stabilire una corrispondenza se il parametro non è un parametro opzionale senza un valore.
-
-
- Ottiene il vincolo interno con cui stabilire una corrispondenza se il parametro non è un parametro opzionale senza un valore.
-
-
-
- Vincola un parametro di route affinché sia un numero intero che rientra un determinato intervallo di valori.
-
-
- Inizializza una nuova istanza della classe .
- Valore minimo.
- Valore massimo.
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Ottiene il valore massimo del parametro di route.
- Valore massimo del parametro di route.
-
-
- Ottiene il valore minimo del parametro di route.
- Valore minimo del parametro di route.
-
-
- Vincola un parametro di route affinché corrisponda a un'espressione regolare.
-
-
- Inizializza una nuova istanza della classe con il modello specificato.
- Modello con cui stabilire una corrispondenza.
-
-
- Determina se questa istanza è uguale a una route specificata.
- true se l'istanza è uguale a una route specificata. In caso contrario, false.
- Contesto HTTP.
- Route da confrontare.
- Nome del parametro.
- Elenco di valori di parametro.
- Direzione della route.
-
-
- Ottiene il modello di espressione regolare con cui stabilire la corrispondenza.
- Modello di espressione regolare con cui stabilire la corrispondenza.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.Razor.3.2.3/Microsoft.AspNet.Razor.3.2.3.nupkg b/packages/Microsoft.AspNet.Razor.3.2.3/Microsoft.AspNet.Razor.3.2.3.nupkg
deleted file mode 100644
index fbadbb9..0000000
Binary files a/packages/Microsoft.AspNet.Razor.3.2.3/Microsoft.AspNet.Razor.3.2.3.nupkg and /dev/null differ
diff --git a/packages/Microsoft.AspNet.Razor.3.2.3/lib/net45/System.Web.Razor.dll b/packages/Microsoft.AspNet.Razor.3.2.3/lib/net45/System.Web.Razor.dll
deleted file mode 100644
index 6089cb3..0000000
Binary files a/packages/Microsoft.AspNet.Razor.3.2.3/lib/net45/System.Web.Razor.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.Razor.3.2.3/lib/net45/System.Web.Razor.xml b/packages/Microsoft.AspNet.Razor.3.2.3/lib/net45/System.Web.Razor.xml
deleted file mode 100644
index c88ee13..0000000
--- a/packages/Microsoft.AspNet.Razor.3.2.3/lib/net45/System.Web.Razor.xml
+++ /dev/null
@@ -1,5742 +0,0 @@
-
-
-
- System.Web.Razor
-
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a Razor code language that is based on C# syntax.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the type of the code provider.
- The type of the code provider.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a new Razor code generator based on C# code language.
- The newly created Razor code generator based on C# code language.
- The class name for the generated code.
- The name of the root namespace for the generated code.
- The name of the source code file.
- The Razor engine host.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a new code parser for C# code language.
- The newly created code parser for C# code language.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the name of the C# code language.
- The name of the C# code language. Value is ‘csharp’.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents results from code generation.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- true if the code generation is a success; otherwise, false.
- The document.
- The parser errors.
- The generated code.
- The dictionary of design-time generated code mappings.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The document.
- The parser errors.
- The generated code.
- The dictionary of design-time generated code mappings.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The parser results.
- The generated code.
- The dictionary of design-time generated code mappings.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the dictionary of design-time generated code mappings.
- The dictionary of design-time generated code mappings.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the generated code.
- The generated code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the results of parsing a Razor document.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- true if parsing was successful; otherwise, false.
- The root node in the document’s syntax tree.
- The list of errors which occurred during parsing.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The root node in the document’s syntax tree.
- The list of errors which occurred during parsing.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the root node in the document’s syntax tree.
- The root node in the document’s syntax tree.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the list of errors which occurred during parsing.
- The list of errors which occurred during parsing.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value indicating whether parsing was successful.
- true if parsing was successful; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- Represents the base for all Razor code language.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- Initializes a new instance of the class.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- Gets the type of the CodeDOM provider.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- The type of the CodeDOM provider.
-
-
- Creates the code generator for the Razor code language.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- The code generator for the Razor code language.
- The class name.
- The name of the root namespace.
- The source file name.
- The Razor engine host.
-
-
- Creates the code parser for the Razor code language.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- The code parser for the Razor code language.
-
-
- Gets the language of the Razor code using the specified file extension.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- The language of the Razor code.
- The file extension.
-
-
- Gets the language name of the current Razor code, that is “csharp” or “vb”.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- The language name of the current Razor code.
-
-
- Gets the list of language supported by the Razor code.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- The list of language supported by the Razor code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents an attribute for the Razor directive.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The name of the attribute.
- The value of the attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether this instance is equal to a specified object.
- true if the object is equal to the this instance; otherwise, false.
- The object to compare with this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the hash code for this instance.
- The hash code for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the name of the attribute.
- The name of the attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the unique type ID of the attribute.
- The unique type ID of the attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the value of the attribute.
- The value of the attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parser used by editors to avoid reparsing the entire document on each text change.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Constructs the editor parser.
- The which defines the environment in which the generated code will live.
- The physical path to use in line pragmas.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines if a change will cause a structural change to the document and if not, applies it to the existing tree. If a structural change would occur, automatically starts a reparse.
- A value indicating the result of the incremental parse.
- The change to apply to the parse tree.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current parse tree.
- The current parse tree.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Releases all resources used by the current instance of the .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Releases the unmanaged resources used by the class and optionally releases the managed resources.
- true to release both managed and unmanaged resources; false to release only unmanaged resources.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Event fired when a full reparse of the document completes.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the filename of the document to parse.
- The filename of the document to parse.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves the auto complete string.
- The auto complete string.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the host for the parse.
- The host for the parse.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value indicating whether the last result of the parse was provisionally accepted for next partial parse.
- true if the last result of the parse was provisionally accepted for next partial parse; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the generated code for the razor engine host.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The specified code language.
-
-
- Initializes a new instance of the class.
- The specified code language.
- The markup parser factory.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the languages supported by the code generator.
- The languages supported that by the code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a markup parser using the specified language parser for the .
- A markup parser to create using the specified language parser for the .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the methods as language-specific Razor code generator.
- The methods as language-specific Razor code generator.
- The C# or Visual Basic code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the methods as language-specific Razor code parser using the specified language parser.
- The methods as language-specific Razor code parser using the specified language parser.
- The C# or Visual Basic code parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the method to decorate markup parser using the specified language parser.
- The method to decorate markup parser using the specified language parser.
- The C# or Visual Basic code parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the default base class for the host.
- The default base class for the host.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the default class name for the host.
- The default class name for the host.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the default namespace for the host.
- The default namespace for the host.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value that indicates whether the mode designs a time for the host.
- true if the mode designs a time for the host; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the host that enables the instrumentation.
- The host that enables the instrumentation.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the generated class context for the host.
- The generated class context for the host.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the instrumented source file path for the host.
- The instrumented source file path for the host.
-
-
- Gets or sets whether the design time editor is using tabs or spaces for indentation.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the namespace imports for the host.
- The namespace imports for the host.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns this method to post all the processed generated code for the host.
- The code compile unit.
- The generated namespace.
- The generated class.
- The execute method.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns this method to post all the processed generated code for the host.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the static helpers for the host.
- The static helpers for the host.
-
-
- Tab size used by the hosting editor, when indenting with tabs.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents an entry-point to the Razor Template Engine.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The host.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a code generator.
- The created .
- The name of the generated class.
- The namespace in which the generated class will reside.
- The file name to use in line pragmas.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a .
- The created .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the default class name of the template.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the default namespace for the template.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
- The resulting parse tree AND generated Code DOM tree.
- The input text to parse.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
- The resulting parse tree AND generated Code DOM tree.
- The input text to parse.
- A token used to cancel the parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
- The resulting parse tree AND generated Code DOM tree.
- The input text to parse.
- The name of the generated class, overriding whatever is specified in the host.
- The namespace in which the generated class will reside.
- The file name to use in line pragmas.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
- The resulting parse tree AND generated Code DOM tree.
- The input text to parse.
- The name of the generated class, overriding whatever is specified in the host.
- The namespace in which the generated class will reside.
- The file name to use in line pragmas.
- A token used to cancel the parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
- The resulting parse tree AND generated Code DOM tree.
- The input text to parse.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
- The resulting parse tree AND generated Code DOM tree.
- The input text to parse.
- A token used to cancel the parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
- The resulting parse tree AND generated Code DOM tree.
- The input text to parse.
- The name of the generated class, overriding whatever is specified in the host.
- The namespace in which the generated class will reside.
- The file name to use in line pragmas.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
- The resulting parse tree AND generated Code DOM tree.
- The input text to parse.
- The name of the generated class, overriding whatever is specified in the host.
- The namespace in which the generated class will reside.
- The file name to use in line pragmas.
- A token used to cancel the parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a code core.
- The results of the generated core.
- The input text to parse.
- The name of the generated class, overriding whatever is specified in the host.
- The namespace in which the generated class will reside.
- The file name to use in line pragmas.
- A token used to cancel the parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the which defines the environment in which the generated template code will live.
- The which defines the environment in which the generated template code will live.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer and returns its result.
- The resulting parse tree.
- The input text to parse.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer and returns its result.
- The resulting parse tree.
- The input text to parse.
- A token used to cancel the parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer and returns its result.
- The resulting parse tree.
- The input text to parse.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer and returns its result.
- The resulting parse tree.
- The input text to parse.
- A token used to cancel the parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template core.
- The resulting parse tree.
- The input text to parse.
- A token used to cancel the parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the state of the machine.
- The generic type Return.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the current state of the machine.
- The current state of the machine.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the starting state of the machine.
- The starting state of the machine.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Stays into the machine during the transition.
- Transition of the state machine.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Stays into the machine during the transition with the specified output.
- The output of the transition.
- The output.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Disables the machine upon transition.
- The machine to stop.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the new transition of the state.
- The new transition of the state.
- The new state.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the new transition of the state with the specified output.
- The new transition of the state with the specified output.
- The output.
- The new state.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Describes the turning process of the state.
- The turning process of the state.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the state result.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The next output.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The output.
- The next state.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value indicating whether the state has output.
- true if the state has output; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the next state in the machine.
- The next state in the machine.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the output.
- The representing the output.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a language generator and provider of the VB razor code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the type of CodeDomProvider.
- The type of CodeDomProvider.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates the code language generator.
- The code language generator.
- The name of the class.
- The root namespace name.
- The source File name.
- The .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a code parser in a .
- A code parser in a .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the language name.
- The language name.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the editing result of the Editor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The partial parse result.
- The edited span builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the edited span of the .
- The edited span of the .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the partial parse result.
- The partial parse result.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides edit handler for implicit expression.
-
-
- Initializes a new instance of the class.
- The tokenizer.
- The keywords.
- true to accept trailing dot; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value indicating whether the expression accepts trailing dot.
- true if the expression accepts trailing dot; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the parse that can accept change.
- The partial parse result.
- The target.
- The normalized change.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether the specified object is equal to the current object.
- true if the specified object is equal to the current objet; otherwise, false.
- The object to compare to.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves the hash code for this current instance.
- The hash code for this current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the keywords associated with the expression.
- The keywords associated with the expression.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of this current instance.
- A string representation of this current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the handler editor for this webpages.
-
-
- Initializes a new instance of the class.
- The tokenizer symbols.
-
-
- Initializes a new instance of the class.
- The tokenizer symbols.
- The accepted characters.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Provides methods for handling the span edits.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The method used to parse string into tokens.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The method used to parse string into tokens.
- One of the values of the enumeration.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets a value that specifies the accepted characters.
- One of the values of the enumeration.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Applies the text change to the span.
- The result of the apply operation.
- The span to apply changes to.
- The change to apply.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Applies the text change to the span.
- The result of the apply operation.
- The span to apply changes to.
- The change to apply.
- true to accept partial result; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the span can accept the specified change.
- true if the span can accept the specified change; otherwise, false.
- The span to check.
- The change to apply.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a new default span edit handler.
- A newly created default span edit handler.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a new default span edit handler.
- A newly created default span edit handler.
- The method used to parse string into tokens.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the editor hints.
- The editor hints.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether this instance is equal to a specified object.
- true if the object is equal to the this instance; otherwise, false.
- The object to compare with this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the hash code for this instance.
- The hash code for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the old text from the span content.
- The old text from the span content.
- The span to get old text from.
- The text change which contains the location of the old text.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified change is at the end of first line of the span content.
- true if the specified change is at the end of first line of the span content; otherwise, false.
- The span to check.
- The change to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified change is at the end of the span.
- true if the specified change is at the end of the span; otherwise, false.
- The span to check.
- The change to chek.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified change is at the end the span content and for deletion.
- true if the specified change is at the end the span content and for deletion; otherwise, false.
- The span to check.
- The change to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified change is at the end the span content and for insertion.
- true if the specified change is at the end the span content and for insertion; otherwise, false.
- The span to check.
- The change to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified change is at the end the span content and for replacement.
- true if the specified change is at the end the span content and for replacement; otherwise, false.
- The span to check.
- The change to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the span owns the specified change.
- true if the span owns the specified change; otherwise, false.
- The span to check.
- The change to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the method used to parse string into tokens.
- The method used to parse string into tokens.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation of the span edit handler.
- The string representation of the span edit handler.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Updates the span using the normalized change.
- The new span builder for the specified target.
- The span to update.
- The normalized change.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the added import code generator for the razor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The string namespace.
- The length of the keyword namespace.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether two object instances are equal.
- true if the specified object is equal to the current object; otherwise, false.
- The object to compare with the current object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code with the specified parameters using the added import code generator.
- The target span.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
- The hash code for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the string namespace of the generator to add import code generator.
- The string namespace of the generator to add import code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the length of keyword namespace for the code generator.
- The length of keyword namespace for the code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string that represents the current object.
- A string that represents the current object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the attributes of the block code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The name.
- The prefix string.
- The suffix string.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
- true if the specified object is equal to the current object; otherwise, false.
- The object to compare with the current object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code to end the block using the specified parameters.
- The target block.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code to start the block using the specified parameters.
- The target block.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this code generator.
- The hash code for this code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the string name of the .
- The string name of the .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the prefix of the code generator.
- The prefix of the code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the suffix for the code generator.
- The suffix for the code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string that represents the current object.
- A string that represents the current object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represent the block code generator for this razor syntax.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
- true if the specified object is equal to the current object; otherwise, false.
- The object to compare with the current object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the end of the block code generator for this razor syntax.
- The target block.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the start of the block code generator for this razor syntax.
- The target block.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a hash code for the block code generator.
- A hash code for the block code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a null value for the block code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the completion of event arguments for the code generation.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The virtual path string.
- The physical path string.
- The generated code compile unit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the generated code to complete the event argument.
- The generated code to complete the event argument.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the physical path for the code generation.
- The physical path for the code generation.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the virtual path of the code generation.
- The virtual path of the code generation.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents the context of the code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds a new generated code mapping to the collection.
- The collection index of the newly added code mapping.
- The source location of the generated code mapping.
- The code start of the generated code mapping.
- The length of the generated code mapping.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds a code statement for a context call on the specified method.
- The content span.
- The name of the method to invoke a context call.
- true to specify that the method parameter is literal; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds a code statement that inserts the Razor design time helpers method in the specified code statement.
- The code statement that receives the code insertion.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds the specified code statement to the body of the target method.
- The code statement to add the target method.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds the specified code statement to the body of the target method.
- The code statement to add the target method.
- The line pragma.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Appends the specified fragment to the current buffered statement.
- The fragment to add.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Appends the specified fragment to the current buffered statement.
- The fragment to add.
- The source span for the .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Appends the content of the span to the current buffered statement.
- The source span whose content is to be added.
-
-
- Assigns a new statement collector and returns a disposable action that restores the old statement collector.
- A disposable action that restores the old statement collector.
- The new statement collector.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the dictionary collection of generated code mapping.
- The dictionary collection of generated code mapping.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the code compile unit that will hold the program graph.
- The code compile unit that will hold the program graph.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a new instance of the class.
- The newly created instance of the code generator context.
- The Razor engine host.
- The class name for the generated class type declaration.
- The name for the generated namespace declaration.
- The source file.
- true to enable the generation of line pragmas; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the current buffered statement.
- The current buffered statement.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds the expression helper variable to the generated class if not yet added,
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Flushes the current buffered statement.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the generated class type declaration.
- The generated class type declaration.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the line pragma for the specified source.
- The line pragma for the specified source.
- The source span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the line pragma for the source.
- The line pragma for the specified source.
- The source span.
- The start index of code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the line pragma for the source.
- The line pragma for the specified source.
- The source span.
- The start index of code.
- The length of code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the line pragma for the source.
- The line pragma for the specified source.
- The source location.
- The start index of code.
- The length of code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the Razor engine host.
- The Razor engine host.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Marks the end of generated code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Marks the start of generated code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the generated namespace declaration.
- The generated namespace declaration.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the source file.
- The source file.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the generated member method.
- The generated member method.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the name of text writer.
- The name of text writer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a Razor code generator for C# language.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The class name for the generated class type declaration.
- The name for the generated namespace declaration.
- The source file.
- The Razor engine host.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes the context for this code generator.
- The context for this code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the dynamic attributes of the block code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instances of the class.
- The prefix.
- The offset values.
- The line values.
- The col.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instances of the class.
- The string prefix.
- The value start.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
- true if the specified object is equal to the current object; otherwise, false.
- The object to compare with the current object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code to end the block using the specified parameters.
- The target block.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code to start the block using the specified parameters.
- The target block.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
- The hash code for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the namespace prefix of the code generator.
- The namespace prefix of the code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string that represents the current object.
- A string that represents the current object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the value start for the dynamic attribute block code generator.
- The value start for the dynamic attribute block code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a code generator for expression.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether this instance and a specified object are equal.
- true if and this instance are the same type and represent the same value; otherwise, false.
- The object to compare with the current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code for the expression.
- The source span whose content represents an expression.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the end code for the block.
- The target block for the end code generation.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the start code for the block.
- The target block the start code generation.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
- The hash code for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the string representation of this instance.
- The string representation of this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a generated class context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The execute method name.
- The write method name.
- Write literal method name.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- Execute method name.
- Write method name.
- Write literal method name.
- Write to method name.
- Write literal to method name.
- Template type name.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- Execute method name.
- Write method name.
- Write literal method name.
- Write to method name.
- Write literal to method name.
- Template type name.
- Define section method name.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- Execute method name.
- Write method name.
- Write literal method name.
- Write to method name.
- Write literal to method name.
- Template type name.
- Define section method name.
- Begin context method name.
- End context method name.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value indicating whether the context allows sections.
- true if the context allows sections; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value indicating whether the context allows templates.
- true if the context allows templates; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method before the generated context.
- The name of the method before the generated context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the default generated context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the default name of the execute method.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the default name of the layout property.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the default name of the write attribute method.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the default name of the write to attribute to method.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Specifies the default name of the write literal method.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Specifies the default name of the write method.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method that defines the section of the context.
- The name of the method that defines the section of the context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method after the generated context.
- The name of the method after the generated context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
- true if the specified object is equal to the current object; otherwise, false.
- The object to compare to.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method that will be invoked on the context.
- The name of the method that will be invoked on the context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this current instance.
- The hash code for this current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the property name for the layout.
- The property name for the layout.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two object are equal.
- true if the two object are equal; otherwise, false.
- The first object to compare.
- The second object to compare.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two object are not equal.
- true if the two object are not equal; otherwise, false.
- The first object to compare.
- The second object to compare.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method that resolves a Url for the context.
- The name of the method that resolves a Url for the context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value indicating whether the generated class supports instrumentation.
- true if the generated class supports instrumentation; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the type name for the template.
- The type name for the template.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method that writes an attribute.
- The name of the method that writes an attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method where to write an attribute.
- The name of the method where to write an attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method where to write literal for the context.
- The name of the method where to write literal for the context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method where to write literal for the context.
- The name of the method where to write literal for the context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method that will write on the context.
- The name of the method that will write on the context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method that will write on the context.
- The name of the method that will write on the context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the generated code mapping objects.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The starting line.
- The starting column.
- The start generated column.
- The code length.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The start offset.
- The starting line.
- The starting column.
- The start generated column.
- The code length.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the length of the generated map codes.
- The length of the generated map codes.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current generated code mapping object.
- true if the specified object is equal to the current generated code mapping object; otherwise, false.
- The object to compare with the current object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for the generated code mapping object.
- The hash code for the generated code mapping object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two specified generated code mapping objects have the same value.
- true if the two specified generated code mapping objects have the same value; otherwise, false.
- The left generated code mapping objects.
- The right generated code mapping objects.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two specified generated code mapping objects have different values.
- true the two specified generated code mapping objects have different values; otherwise, false.
- The right generated code mapping objects.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the starting column of the generated code maps.
- The starting column of the generated code maps.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the starting column of a generated code maps in the generated source file.
- The starting column of a generated code maps in the generated source file.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the starting line of the generated code maps.
- The starting line of the generated code maps.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the starting offset of the generated code maps.
- The starting offset of the generated code maps.
-
-
- Returns a string that represents the current object.
- A string that represents the current object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a helper code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The signature.
- true to complete the header; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
- true if the specified object is equal to the current object; otherwise, false.
- The object to compare to.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the footer for this code.
- The footer for this code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a block after the code.
- The block to generate.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a block before the code.
- The block to generate.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the hash code for the current instance.
- The hash code for the current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value indicating whether the header for this code is complete.
- true if the header for this code is complete; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the signature for this code.
- The signature for this code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of the current instance.
- A string representation of the current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a hybrid code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code for the data model from switches identified by parameters.
- The target object.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates an end block code.
- The target object.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the start block code.
- The target object.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the for the webpages.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the end block code for the razor.
- The target block.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the start block code for the razor.
- The target block.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a phase of the code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code for the data model with the specified target and context.
- The target object.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a code generator for literal attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. . Initializes a new instance of the class.
- The prefix of the literal attribute.
- The value of the literal attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. . Initializes a new instance of the class.
- The prefix of the literal attribute.
- The value generator for the literal attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this instance.
- true if the specified object is equal to this instance; otherwise, false.
- The object to compare to this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the code for the literal attribute.
- The source span whose content represents the literal attribute.
- The context of the code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the hash code for the current instance.
- The hash code for the current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the prefix of the literal attribute.
- The prefix of the literal attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation of this instance.
- The string representation of this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the value of the literal attribute.
- The value of the literal attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the value generator for the literal attribute.
- The value generator for the literal attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a code generator for markup.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this instance.
- true if the specified object is equal to this instance; otherwise, false.
- The object to compare to this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the code for the markup.
- The source span whose content represents the markup.
- The context of the code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the hash code for this instance.
- The hash code for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation for this instance.
- The string representation for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a Razor code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The class name.
- The root namespace name.
- The source file name.
- The host.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the class name for this code.
- The class name for this code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the context of this code generator.
- The context of this code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value indicating whether the code generator is in design-time mode.
- true if the code generator is in design-time mode; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value indicating whether the generator should generate line pragmas in the Razor code.
- true if the generator should generate line pragmas in the Razor code; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the razor engine host.
- The razor engine host.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes the current instance.
- The context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Raises the Complete event.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the root namespace.
- The name of the root namespace.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the source file.
- The name of the source file.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the end block.
- The block to visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the span.
- The span to visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the start block.
- The block to visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the razor comment code generator for the webpages.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the start block code with the specified parameters.
- The target block.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a code generator for Razor directive attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The name of the directive attribute.
- The value of the directive attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this instance.
- true if the specified object is equal to this instance; otherwise, false.
- The object to compare to this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the code for the directive attribute.
- The source span whose content represents the directive attribute to generate.
- The context of the code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the hash code for this instance.
- The hash code for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the name of the directive attribute.
- The name of the directive attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation for this instance.
- The string representation for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the value of the directive attribute.
- The value of the directive attribute.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the resolve Url code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether this instance and a specified object are equal.
- true if and this instance are the same type and represent the same value; otherwise, false.
- The object to compare with the current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code for the Url.
- The target object.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
- The hash code for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the fully qualified type name of this instance.
- The fully qualified type name.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a section code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The name of the section code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
- true if the specified object is equal to the current object; otherwise, false.
- The object to compare to.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a block after the section code.
- The target to generate.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a block before the section code.
- The target to generate.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves the hash code for this current instance.
- The hash code for this current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the section.
- The name of the section.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of this current instance.
- A string representation of this current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a code generator for set base type.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The set base type.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the set base type.
- The set base type.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this instance.
- true if the specified object is equal to this instance; otherwise, false.
- The object to compare to this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the code for this set base type.
- The source span that contains the set base type to generate code.
- The context of the code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the hash code for this current instance.
- The hash code for this current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Resolves the given set base type.
- The resolved set base type.
- The context of the code generator.
- The set base type to resolve.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation for this instance.
- The string representation for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a code generator that sets layout for the web Razor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The layout path.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
- true if the specified object is equal to the current object; otherwise, false.
- The object to compare to.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a layout code.
- The target where to generate the code.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves a hash code for this current instance.
- A hash code for this current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the path of the layout code.
- The path of the layout code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of this current instance.
- A string representation of this current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the conversion of the SetVBOptionCodeGenerator of the value.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The option name.
- true if the object has a value; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Converts the explicitly to the on and off value.
- The explicitly converts to the on and off value.
- true if the converts to on and off value; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the explicit code Dom option name.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code for the specified parameters.
- The target.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the option name for the code generator.
- The option name for the code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Strictly converts the to the on and off value.
- The strictly converts to the on and off value.
- true if the strictly converts to the on and off value; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the strict code Dom option name.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a String that represents the current Object.
- A String that represents the current Object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether the has a value.
- true if the has a value; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the span code generator for the razor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
- true if the specified object is equal to the current object; otherwise, false.
- The object to compare with the current object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a code for the specified target and context parameters.
- The target span.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a hash code for the span code generator.
- A hash code for the span code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a null value for the span code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a code generator for the statement.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this instance.
- true if the specified object is equal to this instance; otherwise, false.
- The object to compare to this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the code for the statement.
- The span source whose content contains the statement to generate.
- The context of the code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the hash code for this current instance.
- The hash code for this current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation for this instance.
- The string representation for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the template block code generator of the razor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code to end the block of the template block code generator.
- The target block.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code to start the block for the template block code generator.
- The target block.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a type member code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
- true if the specified object is equal to the current object; otherwise, false.
- The object to compare to.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code with a given target and context.
- The target where to generate the code.
- The code generator context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves the hash code for this current instance.
- The hash code for this current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of this code.
- A string representation of this code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the razor code generator for VB.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The name of the class.
- The root namespace.
- The file name of the asset source.
- The host.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a visitor that executes a callback upon the completion of a visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The delegate for the span visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The delegate for the span visit.
- The delegate for the error visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The delegate for the span visit.
- The delegate for the error visit.
- The delegate for the start block visit.
- The delegate for the end block visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The delegate for the span visit.
- The delegate for the error visit.
- The delegate for the start block visit.
- The delegate for the end block visit.
- The delegate to execute for the complete event.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the synchronization context for this callback visitor.
- The synchronization context for this callback visitor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Executes the visitor callback to visit the end block.
- The end block to visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Executes the visitor callback to visit the error.
- The Razor error to visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Executes the visitor callback to visit the span.
- The span to visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Executes the visitor callback to visit the start block.
- The start block to visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a C sharp code parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parser accepts the ‘IF’ keyword.
- true if the parser accepts the ‘IF’ keyword; otherwise, false.
- The keyword to accept.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Asserts a directive code.
- The directive code to assert.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code contains ‘AT’ keyword.
- true if the code contains ‘AT’ keyword; otherwise, false.
- The keyword.
-
-
- Indicates the base type directive.
- The no type name error.
- The create code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the functions directive.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the code that handles embedded transition.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a helper directive.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates which class the application will derive the view from, and can therefore ensure proper type checking.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Inherits a directive core.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code is at embedded transition.
- true if the code is at embedded transition; otherwise, false.
- true to allow templates and comments; otherwise, false.
- true to allow transitions; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value that indicates whether the code is nested.
- true if the code is nested; otherwise, false.
-
-
- Indicates whether the lines and comments is spacing token.
- The function that indicates the spacing token.
- true to include new lines; otherwise, false.
- true to include comments; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the C sharp language keywords.
- The C sharp language keywords.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the specific language for parsing.
- The specific language for parsing.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the layout directive.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Maps the given directives.
- The handler.
- The directives.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the other parser used for the code.
- The other parser used for the code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Spans the output of the parsing before the comment.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Blocks the parsing.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the reserved directive.
- Determines whether the directive is a top level.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a section directive.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a session state directive.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the session state directive core.
-
-
- Indicates the directive for session state type.
- The no value error.
- The create code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a directive handler.
- true if successful; otherwise, false.
- The directive.
- The handler.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the value of the session state is valid.
- true if the value of the session state is valid; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the block for this CSharpCode parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The string name.
- The start of the source location.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The CSharp symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the string name for the block.
- The string name for the block.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the source location to start the block.
- The source location to start the block.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the different language characteristics in a CSharp language.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a marker symbol in the code.
- A marker symbol in the code.
- The source location.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a symbol in the code.
- A symbol in the code.
- The source location.
- The content value.
- The html symbol type.
- List of errors.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a language tokenizer.
- A language tokenizer.
- The source of the text document.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Flips the bracket symbol in the code.
- The bracket symbol in the code.
- The symbol bracket.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the keyword in the code.
- The keyword in the code.
- The keyword.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the in the code.
- The in the code.
- The .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a sample symbol in the code.
- A sample symbol in the code.
- The .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a sample symbol in the code.
- A sample symbol in the code.
- The .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the instance for the class.
- The instance for the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the different language characteristics in an html.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a marker symbol in the Html.
- A marker symbol in the Html.
- The source location.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a symbol in the Html.
- A symbol in the Html.
- The source location.
- The content value.
- The html symbol type.
- List of errors.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates an html tokenizer.
- An html tokenizer.
- The source of the text document.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Flips the bracket symbol in the html.
- The bracket symbol in the html.
- The symbol bracket.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the in the html.
- The in the html.
- The .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a sample symbol in the html.
- A sample symbol in the html.
- The .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the instance for the class.
- The instance for the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a parser specifically for parsing HTML markup.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Builds the span for the given content using the specified span builder.
- The span builder used to build the span.
- The start location.
- The span content.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the function delegate used to determine the token used for HTML spacing.
- The function delegate used to determine the token used for HTML spacing.
- true to indicate that new lines are considered as spacing token; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the instance that defines the characteristics of HTML language.
- The instance that defines the characteristics of HTML language.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the other parser for parsing HTML markup.
- The other parser for parsing HTML markup.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Builds the span before the Razor comment.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Parses the next HTML block.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Parses the HTML document.
-
-
- Parses a section with markups given by the nesting sequences.
- A tuple that specifies the markup nesting sequences.
- true to indicate case-sensitive parsing; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Skips the parse until the specified condition is meet.
- A function delegate that defines the condition.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Skips the parse until the specified HTML symbol type is encountered.
- The HTML symbol type.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the HTML tags that are considered as void.
- The HTML tags that are considered as void.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Provides methods that define the behavior of a Razor code language.
- The type of the code tokenizer for the Razor language.
- The type for the language symbol.
- The enumeration type for the language symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a code language symbol with the specified source location as the start marker.
- The symbol for the code language.
- The source location as the start marker.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a code language symbol with the specified source location with the specified source location as the start marker.
- The symbol for the code language.
- The source location as the start marker.
- The content.
- The enumeration type for the language symbol.
- The collection of error.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a Razor code language tokenizer for the specified source document.
- A Razor code language tokenizer for the specified source document.
- The source document.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the opposite bracket symbol for the specified bracket symbol.
- The opposite bracket symbol for the specified bracket symbol.
- The bracket symbol to flip.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the specific language symbol type for the given symbol type.
- The specific language symbol type for the given symbol type.
- The symbol type to get.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the actual symbol for the given language symbol type.
- The actual symbol for the given language symbol type.
- The language symbol type to get.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is a comment body type.
- true if the symbol is a comment body type; otherwise, false.
- The symbol to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is a comment star type.
- true if the symbol is a comment star type; otherwise, false.
- The symbol to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is a comment start type.
- true if the symbol is a comment start type; otherwise, false.
- The symbol to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is an identifier type.
- true if the symbol is an identifier type; otherwise, false.
- The symbol to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is a keyword type.
- true if the symbol is a keyword type; otherwise, false.
- The symbol to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol type is a known symbol type.
- true if the symbol type is a known symbol type; otherwise, false.
- The symbol whose type is to be checked.
- The known type of the symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is a new line type.
- true if the symbol is a new line type; otherwise, false.
- The symbol to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is a transition type.
- true if the symbol is a transition type; otherwise, false.
- The symbol to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is an unknown type.
- true if the symbol is an unknown type; otherwise, false.
- The symbol to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is a whitespace type.
- true if the symbol is a whitespace type; otherwise, false.
- The symbol to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is an unknown type.
- true if the symbol is an unknown type; otherwise, false.
- The known type of the symbol.
-
-
- Splits the content of the code language symbol at the specified index.
- A tuple of code language symbol.
- The symbol whose content is to be splitted.
- The index where the split occurs.
- The enumeration type for the language symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Splits the specified string into tokens.
- The collection of token.
- The string to tokenize.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Splits the specified string into tokens.
- The collection of token.
- The source location as the start marker for the tokenizer.
- The string to tokenize.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the parser base class for the razor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Builds a span for the parser base.
- The span builder.
- The beginning of the source location.
- The content.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the .
- The .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether the parser is a markup parser.
- true if the parser is a markup parser; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the other parser .
- The other parser .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Blocks the parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates documentation for the parse.
-
-
- Parses the section in ordered list of the elements.
- The pair of nesting sequences.
- true if the case is sensitive; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a parser whose context can be switched to either a code or a markup.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The source document.
- The code parser for the context.
- The markup parser for the context.
- The active parser for the context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the active parser for the context.
- The active parser for the context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds the specified span at the end of the block builder stack.
- The span to add.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the code parser for the context.
- The code parser for the context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Parses the last span and returns the parse results that contain the newly built block.
- The parse results that contain the newly built block.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the current block builder.
- The current block builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the current character available from the source.
- The current character available from the source.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets a value that indicates whether the parser is in design mode.
- true if the parser is in design mode; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates an end block from the last item of the block builder stack.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets a value that indicates whether the source status is end of file.
- true if the source status is end of file; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the list of errors during parsing.
- The list of errors.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified block type exists in the block builder list.
- true if the specified block type exists in the block builder list; otherwise, false.
- The block type to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the last accepted characters.
- One of the values of the enumeration.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the last span.
- The last span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the markup parser for the context.
- The markup parser for the context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Occurs when parse encountered error.
- The source location.
- The error message.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Occurs when parse encountered an error.
- The source location.
- The error message.
- The other information about the source location.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the text reader for the source document.
- The text reader for the source document.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds a new block builder at the end of the block builder stack and returns a disposable action that returns an end block.
- A disposable action that returns an end block.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds a new block builder at the end of the block builder stack and returns a disposable action that returns an end block.
- A disposable action that returns an end block.
- The type for the new block builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Alternately switches the code parser or markup parser as the active parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets a value that indicates whether white space is significant to ancestor block.
- true is white space is significant to ancestor block; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Provides helper methods for the parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a spacing combining mark or a non-spacing mark.
- true if the specified character value is a spacing combining mark or a non-spacing mark; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a connector punctuation.
- true if the specified character value is a connector punctuation; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a decimal digit number.
- true if the specified character value is a decimal digit number; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is valid for use in email address.
- true if the specified character value is valid for use in email address; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is used for formatting text layout or formatting text operation.
- true if the specified character value is used for formatting text layout or formatting text operation.; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a hexadecimal digit number.
- true if the specified character is a hexadecimal digit number; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified string value is an identifier.
- true if the specified string value is an identifier; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified string value is an identifier.
- true if the specified string value is an identifier; otherwise, false.
- The value to check.
- true to require that the identifier starts with a letter or underscore (_); otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is valid for use in identifier.
- true if the specified character is valid for use in identifier; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is valid for use as start character of an identifier.
- true if the specified character value is valid for use as start character of an identifier; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a letter.
- true if the specified character is a letter; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a letter or a decimal digit number.
- true if the specified character is a letter or a decimal digit number; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified value is a newline.
- true if the specified character is a newline; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified value is a newline.
- true if the specified character is a newline; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a terminating character token.
- true if the specified character value is a terminating character token; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a terminating quoted string.
- true if the specified character value is a terminating quoted string; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a whitespace.
- true if the specified character value is a whitespace; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a whitespace or newline.
- true if the specified character value is a whitespace or newline; otherwise, false.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Sanitizes the specified input name to conform as a valid value for class name.
- The sanitized class name.
- The value to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a parser visitor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the cancellation token.
- The cancellation token.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates that a visitor method has completed execution.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the specified block.
- The block to visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the specified black after parsing.
- The block to visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the given razor error.
- The error to visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the specified span.
- The span to visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the specified block before parsing.
- The block to visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides extension methods for parser visitor.
-
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a Razor parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The code parser.
- The markup parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a task that parses a specified object.
- The created .
- The object to parse.
- The span callback.
- The error callback.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a task that parses a specified object.
- The created .
- The object to parse.
- The span callback.
- The error callback.
- The cancellation token.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a task that parses a specified object.
- The created .
- The object to parse.
- The span callback.
- The error callback.
- The context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a task that parses a specified object.
- The created .
- The object to parse.
- The span callback.
- The error callback.
- The context.
- The cancellation token.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a task that parses a specified object.
- The created .
- The object to parse.
- The consumer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the design time mode.
- The design time mode.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the specified object.
- The parser result.
- The object to parse.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the specified object.
- The object to parse.
- The visitor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the specified object.
- The parser result.
- The object to parse.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the specified object.
- The parser result.
- The object to parse.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the specified object.
- The object to parse.
- The visitor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a tokenizer backed parser.
- The type of tokenizer.
- The type of symbol.
- The type of SymbolType.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the list of symbols
- The list of symbols.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the specified symbol.
- The symbol to accept.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parser accepts all types of tokenizer.
- true of the parser accepts all types of tokenizer; otherwise, false.
- The types.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parser accepts and moves to the next tokenizer.
- true if the parser accepts and moves to the next tokenizer; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parser accepts single whitespace character.
- true if the parser accepts single whitespace character; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts token until a token of the given type is found.
- The type of the token.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts token until a token of the given type is found and it will backup so that the next token is of the given type.
- The type of the first token.
- The type of the second token.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the given tokens until a token of the given type is found.
- The type of the first token.
- The type of the second token.
- The type of the third token.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts token until a token of the given types is found.
- The types of the token.
-
-
- Accepts token while the condition has been reached.
- The condition.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the token while a token of the given type is not found.
- The type of the token.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts token while the token of the given type has been reached.
- The type of the first token.
- The type of the second token.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts token while the token of the given type has been reached.
- The type of the first token.
- The type of the second token.
- The type of the third token.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts token while the token of the given types has been reached.
- The types.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parser accepts whitespace in lines.
- true if the parser accepts whitespace in lines; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds a marker symbol if necessary.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds a marker symbol if necessary.
- The location where to add the symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the token is at the specified type.
- true if the token is at the specified type; otherwise, false.
- The type.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the token is at the specified identifier.
- true if the token is at the specified identifier; otherwise, false.
- true to allow keywords; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parsing is balance.
- true if the parsing is balance; otherwise, false.
- The balancing mode.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parsing is balance.
- true if the parsing is balance; otherwise, false.
- The balancing mode.
- The left parse.
- The right parse.
- The start of the mode.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Builds a specified span.
- The span to build.
- The start location to build the span.
- The content of the span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Configures the span.
- The configuration.
-
-
- Configures the span.
- The configuration.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current location of the current instance.
- The current location of the current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current symbol of this instance.
- The current symbol of this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value indicating whether the tokenizer is in the end of file.
- true if the tokenizer is in the end of file; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether to ensure the current parser.
- true if to ensure the current parser; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the expected token with the given type.
- The type.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the expected token with the given types.
- The types.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Handles the embedded transition.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a specified span.
- The span to initialize.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether this instance is at embedded transition.
- true if this instance is at embedded transition; otherwise, false.
- true to allow templates and comments; otherwise, false.
- true to allow transitions; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the language used for parsing.
- The language used for parsing.
-
-
- Determines whether the token with the given condition would pass.
- true if the token with the given condition would pass; otherwise, false.
- The condition.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the token with the given type would pass.
- true if the token with the give type would pass; otherwise, false.
- The type of the token.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the token with the given types would pass.
- true if the token with the given types would pass; otherwise, false.
- The types.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parser advances to the next token.
- true if the parser advances to the next token; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether parsing a token with the given type is optional.
- true if parsing a token with the given type is optional; otherwise, false.
- The type of the token.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether parsing a token with the given type is optional.
- true if parsing a token with the given type is optional; otherwise, false.
- The type of the token.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Outputs a token with accepted characters.
- The accepted characters.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Outputs a token with span kind.
- The span kind.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Outputs a token with a given span kind and accepted characters.
- The span kind.
- The accepted characters.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Outputs a span before the razor comment.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code..Gets the previous symbol of this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Pushes the span configuration.
- An that shuts down the configuration.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Pushes the span configuration.
- An that shuts down the configuration.
- The new configuration.
-
-
- Pushes the span configuration.
- An that shuts down the configuration.
- The new configuration.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Puts the transition back.
- The symbols.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Puts the transition back.
- The symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Puts the current transition back.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Displays the razor comment.
-
-
- Reads a token while the condition is not reached.
- The token to read.
- The condition.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the expected token is required.
- true if the expected token is required; otherwise, false.
- The expected token.
- true to display an error if not found; otherwise, false.
- The error base.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the associated with this instance.
- The associated with this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the span configuration.
- The span configuration.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the tokenizer.
- The tokenizer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the token with the given type was parsed.
- true if the token with the given type was parsed; otherwise, false.
- The type of the token.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a Visual Basic code parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts spaces in the VB code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Checks for a condition and displays a keyword in the code.
- The keyword.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Asserts the given directive.
- The directive to assert.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the directive is ‘AT’ directive.
- true if the directive is an ‘AT’ directive; otherwise, false.
- The directive.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the given keyword is ‘AT’.
- true if the given keyword is ‘AT’; otherwise, false.
- The keyword.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Ends a terminated directive.
- The function that ends the terminated directive.
- The directive.
- The block type.
- The code generator.
- true to allow markup; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the termination of directive body is ended.
- true if the termination of directive body is ended; otherwise, false.
- The directive.
- The block start.
- true to allow all transitions; otherwise, false.
-
-
- Ends a termination of statement.
- The function that ends the termination.
- The keyword.
- true if the termination supports exit; otherwise, false.
- true if the termination supports continue; otherwise, false.
-
-
- Ends a termination of statement.
- The function that ends the termination.
- The keyword.
- true if the termination supports exit; otherwise, false.
- true if the termination supports continue; otherwise, false.
- The block name.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Handles the embedded transition.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Handles the embedded transition.
- The last white space.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the code that handles the Exit or Continue keyword.
- The keyword.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a code that handles a transition.
- The last white space.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether the code is a helper directive.
- true if the code is a helper directive; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code imports a statement.
- true if the code imports a statement; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code inherits a statement.
- true if the code inherits a statement; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code is at embedded transition.
- true if the code is at embedded transition; otherwise, false.
- true to allow templates and comments; otherwise, false.
- true to allow transitions; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code is directive defined.
- true if the code is directive defined; otherwise, false.
- The directive.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the keywords associated with the code.
- The keywords associated with the code.
-
-
- Indicates a keyword that terminates a statement.
- The function that terminates the statement.
- The start.
- The terminator.
- true if the termination supports exit; otherwise, false.
- true if the termination supports continue; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the language for the parser.
- The language for the parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code is a layout directive.
- true if the code is a layout directive; otherwise, false.
-
-
- Maps a given directive.
- The directive.
- The action whether to map a given directive.
-
-
- Maps a given keyword.
- The keyword.
- The action whether to map a given keyword.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a nested block.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the keyword from the code is optional.
- true if the keyword from the code is optional; otherwise, false.
- The keyword.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code is an option statement.
- true if the code is an option statement; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the other parser.
- The other parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the parser block.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the parser block.
- The start sequence.
- The end sequence.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Spans the output before Razor comment.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Blocks the parsing.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Reads a list of Visual Basic spaces.
- A list of Visual Basic spaces.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the expected symbol is required.
- true if the expected symbol is required; otherwise, false.
- The expected symbol.
- The error base.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code is a reserved word.
- true if the code is a reserved word; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code is a section directive.
- true if the code is a section directive; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code has a session state directive.
- true if the code has a session state directive; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the characteristics of the Visual Basic language.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a Visual Basic marker symbol.
- The created Visual Basic marker symbol.
- The location to create the symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a Visual Basic symbol.
- The created .
- The location to create the symbol.
- The content.
- The type of the symbol.
- The errors.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a Visual Basic tokenizer.
- The created .
- The source where to create the tokenizer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Flips the given bracket.
- The type of the Visual Basic symbol.
- The bracket to flip.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves the type of the known symbol.
- The type of the known symbol.
- The type to retrieve.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a sample symbol with the given type.
- A sample symbol with the given type.
- The type of the symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets an instance of this .
- An instance of .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the auto-complete editing handler class.
-
-
- Initializes a new instance of the class.
- The tokenizer.
-
-
- Initializes a new instance of the class.
- The tokenizer.
- The accepted characters.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value that indicates whether the auto-complete function is at the end of this span.
- true if the auto-complete function is at the end of this span; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a string value to auto-complete.
- A string value to auto-complete.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a parse result that can accept changes.
- The phase of the target.
- The normalized .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether this instance and a specified object are equal.
- true if and this instance are the same type and represent the same value; otherwise, false.
- The object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
- A 32-bit signed integer that is the hash code for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the fully qualified type name of this instance.
- A String containing a fully qualified type name.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the block for creating webpages.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The source for the block builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the parser visitor of the block.
- The parser visitor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a collection of SyntaxTreeNode to view the children of the block.
- A collection of SyntaxTreeNode to view the children of the block.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the IBlockCodeGenerator to generate codes for the elements.
- The IBlockCodeGenerator to generate codes for the elements.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current block.
- true if the specified object is equal to the current block; otherwise, false.
- The object to compare with the current object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a value indicating whether the block is equivalent to the same element.
- true if the block is equivalent to the same element; otherwise, false.
- The syntax tree node.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Finds the first descendent span of the block.
- The first descendent span of the block.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Finds the last descendent span of the block.
- The last descendent span of the block.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Flattens a collection of a specified type for the block.
- A collection of a specified type for the block to flatten.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
- The hash code for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether the object is a block-level object.
- true if the object is a block-level object; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the length value of the block.
- The length value of the block.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Locates the owner of the block.
- The owner of the block to locate.
- The text change.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the string name of the block.
- The string name of the block.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the start to identify the specific location of the block.
- The start to identify the specific location of the block.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string that represents the current object.
- A string that represents the current object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the type of code block.
- The type of code block.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the block builder for the webpages.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The original block builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Builds a block for this instance.
- A block builds for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the collection of child elements of the block builder.
- The collection of child elements of the block builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the code generator for the block builder.
- The code generator for the block builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the string name for the block builder.
- The string name for the block builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Resets the block builder to its original position.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a block type that can be assigned null.
- A block type that can be assigned null.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a parsing error in Razor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The error message.
- The absolute index of the source location.
- The line index of the source location.
- The column index of the source location.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The error message.
- The absolute index of the source location.
- The line index of the source location.
- The column index of the source location.
- The length for the error.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The error message.
- The source location of the error.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The error message.
- The source location of the error.
- The length for the error.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this instance.
- true if the specified object is equal to this instance; otherwise, false.
- The object to compare to this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this instance.
- true if the specified object is equal to this instance; otherwise, false.
- The object to compare to this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the hash code for the current instance.
- The hash code for the current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the length for the error.
- The length for the error.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the source location of the error.
- The source location of the error.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the error message.
- The error message.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation of this error instance.
- The string representation of this error instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a Razor parse tree node that contains the all the content of a block node.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The builder to use for this span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Accepts visit from the specified visitor.
- The object that performs the visit.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Changes the span builder for this span.
- A delegate that will be executed along with this change.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Sets the start character location of this span.
- The new start location to set for this span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the code generator for the span.
- The code generator for the span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the content of the span.
- The content of the span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the handler for span edits.
- The handler for span edits.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this span.
- true if the specified object is equal to this span; otherwise, false.
- The object to compare to this span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified node is equivalent to this span.
- true if the specified node is equal to this span; otherwise, false.
- The node to compare with this span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the hash code for this current span.
- The hash code for this current span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets a value that indicates whether this node is a block node.
- false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the kind for this span.
- One of the values of the enumeration.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the length of the span content.
- The length of the span content.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the next span in the tree node.
- The next span in the tree node.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the previous span in the tree node.
- The previous span in the tree node.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Replaces the span builder for this span with the specified span builder.
- The new builder to use for this span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the start character location of the span.
- The start character location of the span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the symbols used to generate the code for the span.
- The symbols used to generate the code for the span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation of this current span.
- The string representation of this current span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the span builder for the syntax tree.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The original span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the given symbol for the span builder.
- The symbol builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Builds a span builder for this instance.
- A span builder for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Clears the symbols of the span builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the span code generator.
- The span code generator.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the span edit handler of the builder.
- The span edit handler of the builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the span kind of the span builder.
- The span kind of the span builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Resets the span builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the source location of the span builder.
- The source location of the span builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the symbols for a generic read-only collection.
- The symbols for a generic read-only collection.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the node for the syntax tree.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the visitor of the tree node.
- The parser visitor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether the syntax tree node is equivalent to given node.
- true the syntax tree node is equivalent to given node; false.
- The given node.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether the syntax tree node is a block-level object.
- true if the syntax tree node is a block-level object; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the length of the syntax tree node.
- The length of the syntax tree node.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the parent tree node of the current tree node.
- The parent tree node of the current tree node.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the specific source location for the syntax tree node.
- The specific source location for the syntax tree node.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Provides a lookahead buffer for the text reader.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The text reader for the buffer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Begins the lookahead buffering operation for this .
- A disposable action that ends the lookahead buffering.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Discards the backtrack context associated the lookahead buffering operation.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the current character in the buffer.
- The current character in the buffer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the current location of the character in the buffer.
- The current location of the character in the buffer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Releases the unmanaged resources used by the current instance of this class, and optionally releases the managed resources.
- true to release both managed and unmanaged resources; false to release only unmanaged resources.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Reads the next character from the text reader and appends it to the lookahead buffer.
- true if a character was read from the text reader; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Advances the buffer position to the next character.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the current character in the buffer.
- The current character in the buffer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the current character from the buffer and advances the buffer position to the next character.
- The current character from the buffer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a location tagged.
- The type of the location tagged.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The value of the source.
- The offset.
- The line.
- The column location of the source.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The value of the source.
- The location of the source.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
- true if the specified object is equal to the current object; otherwise, false.
- The object to compare to.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for the current instance.
- The hash code for the current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the location of the source.
- The location of the source.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two object are equal.
- true if the two object are equal; otherwise, false.
- The first object to compare.
- The second object to compare.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Converts the specified value to a object.
- true if successfully converted; otherwise, false.
- The value to convert.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two object are not equal.
- true if the two object are not equal; otherwise, false.
- The first object to compare.
- The second objet to compare.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of the current instance.
- The string that represents the current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of the current instance.
- A string that represents the current instance.
- The format.
- The format provider.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the value of the source.
- The value of the source.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the token to look for the razor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The action to cancel.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the token.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Releases the resources used by the current instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Releases the unmanaged resources used by the and optionally releases the managed resources.
- true to release both managed and unmanaged resources; false to release only unmanaged resources.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a reader
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The source reader.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The string content.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The text buffering.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the length of the text to read.
- The length of the text to read.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the source of location for the text reader.
- The source of location for the text reader.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Reads the next character without changing the state of the reader or the character source.
- An integer representing the next character to be read.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the position to seek the text reader.
- The position to seek the text reader.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Reads the next character from the text reader and advances the character position by one character.
- The next character from the text reader, or -1 if no more characters are available.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a source location.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The absolute index.
- The line index.
- The character index.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the absolute index for the source location.
- The absolute index for the source location.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds the two object.
- The sum of the two object.
- The first object to add.
- The second object to add.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Advances the specified object to the given location.
- The source location.
- The location where to advance the object.
- The text that advances to the given location.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the character index for the source location.
- The character index for the source location.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Compares current object to the other object.
- The value of the objects compared.
- The object to compare.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
- true if the specified object is equal to the current object; otherwise, false.
- The object to compare to.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the current object is equal to the other object.
- true if the current object is equal to the other object; otherwise, false.
- The object to compare to.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
- The hash code for this instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the line index for the source location.
- The line index for the source location.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds the two object.
- The that is the sum of the two object.
- The object to add.
- The object to add.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two objects are equal.
- true if the two objects are equal; otherwise, false.
- The first object to compare.
- The second object to compare.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the first object is greater than the second object.
- true if the first object is greater than the second object; otherwise, false.
- The first object.
- The second object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two object are not equal.
- true if the two objects are not equal; otherwise, false.
- The object to compare.
- The object to compare.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the first object is less than the second object.
- true if the first object is greater than the second object; otherwise, false.
- The first object.
- The second object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- Returns .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Subtracts the first object to the second object.
- The difference of the two objects.
- The first object.
- The second object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of the source location.
- A string representation of the source location.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides a source location tracker.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The current location of the source.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Calculates the new location of the source.
- The new source location.
- The last position.
- The new content.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the current location of the source.
- The current location of the source.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Updates the source location.
- The character to read.
- The character to update.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Updates the location of the source.
- The object.
- The content of the source.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides a reader for text buffer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The text buffer to read.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Begins reading the current text buffer.
- An instance that stops the text buffer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Cancels backtrack.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current location of the text buffer.
- The current location of the text buffer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Releases the unmanaged resources used by the class and optionally releases the managed resources.
- true to release both managed and unmanaged resources; false to release only unmanaged resources.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the next text buffer to read.
- The next text buffer to read.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Reads the current text buffer.
- The current text buffer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Describes a text change operation.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The position of the text change in the snapshot immediately before the change.
- The length of the old text.
- An old text buffer.
- The position of the text change in the snapshot immediately after the change.
- The length of the new text.
- A new text buffer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Applies the specified text change.
- A string that contains the value of the text.
- The content of the text.
- The change offset.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Applies the specified text change.
- A string that contains the value of the text.
- The span of the text change.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
- true if the specified object is equal to the current object; otherwise, false.
- The object to compare to.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the hash code for this text change.
- The hash code for this text change.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether this text change is a delete.
- true if this text change is a delete; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether this text change is an insert.
- true if this text change is an insert; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether this text change is a replace.
- true if this text change is a replace; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a new text buffer.
- A new text buffer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the length of the new text.
- The length of the new text.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the position of the text change in the snapshot immediately after the change.
- The position of the text change in the snapshot immediately after the change.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the text that replaced the old text.
- The text that replaced the old text.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a normalized value of this text change.
- A normalized value of this text change.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets an old text buffer.
- An old text buffer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the length of the old text.
- The length of the old text.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the position of the text change in the snapshot immediately before the change.
- The position of the text change in the snapshot immediately before the change.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the text that was replaced.
- The text that was replaced.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two text change are equal.
- true if the two text change are equal; otherwise, false.
- The left text change.
- The right text change.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two text change are not equal.
- true if the two text change are not equal; otherwise, false.
- The left text change.
- The right text change.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of the text change.
- A string representation of the text change.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides reader for text document.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The source to read.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the length of the document.
- The length of the document.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the location of the document.
- The location of the document.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the next text document to read.
- The next text document to read.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the position of the text document.
- The position of the text document.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Reads a specified text document.
- The text document.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides helper functions for the CSharp tokenizer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified character can be used for identifier.
- true if the specified character can be used for identifier; otherwise, false.
- The character to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified character can be used as an identifier start character.
- true if the specified character can be used as an identifier start character; otherwise, false.
- The character to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified character is a literal suffix for real numbers.
- true if the specified character is a literal suffix for real numbers; otherwise, false.
- The character to check.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a CSharp tokenizer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The source.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a CSharp tokenizer symbol.
- A CSharp tokenizer symbol.
- The beginning of the source location.
- The contents.
- The CSharp symbol type.
- A collection of razor errors.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the star type of the .
- The star type of the .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the razor comment transition type for the .
- The razor comment transition type for the .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the razor comment type for the .
- The razor comment type for the .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the state of the machine.
- The state of the machine.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the html tokenizer of the razor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The source for the text document.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a symbol for the specified parameters of the html tokenizer.
- A symbol to create for the specified parameters of the html tokenizer.
- The source location.
- The content string.
- The type of html symbol.
- The razor errors.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the html symbols for the razor comment star type.
- The html symbols for the razor comment star type.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the html symbols for the razor comment transition type.
- The html symbols for the razor comment transition type.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the html symbols for the razor comment type.
- The html symbols for the razor comment type.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the start of the state machine for the html.
- The start of the state machine for the html.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- The type for the language symbol.
- The enumeration type for the language symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The source.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a result after the razor comment transition.
- The result.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the lookahead buffer contains the expected string.
- true if the lookahead buffer contains the expected string; otherwise, false.
- The string to check.
- true to indicate comparison is case sensitive; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the buffer for the tokenizer.
- The buffer for the tokenizer.
-
-
- Returns a function delegate, that accepts a character parameter and returns a value that indicates whether the character parameter is equal to specified character or white space.
- A function delegate.
- The character used to compare.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a language symbol type for the tokenizer with the specified content.
- A language symbol type for the tokenizer.
- The start of the source location.
- The content value.
- The symbol type.
- The razor error.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current character in the tokenizer.
- The current character.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a list of the current razor errors.
- A list of the current errors.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current source location.
- The current source location.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current start of the source location.
- The current start of the source location.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value whether the tokenizer current location is at the end of the file.
- true if the tokenizer current location is at the end of the file; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the language end symbol type used by the tokenizer.
- The language end symbol type.
- The start of the source location.
- The enumeration type for the language symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the language end symbol type used by the tokenizer.
- The language end symbol type.
- The enumeration type for the language symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value whether the tokenizer have content.
- true if the tokenizer have content; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Reads to the next character from the code reader.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Shows the next symbol to be used.
- The next symbol to be used.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Reads the next symbol in the code.
- The next symbol to read.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the Razor comment body.
- The object that represent the state of the result.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the star type for the razor comment.
- The star type for the razor comment.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the transition type for the razor comment.
- The transition type for the razor comment.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the type of razor comment.
- The type of razor comment.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Sets the tokenizer status to its initial state.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Resumes using the previous language symbol type.
- The previous language symbol type.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Uses a single type of symbol.
- A single type of symbol.
- The type of symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the source of the text document.
- The source of the source document.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the start symbol used in this class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the next language symbol type.
- The next language symbol type.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Takes the string if found in the lookahead buffer into the tokenizer buffer.
- true if the lookahead buffer contains the expected string; otherwise, false.
- The string to match.
- true to indicate comparison is case sensitive; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the current character into the buffer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the given input string into the buffer.
- true if the whole input string was accepted; false, if only a substring was accepted.
- The input string.
- true to indicate comparison is case sensitive; otherwise, false.
-
-
- Parses the source document until the condition specified by predicate is met or end file is reached.
- true if the predicate condition is met; false if end of file is reached.
- The predicate that specifies the processing condition.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the specified parameters for the tokenizer view.
- The type tokenizer.
- The type symbol.
- The token symbol type.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The tokenizer view.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current view of the TSymbol.
- The current view of the TSymbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether the view can reach the end of a file.
- true if the view can reach the end of a file; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the tokenizer moves to the next view.
- true if the tokenizer moves to the next view; false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Puts a specified symbol into the tokenizer view.
- The symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the source of the text document for the tokenizer view.
- The source of the text document for the tokenizer view.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the tokenizer to view the symbols for the razor.
- The tokenizer to view the symbols for the razor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a set of characters as helpers in VB.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a value whether a specified character is enclosed in double quotation marks (").
- true if the character is enclosed in double quotation marks ("); otherwise, false.
- The character.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a value whether a character is in octal digit.
- true if a character is in octal digit; otherwise, false.
- The character.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a value whether a specified character is enclosed in a single quotation mark (').
- true if the character is enclosed in a single quotation mark ('); otherwise, false.
- The character.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Allows an application to break a VB symbol into tokens.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The source of text.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a domain of symbols.
- A domain of symbols.
- The source location.
- The content value.
- The .
- The razor error.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the VB symbol type.
- The VB symbol type.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the transition style of the VB symbol.
- The transition style of the VB symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the razor type comment of the .
- The razor type comment of the .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the start state of the machine.
- The start state of the machine.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a C sharp symbol for the razor tokenizer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The symbol’s offset.
- The line.
- The column
- The content of the symbol.
- The type of the symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The symbol’s offset.
- The line.
- The column
- The content of the symbol.
- The type of the symbol.
- A list of errors.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The location to start the symbol.
- The content of the symbol.
- The type of the symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The location to start the symbol.
- The content of the symbol.
- The type of the symbol.
- A list of errors.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
- true if the specified object is equal to the current object; otherwise, false.
- The object to compare to.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value that indicates whether the symbol has an escaped identifier.
- true if the symbol has an escaped identifier; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this current instance.
- The hash code for this current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the language keyword.
- The language keyword.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the Html symbols.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The location of the symbol.
- The exact line the symbol is found.
- The column number the symbol is found.
- The content value.
- The .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The location of the symbol.
- The exact line the symbol is found.
- The column number the symbol is found.
- The content value.
- The .
- The razor error.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The start of the source location.
- The content value.
- The .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The start of the source location.
- The content value.
- The .
- The razor error.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents an interface for the web razor symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Changes the location of the symbol.
- The new location of the symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the content of the symbol.
- The content of the symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the starting offset of the symbol.
- The location where to start the document.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the location of the symbol.
- The location of the symbol.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a new instance of symbols.
- The generic type.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The source location.
- The content value.
- The type.
- The razor error.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Changes the start of the machine.
- The new start.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the content of a .
- The content of a .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified Object is equal to the current Object.
- true if the specified Object is equal to the current Object; otherwise, false.
- The object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the razor error.
- The razor error.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves a hash code based on the current object.
- A hash of the current object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Starts the time’s offset for the source location.
- The document start.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the starting point of the source location.
- The starting point of the source location.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a string representation of the current object.
- A string representation of the current object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a Type that inherits from the base Type.
- A Type that inherits from the base Type.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the symbol extensions for the web tokenizer.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the content of this class.
- The content of this class.
- The symbols to provide.
- The starting index of the span.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the content of this class.
- The content of this class.
- The intersection with the given span.
-
-
- Gets the content of this class.
- The content of this class.
- The intersection with the given span.
- A list of chosen symbols.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the content of this class.
- The content of this class.
- The provided symbols.
-
-
- Enumerates the list of Visual Basic keywords.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the VB symbol components.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The offset value.
- The line value.
- The column value.
- The content String value.
- The .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The offset value.
- The line value.
- The column value.
- The content String value.
- The .
- List of razor errors.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The start of the source location.
- The content String value.
- The .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The start of the source location.
- The content String value.
- The .
- List of razor errors.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a value whether the current object is equal to the new object.
- true if the current object is equal to the new object; otherwise, false.
- The object to compare.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
- The hash code to return.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the specified data sample from the object.
- The specified data sample from the object.
- The .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the keyword used in the VB.
- The keyword used.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.Razor.3.2.3/lib/net45/it/System.Web.Razor.resources.dll b/packages/Microsoft.AspNet.Razor.3.2.3/lib/net45/it/System.Web.Razor.resources.dll
deleted file mode 100644
index 0c23e5c..0000000
Binary files a/packages/Microsoft.AspNet.Razor.3.2.3/lib/net45/it/System.Web.Razor.resources.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.Razor.3.2.3/lib/net45/it/system.web.razor.xml b/packages/Microsoft.AspNet.Razor.3.2.3/lib/net45/it/system.web.razor.xml
deleted file mode 100644
index fdfe5f5..0000000
--- a/packages/Microsoft.AspNet.Razor.3.2.3/lib/net45/it/system.web.razor.xml
+++ /dev/null
@@ -1,5760 +0,0 @@
-
-
-
- System.Web.Razor
-
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un linguaggio del codice Razor basato sulla sintassi C#.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo del provider di codice.
- Tipo del provider di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un nuovo generatore di codice Razor basato sul linguaggio del codice C#.
- Nuovo generatore di codice Razor creato in base al linguaggio del codice C#.
- Nome della classe per il codice generato.
- Nome dello spazio dei nomi di primo livello per il codice generato.
- Nome del file del codice sorgente.
- Host del motore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un nuovo parser di codice per il linguaggio del codice C#.
- Nuovo parser di codice creato per il linguaggio del codice C#.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il nome del linguaggio del codice C#.
- Nome del linguaggio del codice C#.Il valore è ‘csharp’.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta i risultati della generazione del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- true se la generazione del codice viene eseguita correttamente. In caso contrario, false.
- Documento.
- Errori del parser.
- Codice generato.
- Dizionario dei mapping del codice generato in fase di progettazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Documento.
- Errori del parser.
- Codice generato.
- Dizionario dei mapping del codice generato in fase di progettazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Risultati del parser.
- Codice generato.
- Dizionario dei mapping del codice generato in fase di progettazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il dizionario dei mapping del codice generato in fase di progettazione.
- Dizionario dei mapping del codice generato in fase di progettazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il codice generato.
- Codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta i risultati dell'analisi di un documento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- true se l'analisi è stata eseguita. In caso contrario, false.
- Nodo radice nella struttura ad albero della sintassi del documento.
- Elenco degli errori che si sono verificati durante l'analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nodo radice nella struttura ad albero della sintassi del documento.
- Elenco degli errori che si sono verificati durante l'analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nodo radice nella struttura ad albero della sintassi del documento.
- Nodo radice nella struttura ad albero della sintassi del documento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'elenco degli errori che si sono verificati durante l'analisi.
- Elenco degli errori che si sono verificati durante l'analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se l'analisi è stata eseguita.
- true se l'analisi è stata eseguita. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Rappresenta la base di tutto il linguaggio del codice Razor.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Inizializza una nuova istanza della classe .Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Ottiene il tipo del provider di CodeDOM.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Tipo del provider di CodeDOM.
-
-
- Crea il generatore di codice per il linguaggio del codice Razor.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Generatore di codice per il linguaggio del codice Razor.
- Nome della classe.
- Nome dello spazio dei nomi di primo livello.
- Nome del file di origine.
- Host del motore Razor.
-
-
- Crea il parser di codice per il linguaggio del codice Razor.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Parser di codice per il linguaggio del codice Razor.
-
-
- Ottiene il linguaggio del codice Razor utilizzando l'estensione file specificata.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Linguaggio del codice Razor.
- Estensione del file.
-
-
- Ottiene il nome del linguaggio del codice Razor corrente, cioè “csharp” o “vb”.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Nome del linguaggio del codice Razor corrente.
-
-
- Ottiene l'elenco dei linguaggi supportati dal codice Razor.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Elenco dei linguaggi supportati dal codice Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un attributo per la direttiva Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome dell'attributo.
- Valore dell'attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se questa istanza è uguale a un oggetto specificato.
- true se l'oggetto è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome dell'attributo.
- Nome dell'attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'ID tipo univoco dell'attributo.
- ID tipo univoco dell'attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il valore dell'attributo.
- Valore dell'attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Parser utilizzato dagli editor per evitare di rianalizzare l'intero documento a ogni modifica del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Costruisce il parser dell'editor.
-
- che definisce l'ambiente in cui verrà eseguito il codice generato.
- Percorso fisico da utilizzare nelle direttive pragma di riga.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se una modifica causerà un cambiamento strutturale del documento e, in caso contrario, la applica alla struttura ad albero esistente.Se si verifica un cambiamento strutturale, si avvia automaticamente un reparse.
- Valore di che indica il risultato dell'analisi incrementale.
- Modifica da applicare alla struttura ad albero di analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la struttura ad albero di analisi corrente.
- Struttura ad albero di analisi corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rilascia tutte le risorse utilizzate dall'istanza corrente di .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rilascia le risorse non gestite utilizzate dalla classe e, facoltativamente, quelle gestite.
- true per rilasciare sia le risorse gestite sia quelle non gestite, false per rilasciare solo le risorse non gestite.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Evento generato quando viene eseguito un reparse completo del documento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome file del documento da analizzare.
- Nome file del documento da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Recupera la stringa a completamento automatico.
- Stringa a completamento automatico.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'host per l'analisi.
- Host per l'analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore per indicare se l'ultimo risultato dell'analisi è stato accettato temporaneamente per la successiva analisi parziale.
- true se l'ultimo risultato dell'analisi è stato accettato temporaneamente per la successiva analisi parziale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Rappresenta il codice generato per l'host del motore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Inizializza una nuova istanza della classe .
- Linguaggio del codice specificato.
-
-
- Inizializza una nuova istanza della classe .
- Linguaggio del codice specificato.
- Factory del parser di markup.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene i linguaggi supportati dal generatore di codice.
- Linguaggi supportati dal generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Crea un parser di markup usando il parser del linguaggio specificato per l'oggetto .
- Parser di markup da creare usando il parser del linguaggio specificato per l'oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Restituisce i metodi come generatore di codice Razor specifico del linguaggio.
- Metodi come generatore di codice Razor specifico del linguaggio.
- Generatore di codice C# o Visual Basic.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Restituisce i metodi come parser di codice Razor specifico del linguaggio mediante il parser del linguaggio specificato.
- Metodi come parser di codice Razor specifico del linguaggio mediante il parser del linguaggio specificato.
- Parser di codice C# o Visual Basic.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Restituisce il metodo per migliorare il parser di markup usando il parser del linguaggio specificato.
- Metodo per migliorare il parser di markup mediante il parser del linguaggio specificato.
- Parser di codice C# o Visual Basic.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta la classe base predefinita per l'host.
- Classe base predefinita per l'host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta il nome della classe base predefinito per l'host.
- Nome della classe predefinito per l'host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta lo spazio dei nomi predefinito per l'host.
- Spazio dei nomi predefinito per l'host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta un valore che indica se la modalità progetta una fase per l'host.
- true se la modalità progetta una fase per l'host. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta l'host che abilita la strumentazione.
- Host che abilita la strumentazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta il contesto della classe generata per l'host.
- Contesto della classe generata per l'host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta il percorso del file di origine con la strumentazione per l'host.
- Percorso del file di origine con la strumentazione per l'host.
-
-
- Rileva o imposta se l'editor della fase di progettazione usa tabulazioni o spazi per il rientro.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene le importazioni dello spazio dei nomi per l'host.
- Importazioni dello spazio dei nomi per l'host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Restituisce questo metodo per pubblicare tutto il codice generato elaborato per l'host.
- Unità di compilazione del codice.
- Spazio dei nomi generato.
- Classe generata.
- Metodo di esecuzione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Restituisce questo metodo per pubblicare tutto il codice generato elaborato per l'host.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta gli helper statici per l'host.
- Helper statici per l'host.
-
-
- Dimensione della scheda usata dall'editor dell'hosting durante l'applicazione del rientro con tabulazioni.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un punto di ingresso al motore di modelli Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un generatore di codice.
- Oggetto creato.
- Nome della classe generata.
- Spazio dei nomi nel quale risiederà la classe generata.
- Nome file da utilizzare nelle direttive pragma di riga.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Oggetto creato.
- Oggetto creato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il nome classe predefinito del modello.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica lo spazio dei nomi predefinito per il modello.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
- Nome della classe generata, che sostituisce quanto specificato nell'host.
- Spazio dei nomi nel quale risiederà la classe generata.
- Nome file da utilizzare nelle direttive pragma di riga.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
- Nome della classe generata, che sostituisce quanto specificato nell'host.
- Spazio dei nomi nel quale risiederà la classe generata.
- Nome file da utilizzare nelle direttive pragma di riga.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
- Nome della classe generata, che sostituisce quanto specificato nell'host.
- Spazio dei nomi nel quale risiederà la classe generata.
- Nome file da utilizzare nelle direttive pragma di riga.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
- Nome della classe generata, che sostituisce quanto specificato nell'host.
- Spazio dei nomi nel quale risiederà la classe generata.
- Nome file da utilizzare nelle direttive pragma di riga.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un core di codice.
- Risultati del core generato.
- Testo di input da analizzare.
- Nome della classe generata, che sostituisce quanto specificato nell'host.
- Spazio dei nomi nel quale risiederà la classe generata.
- Nome file da utilizzare nelle direttive pragma di riga.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'oggetto che definisce l'ambiente in cui verrà eseguito il codice modello generato.
-
- che definisce l'ambiente in cui verrà eseguito il codice modello generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer e ne restituisce il risultato.
- Struttura ad albero di analisi risultante.
- Testo di input da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer e ne restituisce il risultato.
- Struttura ad albero di analisi risultante.
- Testo di input da analizzare.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer e ne restituisce il risultato.
- Struttura ad albero di analisi risultante.
- Testo di input da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer e ne restituisce il risultato.
- Struttura ad albero di analisi risultante.
- Testo di input da analizzare.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il core del modello.
- Struttura ad albero di analisi risultante.
- Testo di input da analizzare.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta lo stato del computer.
- Restituzione del tipo generico.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta lo stato corrente del computer.
- Stato corrente del computer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene lo stato iniziale del computer.
- Stato iniziale del computer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rimane nel computer durante la transizione.
- Computer di transizione dello stato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rimane nel computer durante la transizione con l'output specificato.
- Output della transizione.
- Output.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Disabilita il computer al momento della transizione.
- Computer da arrestare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica la nuova transizione dello stato.
- Nuova transizione dello stato.
- Nuovo stato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica la nuova transizione dello stato con l'output specificato.
- Nuova transizione dello stato con l'output specificato.
- Output.
- Nuovo stato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Descrive il processo di alternanza dello stato.
- Processo di alternanza dello stato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il risultato dello stato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Output successivo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Output.
- Stato successivo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se lo stato ha un output.
- true se lo stato ha un output. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta lo stato successivo del computer.
- Stato successivo del computer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'output.
-
- che rappresenta l'output.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di linguaggio e un provider del codice VB Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di CodeDomProvider.
- Tipo di CodeDomProvider.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea il generatore del linguaggio del codice.
- Generatore del linguaggio del codice.
- Nome della classe.
- Nome dello spazio dei nomi di primo livello.
- Nome del file di origine.
-
- .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un parser di codice in .
- Parser di codice in .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il nome del linguaggio.
- Nome del linguaggio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il risultato della modifica dell'editor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Risultato di analisi parziale.
- Compilatore dell'intervallo modificato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'intervallo modificato di .
- Intervallo modificato di .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il risultato dell'analisi parziale.
- Risultato di analisi parziale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce il gestore di modifica per espressioni implicite.
-
-
- Inizializza una nuova istanza della classe .
- Tokenizer.
- Parole chiave.
- true per accettare il punto finale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se l'espressione accetta il punto finale.
- true se l'espressione accetta il punto finale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica l'analisi che può accettare la modifica.
- Risultato di analisi parziale.
- Destinazione.
- Modifica normalizzata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta le parole chiave associate all'espressione.
- Parole chiave associate all'espressione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa dell'istanza corrente.
- Rappresentazione di stringa dell'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta l'editor del gestore per queste pagine Web.
-
-
- Inizializza una nuova istanza della classe .
- Simboli del tokenizer.
-
-
- Inizializza una nuova istanza della classe .
- Simboli del tokenizer.
- Caratteri accettati.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce metodi per la gestione delle modifiche dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Metodo utilizzato per analizzare la stringa in token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Metodo utilizzato per analizzare la stringa in token.
- Uno dei valori dell'enumerazione .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che specifica i caratteri accettati.
- Uno dei valori dell'enumerazione .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Applica la modifica del testo all'intervallo.
- Risultato dell'operazione di applicazione.
- Intervallo a cui applicare le modifiche.
- Modifica da applicare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Applica la modifica del testo all'intervallo.
- Risultato dell'operazione di applicazione.
- Intervallo a cui applicare le modifiche.
- Modifica da applicare.
- true per accettare il risultato parziale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'intervallo può accettare la modifica specificata.
- true se l'intervallo può accettare la modifica specificata. In caso contrario, false.
- Intervallo da controllare.
- Modifica da applicare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un nuovo gestore di modifica dell'intervallo predefinito.
- Gestore di modifica dell'intervallo predefinito appena creato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un nuovo gestore di modifica dell'intervallo predefinito.
- Gestore di modifica dell'intervallo predefinito appena creato.
- Metodo utilizzato per analizzare la stringa in token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta i suggerimenti dell'editor.
- Suggerimenti dell'editor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se questa istanza è uguale a un oggetto specificato.
- true se l'oggetto è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il testo precedente dal contenuto dell'intervallo.
- Testo precedente dal contenuto dell'intervallo.
- Intervallo da cui ottenere il testo precedente.
- Modifica del testo che contiene la posizione del testo precedente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la modifica specificata si trova alla fine della prima riga del contenuto dell'intervallo.
- true se la modifica specificata si trova alla fine della prima riga del contenuto dell'intervallo. In caso contrario, false.
- Intervallo da controllare.
- Modifica da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la modifica specificata si trova alla fine dell'intervallo.
- true se la modifica specificata si trova alla fine dell'intervallo. In caso contrario, false.
- Intervallo da controllare.
- Modifica da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la modifica specificata si trova alla fine del contenuto dell'intervallo e per l'eliminazione.
- true se la modifica specificata si trova alla fine del contenuto dell'intervallo e per l'eliminazione. In caso contrario, false.
- Intervallo da controllare.
- Modifica da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la modifica specificata si trova alla fine del contenuto dell'intervallo e per l'inserimento.
- true se la modifica specificata si trova alla fine del contenuto dell'intervallo e per l'inserimento. In caso contrario, false.
- Intervallo da controllare.
- Modifica da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la modifica specificata si trova alla fine del contenuto dell'intervallo e per la sostituzione.
- true se la modifica specificata si trova alla fine del contenuto dell'intervallo e per la sostituzione. In caso contrario, false.
- Intervallo da controllare.
- Modifica da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'intervallo è proprietario della modifica specificata.
- true se l'intervallo è proprietario della modifica specificata. In caso contrario, false.
- Intervallo da controllare.
- Modifica da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene e imposta il metodo utilizzato per analizzare la stringa in token.
- Metodo utilizzato per analizzare la stringa in token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa del gestore di modifica dell'intervallo.
- Rappresentazione di stringa del gestore di modifica dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiorna l'intervallo utilizzando la modifica normalizzata.
- Nuovo compilatore dell'intervallo per la destinazione specificata.
- Intervallo da aggiornare.
- Modifica normalizzata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il generatore di codice di importazione aggiunto per Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Spazio dei nomi della stringa.
- Lunghezza dello spazio dei nomi della parola chiave.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se due istanze di un oggetto sono uguali.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto da confrontare con l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice con i parametri specificati utilizzando il generatore di codice di importazione aggiunto.
- Intervallo di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene lo spazio dei nomi della stringa del generatore per aggiungere il generatore di codice per l'importazione.
- Spazio dei nomi della stringa del generatore per aggiungere il generatore di codice per l'importazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la lunghezza dello spazio dei nomi della parola chiave per il generatore di codice.
- Lunghezza dello spazio dei nomi della parola chiave per il generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una stringa che rappresenta l'oggetto corrente.
- Stringa che rappresenta l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta gli attributi del generatore di codice del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome.
- Stringa di prefisso.
- Stringa di suffisso.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto da confrontare con l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per terminare il blocco utilizzando i parametri specificati.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per iniziare il blocco utilizzando i parametri specificati.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per il generatore di codice.
- Codice hash per il generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il nome di stringa di .
- Nome di stringa di .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il prefisso del generatore di codice.
- Prefisso del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il suffisso per il generatore di codice.
- Suffisso per il generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una stringa che rappresenta l'oggetto corrente.
- Stringa che rappresenta l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il generatore di codice del blocco per la sintassi Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto da confrontare con l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera la fine del generatore di codice del blocco per la sintassi Razor.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera l'inizio del generatore di codice del blocco per la sintassi Razor.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce un codice hash per il generatore di codice del blocco.
- Codice hash per il generatore di codice del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un valore null per il generatore di codice del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il completamento degli argomenti dell'evento per la generazione del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Stringa del percorso virtuale.
- Stringa del percorso fisico.
- Unità di compilazione del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il codice generato per completare l'argomento dell'evento.
- Codice generato per completare l'argomento dell'evento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso fisico per la generazione del codice.
- Percorso fisico per la generazione del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso virtuale della generazione del codice.
- Percorso virtuale della generazione del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un nuovo mapping del codice generato alla raccolta.
- Indice di raccolta del mapping del codice appena aggiunto.
- Posizione di origine del mapping del codice generato.
- Inizio di codice del mapping del codice generato.
- Lunghezza del mapping del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un'istruzione del codice per una chiamata del contesto nel metodo specificato.
- Intervallo del contenuto.
- Nome del metodo per richiamare una chiamata del contesto.
- true per specificare che il parametro del metodo è letterale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un'istruzione del codice che inserisce il metodo degli helper della fase di progettazione Razor nell'istruzione del codice specificata.
- Istruzione del codice che riceve l'inserimento del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge l'istruzione del codice specificata al corpo del metodo di destinazione.
- Istruzione del codice da aggiungere al metodo di destinazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge l'istruzione del codice specificata al corpo del metodo di destinazione.
- Istruzione del codice da aggiungere al metodo di destinazione.
- Direttiva pragma di riga.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge il frammento specificato all'istruzione memorizzata nel buffer corrente.
- Frammento da aggiungere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge il frammento specificato all'istruzione memorizzata nel buffer corrente.
- Frammento da aggiungere.
- Intervallo di origine per .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge il contenuto dell'intervallo all'istruzione memorizzata nel buffer corrente.
- Intervallo di origine di cui si deve aggiungere il contenuto.
-
-
- Assegna un nuovo agente di raccolta delle istruzioni e restituisce un'azione eliminabile che ripristina l'agente di raccolta delle istruzioni precedente.
- Azione eliminabile che ripristina l'agente di raccolta delle istruzioni precedente.
- Nuovo agente di raccolta delle istruzioni.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la raccolta di dizionari del mapping del codice generato.
- Raccolta di dizionari del mapping del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'unità di compilazione del codice che conterrà il grafico del programma.
- Unità di compilazione del codice che conterrà il grafico del programma.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea una nuova istanza della classe .
- Istanza appena creata del contesto del generatore di codice.
- Host del motore Razor.
- Nome della classe per la dichiarazione del tipo di classe generata.
- Nome per la dichiarazione dello spazio dei nomi generata.
- File di origine.
- true per consentire la generazione di direttive pragma di riga. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'istruzione memorizzata nel buffer corrente.
- Istruzione memorizzata nel buffer corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge la variabile di helper dell'espressione alla classe generata se non è stata ancora aggiunta.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Scarica l'istruzione memorizzata nel buffer corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la dichiarazione del tipo di classe generata.
- Dichiarazione del tipo di classe generata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera la direttiva pragma di riga per l'origine specificata.
- Direttiva pragma di riga per l'origine specificata.
- Intervallo di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera la direttiva pragma di riga per l'origine.
- Direttiva pragma di riga per l'origine specificata.
- Intervallo di origine.
- Indice di inizio del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera la direttiva pragma di riga per l'origine.
- Direttiva pragma di riga per l'origine specificata.
- Intervallo di origine.
- Indice di inizio del codice.
- Lunghezza del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera la direttiva pragma di riga per l'origine.
- Direttiva pragma di riga per l'origine specificata.
- Posizione di origine.
- Indice di inizio del codice.
- Lunghezza del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'host del motore Razor.
- Host del motore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Contrassegna la fine del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Contrassegna l'inizio del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la dichiarazione dello spazio dei nomi generata.
- Dichiarazione dello spazio dei nomi generata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il file di origine.
- File di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il metodo del membro generato.
- Metodo del membro generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del writer di testo.
- Nome del writer di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice Razor per il linguaggio C#.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome della classe per la dichiarazione del tipo di classe generata.
- Nome per la dichiarazione dello spazio dei nomi generata.
- File di origine.
- Host del motore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza il contesto per questo generatore di codice.
- Contesto per questo generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta gli attributi dinamici del generatore di codice del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Prefisso.
- Valori di offset.
- Valori di riga.
- Colonna.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Prefisso della stringa.
- Inizio del valore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto da confrontare con l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per terminare il blocco utilizzando i parametri specificati.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per iniziare il blocco utilizzando i parametri specificati.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il prefisso dello spazio dei nomi del generatore di codice.
- Prefisso dello spazio dei nomi del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una stringa che rappresenta l'oggetto corrente.
- Stringa che rappresenta l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'inizio del valore per il generatore di codice del blocco dell'attributo dinamico.
- Inizio del valore per il generatore di codice del blocco dell'attributo dinamico.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice per l'espressione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se questa istanza e un oggetto specificato sono uguali.
- true se e questa istanza sono dello stesso tipo e rappresentano lo stesso valore. In caso contrario, false.
- Oggetto da confrontare con l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per l'espressione.
- Intervallo di origine il cui contenuto rappresenta un'espressione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice di fine per il blocco.
- Blocco di destinazione per la generazione del codice di fine.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice di preavvio per il blocco.
- Blocco di destinazione per la generazione del codice di preavvio.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa di questa istanza.
- Rappresentazione di stringa di questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il contesto di una classe generata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome del metodo di esecuzione.
- Nome del metodo di scrittura.
- Nome del metodo di scrittura di valori letterali.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome del metodo di esecuzione.
- Nome del metodo di scrittura.
- Nome del metodo di scrittura di valori letterali.
- Nome metodo di scrittura in.
- Nome metodo di scrittura di valori letterali in.
- Nome del tipo di modello.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome del metodo di esecuzione.
- Nome del metodo di scrittura.
- Nome del metodo di scrittura di valori letterali.
- Nome metodo di scrittura in.
- Nome metodo di scrittura di valori letterali in.
- Nome del tipo di modello.
- Nome del metodo di definizione della sezione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome del metodo di esecuzione.
- Nome del metodo di scrittura.
- Nome del metodo di scrittura di valori letterali.
- Nome metodo di scrittura in.
- Nome metodo di scrittura di valori letterali in.
- Nome del tipo di modello.
- Nome del metodo di definizione della sezione.
- Nome del metodo di inizio del contesto.
- Nome del metodo di fine del contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se il contesto ammette le sezioni.
- true se il contesto ammette le sezioni. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se il contesto ammette i modelli.
- true se il contesto ammette i modelli. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo prima del contesto generato.
- Nome del metodo prima del contesto generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce il contesto generato predefinito.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce il nome predefinito del metodo di esecuzione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce il nome predefinito della proprietà di layout.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce il nome predefinito del metodo di scrittura dell'attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce il nome predefinito dell'attributo di scrittura nel metodo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Specifica il nome predefinito del metodo di scrittura di valori letterali.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Specifica il nome predefinito del metodo di scrittura.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo che definisce la sezione del contesto.
- Nome del metodo che definisce la sezione del contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo dopo il contesto generato.
- Nome del metodo dopo il contesto generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo che verrà richiamato nel contesto.
- Nome del metodo che verrà richiamato nel contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome proprietà per il layout.
- Nome proprietà per il layout.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti sono uguali.
- true se i due oggetti sono uguali. In caso contrario, false.
- Primo oggetto da confrontare.
- Secondo oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti non sono uguali.
- true se i due oggetti non sono uguali. In caso contrario, false.
- Primo oggetto da confrontare.
- Secondo oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo che risolve un URL per il contesto.
- Nome del metodo che risolve un URL per il contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se la classe generata supporta strumentazione.
- true se la classe generata supporta strumentazione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del tipo per il modello.
- Nome del tipo per il modello.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo che scrive un attributo.
- Nome del metodo che scrive un attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo in cui scrivere un attributo.
- Nome del metodo in cui scrivere un attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo in cui scrivere valori letterali per il contesto.
- Nome del metodo in cui scrivere valori letterali per il contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo in cui scrivere valori letterali per il contesto.
- Nome del metodo in cui scrivere valori letterali per il contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo che scriverà nel contesto.
- Nome del metodo che scriverà nel contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo che scriverà nel contesto.
- Nome del metodo che scriverà nel contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta gli oggetti di mapping del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Riga iniziale.
- Colonna iniziale.
- Colonna iniziale generata.
- Lunghezza del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Offset iniziale.
- Riga iniziale.
- Colonna iniziale.
- Colonna iniziale generata.
- Lunghezza del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la lunghezza dei codici di mapping generati.
- Lunghezza dei codici di mapping generati.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto di mapping del codice generato corrente.
- true se l'oggetto specificato è uguale all'oggetto di mapping del codice generato corrente. In caso contrario, false.
- Oggetto da confrontare con l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce un codice hash per l'oggetto di mapping del codice generato.
- Codice hash per l'oggetto di mapping del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti di mapping del codice generato specificati hanno lo stesso valore.
- true se i due oggetti di mapping del codice generato specificati hanno lo stesso valore. In caso contrario, false.
- Oggetti di mapping del codice generato di sinistra.
- Oggetti di mapping del codice generato di destra.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti di mapping del codice generato specificati hanno valori diversi.
- true se i due oggetti di mapping del codice generato specificati hanno valori diversi. In caso contrario, false.
- Oggetti di mapping del codice generato di destra.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la colonna iniziale delle mappe dei codici generati.
- Colonna iniziale delle mappe dei codici generati.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la colonna iniziale di una mappa del codice generato nel file di origine generato.
- Colonna iniziale di una mappa del codice generato nel file di origine generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la riga iniziale delle mappe dei codici generati.
- Riga iniziale delle mappe dei codici generati.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'offset iniziale delle mappe dei codici generati.
- Offset iniziale delle mappe dei codici generati.
-
-
- Restituisce una stringa che rappresenta l'oggetto corrente.
- Stringa che rappresenta l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice helper.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Firma.
- true per completare l'intestazione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la nota a piè di pagina per il codice.
- Piè di pagina per il codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un blocco dopo il codice.
- Blocco da generare.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un blocco prima del codice.
- Blocco da generare.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se l'intestazione per il codice è completa.
- true se l'intestazione per il codice è completa. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la firma per il codice.
- Firma per il codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa dell'istanza corrente.
- Rappresentazione di stringa dell'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice ibrido.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per il modello di dati da switch identificati da parametri.
- Oggetto di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un codice di fine blocco.
- Oggetto di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice di inizio blocco.
- Oggetto di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta per le pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice di fine blocco per Razor.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice di inizio blocco per Razor.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta una fase del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per il modello di dati con la destinazione e il contesto specificati.
- Oggetto di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice per l'attributo letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice..Inizializza una nuova istanza della classe .
- Prefisso dell'attributo letterale.
- Valore dell'attributo letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice..Inizializza una nuova istanza della classe .
- Prefisso dell'attributo letterale.
- Generatore di valore per l'attributo letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questa istanza.
- true se l'oggetto specificato è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice per l'attributo letterale.
- Intervallo di origine il cui contenuto rappresenta l'attributo letterale.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il prefisso dell'attributo letterale.
- Prefisso dell'attributo letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa di questa istanza.
- Rappresentazione di stringa di questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il valore dell'attributo letterale.
- Valore dell'attributo letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il generatore di valore per l'attributo letterale.
- Generatore di valore per l'attributo letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice per il markup.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questa istanza.
- true se l'oggetto specificato è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice per il markup.
- Intervallo di origine il cui contenuto rappresenta il markup.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa per questa istanza.
- Rappresentazione di stringa per questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome della classe.
- Nome dello spazio dei nomi di primo livello.
- Nome del file di origine.
- Host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome della classe per il codice.
- Nome della classe per il codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il contesto di questo generatore di codice.
- Contesto di questo generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se il generatore di codice è in modalità fase di progettazione.
- true se il generatore di codice è in modalità fase di progettazione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se il generatore deve generare direttive pragma di riga nel codice Razor.
- true se il generatore deve generare direttive pragma di riga nel codice Razor. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'host del motore Razor.
- Host del motore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza l'istanza corrente di .
- Contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera l'evento di completamento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome dello spazio dei nomi di primo livello.
- Nome dello spazio dei nomi di primo livello.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del file di origine.
- Nome del file di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita il blocco finale.
- Blocco da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita l'intervallo.
- Intervallo da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita il blocco iniziale.
- Blocco da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il generatore di codice dei commenti Razor per le pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice del blocco iniziale con i parametri specificati.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice per l'attributo della direttiva Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome dell'attributo della direttiva.
- Valore dell'attributo della direttiva.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questa istanza.
- true se l'oggetto specificato è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice per l'attributo della direttiva.
- Intervallo di origine il cui contenuto rappresenta l'attributo della direttiva da generare.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome dell'attributo della direttiva.
- Nome dell'attributo della direttiva.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa per questa istanza.
- Rappresentazione di stringa per questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il valore dell'attributo della direttiva.
- Valore dell'attributo della direttiva.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il generatore di codice di risoluzione dell'URL.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se questa istanza e un oggetto specificato sono uguali.
- true se e questa istanza sono dello stesso tipo e rappresentano lo stesso valore. In caso contrario, false.
- Oggetto da confrontare con l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per l'URL.
- Oggetto di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il nome tipo completo dell'istanza.
- Nome tipo completo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice di sezione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome del codice di sezione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un blocco dopo il codice di sezione.
- Destinazione da generare.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un blocco prima del codice di sezione.
- Destinazione da generare.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome della sezione.
- Nome della sezione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa dell'istanza corrente.
- Rappresentazione di stringa dell'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice per il tipo di base del set.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Tipo di base del set.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il tipo di base del set.
- Tipo di base del set.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questa istanza.
- true se l'oggetto specificato è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice per questo tipo di base del set.
- Intervallo di origine che contiene il tipo di base del set per generare il codice.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il codice hash per questa istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Risolve il tipo di base del set specificato.
- Tipo di base del set risolto.
- Contesto del generatore di codice.
- Tipo di base del set da risolvere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa per questa istanza.
- Rappresentazione di stringa per questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice che imposta il layout per il Razor Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Percorso del layout.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un codice di layout.
- Destinazione in cui generare il codice.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Recupera un codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il percorso del codice di layout.
- Percorso del codice di layout.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa dell'istanza corrente.
- Rappresentazione di stringa dell'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta la conversione dell'oggetto SetVBOptionCodeGenerator del valore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome opzione.
- true se l'oggetto ha un valore. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Converte in modo esplicito nel valore on e off.
-
- converte in modo esplicito nel valore on e off.
- true se converte nel valore on e off. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il nome opzione code Dom esplicito.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per i parametri specificati.
- Destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il nome opzione per il generatore di codice.
- Nome opzione per il generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Converte in modo ristretto nel valore on e off.
-
- converte in modo ristretto nel valore on e off.
- true se converte in modo ristretto nel valore on e off. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il nome opzione code Dom ristretto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una stringa che rappresenta l'oggetto corrente.
- Stringa che rappresenta l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se ha un valore.
- true se ha un valore. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il generatore di codice dell'intervallo per Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto da confrontare con l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un codice per la destinazione specificata e i parametri del contesto.
- Intervallo di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce un codice hash per il generatore di codice dell'intervallo.
- Codice hash per il generatore di codice dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un valore null per il generatore di codice dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice per l'istruzione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questa istanza.
- true se l'oggetto specificato è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice per l'istruzione.
- Origine dell'intervallo il cui contenuto contiene l'istruzione da generare.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa per questa istanza.
- Rappresentazione di stringa per questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il generatore di codice del blocco del modello per Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per terminare il blocco del generatore di codice del blocco del modello.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per iniziare il blocco per il generatore di codice del blocco del modello.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice del membro del tipo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice con una destinazione e un contesto specifici.
- Destinazione in cui generare il codice.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa del codice.
- Rappresentazione di stringa del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il generatore di codice Razor per VB.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome della classe.
- Spazio dei nomi di primo livello.
- Nome file dell'origine asset.
- Host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un visitatore che esegue un callback al completamento di una visita.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Delegato per la visita dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Delegato per la visita dell'intervallo.
- Delegato per la visita dell'errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Delegato per la visita dell'intervallo.
- Delegato per la visita dell'errore.
- Delegato per la visita del blocco di inizio.
- Delegato per la visita del blocco di fine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Delegato per la visita dell'intervallo.
- Delegato per la visita dell'errore.
- Delegato per la visita del blocco di inizio.
- Delegato per la visita del blocco di fine.
- Delegato all'esecuzione per l'evento completo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il contesto di sincronizzazione per il visitatore di callback.
- Contesto di sincronizzazione per il visitatore di callback.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Esegue il callback del visitatore per visitare il blocco di fine.
- Blocco di fine da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Esegue il callback del visitatore per visitare l'errore.
- Errore Razor da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Esegue il callback del visitatore per visitare l'intervallo.
- Intervallo da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Esegue il callback del visitatore per visitare il blocco di inizio.
- Blocco di inizio da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un parser di codice C sharp.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il parser accetta la parola chiave 'IF'.
- true se il parser accetta la parola chiave 'IF'. In caso contrario, false.
- Parola chiave da accettare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Asserisce il codice di una direttiva.
- Codice della direttiva da asserire.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice contiene la parola chiave 'AT'.
- true se il codice contiene la parola chiave 'AT'. In caso contrario, false.
- Parola chiave.
-
-
- Indica la direttiva del tipo di base.
- Errore relativo alla mancata indicazione del nome del tipo.
- Generatore di codice della creazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica la direttiva delle funzioni.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il codice che gestisce la transizione incorporata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica una direttiva dell'helper.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica da quale classe l'applicazione deriverà la vista e può quindi garantire il controllo del tipo appropriato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Eredita un core della direttiva.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice è in una transizione incorporata.
- true se il codice è in una transizione incorporata. In caso contrario, false.
- true per consentire i modelli e i commenti. In caso contrario, false.
- true per consentire le transizioni. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se il codice è nidificato.
- true se il codice è nidificato. In caso contrario, false.
-
-
- Indica se le righe e i commenti sono token di spaziatura.
- Funzione che indica il token di spaziatura.
- true per includere nuove righe. In caso contrario, false.
- true per includere commenti. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta le parole chiave del linguaggio C sharp.
- Parole chiave del linguaggio C sharp.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il linguaggio specifico per l'analisi.
- Linguaggio specifico per l'analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica la direttiva di layout.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Esegue il mapping delle direttive specificate.
- Gestore.
- Direttive.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'altro parser utilizzato per il codice.
- Altro parser utilizzato per il codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Amplia l'output dell'analisi prima del commento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Blocca l'analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica la direttiva riservata.
- Determina se la direttiva è un livello superiore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica una direttiva di sezione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica una direttiva di stato della sessione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il core della direttiva di stato della sessione.
-
-
- Indica la direttiva per il tipo di stato della sessione.
- Errore relativo alla mancata indicazione del valore.
- Generatore di codice della creazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un gestore della direttiva.
- true se l'operazione ha esito positivo. In caso contrario, false.
- Direttiva.
- Gestore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore dello stato della sessione è valido.
- true se il valore dello stato della sessione è valido. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il blocco per il parser CSharpCode.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome della stringa.
- Inizio della posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Simbolo CSharp.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome di stringa per il blocco.
- Nome di stringa per il blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione di origine per iniziare il blocco.
- Posizione di origine per iniziare il blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta le caratteristiche dei diversi linguaggi in un linguaggio CSharp.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo di indicatore nel codice.
- Simbolo di indicatore nel codice.
- Posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo nel codice.
- Simbolo nel codice.
- Posizione di origine.
- Valore del contenuto.
- Tipo di simbolo html.
- Elenco di errori.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un tokenizer del linguaggio.
- Tokenizer del linguaggio.
- Origine del documento di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Capovolge il simbolo di parentesi nel codice.
- Simbolo di parentesi nel codice.
- Simbolo di parentesi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la parola chiave nel codice.
- Parola chiave nel codice.
- Parola chiave.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene nel codice.
-
- nel codice.
-
- .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un simbolo di esempio nel codice.
- Simbolo di esempio nel codice.
-
- .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un simbolo di esempio nel codice.
- Simbolo di esempio nel codice.
-
- .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'istanza per la classe .
- Istanza per la classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta le diverse caratteristiche dei linguaggi in un html.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo di indicatore nell'Html.
- Simbolo di indicatore nell'Html.
- Posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo nell'Html.
- Simbolo nell'Html.
- Posizione di origine.
- Valore del contenuto.
- Tipo di simbolo html.
- Elenco di errori.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un tokenizer html.
- Tokenizer html.
- Origine del documento di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Capovolge il simbolo di parentesi nell'html.
- Simbolo di parentesi nell'html.
- Simbolo di parentesi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene nell'html.
-
- nell'html.
-
- .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un simbolo di esempio nell'html.
- Simbolo di esempio nell'html.
-
- .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'istanza per la classe .
- Istanza per la classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un parser specifico per l'analisi del markup HTML.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea l'intervallo per il contenuto dato utilizzando il compilatore dell'intervallo specificato.
- Il compilatore dell'intervallo utilizzato per compilare l'intervallo.
- Posizione iniziale.
- Contenuto dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il delegato della funzione utilizzato per determinare il token per la spaziatura HTML.
- Delegato della funzione utilizzato per determinare il token per la spaziatura HTML.
- true per indicare che le nuove righe sono considerate come token di spaziatura. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'istanza che definisce le caratteristiche del linguaggio HTML.
- Istanza che definisce le caratteristiche del linguaggio HTML.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'altro parser per l'analisi del markup HTML.
- Altro parser per l'analisi del markup HTML.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea l'intervallo prima del commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il blocco HTML successivo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il documento HTML.
-
-
- Analizza una sezione con markup fornita dalle sequenze di nidificazione.
- Tupla che specifica le sequenze di nidificazione di markup.
- true per indicare l'analisi che rileva la distinzione tra maiuscole e minuscole. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ignora l'analisi fino a quando non viene soddisfatta la condizione specificata.
- Delegato della funzione che definisce la condizione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ignora l'analisi fino a quando non si incontra il tipo di simbolo HTML specificato.
- Tipo di simbolo HTML.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene i tag HTML considerati vuoti.
- Tag HTML considerati vuoti.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce metodi che definiscono il comportamento di un linguaggio del codice Razor.
- Tipo di tokenizer del codice per il linguaggio Razor.
- Tipo per il simbolo del linguaggio.
- Tipo di enumerazione per il simbolo del linguaggio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo del linguaggio del codice con la posizione di origine specificata come marcatore iniziale.
- Simbolo per il linguaggio del codice.
- Posizione di origine come marcatore iniziale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo del linguaggio del codice con la posizione di origine specificata come marcatore iniziale.
- Simbolo per il linguaggio del codice.
- Posizione di origine come marcatore iniziale.
- Il contenuto.
- Tipo di enumerazione per il simbolo del linguaggio.
- Raccolta di errori.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un tokenizer del linguaggio del codice Razor per il documento di origine specificato.
- Tokenizer del linguaggio del codice Razor per il documento di origine specificato.
- Documento di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il simbolo di parentesi opposto per il simbolo di parentesi specificato.
- Simbolo di parentesi opposto per il simbolo di parentesi specificato.
- Simbolo di parentesi da capovolgere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di simbolo del linguaggio specifico per il tipo di simbolo specificato.
- Tipo di simbolo del linguaggio specifico per il tipo di simbolo specificato.
- Tipo di simbolo da ottenere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il simbolo effettivo per il tipo di simbolo del linguaggio specificato.
- Simbolo effettivo per il tipo di simbolo del linguaggio specificato.
- Tipo di simbolo del linguaggio da ottenere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo di corpo del commento.
- true se il simbolo è un tipo di corpo del commento. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo di stella del commento.
- true se il simbolo è un tipo di stella del commento. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo di inizio del commento.
- true se il simbolo è un tipo di inizio del commento. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo di identificatore.
- true se il simbolo è un tipo di identificatore. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo di parola chiave.
- true se il simbolo è un tipo di parola chiave. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il tipo di simbolo è noto.
- true se il tipo di simbolo è noto. In caso contrario, false.
- Simbolo di cui si deve controllare il tipo.
- Tipo noto del simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un nuovo tipo di riga.
- true se il simbolo è un nuovo tipo di riga. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo di transizione.
- true se il simbolo è un tipo di transizione. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo sconosciuto.
- true se il simbolo è un tipo sconosciuto. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo di spazio vuoto.
- true se il simbolo è un tipo di spazio vuoto. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo sconosciuto.
- true se il simbolo è un tipo sconosciuto. In caso contrario, false.
- Tipo noto del simbolo.
-
-
- Divide il contenuto del simbolo del linguaggio del codice nell'indice specificato.
- Tupla del simbolo del linguaggio del codice.
- Simbolo di cui si deve suddividere il contenuto.
- Indice dove si verifica la divisione.
- Tipo di enumerazione per il simbolo del linguaggio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Divide la stringa specificata in token.
- Raccolta di token.
- Stringa da suddividere in token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Divide la stringa specificata in token.
- Raccolta di token.
- Posizione di origine come marcatore iniziale per il tokenizer.
- Stringa da suddividere in token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta la classe di base del parser per Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un intervallo per la base del parser.
- Compilatore dell'intervallo.
- Inizio della posizione di origine.
- Il contenuto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta .
-
- .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se il parser è un parser di markup.
- true se il parser è un parser di markup. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'altro parser .
- Altro parser .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Blocca il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea la documentazione per l'analisi.
-
-
- Analizza la sezione nell'elenco ordinato degli elementi.
- La coppia di sequenze di nidificazione.
- true se si distinguono maiuscole e minuscole. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un parser il cui contesto può essere passato a un codice o un markup.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Documento di origine.
- Parser di codice per il contesto
- Parser di markup per il contesto.
- Parser attivo per il contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il parser attivo per il contesto.
- Parser attivo per il contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge l'intervallo specificato alla fine dello stack del compilatore del blocco.
- Intervallo da aggiungere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il parser di codice per il contesto.
- Parser di codice per il contesto
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza l'ultimo intervallo e restituisce i risultati di analisi che contengono il blocco appena creato.
- Risultati di analisi che contengono il blocco appena creato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il compilatore del blocco corrente.
- Compilatore del blocco corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il carattere corrente disponibile dall'origine.
- Carattere corrente disponibile dall'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se il parser è in modalità di progettazione.
- true se il parser è in modalità di progettazione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un blocco finale dall'ultimo elemento dello stack del compilatore del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se lo stato dell'origineè alla fine del file.
- true se lo stato dell'origine è alla fine del file. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'elenco degli errori che si sono verificati durante l'analisi.
- Elenco degli errori.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il tipo di blocco specificato esiste nell'elenco dei compilatori del blocco.
- true se il tipo di blocco specificato esiste nell'elenco dei compilatori del blocco. In caso contrario, false.
- Tipo di blocco da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene gli ultimi caratteri accettati.
- Uno dei valori dell'enumerazione .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'ultimo intervallo.
- Ultimo intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il parser di markup per il contesto.
- Parser di markup per il contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Si verifica quando viene riscontrato un errore di analisi.
- Posizione di origine.
- Messaggio di errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Si verifica quando viene riscontrato un errore di analisi.
- Posizione di origine.
- Messaggio di errore.
- Altre informazioni sulla posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il lettore di testo per il documento di origine.
- Lettore di testo per il documento di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un nuovo compilatore del blocco alla fine del relativo stack e restituisce un'azione eliminabile che restituisce un blocco finale.
- Azione eliminabile che restituisce un blocco finale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un nuovo compilatore del blocco alla fine del relativo stack e restituisce un'azione eliminabile che restituisce un blocco finale.
- Azione eliminabile che restituisce un blocco finale.
- Tipo per il nuovo compilatore del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Passa alternativamente al parser di codice o al parser di markup come parser attivo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se lo spazio vuoto è significativo per il blocco predecessore.
- true se lo spazio vuoto è significativo per il blocco predecessore. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce metodi helper per il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è un contrassegno che combina la spaziatura o un contrassegno non di spaziatura.
- true se il valore del carattere specificato è un contrassegno che combina la spaziatura o un contrassegno non di spaziatura. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è un segno di punteggiatura di connessione.
- true se il valore del carattere specificato è un segno di punteggiatura di connessione. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è un numero a cifre decimali.
- true se il valore del carattere specificato è un numero a cifre decimali. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è valido per essere utilizzato nell'indirizzo di posta elettronica.
- true se il valore del carattere specificato è valido per essere utilizzato nell'indirizzo di posta elettronica. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato viene utilizzato per la formattazione del layout del testo o la formattazione dell'operazione del testo.
- true se il valore del carattere specificato viene utilizzato per la formattazione del layout del testo o la formattazione dell'operazione del testo. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è un numero a cifre esadecimali.
- true se il valore del carattere specificato è un numero a cifre esadecimali. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore della stringa specificato è un identificatore.
- true se il valore della stringa specificato è un identificatore. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore della stringa specificato è un identificatore.
- true se il valore della stringa specificato è un identificatore. In caso contrario, false.
- Valore da controllare.
- true per richiedere che l'identificatore inizi con una lettera o un carattere di sottolineatura (_). In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è valido per essere utilizzato nell'identificatore.
- true se il valore del carattere specificato è valido per essere utilizzato nell'identificatore. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è valido per essere utilizzato come carattere iniziale di un identificatore.
- true se il valore del carattere specificato è valido per essere utilizzato come carattere iniziale di un identificatore. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è una lettera.
- true se il carattere specificato è una lettera. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è una lettera o un numero a cifre decimali.
- true se il carattere specificato è una lettera o un numero a cifre decimali. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore specificato è una nuova riga.
- true se il carattere specificato è una nuova riga. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore specificato è una nuova riga.
- true se il carattere specificato è una nuova riga. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è un token del carattere di terminazione.
- true se il valore del carattere specificato è un token del carattere di terminazione. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è una stringa tra virgolette di terminazione.
- true se il valore del carattere specificato è una stringa tra virgolette di terminazione. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è uno spazio vuoto.
- true se il valore del carattere specificato è uno spazio vuoto. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è uno spazio vuoto o una nuova riga.
- true se il valore del carattere specificato è uno spazio vuoto o una nuova riga. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rende puro il nome di input specificato in modo che sia conforme come valore valido per il nome della classe.
- Nome della classe puro.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un visitatore del parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il token di annullamento.
- Token di annullamento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica che il metodo di un visitatore ha completato l'esecuzione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita il blocco specificato.
- Blocco da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita il blocco specificato dopo l'analisi.
- Blocco da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita l'errore Razor dato.
- Errore da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita l'intervallo specificato.
- Intervallo da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita il blocco specificato prima dell'analisi.
- Blocco da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce i metodi di estensione per il visitatore del parser.
-
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un parser Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Parser del codice.
- Parser del markup.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un'attività che analizza un oggetto specificato.
- Oggetto creato.
- Oggetto da analizzare.
- Callback dell'intervallo.
- Callback dell'errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un'attività che analizza un oggetto specificato.
- Oggetto creato.
- Oggetto da analizzare.
- Callback dell'intervallo.
- Callback dell'errore.
- Token di annullamento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un'attività che analizza un oggetto specificato.
- Oggetto creato.
- Oggetto da analizzare.
- Callback dell'intervallo.
- Callback dell'errore.
- Contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un'attività che analizza un oggetto specificato.
- Oggetto creato.
- Oggetto da analizzare.
- Callback dell'intervallo.
- Callback dell'errore.
- Contesto.
- Token di annullamento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un'attività che analizza un oggetto specificato.
- Oggetto creato.
- Oggetto da analizzare.
- Cliente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la modalità della fase di progettazione.
- Modalità della fase di progettazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza l'oggetto specificato.
- Risultato del parser.
- Oggetto da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza l'oggetto specificato.
- Oggetto da analizzare.
- Visitatore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza l'oggetto specificato.
- Risultato del parser.
- Oggetto da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza l'oggetto specificato.
- Risultato del parser.
- Oggetto da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza l'oggetto specificato.
- Oggetto da analizzare.
- Visitatore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un parser supportato dal tokenizer.
- Tipo di tokenizer.
- Tipo di simbolo.
- Tipo di SymbolType.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta l'elenco di simboli.
- Elenco di simboli.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il simbolo specificato.
- Simbolo da accettare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il parser accetta tutti i tipi di tokenizer.
- true se il parser accetta tutti i tipi di tokenizer. In caso contrario, false.
- Tipi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il parser accetta e passa al tokenizer successivo.
- true se il parser accetta e passa al tokenizer successivo. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il parser accetta il singolo carattere dello spazio vuoto.
- true se il parser accetta il singolo carattere dello spazio vuoto. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token finché non ne viene trovato uno del tipo specificato.
- Tipo di token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token finché non ne viene trovato uno del tipo specificato e ne eseguirà il backup in modo che il token successivo sia del tipo specificato.
- Tipo del primo token.
- Tipo del secondo token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta i token specificati finché non ne viene trovato uno del tipo specificato.
- Tipo del primo token.
- Tipo del secondo token.
- Tipo del terzo token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token finché non ne viene trovato uno dei tipi specificati.
- Tipi di token.
-
-
- Accetta il token quando è stata raggiunta la condizione.
- Condizione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token quando non ne viene trovato uno del tipo specificato.
- Tipo di token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token quando è stato raggiunto quello del tipo specificato.
- Tipo del primo token.
- Tipo del secondo token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token quando è stato raggiunto quello del tipo specificato.
- Tipo del primo token.
- Tipo del secondo token.
- Tipo del terzo token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token quando è stato raggiunto quello dei tipi specificati.
- Tipi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il parser accetta spazi vuoti nelle righe.
- true se il parser accetta spazi vuoti nelle righe. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un simbolo di marcatore, se necessario.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un simbolo di marcatore, se necessario.
- Posizione dove aggiungere il simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il token è nel tipo specificato.
- true se il token è nel tipo specificato. In caso contrario, false.
- Tipo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il token è nell'identificatore specificato.
- true se il token è nell'identificatore specificato. In caso contrario, false.
- true per consentire le parole chiave. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'analisi è bilanciata.
- true se l'analisi è bilanciata. In caso contrario, false.
- Modalità di bilanciamento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'analisi è bilanciata.
- true se l'analisi è bilanciata. In caso contrario, false.
- Modalità di bilanciamento.
- Analisi sinistra.
- Analisi destra.
- Inizio della modalità.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un intervallo specificato.
- Intervallo da creare.
- Posizione iniziale in cui creare l'intervallo.
- Contenuto dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Configura l'intervallo.
- Configurazione.
-
-
- Configura l'intervallo.
- Configurazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la posizione corrente dell'istanza corrente.
- Posizione corrente dell'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il simbolo corrente di questa istanza.
- Simbolo corrente di questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se il tokenizer è alla fine del file.
- true se il tokenizer è alla fine del file. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se assicurare il parser corrente.
- true se assicurare il parser corrente. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il token previsto con il tipo specificato.
- Tipo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il token previsto con i tipi specificati.
- Tipi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Gestisce la transizione incorporata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza un intervallo specificato.
- Intervallo da inizializzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se questa istanza è in una transizione incorporata.
- true se questa istanza è in una transizione incorporata. In caso contrario, false.
- true per consentire i modelli e i commenti. In caso contrario, false.
- true per consentire le transizioni. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il linguaggio utilizzato per l'analisi.
- Linguaggio utilizzato per l'analisi.
-
-
- Determina se il token con la condizione specificata passa.
- true se il token con la condizione specificata passa. In caso contrario, false.
- Condizione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il token con il tipo specificato passa.
- true se il token con il tipo specificato passa. In caso contrario, false.
- Tipo di token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il token con i tipi specificati passa.
- true se il token con i tipi specificati passa. In caso contrario, false.
- Tipi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il parser passa al token successivo.
- true se il parser passa al token successivo. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'analisi di un token con il tipo specificato è facoltativa.
- true se l'analisi di un token con il tipo specificato è facoltativa. In caso contrario, false.
- Tipo di token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'analisi di un token con il tipo specificato è facoltativa.
- true se l'analisi di un token con il tipo specificato è facoltativa. In caso contrario, false.
- Tipo di token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un token con i caratteri accettati.
- Caratteri accettati.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un token con il tipo di intervallo.
- Tipo di intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un token con il tipo di intervallo e i caratteri accettati specificati.
- Tipo di intervallo.
- Caratteri accettati.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un intervallo prima del commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il simbolo precedente di questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Effettua il push della configurazione dell'intervallo.
-
- che chiude la configurazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Effettua il push della configurazione dell'intervallo.
-
- che chiude la configurazione.
- Nuova configurazione.
-
-
- Effettua il push della configurazione dell'intervallo.
-
- che chiude la configurazione.
- Nuova configurazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Posticipa la transizione.
- Simboli.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Posticipa la transizione.
- Simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Posticipa la transizione corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visualizza il commento Razor.
-
-
- Legge un token quando non è stata raggiunta la condizione.
- Token da leggere.
- Condizione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il token previsto è obbligatorio.
- true se il token previsto è obbligatorio. In caso contrario, false.
- Token previsto.
- true per visualizzare un errore se non è stato trovato. In caso contrario, false.
- Base errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'oggetto associato a questa istanza.
- Oggetto associato a questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la configurazione dell'intervallo.
- Configurazione dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tokenizer.
- Tokenizer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il token con il tipo specificato è stato analizzato.
- true se il token con il tipo specificato è stato analizzato. In caso contrario, false.
- Tipo di token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un parser di codice Visual Basic.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta spazi nel codice VB.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Verifica una condizione e visualizza una parola chiave nel codice.
- Parola chiave.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Asserisce la direttiva data.
- Direttiva da asserire.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la direttiva è ‘AT’.
- true se la direttiva è 'AT'. In caso contrario, false.
- Direttiva.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la parola chiave data è ‘AT’.
- true se la parola chiave specificata è 'AT'. In caso contrario, false.
- Parola chiave.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Finisce una direttiva terminata.
- Funzione che finisce la direttiva terminata.
- Direttiva.
- Tipo del blocco.
- Generatore di codice.
- true per consentire il markup. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la terminazione del corpo della direttiva è finita.
- true se la terminazione del corpo della direttiva è finita. In caso contrario, false.
- Direttiva.
- Inizio del blocco.
- true per consentire tutte le transizioni. In caso contrario, false.
-
-
- Finisce la terminazione di un'istruzione.
- Funzione che finisce la terminazione.
- Parola chiave.
- true se la terminazione supporta l'uscita. In caso contrario, false.
- true se la terminazione supporta la continuazione. In caso contrario, false.
-
-
- Finisce la terminazione di un'istruzione.
- Funzione che finisce la terminazione.
- Parola chiave.
- true se la terminazione supporta l'uscita. In caso contrario, false.
- true se la terminazione supporta la continuazione. In caso contrario, false.
- Nome del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Gestisce la transizione incorporata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Gestisce la transizione incorporata.
- Ultimo spazio bianco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il codice che gestisce la parola chiave Esci o Continua.
- Parola chiave.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un codice che gestisce una transizione.
- Ultimo spazio bianco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se il codice è una direttiva dell'helper.
- true se il codice è una direttiva dell'helper. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice importa un'istruzione.
- true se il codice importa un'istruzione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice eredita un'istruzione.
- true se il codice eredita un'istruzione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice è in una transizione incorporata.
- true se il codice è in una transizione incorporata. In caso contrario, false.
- true per consentire i modelli e i commenti. In caso contrario, false.
- true per consentire le transizioni. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice è definito dalla direttiva.
- true se il codice è definito da una direttiva. In caso contrario, false.
- Direttiva.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene le parole chiave associate al codice.
- Parole chiave associate al codice.
-
-
- Indica una parola chiave che termina un'istruzione.
- Funzione che termina l'istruzione.
- Avvio.
- Terminatore.
- true se la terminazione supporta l'uscita. In caso contrario, false.
- true se la terminazione supporta la continuazione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il linguaggio per il parser.
- Linguaggio per il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice è una direttiva di layout.
- true se il codice è una direttiva di layout. In caso contrario, false.
-
-
- Esegue il mapping di una direttiva data.
- Direttiva.
- Azione relativa all'esecuzione del mapping di una direttiva data.
-
-
- Esegue il mapping di una parola chiave data.
- Parola chiave.
- Azione relativa all'esecuzione del mapping di una parola chiave data.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un blocco nidificato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la parola chiave del codice è facoltativa.
- true se la parola chiave del codice è facoltativa. In caso contrario, false.
- Parola chiave.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice è un'istruzione facoltativa.
- true se il codice è un'istruzione facoltativa. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'altro parser.
- Altro parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il blocco del parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il blocco del parser.
- Sequenza di avvio.
- Sequenza di fine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Estende l'output prima del commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Blocca l'analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge un elenco di spazi Visual Basic.
- Elenco di spazi Visual Basic.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo previsto è obbligatorio.
- true se il simbolo previsto è obbligatorio. In caso contrario, false.
- Simbolo previsto.
- Base errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice è una parola riservata.
- true se il codice è una parola riservata. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice è una direttiva di sezione.
- true se il codice è una direttiva di sezione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice ha una direttiva di stato della sessione.
- true se il codice ha una direttiva di stato della sessione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta le caratteristiche del linguaggio Visual Basic.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo di indicatore Visual Basic.
- Simbolo di indicatore Visual Basic creato.
- Posizione per creare il simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo Visual Basic.
- Oggetto creato.
- Posizione per creare il simbolo.
- Il contenuto.
- Tipo del simbolo.
- Errori.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un tokenizer Visual Basic.
- Oggetto creato.
- Origine in cui creare il tokenizer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Capovolge la parentesi data.
- Tipo del simbolo Visual Basic.
- Parentesi da capovolgere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Recupera il tipo del simbolo noto.
- Tipo del simbolo noto.
- Tipo da recuperare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un simbolo di esempio con il tipo dato.
- Simbolo di esempio con il tipo dato.
- Tipo del simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un'istanza di questo oggetto .
- Istanza di .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta la classe di handler di modifica a completamento automatico.
-
-
- Inizializza una nuova istanza della classe .
- Tokenizer.
-
-
- Inizializza una nuova istanza della classe .
- Tokenizer.
- Caratteri accettati.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se la funzione di completamento automatico è alla fine dell'intervallo.
- true se la funzione di completamento automatico è alla fine di questo intervallo. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore stringa per il completamento automatico.
- Valore stringa per il completamento automatico.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un risultato di analisi che può accettare le modifiche.
- Fase della destinazione.
- Oggetto normalizzato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se questa istanza e un oggetto specificato sono uguali.
- true se e questa istanza sono dello stesso tipo e rappresentano lo stesso valore. In caso contrario, false.
- Oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Intero con segno a 32 bit che è il codice hash per questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il nome tipo completo dell'istanza.
- Stringa contenente un nome tipo completo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il blocco per la creazione di pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Origine per il compilatore del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il visitatore del parser del blocco.
- Visitatore del parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene una raccolta di SyntaxTreeNode per visualizzare gli elementi figlio del blocco.
- Raccolta di SyntaxTreeNode per visualizzare gli elementi figlio del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il IBlockCodeGenerator per generare codici per gli elementi.
- IBlockCodeGenerator per generare codici per gli elementi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale al blocco corrente.
- true se l'oggetto specificato è uguale al blocco corrente. In caso contrario, false.
- Oggetto da confrontare con l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce un valore che indica se il blocco è equivalente allo stesso elemento.
- true se il blocco è equivalente allo stesso elemento. In caso contrario, false.
- Nodo della struttura ad albero della sintassi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Individua il primo intervallo discendente del blocco.
- Primo intervallo discendente del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Individua l'ultimo intervallo discendente del blocco.
- Ultimo intervallo discendente del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Appiattisce una raccolta di un tipo specificato per il blocco.
- Raccolta di un tipo specificato per il blocco da appiattire.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se l'oggetto è un oggetto di livello blocco.
- true se si tratta di un oggetto di livello blocco. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il valore di lunghezza del blocco.
- Valore di lunghezza del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Individua il proprietario del blocco.
- Proprietario del blocco da individuare.
- Modifica del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il nome di stringa del blocco.
- Nome di stringa del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'inizio per identificare la posizione specifica del blocco.
- Inizio per identificare la posizione specifica del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una stringa che rappresenta l'oggetto corrente.
- Stringa che rappresenta l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di blocco di codice.
- Tipo di blocco di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il compilatore del blocco per le pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Compilatore del blocco originale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Compila un blocco per l'istanza.
- Viene compilato un blocco per questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la raccolta di elementi figlio del compilatore del blocco.
- Raccolta di elementi figlio del compilatore del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il generatore di codice per il compilatore del blocco.
- Generatore di codice per il compilatore del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome di stringa per il compilatore del blocco.
- Nome di stringa per il compilatore del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Reimposta il compilatore del blocco nella posizione originale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un tipo di blocco a cui è possibile assegnare il valore null.
- Tipo di blocco a cui è possibile assegnare il valore null.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un errore di analisi in Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Messaggio di errore.
- Indice assoluto della posizione di origine.
- Indice di riga della posizione di origine.
- Indice di colonna della posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Messaggio di errore.
- Indice assoluto della posizione di origine.
- Indice di riga della posizione di origine.
- Indice di colonna della posizione di origine.
- Lunghezza per l'errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Messaggio di errore.
- Posizione di origine dell'errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Messaggio di errore.
- Posizione di origine dell'errore.
- Lunghezza per l'errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questa istanza.
- true se l'oggetto specificato è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questa istanza.
- true se l'oggetto specificato è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la lunghezza per l'errore.
- Lunghezza per l'errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la posizione di origine dell'errore.
- Posizione di origine dell'errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il messaggio di errore.
- Messaggio di errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa di questa istanza di errore.
- Rappresentazione di stringa di questa istanza di errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un nodo della struttura ad albero dell'analisi Razor che contiene tutto il contenuto di un nodo del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Compilatore da utilizzare per questo intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta la visita dal visitatore specificato.
- Oggetto che esegue la visita.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Modifica il compilatore per questo intervallo.
- Delegato che verrà eseguito insieme a questa modifica.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Imposta la posizione del carattere iniziale di questo intervallo.
- Nuova posizione iniziale da impostare per questo intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il generatore di codice per l'intervallo.
- Generatore di codice per l'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il contenuto dell'intervallo.
- Contenuto dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il gestore per le modifiche dell'intervallo.
- Gestore per le modifiche dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questo intervallo.
- true se l'oggetto specificato è uguale a questo intervallo. In caso contrario, false.
- Oggetto da confrontare con questo intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il nodo specificato è equivalente a questo intervallo.
- true se il nodo specificato è uguale a questo intervallo. In caso contrario, false.
- Nodo da confrontare con questo intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per questo intervallo corrente.
- Codice hash per questo intervallo corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se questo nodo è un nodo del blocco.
- false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il tipo per questo intervallo.
- Uno dei valori dell'enumerazione .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la lunghezza del contenuto dell'intervallo.
- Lunghezza del contenuto dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'intervallo successivo nel nodo della struttura ad albero.
- Intervallo successivo nel nodo della struttura ad albero.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'intervallo precedente nel nodo della struttura ad albero.
- Intervallo precedente nel nodo della struttura ad albero.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Sostituisce il compilatore per questo intervallo con il compilatore dell'intervallo specificato.
- Nuovo compilatore da utilizzare per questo intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione del carattere iniziale dell'intervallo.
- Posizione del carattere iniziale dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta i simboli utilizzati per generare il codice per l'intervallo.
- Simboli utilizzati per generare il codice per l'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa di questo intervallo corrente.
- Rappresentazione di stringa di questo intervallo corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il compilatore dell'intervallo per la struttura ad albero della sintassi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Intervallo originale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il simbolo dato per il compilatore dell'intervallo.
- Compilatore di simboli.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un compilatore dell'intervallo per l'istanza.
- Compilatore dell'intervallo per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Elimina i simboli del compilatore dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il generatore di codice dell'intervallo.
- Generatore di codice dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'handler di modifica dell'intervallo del compilatore.
- Handler di modifica dell'intervallo del compilatore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il tipo di intervallo del compilatore dell'intervallo.
- Tipo di intervallo del compilatore dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Reimposta il compilatore dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione di origine del compilatore dell'intervallo.
- Posizione di origine del compilatore dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene i simboli per una raccolta di sola lettura generica.
- Simboli per una raccolta di sola lettura generica.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il nodo per la struttura ad albero della sintassi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il visitatore del nodo della struttura ad albero.
- Visitatore del parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se il nodo della struttura ad albero della sintassi è equivalente a un nodo dato.
- true se il nodo della struttura ad albero della sintassi è equivalente al nodo dato. In caso contrario, false.
- Nodo dato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se il nodo della struttura ad albero della sintassi è un oggetto del livello di blocco.
- true se il nodo della struttura ad albero della sintassi è un oggetto del livello di blocco. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la lunghezza del nodo della struttura ad albero della sintassi.
- Lunghezza del nodo della struttura ad albero della sintassi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il nodo della struttura ad albero principale del nodo della struttura ad albero corrente.
- Nodo della struttura ad albero principale del nodo della struttura ad albero corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la posizione di origine specifica per il nodo della struttura ad albero della sintassi.
- Posizione di origine specifica per il nodo della struttura ad albero della sintassi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce un buffer di lookahead per il lettore di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Lettore di testo per il buffer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizia l'operazione di memorizzazione nel buffer di lookahead per questo .
- Azione eliminabile che termina la memorizzazione nel buffer di lookahead.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Elimina il contesto del backtrack associato alla memorizzazione nel buffer di lookahead.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il carattere corrente nel buffer.
- Carattere corrente nel buffer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione corrente del carattere nel buffer.
- Posizione corrente del carattere nel buffer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rilascia le risorse non gestite utilizzate dall'istanza corrente della classe e, facoltativamente, quelle gestite.
- true per rilasciare sia le risorse gestite sia quelle non gestite. false per rilasciare solo le risorse non gestite.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge il carattere successivo dal lettore di testo e lo aggiunge al buffer di lookahead.
- true se un carattere è stato letto dal lettore di testo. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fa avanzare la posizione del buffer al carattere successivo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il carattere corrente nel buffer.
- Carattere corrente nel buffer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il carattere corrente dal buffer e fa avanzare la posizione del buffer al carattere successivo.
- Carattere corrente dal buffer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta una posizione contrassegnata.
- Tipo di posizione contrassegnata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Valore dell'origine.
- Offset.
- Riga.
- Posizione di colonna dell'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Valore dell'origine.
- Posizione dell'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione dell'origine.
- Posizione dell'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti sono uguali.
- true se i due oggetti sono uguali. In caso contrario, false.
- Primo oggetto da confrontare.
- Secondo oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Converte il valore specificato in un oggetto .
- true se la conversione viene eseguita correttamente. In caso contrario, false.
- Valore da convertire.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti non sono uguali.
- true se i due oggetti non sono uguali. In caso contrario, false.
- Primo oggetto da confrontare.
- Secondo oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa dell'istanza corrente.
- Stringa che rappresenta l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa dell'istanza corrente.
- Stringa che rappresenta l'istanza corrente.
- Formato.
- Provider del formato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il valore dell'origine.
- Valore dell'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il token in cui ricercare Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Azione da annullare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rilascia tutte le risorse utilizzate dall'istanza corrente della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rilascia le risorse non gestite utilizzate da e, facoltativamente, quelle gestite.
- true per rilasciare sia le risorse gestite sia quelle non gestite, false per rilasciare solo le risorse non gestite.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un lettore
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Lettore di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Contenuto della stringa.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Memorizzazione del testo nel buffer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la lunghezza del testo da leggere.
- Lunghezza del testo da leggere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'origine della posizione per il lettore di testo.
- Origine della posizione per il lettore di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge il carattere successivo senza modificare lo stato del lettore o l'origine del carattere.
- Intero che rappresenta il successivo carattere da leggere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione per ricercare il lettore di testo.
- Posizione per ricercare il lettore di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge il carattere successivo dal lettore di testo e fa avanzare la posizione del carattere di un carattere.
- Carattere successivo dal lettore di testo o -1 se non è più disponibile alcun carattere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta una posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe ..
- Indice assoluto.
- Indice di riga.
- Indice dei caratteri.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'indice assoluto per la posizione di origine.
- Indice assoluto per la posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge i due oggetti .
- Somma dei due oggetti .
- Primo oggetto da aggiungere.
- Secondo oggetto da aggiungere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fa avanzare l'oggetto specificato alla posizione data.
- Posizione di origine.
- Posizione a cui far avanzare l'oggetto.
- Testo che avanza alla posizione data.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'indice dei caratteri per la posizione di origine.
- Indice dei caratteri per la posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Confronta l'oggetto corrente con l'altro oggetto.
- Valore degli oggetti confrontati.
- Oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto è uguale all'altro oggetto .
- true se l'oggetto corrente è uguale all'altro oggetto. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'indice di riga per la posizione di origine.
- Indice di riga per la posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge i due oggetti .
-
- che è la somma dei due oggetti.
- Oggetto da aggiungere.
- Oggetto da aggiungere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti sono uguali.
- true se i due oggetti sono uguali. In caso contrario, false..
- Primo oggetto da confrontare.
- Secondo oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il primo oggetto è maggiore del secondo.
- true se il primo oggetto è maggiore del secondo. In caso contrario, false..
- Primo oggetto.
- Secondo oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti non sono uguali.
- true se i due oggetti non sono uguali. In caso contrario, false..
- Oggetto da confrontare.
- Oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il primo oggetto è minore del secondo.
- true se il primo oggetto è maggiore del secondo. In caso contrario, false..
- Primo oggetto.
- Secondo oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Restituisce .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Sottrae il primo oggetto al secondo oggetto.
- Differenza tra i due oggetti.
- Primo oggetto.
- Secondo oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa della posizione di origine.
- Rappresentazione di stringa della posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce un rilevatore della posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Posizione corrente dell'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Calcola la nuova posizione dell'origine.
- Nuova posizione di origine.
- Ultima posizione.
- Nuovo contenuto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione corrente dell'origine.
- Posizione corrente dell'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiorna la posizione di origine.
- Carattere da leggere.
- Carattere da aggiornare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiorna la posizione dell'origine.
- Oggetto .
- Contenuto dell'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce un lettore per il buffer del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Buffer del testo da leggere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizia la lettura del buffer del testo corrente.
- Istanza di che arresta il buffer del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Annulla il backtrack.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la posizione corrente del buffer del testo.
- Posizione corrente del buffer del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rilascia le risorse non gestite utilizzate dalla classe e, facoltativamente, quelle gestite.
- true per rilasciare sia le risorse gestite sia quelle non gestite. false per rilasciare solo le risorse non gestite.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il successivo buffer del testo da leggere.
- Successivo buffer del testo da leggere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge il buffer del testo corrente.
- Buffer del testo corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Descrive un'operazione di modifica del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe ..
- Posizione della modifica del testo nello snapshot immediatamente prima della modifica.
- Lunghezza del testo precedente.
- Buffer del testo precedente.
- Posizione della modifica del testo nello snapshot immediatamente dopo la modifica.
- Lunghezza del nuovo testo.
- Nuovo buffer del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Applica la modifica del testo specificato.
- Stringa che contiene il valore del testo.
- Contenuto del testo.
- Offset di modifica.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Applica la modifica del testo specificato.
- Stringa che contiene il valore del testo.
- Ampliamento della modifica del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il codice hash per la modifica del testo.
- Codice hash per la modifica del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se la modifica del testo è un'eliminazione.
- true se la modifica del testo è un'eliminazione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se la modifica del testo è un inserimento.
- true se la modifica del testo è un inserimento. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se la modifica del testo è una sostituzione.
- true se la modifica del testo è una sostituzione. In caso contrario, false..
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un nuovo buffer del testo.
- Nuovo buffer del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la lunghezza del nuovo testo.
- Lunghezza del nuovo testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione della modifica del testo nello snapshot immediatamente dopo la modifica.
- Posizione della modifica del testo nello snapshot immediatamente dopo la modifica.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il testo che ha sostituito quello precedente.
- Testo che ha sostituito quello precedente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce un valore normalizzato della modifica del testo.
- Valore normalizzato della modifica del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un buffer del testo precedente.
- Buffer del testo precedente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la lunghezza del testo precedente.
- Lunghezza del testo precedente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione della modifica del testo nello snapshot immediatamente prima della modifica.
- Posizione della modifica del testo nello snapshot immediatamente prima della modifica.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il testo che è stato sostituito.
- Testo che è stato sostituito.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se le due modifiche del testo sono uguali.
- true se le due modifiche del testo sono uguali. In caso contrario, false..
- Modifica del testo a sinistra.
- Modifica del testo a destra.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se le due modifiche del testo non sono uguali.
- true se le due modifiche del testo non sono uguali. In caso contrario, false..
- Modifica del testo a sinistra.
- Modifica del testo a destra.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione della stringa di modifica del testo.
- Rappresentazione della stringa di modifica del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce il lettore per il documento di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Origine da leggere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la lunghezza del documento.
- Lunghezza del documento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la posizione del documento.
- Posizione del documento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il successivo documento di testo da leggere.
- Successivo documento di testo da leggere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione del documento di testo.
- Posizione del documento di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge un documento di testo specificato.
- Documento di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce funzioni helper per il tokenizer CSharp.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il carattere specificato può essere utilizzato per l'identificatore.
- true se per l'identificatore è possibile utilizzare il carattere specificato. In caso contrario, false.
- Carattere da verificare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il carattere specificato può essere utilizzato come carattere iniziale dell'identificatore.
- true se è possibile utilizzare il carattere specificato come carattere iniziale dell'identificatore. In caso contrario, false.
- Carattere da verificare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il carattere specificato è un suffisso letterale per i numeri reali.
- true se il carattere specificato è un suffisso letterale per i numeri reali. In caso contrario, false.
- Carattere da verificare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un tokenizer CSharp.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo di tokenizer CSharp.
- Simbolo di tokenizer CSharp.
- Inizio della posizione di origine.
- Contenuto.
- Tipo di simbolo CSharp.
- Raccolta di errori Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di stella di .
- Tipo di stella di .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di transizione del commento Razor per .
- Tipo di transizione del commento Razor per .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di transizione del commento Razor per .
- Tipo di commento Razor per .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene lo stato del computer.
- Stato del computer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il tokenizer HTML del Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Origine del documento di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo per i parametri specificati del tokenizer HTML.
- Simbolo da creare per i parametri specificati del tokenizer HTML.
- Posizione di origine.
- Stringa di contenuto.
- Tipo di simbolo HTML.
- Errori Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene i simboli HTML per il tipo di stella del commento Razor.
- Simboli HTML per il tipo di stella del commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene i simboli HTML per il tipo di transizione del commento Razor.
- Simboli HTML per il tipo di transizione del commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene i simboli HTML per il tipo di commento Razor.
- Simboli HTML per il tipo di commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'inizio del computer dello stato per l'HTML.
- Inizio del computer dello stato per l'HTML.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Tipo per il simbolo del linguaggio.
- Tipo di enumerazione per il simbolo del linguaggio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce un risultato dopo la transizione del commento Razor.
- Risultato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il buffer di lookahead contiene la stringa prevista.
- true se il buffer di lookahead contiene la stringa prevista. In caso contrario, false.
- Stringa da verificare.
- true per indicare che il confronto rileva la distinzione tra maiuscole e minuscole. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il buffer per il tokenizer.
- Buffer per il tokenizer.
-
-
- Restituisce il delegato della funzione che accetta un parametro del carattere e restituisce un valore che indica se il parametro del carattere è uguale al carattere specificato o uno spazio vuoto.
- Delegato della funzione.
- Carattere utilizzato per il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un tipo di simbolo del linguaggio per il tokenizer con il contenuto specificato.
- Tipo di simbolo del linguaggio per il tokenizer.
- Inizio della posizione di origine.
- Valore del contenuto.
- Tipo di simbolo.
- Errore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il carattere corrente nel tokenizer.
- Carattere corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un elenco degli errori correnti Razor.
- Elenco degli errori correnti.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso di origine corrente.
- Percorso di origine corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'inizio corrente del percorso di origine.
- Inizio corrente del percorso di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore se la posizione corrente del tokenizer è alla fine del file.
- true se la posizione corrente del tokenizer è alla fine del file. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il tipo di simbolo finale del linguaggio utilizzato dal tokenizer.
- Tipo di simbolo finale del linguaggio.
- Inizio della posizione di origine.
- Tipo di enumerazione per il simbolo del linguaggio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il tipo di simbolo finale del linguaggio utilizzato dal tokenizer.
- Tipo di simbolo finale del linguaggio.
- Tipo di enumerazione per il simbolo del linguaggio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore se il tokenizer include contenuto.
- true se il tokenizer include contenuto. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge il carattere successivo dal lettore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Mostra il simbolo successivo da utilizzare.
- Simbolo successivo da utilizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge il simbolo successivo nel codice.
- Simbolo successivo nel codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il corpo del commento Razor.
- Oggetto che rappresenta lo stato del risultato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di stella per il commento Razor.
- Tipo di stella per il commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di transizione per il commento Razor.
- Tipo di transizione per il commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di commento Razor.
- Tipo di commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Imposta lo stato del tokenizer sul relativo stato iniziale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Riprende l'utilizzo del tipo di simbolo del linguaggio precedente.
- Tipo di simbolo del linguaggio precedente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Utilizza un tipo singolo di simbolo.
- Tipo singolo di simbolo.
- Tipo di simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'origine del documento di testo.
- Origine del documento di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il simbolo iniziale utilizzato in questa classe.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il tipo di simbolo del linguaggio successivo.
- Tipo di simbolo del linguaggio successivo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta la stringa se trovata nel buffer di lookahead nel buffer del tokenizer.
- true se il buffer di lookahead contiene la stringa prevista. In caso contrario, false.
- Stringa per cui stabilire la corrispondenza.
- true per indicare che il confronto rileva la distinzione tra maiuscole e minuscole. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il carattere corrente nel buffer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta la stringa di input specificata nel buffer.
- true se la stringa di input è stata accettata. false se è stata accettata solo una sottostringa.
- Stringa di input.
- true per indicare che il confronto rileva la distinzione tra maiuscole e minuscole. In caso contrario, false.
-
-
- Analizza il documento di origine fino a quando non viene soddisfatta la condizione specificata dal predicato o non viene raggiunta la fine del file.
- true se la condizione del predicato viene soddisfatta. false se viene raggiunta la fine del file.
- Il predicato che specifica la condizione di elaborazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta i parametri specificati per la visualizzazione del tokenizer.
- Tipo di tokenizer.
- Simbolo del tipo.
- Tipo di simbolo del token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Visualizzazione del tokenizer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la visualizzazione corrente di TSymbol.
- Visualizzazione corrente di TSymbol.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se la visualizzazione può raggiungere la fine di un file.
- true se la visualizzazione più la fine del file. In caso contrario false..
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il tokenizer si sposta nella visualizzazione successiva.
- true se il tokenizer si sposta nella visualizzazione successiva. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inserisce un simbolo specificato nella visualizzazione del tokenizer.
- Simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'origine del documento di testo per la visualizzazione del tokenizer.
- Origine del documento di testo per la visualizzazione del tokenizer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tokenizer per visualizzare i simboli Razor.
- Ottiene il tokenizer per visualizzare i simboli del Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un set di caratteri come helper in VB.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un valore se un carattere specificato è racchiuso tra virgolette doppie (").
- true se il carattere è racchiuso tra virgolette doppie ("). In cosa contrario, false.
- Carattere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un valore se il carattere è in cifra ottale.
- true se un carattere è in cifra ottale. In caso contrario, false..
- Carattere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un valore se un carattere specificato è racchiuso tra virgolette singole (').
- true se il carattere è racchiuso tra virgolette singole ("). In cosa contrario false.
- Carattere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Consente a un'applicazione di suddividere un simbolo VB in token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Origine del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un dominio di simboli.
- Dominio di simboli.
- Posizione di origine.
- Valore del contenuto.
- Oggetto .
- Errore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di simbolo VB.
- Tipo di simbolo VB.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene lo stile di transizione del simbolo VB.
- Stile di transizione del simbolo VB.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il commento del tipo Razor per .
- Commento del tipo Razor per .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene lo stato iniziale del computer.
- Stato iniziale del computer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un simbolo C sharp per il tokenizer Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Offset del simbolo.
- Riga.
- Colonna
- Contenuto del simbolo.
- Tipo del simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Offset del simbolo.
- Riga.
- Colonna
- Contenuto del simbolo.
- Tipo del simbolo.
- Elenco di errori.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Posizione per iniziare il simbolo.
- Contenuto del simbolo.
- Tipo del simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Posizione per iniziare il simbolo.
- Contenuto del simbolo.
- Tipo del simbolo.
- Elenco di errori.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se il simbolo include un carattere di escape.
- true se il simbolo include un carattere di escape. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la parola chiave del linguaggio.
- Parola chiave del linguaggio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta i simboli HTML.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Posizione del simbolo.
- Riga esatta in cui si trova il simbolo.
- Numero di colonna in cui si trova il simbolo.
- Valore del contenuto.
- Oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Posizione del simbolo.
- Riga esatta in cui si trova il simbolo.
- Numero di colonna in cui si trova il simbolo.
- Valore del contenuto.
- Oggetto .
- Errore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Inizio della posizione di origine.
- Valore del contenuto.
- Oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Inizio della posizione di origine.
- Valore del contenuto.
- Oggetto .
- Errore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un'interfaccia per il simbolo Razor Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Modifica la posizione del simbolo.
- Modifica la nuova posizione del simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il contenuto del simbolo.
- Contenuto del simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica l'offset iniziale del simbolo.
- Posizione in cui iniziare il documento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la posizione del simbolo.
- Posizione del simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta una nuova istanza di simboli.
- Tipo generico.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Posizione di origine.
- Valore del contenuto.
- Tipo.
- Errore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Modifica l'avvio del computer.
- Nuovo avvio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il contenuto di un .
- Contenuto di un .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'errore Razor.
- Errore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Recupera un codice hash basato sull'oggetto corrente..
- Hash dell'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Avvia l'offset del tempo per il percorso di origine.
- Avvio del documento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il punto iniziale del percorso di origine.
- Punto iniziale del percorso di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera una rappresentazione di stringa dell'oggetto corrente.
- Genera una rappresentazione di stringa dell'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un tipo che eredita dal tipo base.
- Tipo che eredita del tipo base.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta le estensioni del simbolo per il tokenizer Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il contenuto di questa classe .
- Ottiene il contenuto di questa classe .
- Simboli da fornire.
- Indice iniziale dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il contenuto di questa classe .
- Ottiene il contenuto di questa classe .
- Intersezione con l'intervallo specificato.
-
-
- Ottiene il contenuto di questa classe .
- Ottiene il contenuto di questa classe .
- Intersezione con l'intervallo specificato.
- Elenco di simboli scelti.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il contenuto di questa classe .
- Ottiene il contenuto di questa classe .
- Simboli forniti.
-
-
- Enumera l'elenco di parole chiave di Visual Basic.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta i componenti del simbolo VB.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Valori di offset.
- Valori di riga.
- Valore di colonna.
- Valore stringa del contenuto.
- Oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Valori di offset.
- Valori di riga.
- Valore di colonna.
- Valore stringa del contenuto.
- Oggetto .
- Elenco di errori Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Inizio della posizione di origine.
- Valore stringa del contenuto.
- Oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Inizio della posizione di origine.
- Valore stringa del contenuto.
- Oggetto .
- Elenco di errori Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un valore se l'oggetto corrente è uguale al nuovo oggetto.
- true se l'oggetto corrente è uguale al nuovo oggetto corrente. In caso contrario, false.
- Oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash da restituire.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il campione di dati specificato dall'oggetto.
- Campione di dati specificato dall'oggetto.
- Oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la parola chiave utilizzata in VB.
- Parola chiave utilizzata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.Razor.it.3.2.3/Microsoft.AspNet.Razor.it.3.2.3.nupkg b/packages/Microsoft.AspNet.Razor.it.3.2.3/Microsoft.AspNet.Razor.it.3.2.3.nupkg
deleted file mode 100644
index a3767a0..0000000
Binary files a/packages/Microsoft.AspNet.Razor.it.3.2.3/Microsoft.AspNet.Razor.it.3.2.3.nupkg and /dev/null differ
diff --git a/packages/Microsoft.AspNet.Razor.it.3.2.3/lib/net45/it/System.Web.Razor.resources.dll b/packages/Microsoft.AspNet.Razor.it.3.2.3/lib/net45/it/System.Web.Razor.resources.dll
deleted file mode 100644
index 0c23e5c..0000000
Binary files a/packages/Microsoft.AspNet.Razor.it.3.2.3/lib/net45/it/System.Web.Razor.resources.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.Razor.it.3.2.3/lib/net45/it/system.web.razor.xml b/packages/Microsoft.AspNet.Razor.it.3.2.3/lib/net45/it/system.web.razor.xml
deleted file mode 100644
index fdfe5f5..0000000
--- a/packages/Microsoft.AspNet.Razor.it.3.2.3/lib/net45/it/system.web.razor.xml
+++ /dev/null
@@ -1,5760 +0,0 @@
-
-
-
- System.Web.Razor
-
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un linguaggio del codice Razor basato sulla sintassi C#.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo del provider di codice.
- Tipo del provider di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un nuovo generatore di codice Razor basato sul linguaggio del codice C#.
- Nuovo generatore di codice Razor creato in base al linguaggio del codice C#.
- Nome della classe per il codice generato.
- Nome dello spazio dei nomi di primo livello per il codice generato.
- Nome del file del codice sorgente.
- Host del motore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un nuovo parser di codice per il linguaggio del codice C#.
- Nuovo parser di codice creato per il linguaggio del codice C#.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il nome del linguaggio del codice C#.
- Nome del linguaggio del codice C#.Il valore è ‘csharp’.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta i risultati della generazione del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- true se la generazione del codice viene eseguita correttamente. In caso contrario, false.
- Documento.
- Errori del parser.
- Codice generato.
- Dizionario dei mapping del codice generato in fase di progettazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Documento.
- Errori del parser.
- Codice generato.
- Dizionario dei mapping del codice generato in fase di progettazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Risultati del parser.
- Codice generato.
- Dizionario dei mapping del codice generato in fase di progettazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il dizionario dei mapping del codice generato in fase di progettazione.
- Dizionario dei mapping del codice generato in fase di progettazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il codice generato.
- Codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta i risultati dell'analisi di un documento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- true se l'analisi è stata eseguita. In caso contrario, false.
- Nodo radice nella struttura ad albero della sintassi del documento.
- Elenco degli errori che si sono verificati durante l'analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nodo radice nella struttura ad albero della sintassi del documento.
- Elenco degli errori che si sono verificati durante l'analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nodo radice nella struttura ad albero della sintassi del documento.
- Nodo radice nella struttura ad albero della sintassi del documento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'elenco degli errori che si sono verificati durante l'analisi.
- Elenco degli errori che si sono verificati durante l'analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se l'analisi è stata eseguita.
- true se l'analisi è stata eseguita. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Rappresenta la base di tutto il linguaggio del codice Razor.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Inizializza una nuova istanza della classe .Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Ottiene il tipo del provider di CodeDOM.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Tipo del provider di CodeDOM.
-
-
- Crea il generatore di codice per il linguaggio del codice Razor.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Generatore di codice per il linguaggio del codice Razor.
- Nome della classe.
- Nome dello spazio dei nomi di primo livello.
- Nome del file di origine.
- Host del motore Razor.
-
-
- Crea il parser di codice per il linguaggio del codice Razor.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Parser di codice per il linguaggio del codice Razor.
-
-
- Ottiene il linguaggio del codice Razor utilizzando l'estensione file specificata.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Linguaggio del codice Razor.
- Estensione del file.
-
-
- Ottiene il nome del linguaggio del codice Razor corrente, cioè “csharp” o “vb”.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Nome del linguaggio del codice Razor corrente.
-
-
- Ottiene l'elenco dei linguaggi supportati dal codice Razor.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Elenco dei linguaggi supportati dal codice Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un attributo per la direttiva Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome dell'attributo.
- Valore dell'attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se questa istanza è uguale a un oggetto specificato.
- true se l'oggetto è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome dell'attributo.
- Nome dell'attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'ID tipo univoco dell'attributo.
- ID tipo univoco dell'attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il valore dell'attributo.
- Valore dell'attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Parser utilizzato dagli editor per evitare di rianalizzare l'intero documento a ogni modifica del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Costruisce il parser dell'editor.
-
- che definisce l'ambiente in cui verrà eseguito il codice generato.
- Percorso fisico da utilizzare nelle direttive pragma di riga.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se una modifica causerà un cambiamento strutturale del documento e, in caso contrario, la applica alla struttura ad albero esistente.Se si verifica un cambiamento strutturale, si avvia automaticamente un reparse.
- Valore di che indica il risultato dell'analisi incrementale.
- Modifica da applicare alla struttura ad albero di analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la struttura ad albero di analisi corrente.
- Struttura ad albero di analisi corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rilascia tutte le risorse utilizzate dall'istanza corrente di .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rilascia le risorse non gestite utilizzate dalla classe e, facoltativamente, quelle gestite.
- true per rilasciare sia le risorse gestite sia quelle non gestite, false per rilasciare solo le risorse non gestite.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Evento generato quando viene eseguito un reparse completo del documento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome file del documento da analizzare.
- Nome file del documento da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Recupera la stringa a completamento automatico.
- Stringa a completamento automatico.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'host per l'analisi.
- Host per l'analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore per indicare se l'ultimo risultato dell'analisi è stato accettato temporaneamente per la successiva analisi parziale.
- true se l'ultimo risultato dell'analisi è stato accettato temporaneamente per la successiva analisi parziale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Rappresenta il codice generato per l'host del motore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Inizializza una nuova istanza della classe .
- Linguaggio del codice specificato.
-
-
- Inizializza una nuova istanza della classe .
- Linguaggio del codice specificato.
- Factory del parser di markup.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene i linguaggi supportati dal generatore di codice.
- Linguaggi supportati dal generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Crea un parser di markup usando il parser del linguaggio specificato per l'oggetto .
- Parser di markup da creare usando il parser del linguaggio specificato per l'oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Restituisce i metodi come generatore di codice Razor specifico del linguaggio.
- Metodi come generatore di codice Razor specifico del linguaggio.
- Generatore di codice C# o Visual Basic.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Restituisce i metodi come parser di codice Razor specifico del linguaggio mediante il parser del linguaggio specificato.
- Metodi come parser di codice Razor specifico del linguaggio mediante il parser del linguaggio specificato.
- Parser di codice C# o Visual Basic.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Restituisce il metodo per migliorare il parser di markup usando il parser del linguaggio specificato.
- Metodo per migliorare il parser di markup mediante il parser del linguaggio specificato.
- Parser di codice C# o Visual Basic.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta la classe base predefinita per l'host.
- Classe base predefinita per l'host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta il nome della classe base predefinito per l'host.
- Nome della classe predefinito per l'host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta lo spazio dei nomi predefinito per l'host.
- Spazio dei nomi predefinito per l'host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta un valore che indica se la modalità progetta una fase per l'host.
- true se la modalità progetta una fase per l'host. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta l'host che abilita la strumentazione.
- Host che abilita la strumentazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta il contesto della classe generata per l'host.
- Contesto della classe generata per l'host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta il percorso del file di origine con la strumentazione per l'host.
- Percorso del file di origine con la strumentazione per l'host.
-
-
- Rileva o imposta se l'editor della fase di progettazione usa tabulazioni o spazi per il rientro.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene le importazioni dello spazio dei nomi per l'host.
- Importazioni dello spazio dei nomi per l'host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Restituisce questo metodo per pubblicare tutto il codice generato elaborato per l'host.
- Unità di compilazione del codice.
- Spazio dei nomi generato.
- Classe generata.
- Metodo di esecuzione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Restituisce questo metodo per pubblicare tutto il codice generato elaborato per l'host.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere usato direttamente dal codice.Ottiene o imposta gli helper statici per l'host.
- Helper statici per l'host.
-
-
- Dimensione della scheda usata dall'editor dell'hosting durante l'applicazione del rientro con tabulazioni.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un punto di ingresso al motore di modelli Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un generatore di codice.
- Oggetto creato.
- Nome della classe generata.
- Spazio dei nomi nel quale risiederà la classe generata.
- Nome file da utilizzare nelle direttive pragma di riga.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Oggetto creato.
- Oggetto creato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il nome classe predefinito del modello.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica lo spazio dei nomi predefinito per il modello.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
- Nome della classe generata, che sostituisce quanto specificato nell'host.
- Spazio dei nomi nel quale risiederà la classe generata.
- Nome file da utilizzare nelle direttive pragma di riga.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
- Nome della classe generata, che sostituisce quanto specificato nell'host.
- Spazio dei nomi nel quale risiederà la classe generata.
- Nome file da utilizzare nelle direttive pragma di riga.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
- Nome della classe generata, che sostituisce quanto specificato nell'host.
- Spazio dei nomi nel quale risiederà la classe generata.
- Nome file da utilizzare nelle direttive pragma di riga.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer, genera codice per tale modello e restituisce la struttura ad albero CodeDOM costruita.
- Struttura ad albero di analisi risultante E struttura ad albero Code DOM generata.
- Testo di input da analizzare.
- Nome della classe generata, che sostituisce quanto specificato nell'host.
- Spazio dei nomi nel quale risiederà la classe generata.
- Nome file da utilizzare nelle direttive pragma di riga.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un core di codice.
- Risultati del core generato.
- Testo di input da analizzare.
- Nome della classe generata, che sostituisce quanto specificato nell'host.
- Spazio dei nomi nel quale risiederà la classe generata.
- Nome file da utilizzare nelle direttive pragma di riga.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'oggetto che definisce l'ambiente in cui verrà eseguito il codice modello generato.
-
- che definisce l'ambiente in cui verrà eseguito il codice modello generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer e ne restituisce il risultato.
- Struttura ad albero di analisi risultante.
- Testo di input da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer e ne restituisce il risultato.
- Struttura ad albero di analisi risultante.
- Testo di input da analizzare.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer e ne restituisce il risultato.
- Struttura ad albero di analisi risultante.
- Testo di input da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il modello specificato dall'oggetto TextBuffer e ne restituisce il risultato.
- Struttura ad albero di analisi risultante.
- Testo di input da analizzare.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il core del modello.
- Struttura ad albero di analisi risultante.
- Testo di input da analizzare.
- Token utilizzato per annullare il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta lo stato del computer.
- Restituzione del tipo generico.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta lo stato corrente del computer.
- Stato corrente del computer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene lo stato iniziale del computer.
- Stato iniziale del computer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rimane nel computer durante la transizione.
- Computer di transizione dello stato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rimane nel computer durante la transizione con l'output specificato.
- Output della transizione.
- Output.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Disabilita il computer al momento della transizione.
- Computer da arrestare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica la nuova transizione dello stato.
- Nuova transizione dello stato.
- Nuovo stato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica la nuova transizione dello stato con l'output specificato.
- Nuova transizione dello stato con l'output specificato.
- Output.
- Nuovo stato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Descrive il processo di alternanza dello stato.
- Processo di alternanza dello stato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il risultato dello stato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Output successivo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Output.
- Stato successivo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se lo stato ha un output.
- true se lo stato ha un output. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta lo stato successivo del computer.
- Stato successivo del computer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'output.
-
- che rappresenta l'output.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di linguaggio e un provider del codice VB Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di CodeDomProvider.
- Tipo di CodeDomProvider.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea il generatore del linguaggio del codice.
- Generatore del linguaggio del codice.
- Nome della classe.
- Nome dello spazio dei nomi di primo livello.
- Nome del file di origine.
-
- .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un parser di codice in .
- Parser di codice in .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il nome del linguaggio.
- Nome del linguaggio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il risultato della modifica dell'editor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Risultato di analisi parziale.
- Compilatore dell'intervallo modificato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'intervallo modificato di .
- Intervallo modificato di .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il risultato dell'analisi parziale.
- Risultato di analisi parziale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce il gestore di modifica per espressioni implicite.
-
-
- Inizializza una nuova istanza della classe .
- Tokenizer.
- Parole chiave.
- true per accettare il punto finale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se l'espressione accetta il punto finale.
- true se l'espressione accetta il punto finale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica l'analisi che può accettare la modifica.
- Risultato di analisi parziale.
- Destinazione.
- Modifica normalizzata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta le parole chiave associate all'espressione.
- Parole chiave associate all'espressione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa dell'istanza corrente.
- Rappresentazione di stringa dell'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta l'editor del gestore per queste pagine Web.
-
-
- Inizializza una nuova istanza della classe .
- Simboli del tokenizer.
-
-
- Inizializza una nuova istanza della classe .
- Simboli del tokenizer.
- Caratteri accettati.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce metodi per la gestione delle modifiche dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Metodo utilizzato per analizzare la stringa in token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Metodo utilizzato per analizzare la stringa in token.
- Uno dei valori dell'enumerazione .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che specifica i caratteri accettati.
- Uno dei valori dell'enumerazione .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Applica la modifica del testo all'intervallo.
- Risultato dell'operazione di applicazione.
- Intervallo a cui applicare le modifiche.
- Modifica da applicare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Applica la modifica del testo all'intervallo.
- Risultato dell'operazione di applicazione.
- Intervallo a cui applicare le modifiche.
- Modifica da applicare.
- true per accettare il risultato parziale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'intervallo può accettare la modifica specificata.
- true se l'intervallo può accettare la modifica specificata. In caso contrario, false.
- Intervallo da controllare.
- Modifica da applicare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un nuovo gestore di modifica dell'intervallo predefinito.
- Gestore di modifica dell'intervallo predefinito appena creato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un nuovo gestore di modifica dell'intervallo predefinito.
- Gestore di modifica dell'intervallo predefinito appena creato.
- Metodo utilizzato per analizzare la stringa in token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta i suggerimenti dell'editor.
- Suggerimenti dell'editor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se questa istanza è uguale a un oggetto specificato.
- true se l'oggetto è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il testo precedente dal contenuto dell'intervallo.
- Testo precedente dal contenuto dell'intervallo.
- Intervallo da cui ottenere il testo precedente.
- Modifica del testo che contiene la posizione del testo precedente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la modifica specificata si trova alla fine della prima riga del contenuto dell'intervallo.
- true se la modifica specificata si trova alla fine della prima riga del contenuto dell'intervallo. In caso contrario, false.
- Intervallo da controllare.
- Modifica da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la modifica specificata si trova alla fine dell'intervallo.
- true se la modifica specificata si trova alla fine dell'intervallo. In caso contrario, false.
- Intervallo da controllare.
- Modifica da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la modifica specificata si trova alla fine del contenuto dell'intervallo e per l'eliminazione.
- true se la modifica specificata si trova alla fine del contenuto dell'intervallo e per l'eliminazione. In caso contrario, false.
- Intervallo da controllare.
- Modifica da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la modifica specificata si trova alla fine del contenuto dell'intervallo e per l'inserimento.
- true se la modifica specificata si trova alla fine del contenuto dell'intervallo e per l'inserimento. In caso contrario, false.
- Intervallo da controllare.
- Modifica da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la modifica specificata si trova alla fine del contenuto dell'intervallo e per la sostituzione.
- true se la modifica specificata si trova alla fine del contenuto dell'intervallo e per la sostituzione. In caso contrario, false.
- Intervallo da controllare.
- Modifica da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'intervallo è proprietario della modifica specificata.
- true se l'intervallo è proprietario della modifica specificata. In caso contrario, false.
- Intervallo da controllare.
- Modifica da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene e imposta il metodo utilizzato per analizzare la stringa in token.
- Metodo utilizzato per analizzare la stringa in token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa del gestore di modifica dell'intervallo.
- Rappresentazione di stringa del gestore di modifica dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiorna l'intervallo utilizzando la modifica normalizzata.
- Nuovo compilatore dell'intervallo per la destinazione specificata.
- Intervallo da aggiornare.
- Modifica normalizzata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il generatore di codice di importazione aggiunto per Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Spazio dei nomi della stringa.
- Lunghezza dello spazio dei nomi della parola chiave.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se due istanze di un oggetto sono uguali.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto da confrontare con l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice con i parametri specificati utilizzando il generatore di codice di importazione aggiunto.
- Intervallo di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene lo spazio dei nomi della stringa del generatore per aggiungere il generatore di codice per l'importazione.
- Spazio dei nomi della stringa del generatore per aggiungere il generatore di codice per l'importazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la lunghezza dello spazio dei nomi della parola chiave per il generatore di codice.
- Lunghezza dello spazio dei nomi della parola chiave per il generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una stringa che rappresenta l'oggetto corrente.
- Stringa che rappresenta l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta gli attributi del generatore di codice del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome.
- Stringa di prefisso.
- Stringa di suffisso.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto da confrontare con l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per terminare il blocco utilizzando i parametri specificati.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per iniziare il blocco utilizzando i parametri specificati.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per il generatore di codice.
- Codice hash per il generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il nome di stringa di .
- Nome di stringa di .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il prefisso del generatore di codice.
- Prefisso del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il suffisso per il generatore di codice.
- Suffisso per il generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una stringa che rappresenta l'oggetto corrente.
- Stringa che rappresenta l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il generatore di codice del blocco per la sintassi Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto da confrontare con l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera la fine del generatore di codice del blocco per la sintassi Razor.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera l'inizio del generatore di codice del blocco per la sintassi Razor.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce un codice hash per il generatore di codice del blocco.
- Codice hash per il generatore di codice del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un valore null per il generatore di codice del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il completamento degli argomenti dell'evento per la generazione del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Stringa del percorso virtuale.
- Stringa del percorso fisico.
- Unità di compilazione del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il codice generato per completare l'argomento dell'evento.
- Codice generato per completare l'argomento dell'evento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso fisico per la generazione del codice.
- Percorso fisico per la generazione del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso virtuale della generazione del codice.
- Percorso virtuale della generazione del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un nuovo mapping del codice generato alla raccolta.
- Indice di raccolta del mapping del codice appena aggiunto.
- Posizione di origine del mapping del codice generato.
- Inizio di codice del mapping del codice generato.
- Lunghezza del mapping del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un'istruzione del codice per una chiamata del contesto nel metodo specificato.
- Intervallo del contenuto.
- Nome del metodo per richiamare una chiamata del contesto.
- true per specificare che il parametro del metodo è letterale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un'istruzione del codice che inserisce il metodo degli helper della fase di progettazione Razor nell'istruzione del codice specificata.
- Istruzione del codice che riceve l'inserimento del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge l'istruzione del codice specificata al corpo del metodo di destinazione.
- Istruzione del codice da aggiungere al metodo di destinazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge l'istruzione del codice specificata al corpo del metodo di destinazione.
- Istruzione del codice da aggiungere al metodo di destinazione.
- Direttiva pragma di riga.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge il frammento specificato all'istruzione memorizzata nel buffer corrente.
- Frammento da aggiungere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge il frammento specificato all'istruzione memorizzata nel buffer corrente.
- Frammento da aggiungere.
- Intervallo di origine per .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge il contenuto dell'intervallo all'istruzione memorizzata nel buffer corrente.
- Intervallo di origine di cui si deve aggiungere il contenuto.
-
-
- Assegna un nuovo agente di raccolta delle istruzioni e restituisce un'azione eliminabile che ripristina l'agente di raccolta delle istruzioni precedente.
- Azione eliminabile che ripristina l'agente di raccolta delle istruzioni precedente.
- Nuovo agente di raccolta delle istruzioni.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la raccolta di dizionari del mapping del codice generato.
- Raccolta di dizionari del mapping del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'unità di compilazione del codice che conterrà il grafico del programma.
- Unità di compilazione del codice che conterrà il grafico del programma.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea una nuova istanza della classe .
- Istanza appena creata del contesto del generatore di codice.
- Host del motore Razor.
- Nome della classe per la dichiarazione del tipo di classe generata.
- Nome per la dichiarazione dello spazio dei nomi generata.
- File di origine.
- true per consentire la generazione di direttive pragma di riga. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'istruzione memorizzata nel buffer corrente.
- Istruzione memorizzata nel buffer corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge la variabile di helper dell'espressione alla classe generata se non è stata ancora aggiunta.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Scarica l'istruzione memorizzata nel buffer corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la dichiarazione del tipo di classe generata.
- Dichiarazione del tipo di classe generata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera la direttiva pragma di riga per l'origine specificata.
- Direttiva pragma di riga per l'origine specificata.
- Intervallo di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera la direttiva pragma di riga per l'origine.
- Direttiva pragma di riga per l'origine specificata.
- Intervallo di origine.
- Indice di inizio del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera la direttiva pragma di riga per l'origine.
- Direttiva pragma di riga per l'origine specificata.
- Intervallo di origine.
- Indice di inizio del codice.
- Lunghezza del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera la direttiva pragma di riga per l'origine.
- Direttiva pragma di riga per l'origine specificata.
- Posizione di origine.
- Indice di inizio del codice.
- Lunghezza del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'host del motore Razor.
- Host del motore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Contrassegna la fine del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Contrassegna l'inizio del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la dichiarazione dello spazio dei nomi generata.
- Dichiarazione dello spazio dei nomi generata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il file di origine.
- File di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il metodo del membro generato.
- Metodo del membro generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del writer di testo.
- Nome del writer di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice Razor per il linguaggio C#.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome della classe per la dichiarazione del tipo di classe generata.
- Nome per la dichiarazione dello spazio dei nomi generata.
- File di origine.
- Host del motore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza il contesto per questo generatore di codice.
- Contesto per questo generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta gli attributi dinamici del generatore di codice del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Prefisso.
- Valori di offset.
- Valori di riga.
- Colonna.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Prefisso della stringa.
- Inizio del valore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto da confrontare con l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per terminare il blocco utilizzando i parametri specificati.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per iniziare il blocco utilizzando i parametri specificati.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il prefisso dello spazio dei nomi del generatore di codice.
- Prefisso dello spazio dei nomi del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una stringa che rappresenta l'oggetto corrente.
- Stringa che rappresenta l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'inizio del valore per il generatore di codice del blocco dell'attributo dinamico.
- Inizio del valore per il generatore di codice del blocco dell'attributo dinamico.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice per l'espressione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se questa istanza e un oggetto specificato sono uguali.
- true se e questa istanza sono dello stesso tipo e rappresentano lo stesso valore. In caso contrario, false.
- Oggetto da confrontare con l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per l'espressione.
- Intervallo di origine il cui contenuto rappresenta un'espressione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice di fine per il blocco.
- Blocco di destinazione per la generazione del codice di fine.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice di preavvio per il blocco.
- Blocco di destinazione per la generazione del codice di preavvio.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa di questa istanza.
- Rappresentazione di stringa di questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il contesto di una classe generata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome del metodo di esecuzione.
- Nome del metodo di scrittura.
- Nome del metodo di scrittura di valori letterali.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome del metodo di esecuzione.
- Nome del metodo di scrittura.
- Nome del metodo di scrittura di valori letterali.
- Nome metodo di scrittura in.
- Nome metodo di scrittura di valori letterali in.
- Nome del tipo di modello.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome del metodo di esecuzione.
- Nome del metodo di scrittura.
- Nome del metodo di scrittura di valori letterali.
- Nome metodo di scrittura in.
- Nome metodo di scrittura di valori letterali in.
- Nome del tipo di modello.
- Nome del metodo di definizione della sezione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome del metodo di esecuzione.
- Nome del metodo di scrittura.
- Nome del metodo di scrittura di valori letterali.
- Nome metodo di scrittura in.
- Nome metodo di scrittura di valori letterali in.
- Nome del tipo di modello.
- Nome del metodo di definizione della sezione.
- Nome del metodo di inizio del contesto.
- Nome del metodo di fine del contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se il contesto ammette le sezioni.
- true se il contesto ammette le sezioni. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se il contesto ammette i modelli.
- true se il contesto ammette i modelli. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo prima del contesto generato.
- Nome del metodo prima del contesto generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce il contesto generato predefinito.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce il nome predefinito del metodo di esecuzione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce il nome predefinito della proprietà di layout.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce il nome predefinito del metodo di scrittura dell'attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce il nome predefinito dell'attributo di scrittura nel metodo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Specifica il nome predefinito del metodo di scrittura di valori letterali.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Specifica il nome predefinito del metodo di scrittura.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo che definisce la sezione del contesto.
- Nome del metodo che definisce la sezione del contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo dopo il contesto generato.
- Nome del metodo dopo il contesto generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo che verrà richiamato nel contesto.
- Nome del metodo che verrà richiamato nel contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome proprietà per il layout.
- Nome proprietà per il layout.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti sono uguali.
- true se i due oggetti sono uguali. In caso contrario, false.
- Primo oggetto da confrontare.
- Secondo oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti non sono uguali.
- true se i due oggetti non sono uguali. In caso contrario, false.
- Primo oggetto da confrontare.
- Secondo oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo che risolve un URL per il contesto.
- Nome del metodo che risolve un URL per il contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se la classe generata supporta strumentazione.
- true se la classe generata supporta strumentazione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del tipo per il modello.
- Nome del tipo per il modello.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo che scrive un attributo.
- Nome del metodo che scrive un attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo in cui scrivere un attributo.
- Nome del metodo in cui scrivere un attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo in cui scrivere valori letterali per il contesto.
- Nome del metodo in cui scrivere valori letterali per il contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo in cui scrivere valori letterali per il contesto.
- Nome del metodo in cui scrivere valori letterali per il contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo che scriverà nel contesto.
- Nome del metodo che scriverà nel contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del metodo che scriverà nel contesto.
- Nome del metodo che scriverà nel contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta gli oggetti di mapping del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Riga iniziale.
- Colonna iniziale.
- Colonna iniziale generata.
- Lunghezza del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Offset iniziale.
- Riga iniziale.
- Colonna iniziale.
- Colonna iniziale generata.
- Lunghezza del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la lunghezza dei codici di mapping generati.
- Lunghezza dei codici di mapping generati.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto di mapping del codice generato corrente.
- true se l'oggetto specificato è uguale all'oggetto di mapping del codice generato corrente. In caso contrario, false.
- Oggetto da confrontare con l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce un codice hash per l'oggetto di mapping del codice generato.
- Codice hash per l'oggetto di mapping del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti di mapping del codice generato specificati hanno lo stesso valore.
- true se i due oggetti di mapping del codice generato specificati hanno lo stesso valore. In caso contrario, false.
- Oggetti di mapping del codice generato di sinistra.
- Oggetti di mapping del codice generato di destra.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti di mapping del codice generato specificati hanno valori diversi.
- true se i due oggetti di mapping del codice generato specificati hanno valori diversi. In caso contrario, false.
- Oggetti di mapping del codice generato di destra.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la colonna iniziale delle mappe dei codici generati.
- Colonna iniziale delle mappe dei codici generati.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la colonna iniziale di una mappa del codice generato nel file di origine generato.
- Colonna iniziale di una mappa del codice generato nel file di origine generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la riga iniziale delle mappe dei codici generati.
- Riga iniziale delle mappe dei codici generati.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'offset iniziale delle mappe dei codici generati.
- Offset iniziale delle mappe dei codici generati.
-
-
- Restituisce una stringa che rappresenta l'oggetto corrente.
- Stringa che rappresenta l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice helper.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Firma.
- true per completare l'intestazione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la nota a piè di pagina per il codice.
- Piè di pagina per il codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un blocco dopo il codice.
- Blocco da generare.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un blocco prima del codice.
- Blocco da generare.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se l'intestazione per il codice è completa.
- true se l'intestazione per il codice è completa. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la firma per il codice.
- Firma per il codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa dell'istanza corrente.
- Rappresentazione di stringa dell'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice ibrido.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per il modello di dati da switch identificati da parametri.
- Oggetto di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un codice di fine blocco.
- Oggetto di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice di inizio blocco.
- Oggetto di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta per le pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice di fine blocco per Razor.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice di inizio blocco per Razor.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta una fase del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per il modello di dati con la destinazione e il contesto specificati.
- Oggetto di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice per l'attributo letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice..Inizializza una nuova istanza della classe .
- Prefisso dell'attributo letterale.
- Valore dell'attributo letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice..Inizializza una nuova istanza della classe .
- Prefisso dell'attributo letterale.
- Generatore di valore per l'attributo letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questa istanza.
- true se l'oggetto specificato è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice per l'attributo letterale.
- Intervallo di origine il cui contenuto rappresenta l'attributo letterale.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il prefisso dell'attributo letterale.
- Prefisso dell'attributo letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa di questa istanza.
- Rappresentazione di stringa di questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il valore dell'attributo letterale.
- Valore dell'attributo letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il generatore di valore per l'attributo letterale.
- Generatore di valore per l'attributo letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice per il markup.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questa istanza.
- true se l'oggetto specificato è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice per il markup.
- Intervallo di origine il cui contenuto rappresenta il markup.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa per questa istanza.
- Rappresentazione di stringa per questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome della classe.
- Nome dello spazio dei nomi di primo livello.
- Nome del file di origine.
- Host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome della classe per il codice.
- Nome della classe per il codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il contesto di questo generatore di codice.
- Contesto di questo generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se il generatore di codice è in modalità fase di progettazione.
- true se il generatore di codice è in modalità fase di progettazione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se il generatore deve generare direttive pragma di riga nel codice Razor.
- true se il generatore deve generare direttive pragma di riga nel codice Razor. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'host del motore Razor.
- Host del motore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza l'istanza corrente di .
- Contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera l'evento di completamento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome dello spazio dei nomi di primo livello.
- Nome dello spazio dei nomi di primo livello.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome del file di origine.
- Nome del file di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita il blocco finale.
- Blocco da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita l'intervallo.
- Intervallo da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita il blocco iniziale.
- Blocco da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il generatore di codice dei commenti Razor per le pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice del blocco iniziale con i parametri specificati.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice per l'attributo della direttiva Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome dell'attributo della direttiva.
- Valore dell'attributo della direttiva.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questa istanza.
- true se l'oggetto specificato è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice per l'attributo della direttiva.
- Intervallo di origine il cui contenuto rappresenta l'attributo della direttiva da generare.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome dell'attributo della direttiva.
- Nome dell'attributo della direttiva.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa per questa istanza.
- Rappresentazione di stringa per questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il valore dell'attributo della direttiva.
- Valore dell'attributo della direttiva.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il generatore di codice di risoluzione dell'URL.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se questa istanza e un oggetto specificato sono uguali.
- true se e questa istanza sono dello stesso tipo e rappresentano lo stesso valore. In caso contrario, false.
- Oggetto da confrontare con l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per l'URL.
- Oggetto di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il nome tipo completo dell'istanza.
- Nome tipo completo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice di sezione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome del codice di sezione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un blocco dopo il codice di sezione.
- Destinazione da generare.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un blocco prima del codice di sezione.
- Destinazione da generare.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome della sezione.
- Nome della sezione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa dell'istanza corrente.
- Rappresentazione di stringa dell'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice per il tipo di base del set.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Tipo di base del set.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il tipo di base del set.
- Tipo di base del set.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questa istanza.
- true se l'oggetto specificato è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice per questo tipo di base del set.
- Intervallo di origine che contiene il tipo di base del set per generare il codice.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il codice hash per questa istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Risolve il tipo di base del set specificato.
- Tipo di base del set risolto.
- Contesto del generatore di codice.
- Tipo di base del set da risolvere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa per questa istanza.
- Rappresentazione di stringa per questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice che imposta il layout per il Razor Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Percorso del layout.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un codice di layout.
- Destinazione in cui generare il codice.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Recupera un codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il percorso del codice di layout.
- Percorso del codice di layout.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa dell'istanza corrente.
- Rappresentazione di stringa dell'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta la conversione dell'oggetto SetVBOptionCodeGenerator del valore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome opzione.
- true se l'oggetto ha un valore. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Converte in modo esplicito nel valore on e off.
-
- converte in modo esplicito nel valore on e off.
- true se converte nel valore on e off. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il nome opzione code Dom esplicito.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per i parametri specificati.
- Destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il nome opzione per il generatore di codice.
- Nome opzione per il generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Converte in modo ristretto nel valore on e off.
-
- converte in modo ristretto nel valore on e off.
- true se converte in modo ristretto nel valore on e off. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il nome opzione code Dom ristretto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una stringa che rappresenta l'oggetto corrente.
- Stringa che rappresenta l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se ha un valore.
- true se ha un valore. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il generatore di codice dell'intervallo per Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto da confrontare con l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un codice per la destinazione specificata e i parametri del contesto.
- Intervallo di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce un codice hash per il generatore di codice dell'intervallo.
- Codice hash per il generatore di codice dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un valore null per il generatore di codice dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice per l'istruzione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questa istanza.
- true se l'oggetto specificato è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice per l'istruzione.
- Origine dell'intervallo il cui contenuto contiene l'istruzione da generare.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa per questa istanza.
- Rappresentazione di stringa per questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il generatore di codice del blocco del modello per Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per terminare il blocco del generatore di codice del blocco del modello.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice per iniziare il blocco per il generatore di codice del blocco del modello.
- Blocco di destinazione.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un generatore di codice del membro del tipo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera codice con una destinazione e un contesto specifici.
- Destinazione in cui generare il codice.
- Contesto del generatore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa del codice.
- Rappresentazione di stringa del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il generatore di codice Razor per VB.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome della classe.
- Spazio dei nomi di primo livello.
- Nome file dell'origine asset.
- Host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un visitatore che esegue un callback al completamento di una visita.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Delegato per la visita dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Delegato per la visita dell'intervallo.
- Delegato per la visita dell'errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Delegato per la visita dell'intervallo.
- Delegato per la visita dell'errore.
- Delegato per la visita del blocco di inizio.
- Delegato per la visita del blocco di fine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Delegato per la visita dell'intervallo.
- Delegato per la visita dell'errore.
- Delegato per la visita del blocco di inizio.
- Delegato per la visita del blocco di fine.
- Delegato all'esecuzione per l'evento completo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il contesto di sincronizzazione per il visitatore di callback.
- Contesto di sincronizzazione per il visitatore di callback.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Esegue il callback del visitatore per visitare il blocco di fine.
- Blocco di fine da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Esegue il callback del visitatore per visitare l'errore.
- Errore Razor da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Esegue il callback del visitatore per visitare l'intervallo.
- Intervallo da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Esegue il callback del visitatore per visitare il blocco di inizio.
- Blocco di inizio da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un parser di codice C sharp.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il parser accetta la parola chiave 'IF'.
- true se il parser accetta la parola chiave 'IF'. In caso contrario, false.
- Parola chiave da accettare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Asserisce il codice di una direttiva.
- Codice della direttiva da asserire.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice contiene la parola chiave 'AT'.
- true se il codice contiene la parola chiave 'AT'. In caso contrario, false.
- Parola chiave.
-
-
- Indica la direttiva del tipo di base.
- Errore relativo alla mancata indicazione del nome del tipo.
- Generatore di codice della creazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica la direttiva delle funzioni.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il codice che gestisce la transizione incorporata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica una direttiva dell'helper.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica da quale classe l'applicazione deriverà la vista e può quindi garantire il controllo del tipo appropriato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Eredita un core della direttiva.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice è in una transizione incorporata.
- true se il codice è in una transizione incorporata. In caso contrario, false.
- true per consentire i modelli e i commenti. In caso contrario, false.
- true per consentire le transizioni. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se il codice è nidificato.
- true se il codice è nidificato. In caso contrario, false.
-
-
- Indica se le righe e i commenti sono token di spaziatura.
- Funzione che indica il token di spaziatura.
- true per includere nuove righe. In caso contrario, false.
- true per includere commenti. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta le parole chiave del linguaggio C sharp.
- Parole chiave del linguaggio C sharp.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il linguaggio specifico per l'analisi.
- Linguaggio specifico per l'analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica la direttiva di layout.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Esegue il mapping delle direttive specificate.
- Gestore.
- Direttive.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'altro parser utilizzato per il codice.
- Altro parser utilizzato per il codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Amplia l'output dell'analisi prima del commento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Blocca l'analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica la direttiva riservata.
- Determina se la direttiva è un livello superiore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica una direttiva di sezione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica una direttiva di stato della sessione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il core della direttiva di stato della sessione.
-
-
- Indica la direttiva per il tipo di stato della sessione.
- Errore relativo alla mancata indicazione del valore.
- Generatore di codice della creazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un gestore della direttiva.
- true se l'operazione ha esito positivo. In caso contrario, false.
- Direttiva.
- Gestore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore dello stato della sessione è valido.
- true se il valore dello stato della sessione è valido. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il blocco per il parser CSharpCode.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Nome della stringa.
- Inizio della posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Simbolo CSharp.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome di stringa per il blocco.
- Nome di stringa per il blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione di origine per iniziare il blocco.
- Posizione di origine per iniziare il blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta le caratteristiche dei diversi linguaggi in un linguaggio CSharp.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo di indicatore nel codice.
- Simbolo di indicatore nel codice.
- Posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo nel codice.
- Simbolo nel codice.
- Posizione di origine.
- Valore del contenuto.
- Tipo di simbolo html.
- Elenco di errori.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un tokenizer del linguaggio.
- Tokenizer del linguaggio.
- Origine del documento di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Capovolge il simbolo di parentesi nel codice.
- Simbolo di parentesi nel codice.
- Simbolo di parentesi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la parola chiave nel codice.
- Parola chiave nel codice.
- Parola chiave.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene nel codice.
-
- nel codice.
-
- .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un simbolo di esempio nel codice.
- Simbolo di esempio nel codice.
-
- .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un simbolo di esempio nel codice.
- Simbolo di esempio nel codice.
-
- .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'istanza per la classe .
- Istanza per la classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta le diverse caratteristiche dei linguaggi in un html.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo di indicatore nell'Html.
- Simbolo di indicatore nell'Html.
- Posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo nell'Html.
- Simbolo nell'Html.
- Posizione di origine.
- Valore del contenuto.
- Tipo di simbolo html.
- Elenco di errori.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un tokenizer html.
- Tokenizer html.
- Origine del documento di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Capovolge il simbolo di parentesi nell'html.
- Simbolo di parentesi nell'html.
- Simbolo di parentesi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene nell'html.
-
- nell'html.
-
- .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un simbolo di esempio nell'html.
- Simbolo di esempio nell'html.
-
- .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'istanza per la classe .
- Istanza per la classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un parser specifico per l'analisi del markup HTML.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea l'intervallo per il contenuto dato utilizzando il compilatore dell'intervallo specificato.
- Il compilatore dell'intervallo utilizzato per compilare l'intervallo.
- Posizione iniziale.
- Contenuto dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il delegato della funzione utilizzato per determinare il token per la spaziatura HTML.
- Delegato della funzione utilizzato per determinare il token per la spaziatura HTML.
- true per indicare che le nuove righe sono considerate come token di spaziatura. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'istanza che definisce le caratteristiche del linguaggio HTML.
- Istanza che definisce le caratteristiche del linguaggio HTML.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'altro parser per l'analisi del markup HTML.
- Altro parser per l'analisi del markup HTML.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea l'intervallo prima del commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il blocco HTML successivo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il documento HTML.
-
-
- Analizza una sezione con markup fornita dalle sequenze di nidificazione.
- Tupla che specifica le sequenze di nidificazione di markup.
- true per indicare l'analisi che rileva la distinzione tra maiuscole e minuscole. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ignora l'analisi fino a quando non viene soddisfatta la condizione specificata.
- Delegato della funzione che definisce la condizione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ignora l'analisi fino a quando non si incontra il tipo di simbolo HTML specificato.
- Tipo di simbolo HTML.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene i tag HTML considerati vuoti.
- Tag HTML considerati vuoti.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce metodi che definiscono il comportamento di un linguaggio del codice Razor.
- Tipo di tokenizer del codice per il linguaggio Razor.
- Tipo per il simbolo del linguaggio.
- Tipo di enumerazione per il simbolo del linguaggio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo del linguaggio del codice con la posizione di origine specificata come marcatore iniziale.
- Simbolo per il linguaggio del codice.
- Posizione di origine come marcatore iniziale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo del linguaggio del codice con la posizione di origine specificata come marcatore iniziale.
- Simbolo per il linguaggio del codice.
- Posizione di origine come marcatore iniziale.
- Il contenuto.
- Tipo di enumerazione per il simbolo del linguaggio.
- Raccolta di errori.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un tokenizer del linguaggio del codice Razor per il documento di origine specificato.
- Tokenizer del linguaggio del codice Razor per il documento di origine specificato.
- Documento di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il simbolo di parentesi opposto per il simbolo di parentesi specificato.
- Simbolo di parentesi opposto per il simbolo di parentesi specificato.
- Simbolo di parentesi da capovolgere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di simbolo del linguaggio specifico per il tipo di simbolo specificato.
- Tipo di simbolo del linguaggio specifico per il tipo di simbolo specificato.
- Tipo di simbolo da ottenere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il simbolo effettivo per il tipo di simbolo del linguaggio specificato.
- Simbolo effettivo per il tipo di simbolo del linguaggio specificato.
- Tipo di simbolo del linguaggio da ottenere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo di corpo del commento.
- true se il simbolo è un tipo di corpo del commento. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo di stella del commento.
- true se il simbolo è un tipo di stella del commento. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo di inizio del commento.
- true se il simbolo è un tipo di inizio del commento. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo di identificatore.
- true se il simbolo è un tipo di identificatore. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo di parola chiave.
- true se il simbolo è un tipo di parola chiave. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il tipo di simbolo è noto.
- true se il tipo di simbolo è noto. In caso contrario, false.
- Simbolo di cui si deve controllare il tipo.
- Tipo noto del simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un nuovo tipo di riga.
- true se il simbolo è un nuovo tipo di riga. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo di transizione.
- true se il simbolo è un tipo di transizione. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo sconosciuto.
- true se il simbolo è un tipo sconosciuto. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo di spazio vuoto.
- true se il simbolo è un tipo di spazio vuoto. In caso contrario, false.
- Simbolo da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo è un tipo sconosciuto.
- true se il simbolo è un tipo sconosciuto. In caso contrario, false.
- Tipo noto del simbolo.
-
-
- Divide il contenuto del simbolo del linguaggio del codice nell'indice specificato.
- Tupla del simbolo del linguaggio del codice.
- Simbolo di cui si deve suddividere il contenuto.
- Indice dove si verifica la divisione.
- Tipo di enumerazione per il simbolo del linguaggio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Divide la stringa specificata in token.
- Raccolta di token.
- Stringa da suddividere in token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Divide la stringa specificata in token.
- Raccolta di token.
- Posizione di origine come marcatore iniziale per il tokenizer.
- Stringa da suddividere in token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta la classe di base del parser per Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un intervallo per la base del parser.
- Compilatore dell'intervallo.
- Inizio della posizione di origine.
- Il contenuto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta .
-
- .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se il parser è un parser di markup.
- true se il parser è un parser di markup. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'altro parser .
- Altro parser .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Blocca il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea la documentazione per l'analisi.
-
-
- Analizza la sezione nell'elenco ordinato degli elementi.
- La coppia di sequenze di nidificazione.
- true se si distinguono maiuscole e minuscole. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un parser il cui contesto può essere passato a un codice o un markup.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Documento di origine.
- Parser di codice per il contesto
- Parser di markup per il contesto.
- Parser attivo per il contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il parser attivo per il contesto.
- Parser attivo per il contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge l'intervallo specificato alla fine dello stack del compilatore del blocco.
- Intervallo da aggiungere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il parser di codice per il contesto.
- Parser di codice per il contesto
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza l'ultimo intervallo e restituisce i risultati di analisi che contengono il blocco appena creato.
- Risultati di analisi che contengono il blocco appena creato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il compilatore del blocco corrente.
- Compilatore del blocco corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il carattere corrente disponibile dall'origine.
- Carattere corrente disponibile dall'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se il parser è in modalità di progettazione.
- true se il parser è in modalità di progettazione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un blocco finale dall'ultimo elemento dello stack del compilatore del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se lo stato dell'origineè alla fine del file.
- true se lo stato dell'origine è alla fine del file. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'elenco degli errori che si sono verificati durante l'analisi.
- Elenco degli errori.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il tipo di blocco specificato esiste nell'elenco dei compilatori del blocco.
- true se il tipo di blocco specificato esiste nell'elenco dei compilatori del blocco. In caso contrario, false.
- Tipo di blocco da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene gli ultimi caratteri accettati.
- Uno dei valori dell'enumerazione .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'ultimo intervallo.
- Ultimo intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il parser di markup per il contesto.
- Parser di markup per il contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Si verifica quando viene riscontrato un errore di analisi.
- Posizione di origine.
- Messaggio di errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Si verifica quando viene riscontrato un errore di analisi.
- Posizione di origine.
- Messaggio di errore.
- Altre informazioni sulla posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il lettore di testo per il documento di origine.
- Lettore di testo per il documento di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un nuovo compilatore del blocco alla fine del relativo stack e restituisce un'azione eliminabile che restituisce un blocco finale.
- Azione eliminabile che restituisce un blocco finale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un nuovo compilatore del blocco alla fine del relativo stack e restituisce un'azione eliminabile che restituisce un blocco finale.
- Azione eliminabile che restituisce un blocco finale.
- Tipo per il nuovo compilatore del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Passa alternativamente al parser di codice o al parser di markup come parser attivo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se lo spazio vuoto è significativo per il blocco predecessore.
- true se lo spazio vuoto è significativo per il blocco predecessore. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce metodi helper per il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è un contrassegno che combina la spaziatura o un contrassegno non di spaziatura.
- true se il valore del carattere specificato è un contrassegno che combina la spaziatura o un contrassegno non di spaziatura. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è un segno di punteggiatura di connessione.
- true se il valore del carattere specificato è un segno di punteggiatura di connessione. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è un numero a cifre decimali.
- true se il valore del carattere specificato è un numero a cifre decimali. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è valido per essere utilizzato nell'indirizzo di posta elettronica.
- true se il valore del carattere specificato è valido per essere utilizzato nell'indirizzo di posta elettronica. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato viene utilizzato per la formattazione del layout del testo o la formattazione dell'operazione del testo.
- true se il valore del carattere specificato viene utilizzato per la formattazione del layout del testo o la formattazione dell'operazione del testo. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è un numero a cifre esadecimali.
- true se il valore del carattere specificato è un numero a cifre esadecimali. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore della stringa specificato è un identificatore.
- true se il valore della stringa specificato è un identificatore. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore della stringa specificato è un identificatore.
- true se il valore della stringa specificato è un identificatore. In caso contrario, false.
- Valore da controllare.
- true per richiedere che l'identificatore inizi con una lettera o un carattere di sottolineatura (_). In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è valido per essere utilizzato nell'identificatore.
- true se il valore del carattere specificato è valido per essere utilizzato nell'identificatore. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è valido per essere utilizzato come carattere iniziale di un identificatore.
- true se il valore del carattere specificato è valido per essere utilizzato come carattere iniziale di un identificatore. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è una lettera.
- true se il carattere specificato è una lettera. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è una lettera o un numero a cifre decimali.
- true se il carattere specificato è una lettera o un numero a cifre decimali. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore specificato è una nuova riga.
- true se il carattere specificato è una nuova riga. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore specificato è una nuova riga.
- true se il carattere specificato è una nuova riga. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è un token del carattere di terminazione.
- true se il valore del carattere specificato è un token del carattere di terminazione. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è una stringa tra virgolette di terminazione.
- true se il valore del carattere specificato è una stringa tra virgolette di terminazione. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è uno spazio vuoto.
- true se il valore del carattere specificato è uno spazio vuoto. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il valore del carattere specificato è uno spazio vuoto o una nuova riga.
- true se il valore del carattere specificato è uno spazio vuoto o una nuova riga. In caso contrario, false.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rende puro il nome di input specificato in modo che sia conforme come valore valido per il nome della classe.
- Nome della classe puro.
- Valore da controllare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un visitatore del parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il token di annullamento.
- Token di annullamento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica che il metodo di un visitatore ha completato l'esecuzione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita il blocco specificato.
- Blocco da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita il blocco specificato dopo l'analisi.
- Blocco da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita l'errore Razor dato.
- Errore da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita l'intervallo specificato.
- Intervallo da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visita il blocco specificato prima dell'analisi.
- Blocco da visitare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce i metodi di estensione per il visitatore del parser.
-
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un parser Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Parser del codice.
- Parser del markup.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un'attività che analizza un oggetto specificato.
- Oggetto creato.
- Oggetto da analizzare.
- Callback dell'intervallo.
- Callback dell'errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un'attività che analizza un oggetto specificato.
- Oggetto creato.
- Oggetto da analizzare.
- Callback dell'intervallo.
- Callback dell'errore.
- Token di annullamento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un'attività che analizza un oggetto specificato.
- Oggetto creato.
- Oggetto da analizzare.
- Callback dell'intervallo.
- Callback dell'errore.
- Contesto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un'attività che analizza un oggetto specificato.
- Oggetto creato.
- Oggetto da analizzare.
- Callback dell'intervallo.
- Callback dell'errore.
- Contesto.
- Token di annullamento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un'attività che analizza un oggetto specificato.
- Oggetto creato.
- Oggetto da analizzare.
- Cliente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la modalità della fase di progettazione.
- Modalità della fase di progettazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza l'oggetto specificato.
- Risultato del parser.
- Oggetto da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza l'oggetto specificato.
- Oggetto da analizzare.
- Visitatore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza l'oggetto specificato.
- Risultato del parser.
- Oggetto da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza l'oggetto specificato.
- Risultato del parser.
- Oggetto da analizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza l'oggetto specificato.
- Oggetto da analizzare.
- Visitatore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un parser supportato dal tokenizer.
- Tipo di tokenizer.
- Tipo di simbolo.
- Tipo di SymbolType.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta l'elenco di simboli.
- Elenco di simboli.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il simbolo specificato.
- Simbolo da accettare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il parser accetta tutti i tipi di tokenizer.
- true se il parser accetta tutti i tipi di tokenizer. In caso contrario, false.
- Tipi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il parser accetta e passa al tokenizer successivo.
- true se il parser accetta e passa al tokenizer successivo. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il parser accetta il singolo carattere dello spazio vuoto.
- true se il parser accetta il singolo carattere dello spazio vuoto. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token finché non ne viene trovato uno del tipo specificato.
- Tipo di token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token finché non ne viene trovato uno del tipo specificato e ne eseguirà il backup in modo che il token successivo sia del tipo specificato.
- Tipo del primo token.
- Tipo del secondo token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta i token specificati finché non ne viene trovato uno del tipo specificato.
- Tipo del primo token.
- Tipo del secondo token.
- Tipo del terzo token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token finché non ne viene trovato uno dei tipi specificati.
- Tipi di token.
-
-
- Accetta il token quando è stata raggiunta la condizione.
- Condizione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token quando non ne viene trovato uno del tipo specificato.
- Tipo di token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token quando è stato raggiunto quello del tipo specificato.
- Tipo del primo token.
- Tipo del secondo token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token quando è stato raggiunto quello del tipo specificato.
- Tipo del primo token.
- Tipo del secondo token.
- Tipo del terzo token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token quando è stato raggiunto quello dei tipi specificati.
- Tipi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il parser accetta spazi vuoti nelle righe.
- true se il parser accetta spazi vuoti nelle righe. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un simbolo di marcatore, se necessario.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un simbolo di marcatore, se necessario.
- Posizione dove aggiungere il simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il token è nel tipo specificato.
- true se il token è nel tipo specificato. In caso contrario, false.
- Tipo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il token è nell'identificatore specificato.
- true se il token è nell'identificatore specificato. In caso contrario, false.
- true per consentire le parole chiave. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'analisi è bilanciata.
- true se l'analisi è bilanciata. In caso contrario, false.
- Modalità di bilanciamento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'analisi è bilanciata.
- true se l'analisi è bilanciata. In caso contrario, false.
- Modalità di bilanciamento.
- Analisi sinistra.
- Analisi destra.
- Inizio della modalità.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un intervallo specificato.
- Intervallo da creare.
- Posizione iniziale in cui creare l'intervallo.
- Contenuto dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Configura l'intervallo.
- Configurazione.
-
-
- Configura l'intervallo.
- Configurazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la posizione corrente dell'istanza corrente.
- Posizione corrente dell'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il simbolo corrente di questa istanza.
- Simbolo corrente di questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se il tokenizer è alla fine del file.
- true se il tokenizer è alla fine del file. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se assicurare il parser corrente.
- true se assicurare il parser corrente. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il token previsto con il tipo specificato.
- Tipo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il token previsto con i tipi specificati.
- Tipi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Gestisce la transizione incorporata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza un intervallo specificato.
- Intervallo da inizializzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se questa istanza è in una transizione incorporata.
- true se questa istanza è in una transizione incorporata. In caso contrario, false.
- true per consentire i modelli e i commenti. In caso contrario, false.
- true per consentire le transizioni. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il linguaggio utilizzato per l'analisi.
- Linguaggio utilizzato per l'analisi.
-
-
- Determina se il token con la condizione specificata passa.
- true se il token con la condizione specificata passa. In caso contrario, false.
- Condizione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il token con il tipo specificato passa.
- true se il token con il tipo specificato passa. In caso contrario, false.
- Tipo di token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il token con i tipi specificati passa.
- true se il token con i tipi specificati passa. In caso contrario, false.
- Tipi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il parser passa al token successivo.
- true se il parser passa al token successivo. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'analisi di un token con il tipo specificato è facoltativa.
- true se l'analisi di un token con il tipo specificato è facoltativa. In caso contrario, false.
- Tipo di token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'analisi di un token con il tipo specificato è facoltativa.
- true se l'analisi di un token con il tipo specificato è facoltativa. In caso contrario, false.
- Tipo di token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un token con i caratteri accettati.
- Caratteri accettati.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un token con il tipo di intervallo.
- Tipo di intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un token con il tipo di intervallo e i caratteri accettati specificati.
- Tipo di intervallo.
- Caratteri accettati.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera un intervallo prima del commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il simbolo precedente di questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Effettua il push della configurazione dell'intervallo.
-
- che chiude la configurazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Effettua il push della configurazione dell'intervallo.
-
- che chiude la configurazione.
- Nuova configurazione.
-
-
- Effettua il push della configurazione dell'intervallo.
-
- che chiude la configurazione.
- Nuova configurazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Posticipa la transizione.
- Simboli.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Posticipa la transizione.
- Simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Posticipa la transizione corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Visualizza il commento Razor.
-
-
- Legge un token quando non è stata raggiunta la condizione.
- Token da leggere.
- Condizione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il token previsto è obbligatorio.
- true se il token previsto è obbligatorio. In caso contrario, false.
- Token previsto.
- true per visualizzare un errore se non è stato trovato. In caso contrario, false.
- Base errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'oggetto associato a questa istanza.
- Oggetto associato a questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la configurazione dell'intervallo.
- Configurazione dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tokenizer.
- Tokenizer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il token con il tipo specificato è stato analizzato.
- true se il token con il tipo specificato è stato analizzato. In caso contrario, false.
- Tipo di token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un parser di codice Visual Basic.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta spazi nel codice VB.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Verifica una condizione e visualizza una parola chiave nel codice.
- Parola chiave.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Asserisce la direttiva data.
- Direttiva da asserire.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la direttiva è ‘AT’.
- true se la direttiva è 'AT'. In caso contrario, false.
- Direttiva.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la parola chiave data è ‘AT’.
- true se la parola chiave specificata è 'AT'. In caso contrario, false.
- Parola chiave.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Finisce una direttiva terminata.
- Funzione che finisce la direttiva terminata.
- Direttiva.
- Tipo del blocco.
- Generatore di codice.
- true per consentire il markup. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la terminazione del corpo della direttiva è finita.
- true se la terminazione del corpo della direttiva è finita. In caso contrario, false.
- Direttiva.
- Inizio del blocco.
- true per consentire tutte le transizioni. In caso contrario, false.
-
-
- Finisce la terminazione di un'istruzione.
- Funzione che finisce la terminazione.
- Parola chiave.
- true se la terminazione supporta l'uscita. In caso contrario, false.
- true se la terminazione supporta la continuazione. In caso contrario, false.
-
-
- Finisce la terminazione di un'istruzione.
- Funzione che finisce la terminazione.
- Parola chiave.
- true se la terminazione supporta l'uscita. In caso contrario, false.
- true se la terminazione supporta la continuazione. In caso contrario, false.
- Nome del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Gestisce la transizione incorporata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Gestisce la transizione incorporata.
- Ultimo spazio bianco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il codice che gestisce la parola chiave Esci o Continua.
- Parola chiave.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un codice che gestisce una transizione.
- Ultimo spazio bianco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se il codice è una direttiva dell'helper.
- true se il codice è una direttiva dell'helper. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice importa un'istruzione.
- true se il codice importa un'istruzione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice eredita un'istruzione.
- true se il codice eredita un'istruzione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice è in una transizione incorporata.
- true se il codice è in una transizione incorporata. In caso contrario, false.
- true per consentire i modelli e i commenti. In caso contrario, false.
- true per consentire le transizioni. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice è definito dalla direttiva.
- true se il codice è definito da una direttiva. In caso contrario, false.
- Direttiva.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene le parole chiave associate al codice.
- Parole chiave associate al codice.
-
-
- Indica una parola chiave che termina un'istruzione.
- Funzione che termina l'istruzione.
- Avvio.
- Terminatore.
- true se la terminazione supporta l'uscita. In caso contrario, false.
- true se la terminazione supporta la continuazione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il linguaggio per il parser.
- Linguaggio per il parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice è una direttiva di layout.
- true se il codice è una direttiva di layout. In caso contrario, false.
-
-
- Esegue il mapping di una direttiva data.
- Direttiva.
- Azione relativa all'esecuzione del mapping di una direttiva data.
-
-
- Esegue il mapping di una parola chiave data.
- Parola chiave.
- Azione relativa all'esecuzione del mapping di una parola chiave data.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un blocco nidificato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se la parola chiave del codice è facoltativa.
- true se la parola chiave del codice è facoltativa. In caso contrario, false.
- Parola chiave.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice è un'istruzione facoltativa.
- true se il codice è un'istruzione facoltativa. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'altro parser.
- Altro parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il blocco del parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica il blocco del parser.
- Sequenza di avvio.
- Sequenza di fine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Estende l'output prima del commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Blocca l'analisi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge un elenco di spazi Visual Basic.
- Elenco di spazi Visual Basic.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il simbolo previsto è obbligatorio.
- true se il simbolo previsto è obbligatorio. In caso contrario, false.
- Simbolo previsto.
- Base errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice è una parola riservata.
- true se il codice è una parola riservata. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice è una direttiva di sezione.
- true se il codice è una direttiva di sezione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il codice ha una direttiva di stato della sessione.
- true se il codice ha una direttiva di stato della sessione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta le caratteristiche del linguaggio Visual Basic.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo di indicatore Visual Basic.
- Simbolo di indicatore Visual Basic creato.
- Posizione per creare il simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo Visual Basic.
- Oggetto creato.
- Posizione per creare il simbolo.
- Il contenuto.
- Tipo del simbolo.
- Errori.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un tokenizer Visual Basic.
- Oggetto creato.
- Origine in cui creare il tokenizer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Capovolge la parentesi data.
- Tipo del simbolo Visual Basic.
- Parentesi da capovolgere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Recupera il tipo del simbolo noto.
- Tipo del simbolo noto.
- Tipo da recuperare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un simbolo di esempio con il tipo dato.
- Simbolo di esempio con il tipo dato.
- Tipo del simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un'istanza di questo oggetto .
- Istanza di .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta la classe di handler di modifica a completamento automatico.
-
-
- Inizializza una nuova istanza della classe .
- Tokenizer.
-
-
- Inizializza una nuova istanza della classe .
- Tokenizer.
- Caratteri accettati.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se la funzione di completamento automatico è alla fine dell'intervallo.
- true se la funzione di completamento automatico è alla fine di questo intervallo. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore stringa per il completamento automatico.
- Valore stringa per il completamento automatico.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un risultato di analisi che può accettare le modifiche.
- Fase della destinazione.
- Oggetto normalizzato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se questa istanza e un oggetto specificato sono uguali.
- true se e questa istanza sono dello stesso tipo e rappresentano lo stesso valore. In caso contrario, false.
- Oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Intero con segno a 32 bit che è il codice hash per questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il nome tipo completo dell'istanza.
- Stringa contenente un nome tipo completo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il blocco per la creazione di pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Origine per il compilatore del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il visitatore del parser del blocco.
- Visitatore del parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene una raccolta di SyntaxTreeNode per visualizzare gli elementi figlio del blocco.
- Raccolta di SyntaxTreeNode per visualizzare gli elementi figlio del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il IBlockCodeGenerator per generare codici per gli elementi.
- IBlockCodeGenerator per generare codici per gli elementi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale al blocco corrente.
- true se l'oggetto specificato è uguale al blocco corrente. In caso contrario, false.
- Oggetto da confrontare con l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce un valore che indica se il blocco è equivalente allo stesso elemento.
- true se il blocco è equivalente allo stesso elemento. In caso contrario, false.
- Nodo della struttura ad albero della sintassi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Individua il primo intervallo discendente del blocco.
- Primo intervallo discendente del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Individua l'ultimo intervallo discendente del blocco.
- Ultimo intervallo discendente del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Appiattisce una raccolta di un tipo specificato per il blocco.
- Raccolta di un tipo specificato per il blocco da appiattire.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se l'oggetto è un oggetto di livello blocco.
- true se si tratta di un oggetto di livello blocco. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il valore di lunghezza del blocco.
- Valore di lunghezza del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Individua il proprietario del blocco.
- Proprietario del blocco da individuare.
- Modifica del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il nome di stringa del blocco.
- Nome di stringa del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'inizio per identificare la posizione specifica del blocco.
- Inizio per identificare la posizione specifica del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una stringa che rappresenta l'oggetto corrente.
- Stringa che rappresenta l'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di blocco di codice.
- Tipo di blocco di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il compilatore del blocco per le pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Compilatore del blocco originale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Compila un blocco per l'istanza.
- Viene compilato un blocco per questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la raccolta di elementi figlio del compilatore del blocco.
- Raccolta di elementi figlio del compilatore del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il generatore di codice per il compilatore del blocco.
- Generatore di codice per il compilatore del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome di stringa per il compilatore del blocco.
- Nome di stringa per il compilatore del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Reimposta il compilatore del blocco nella posizione originale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un tipo di blocco a cui è possibile assegnare il valore null.
- Tipo di blocco a cui è possibile assegnare il valore null.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un errore di analisi in Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Messaggio di errore.
- Indice assoluto della posizione di origine.
- Indice di riga della posizione di origine.
- Indice di colonna della posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Messaggio di errore.
- Indice assoluto della posizione di origine.
- Indice di riga della posizione di origine.
- Indice di colonna della posizione di origine.
- Lunghezza per l'errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Messaggio di errore.
- Posizione di origine dell'errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Messaggio di errore.
- Posizione di origine dell'errore.
- Lunghezza per l'errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questa istanza.
- true se l'oggetto specificato è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questa istanza.
- true se l'oggetto specificato è uguale a questa istanza. In caso contrario, false.
- Oggetto da confrontare con questa istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la lunghezza per l'errore.
- Lunghezza per l'errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la posizione di origine dell'errore.
- Posizione di origine dell'errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il messaggio di errore.
- Messaggio di errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa di questa istanza di errore.
- Rappresentazione di stringa di questa istanza di errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un nodo della struttura ad albero dell'analisi Razor che contiene tutto il contenuto di un nodo del blocco.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Compilatore da utilizzare per questo intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta la visita dal visitatore specificato.
- Oggetto che esegue la visita.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Modifica il compilatore per questo intervallo.
- Delegato che verrà eseguito insieme a questa modifica.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Imposta la posizione del carattere iniziale di questo intervallo.
- Nuova posizione iniziale da impostare per questo intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il generatore di codice per l'intervallo.
- Generatore di codice per l'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il contenuto dell'intervallo.
- Contenuto dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il gestore per le modifiche dell'intervallo.
- Gestore per le modifiche dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale a questo intervallo.
- true se l'oggetto specificato è uguale a questo intervallo. In caso contrario, false.
- Oggetto da confrontare con questo intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il nodo specificato è equivalente a questo intervallo.
- true se il nodo specificato è uguale a questo intervallo. In caso contrario, false.
- Nodo da confrontare con questo intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per questo intervallo corrente.
- Codice hash per questo intervallo corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se questo nodo è un nodo del blocco.
- false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il tipo per questo intervallo.
- Uno dei valori dell'enumerazione .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la lunghezza del contenuto dell'intervallo.
- Lunghezza del contenuto dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'intervallo successivo nel nodo della struttura ad albero.
- Intervallo successivo nel nodo della struttura ad albero.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'intervallo precedente nel nodo della struttura ad albero.
- Intervallo precedente nel nodo della struttura ad albero.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Sostituisce il compilatore per questo intervallo con il compilatore dell'intervallo specificato.
- Nuovo compilatore da utilizzare per questo intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione del carattere iniziale dell'intervallo.
- Posizione del carattere iniziale dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta i simboli utilizzati per generare il codice per l'intervallo.
- Simboli utilizzati per generare il codice per l'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di stringa di questo intervallo corrente.
- Rappresentazione di stringa di questo intervallo corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il compilatore dell'intervallo per la struttura ad albero della sintassi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Intervallo originale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il simbolo dato per il compilatore dell'intervallo.
- Compilatore di simboli.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un compilatore dell'intervallo per l'istanza.
- Compilatore dell'intervallo per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Elimina i simboli del compilatore dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il generatore di codice dell'intervallo.
- Generatore di codice dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'handler di modifica dell'intervallo del compilatore.
- Handler di modifica dell'intervallo del compilatore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il tipo di intervallo del compilatore dell'intervallo.
- Tipo di intervallo del compilatore dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Reimposta il compilatore dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione di origine del compilatore dell'intervallo.
- Posizione di origine del compilatore dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene i simboli per una raccolta di sola lettura generica.
- Simboli per una raccolta di sola lettura generica.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il nodo per la struttura ad albero della sintassi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il visitatore del nodo della struttura ad albero.
- Visitatore del parser.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se il nodo della struttura ad albero della sintassi è equivalente a un nodo dato.
- true se il nodo della struttura ad albero della sintassi è equivalente al nodo dato. In caso contrario, false.
- Nodo dato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se il nodo della struttura ad albero della sintassi è un oggetto del livello di blocco.
- true se il nodo della struttura ad albero della sintassi è un oggetto del livello di blocco. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la lunghezza del nodo della struttura ad albero della sintassi.
- Lunghezza del nodo della struttura ad albero della sintassi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il nodo della struttura ad albero principale del nodo della struttura ad albero corrente.
- Nodo della struttura ad albero principale del nodo della struttura ad albero corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la posizione di origine specifica per il nodo della struttura ad albero della sintassi.
- Posizione di origine specifica per il nodo della struttura ad albero della sintassi.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce un buffer di lookahead per il lettore di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Lettore di testo per il buffer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizia l'operazione di memorizzazione nel buffer di lookahead per questo .
- Azione eliminabile che termina la memorizzazione nel buffer di lookahead.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Elimina il contesto del backtrack associato alla memorizzazione nel buffer di lookahead.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il carattere corrente nel buffer.
- Carattere corrente nel buffer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione corrente del carattere nel buffer.
- Posizione corrente del carattere nel buffer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rilascia le risorse non gestite utilizzate dall'istanza corrente della classe e, facoltativamente, quelle gestite.
- true per rilasciare sia le risorse gestite sia quelle non gestite. false per rilasciare solo le risorse non gestite.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge il carattere successivo dal lettore di testo e lo aggiunge al buffer di lookahead.
- true se un carattere è stato letto dal lettore di testo. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fa avanzare la posizione del buffer al carattere successivo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il carattere corrente nel buffer.
- Carattere corrente nel buffer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il carattere corrente dal buffer e fa avanzare la posizione del buffer al carattere successivo.
- Carattere corrente dal buffer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta una posizione contrassegnata.
- Tipo di posizione contrassegnata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Valore dell'origine.
- Offset.
- Riga.
- Posizione di colonna dell'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Valore dell'origine.
- Posizione dell'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione dell'origine.
- Posizione dell'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti sono uguali.
- true se i due oggetti sono uguali. In caso contrario, false.
- Primo oggetto da confrontare.
- Secondo oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Converte il valore specificato in un oggetto .
- true se la conversione viene eseguita correttamente. In caso contrario, false.
- Valore da convertire.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti non sono uguali.
- true se i due oggetti non sono uguali. In caso contrario, false.
- Primo oggetto da confrontare.
- Secondo oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa dell'istanza corrente.
- Stringa che rappresenta l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa dell'istanza corrente.
- Stringa che rappresenta l'istanza corrente.
- Formato.
- Provider del formato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il valore dell'origine.
- Valore dell'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il token in cui ricercare Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Azione da annullare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rilascia tutte le risorse utilizzate dall'istanza corrente della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rilascia le risorse non gestite utilizzate da e, facoltativamente, quelle gestite.
- true per rilasciare sia le risorse gestite sia quelle non gestite, false per rilasciare solo le risorse non gestite.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un lettore
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Lettore di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Contenuto della stringa.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Memorizzazione del testo nel buffer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la lunghezza del testo da leggere.
- Lunghezza del testo da leggere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'origine della posizione per il lettore di testo.
- Origine della posizione per il lettore di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge il carattere successivo senza modificare lo stato del lettore o l'origine del carattere.
- Intero che rappresenta il successivo carattere da leggere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione per ricercare il lettore di testo.
- Posizione per ricercare il lettore di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge il carattere successivo dal lettore di testo e fa avanzare la posizione del carattere di un carattere.
- Carattere successivo dal lettore di testo o -1 se non è più disponibile alcun carattere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta una posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe ..
- Indice assoluto.
- Indice di riga.
- Indice dei caratteri.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'indice assoluto per la posizione di origine.
- Indice assoluto per la posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge i due oggetti .
- Somma dei due oggetti .
- Primo oggetto da aggiungere.
- Secondo oggetto da aggiungere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fa avanzare l'oggetto specificato alla posizione data.
- Posizione di origine.
- Posizione a cui far avanzare l'oggetto.
- Testo che avanza alla posizione data.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'indice dei caratteri per la posizione di origine.
- Indice dei caratteri per la posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Confronta l'oggetto corrente con l'altro oggetto.
- Valore degli oggetti confrontati.
- Oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto è uguale all'altro oggetto .
- true se l'oggetto corrente è uguale all'altro oggetto. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash per l'istanza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'indice di riga per la posizione di origine.
- Indice di riga per la posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge i due oggetti .
-
- che è la somma dei due oggetti.
- Oggetto da aggiungere.
- Oggetto da aggiungere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti sono uguali.
- true se i due oggetti sono uguali. In caso contrario, false..
- Primo oggetto da confrontare.
- Secondo oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il primo oggetto è maggiore del secondo.
- true se il primo oggetto è maggiore del secondo. In caso contrario, false..
- Primo oggetto.
- Secondo oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti non sono uguali.
- true se i due oggetti non sono uguali. In caso contrario, false..
- Oggetto da confrontare.
- Oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il primo oggetto è minore del secondo.
- true se il primo oggetto è maggiore del secondo. In caso contrario, false..
- Primo oggetto.
- Secondo oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Restituisce .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Sottrae il primo oggetto al secondo oggetto.
- Differenza tra i due oggetti.
- Primo oggetto.
- Secondo oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione di stringa della posizione di origine.
- Rappresentazione di stringa della posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce un rilevatore della posizione di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Posizione corrente dell'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Calcola la nuova posizione dell'origine.
- Nuova posizione di origine.
- Ultima posizione.
- Nuovo contenuto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione corrente dell'origine.
- Posizione corrente dell'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiorna la posizione di origine.
- Carattere da leggere.
- Carattere da aggiornare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiorna la posizione dell'origine.
- Oggetto .
- Contenuto dell'origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce un lettore per il buffer del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Buffer del testo da leggere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizia la lettura del buffer del testo corrente.
- Istanza di che arresta il buffer del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Annulla il backtrack.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la posizione corrente del buffer del testo.
- Posizione corrente del buffer del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rilascia le risorse non gestite utilizzate dalla classe e, facoltativamente, quelle gestite.
- true per rilasciare sia le risorse gestite sia quelle non gestite. false per rilasciare solo le risorse non gestite.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il successivo buffer del testo da leggere.
- Successivo buffer del testo da leggere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge il buffer del testo corrente.
- Buffer del testo corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Descrive un'operazione di modifica del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe ..
- Posizione della modifica del testo nello snapshot immediatamente prima della modifica.
- Lunghezza del testo precedente.
- Buffer del testo precedente.
- Posizione della modifica del testo nello snapshot immediatamente dopo la modifica.
- Lunghezza del nuovo testo.
- Nuovo buffer del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Applica la modifica del testo specificato.
- Stringa che contiene il valore del testo.
- Contenuto del testo.
- Offset di modifica.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Applica la modifica del testo specificato.
- Stringa che contiene il valore del testo.
- Ampliamento della modifica del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il codice hash per la modifica del testo.
- Codice hash per la modifica del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se la modifica del testo è un'eliminazione.
- true se la modifica del testo è un'eliminazione. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se la modifica del testo è un inserimento.
- true se la modifica del testo è un inserimento. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se la modifica del testo è una sostituzione.
- true se la modifica del testo è una sostituzione. In caso contrario, false..
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un nuovo buffer del testo.
- Nuovo buffer del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la lunghezza del nuovo testo.
- Lunghezza del nuovo testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione della modifica del testo nello snapshot immediatamente dopo la modifica.
- Posizione della modifica del testo nello snapshot immediatamente dopo la modifica.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il testo che ha sostituito quello precedente.
- Testo che ha sostituito quello precedente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce un valore normalizzato della modifica del testo.
- Valore normalizzato della modifica del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un buffer del testo precedente.
- Buffer del testo precedente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la lunghezza del testo precedente.
- Lunghezza del testo precedente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione della modifica del testo nello snapshot immediatamente prima della modifica.
- Posizione della modifica del testo nello snapshot immediatamente prima della modifica.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il testo che è stato sostituito.
- Testo che è stato sostituito.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se le due modifiche del testo sono uguali.
- true se le due modifiche del testo sono uguali. In caso contrario, false..
- Modifica del testo a sinistra.
- Modifica del testo a destra.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se le due modifiche del testo non sono uguali.
- true se le due modifiche del testo non sono uguali. In caso contrario, false..
- Modifica del testo a sinistra.
- Modifica del testo a destra.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce una rappresentazione della stringa di modifica del testo.
- Rappresentazione della stringa di modifica del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce il lettore per il documento di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Origine da leggere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la lunghezza del documento.
- Lunghezza del documento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la posizione del documento.
- Posizione del documento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il successivo documento di testo da leggere.
- Successivo documento di testo da leggere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione del documento di testo.
- Posizione del documento di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge un documento di testo specificato.
- Documento di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce funzioni helper per il tokenizer CSharp.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il carattere specificato può essere utilizzato per l'identificatore.
- true se per l'identificatore è possibile utilizzare il carattere specificato. In caso contrario, false.
- Carattere da verificare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il carattere specificato può essere utilizzato come carattere iniziale dell'identificatore.
- true se è possibile utilizzare il carattere specificato come carattere iniziale dell'identificatore. In caso contrario, false.
- Carattere da verificare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il carattere specificato è un suffisso letterale per i numeri reali.
- true se il carattere specificato è un suffisso letterale per i numeri reali. In caso contrario, false.
- Carattere da verificare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un tokenizer CSharp.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo di tokenizer CSharp.
- Simbolo di tokenizer CSharp.
- Inizio della posizione di origine.
- Contenuto.
- Tipo di simbolo CSharp.
- Raccolta di errori Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di stella di .
- Tipo di stella di .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di transizione del commento Razor per .
- Tipo di transizione del commento Razor per .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di transizione del commento Razor per .
- Tipo di commento Razor per .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene lo stato del computer.
- Stato del computer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta il tokenizer HTML del Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Origine del documento di testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un simbolo per i parametri specificati del tokenizer HTML.
- Simbolo da creare per i parametri specificati del tokenizer HTML.
- Posizione di origine.
- Stringa di contenuto.
- Tipo di simbolo HTML.
- Errori Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene i simboli HTML per il tipo di stella del commento Razor.
- Simboli HTML per il tipo di stella del commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene i simboli HTML per il tipo di transizione del commento Razor.
- Simboli HTML per il tipo di transizione del commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene i simboli HTML per il tipo di commento Razor.
- Simboli HTML per il tipo di commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'inizio del computer dello stato per l'HTML.
- Inizio del computer dello stato per l'HTML.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Tipo per il simbolo del linguaggio.
- Tipo di enumerazione per il simbolo del linguaggio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce un risultato dopo la transizione del commento Razor.
- Risultato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il buffer di lookahead contiene la stringa prevista.
- true se il buffer di lookahead contiene la stringa prevista. In caso contrario, false.
- Stringa da verificare.
- true per indicare che il confronto rileva la distinzione tra maiuscole e minuscole. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il buffer per il tokenizer.
- Buffer per il tokenizer.
-
-
- Restituisce il delegato della funzione che accetta un parametro del carattere e restituisce un valore che indica se il parametro del carattere è uguale al carattere specificato o uno spazio vuoto.
- Delegato della funzione.
- Carattere utilizzato per il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un tipo di simbolo del linguaggio per il tokenizer con il contenuto specificato.
- Tipo di simbolo del linguaggio per il tokenizer.
- Inizio della posizione di origine.
- Valore del contenuto.
- Tipo di simbolo.
- Errore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il carattere corrente nel tokenizer.
- Carattere corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un elenco degli errori correnti Razor.
- Elenco degli errori correnti.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso di origine corrente.
- Percorso di origine corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'inizio corrente del percorso di origine.
- Inizio corrente del percorso di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore se la posizione corrente del tokenizer è alla fine del file.
- true se la posizione corrente del tokenizer è alla fine del file. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il tipo di simbolo finale del linguaggio utilizzato dal tokenizer.
- Tipo di simbolo finale del linguaggio.
- Inizio della posizione di origine.
- Tipo di enumerazione per il simbolo del linguaggio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il tipo di simbolo finale del linguaggio utilizzato dal tokenizer.
- Tipo di simbolo finale del linguaggio.
- Tipo di enumerazione per il simbolo del linguaggio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore se il tokenizer include contenuto.
- true se il tokenizer include contenuto. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge il carattere successivo dal lettore di codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Mostra il simbolo successivo da utilizzare.
- Simbolo successivo da utilizzare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Legge il simbolo successivo nel codice.
- Simbolo successivo nel codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Analizza il corpo del commento Razor.
- Oggetto che rappresenta lo stato del risultato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di stella per il commento Razor.
- Tipo di stella per il commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di transizione per il commento Razor.
- Tipo di transizione per il commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di commento Razor.
- Tipo di commento Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Imposta lo stato del tokenizer sul relativo stato iniziale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Riprende l'utilizzo del tipo di simbolo del linguaggio precedente.
- Tipo di simbolo del linguaggio precedente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Utilizza un tipo singolo di simbolo.
- Tipo singolo di simbolo.
- Tipo di simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'origine del documento di testo.
- Origine del documento di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il simbolo iniziale utilizzato in questa classe.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il tipo di simbolo del linguaggio successivo.
- Tipo di simbolo del linguaggio successivo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta la stringa se trovata nel buffer di lookahead nel buffer del tokenizer.
- true se il buffer di lookahead contiene la stringa prevista. In caso contrario, false.
- Stringa per cui stabilire la corrispondenza.
- true per indicare che il confronto rileva la distinzione tra maiuscole e minuscole. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta il carattere corrente nel buffer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Accetta la stringa di input specificata nel buffer.
- true se la stringa di input è stata accettata. false se è stata accettata solo una sottostringa.
- Stringa di input.
- true per indicare che il confronto rileva la distinzione tra maiuscole e minuscole. In caso contrario, false.
-
-
- Analizza il documento di origine fino a quando non viene soddisfatta la condizione specificata dal predicato o non viene raggiunta la fine del file.
- true se la condizione del predicato viene soddisfatta. false se viene raggiunta la fine del file.
- Il predicato che specifica la condizione di elaborazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta i parametri specificati per la visualizzazione del tokenizer.
- Tipo di tokenizer.
- Simbolo del tipo.
- Tipo di simbolo del token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Visualizzazione del tokenizer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la visualizzazione corrente di TSymbol.
- Visualizzazione corrente di TSymbol.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se la visualizzazione può raggiungere la fine di un file.
- true se la visualizzazione più la fine del file. In caso contrario false..
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se il tokenizer si sposta nella visualizzazione successiva.
- true se il tokenizer si sposta nella visualizzazione successiva. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inserisce un simbolo specificato nella visualizzazione del tokenizer.
- Simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'origine del documento di testo per la visualizzazione del tokenizer.
- Origine del documento di testo per la visualizzazione del tokenizer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tokenizer per visualizzare i simboli Razor.
- Ottiene il tokenizer per visualizzare i simboli del Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un set di caratteri come helper in VB.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un valore se un carattere specificato è racchiuso tra virgolette doppie (").
- true se il carattere è racchiuso tra virgolette doppie ("). In cosa contrario, false.
- Carattere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un valore se il carattere è in cifra ottale.
- true se un carattere è in cifra ottale. In caso contrario, false..
- Carattere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un valore se un carattere specificato è racchiuso tra virgolette singole (').
- true se il carattere è racchiuso tra virgolette singole ("). In cosa contrario false.
- Carattere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Consente a un'applicazione di suddividere un simbolo VB in token.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Origine del testo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un dominio di simboli.
- Dominio di simboli.
- Posizione di origine.
- Valore del contenuto.
- Oggetto .
- Errore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo di simbolo VB.
- Tipo di simbolo VB.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene lo stile di transizione del simbolo VB.
- Stile di transizione del simbolo VB.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il commento del tipo Razor per .
- Commento del tipo Razor per .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene lo stato iniziale del computer.
- Stato iniziale del computer.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un simbolo C sharp per il tokenizer Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Offset del simbolo.
- Riga.
- Colonna
- Contenuto del simbolo.
- Tipo del simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Offset del simbolo.
- Riga.
- Colonna
- Contenuto del simbolo.
- Tipo del simbolo.
- Elenco di errori.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Posizione per iniziare il simbolo.
- Contenuto del simbolo.
- Tipo del simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Posizione per iniziare il simbolo.
- Contenuto del simbolo.
- Tipo del simbolo.
- Elenco di errori.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se il simbolo include un carattere di escape.
- true se il simbolo include un carattere di escape. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza corrente.
- Codice hash per l'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la parola chiave del linguaggio.
- Parola chiave del linguaggio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta i simboli HTML.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Posizione del simbolo.
- Riga esatta in cui si trova il simbolo.
- Numero di colonna in cui si trova il simbolo.
- Valore del contenuto.
- Oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Posizione del simbolo.
- Riga esatta in cui si trova il simbolo.
- Numero di colonna in cui si trova il simbolo.
- Valore del contenuto.
- Oggetto .
- Errore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Inizio della posizione di origine.
- Valore del contenuto.
- Oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Inizio della posizione di origine.
- Valore del contenuto.
- Oggetto .
- Errore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un'interfaccia per il simbolo Razor Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Modifica la posizione del simbolo.
- Modifica la nuova posizione del simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il contenuto del simbolo.
- Contenuto del simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica l'offset iniziale del simbolo.
- Posizione in cui iniziare il documento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la posizione del simbolo.
- Posizione del simbolo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta una nuova istanza di simboli.
- Tipo generico.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Posizione di origine.
- Valore del contenuto.
- Tipo.
- Errore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Modifica l'avvio del computer.
- Nuovo avvio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il contenuto di un .
- Contenuto di un .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'errore Razor.
- Errore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Recupera un codice hash basato sull'oggetto corrente..
- Hash dell'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Avvia l'offset del tempo per il percorso di origine.
- Avvio del documento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il punto iniziale del percorso di origine.
- Punto iniziale del percorso di origine.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera una rappresentazione di stringa dell'oggetto corrente.
- Genera una rappresentazione di stringa dell'oggetto corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un tipo che eredita dal tipo base.
- Tipo che eredita del tipo base.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta le estensioni del simbolo per il tokenizer Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il contenuto di questa classe .
- Ottiene il contenuto di questa classe .
- Simboli da fornire.
- Indice iniziale dell'intervallo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il contenuto di questa classe .
- Ottiene il contenuto di questa classe .
- Intersezione con l'intervallo specificato.
-
-
- Ottiene il contenuto di questa classe .
- Ottiene il contenuto di questa classe .
- Intersezione con l'intervallo specificato.
- Elenco di simboli scelti.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il contenuto di questa classe .
- Ottiene il contenuto di questa classe .
- Simboli forniti.
-
-
- Enumera l'elenco di parole chiave di Visual Basic.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta i componenti del simbolo VB.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Valori di offset.
- Valori di riga.
- Valore di colonna.
- Valore stringa del contenuto.
- Oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Valori di offset.
- Valori di riga.
- Valore di colonna.
- Valore stringa del contenuto.
- Oggetto .
- Elenco di errori Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Inizio della posizione di origine.
- Valore stringa del contenuto.
- Oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Inizio della posizione di origine.
- Valore stringa del contenuto.
- Oggetto .
- Elenco di errori Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un valore se l'oggetto corrente è uguale al nuovo oggetto.
- true se l'oggetto corrente è uguale al nuovo oggetto corrente. In caso contrario, false.
- Oggetto da confrontare.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash per l'istanza.
- Codice hash da restituire.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il campione di dati specificato dall'oggetto.
- Campione di dati specificato dall'oggetto.
- Oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la parola chiave utilizzata in VB.
- Parola chiave utilizzata.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/Content/Web.config.install.xdt b/packages/Microsoft.AspNet.WebPages.3.2.3/Content/Web.config.install.xdt
deleted file mode 100644
index 74a98dc..0000000
--- a/packages/Microsoft.AspNet.WebPages.3.2.3/Content/Web.config.install.xdt
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/Content/Web.config.uninstall.xdt b/packages/Microsoft.AspNet.WebPages.3.2.3/Content/Web.config.uninstall.xdt
deleted file mode 100644
index 234e2c5..0000000
--- a/packages/Microsoft.AspNet.WebPages.3.2.3/Content/Web.config.uninstall.xdt
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/Microsoft.AspNet.WebPages.3.2.3.nupkg b/packages/Microsoft.AspNet.WebPages.3.2.3/Microsoft.AspNet.WebPages.3.2.3.nupkg
deleted file mode 100644
index 131ef70..0000000
Binary files a/packages/Microsoft.AspNet.WebPages.3.2.3/Microsoft.AspNet.WebPages.3.2.3.nupkg and /dev/null differ
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.Helpers.dll b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.Helpers.dll
deleted file mode 100644
index b13e613..0000000
Binary files a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.Helpers.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.Helpers.xml b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.Helpers.xml
deleted file mode 100644
index d5cfa6d..0000000
--- a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.Helpers.xml
+++ /dev/null
@@ -1,839 +0,0 @@
-
-
-
- System.Web.Helpers
-
-
-
- Displays data in the form of a graphical chart.
-
-
- Initializes a new instance of the class.
- The width, in pixels, of the complete chart image.
- The height, in pixels, of the complete chart image.
- (Optional) The template (theme) to apply to the chart.
- (Optional) The template (theme) path and file name to apply to the chart.
-
-
- Adds a legend to the chart.
- The chart.
- The text of the legend title.
- The unique name of the legend.
-
-
- Provides data points and series attributes for the chart.
- The chart.
- The unique name of the series.
- The chart type of a series.
- The name of the chart area that is used to plot the data series.
- The axis label text for the series.
- The name of the series that is associated with the legend.
- The granularity of data point markers.
- The values to plot along the x-axis.
- The name of the field for x-values.
- The values to plot along the y-axis.
- A comma-separated list of name or names of the field or fields for y-values.
-
-
- Adds a title to the chart.
- The chart.
- The title text.
- The unique name of the title.
-
-
- Binds a chart to a data table, where one series is created for each unique value in a column.
- The chart.
- The chart data source.
- The name of the column that is used to group data into the series.
- The name of the column for x-values.
- A comma-separated list of names of the columns for y-values.
- Other data point properties that can be bound.
- The order in which the series will be sorted. The default is "Ascending".
-
-
- Creates and binds series data to the specified data table, and optionally populates multiple x-values.
- The chart.
- The chart data source. This can be can be any object.
- The name of the table column used for the series x-values.
-
-
- Gets or sets the name of the file that contains the chart image.
- The name of the file.
-
-
- Returns a chart image as a byte array.
- The chart.
- The image format. The default is "jpeg".
-
-
- Retrieves the specified chart from the cache.
- The chart.
- The ID of the cache item that contains the chart to retrieve. The key is set when you call the method.
-
-
- Gets or sets the height, in pixels, of the chart image.
- The chart height.
-
-
- Saves a chart image to the specified file.
- The chart.
- The location and name of the image file.
- The image file format, such as "png" or "jpeg".
-
-
- Saves a chart in the system cache.
- The ID of the cache item that contains the chart.
- The ID of the chart in the cache.
- The number of minutes to keep the chart image in the cache. The default is 20.
- true to indicate that the chart cache item's expiration is reset each time the item is accessed, or false to indicate that the expiration is based on an absolute interval since the time that the item was added to the cache. The default is true.
-
-
- Saves a chart as an XML file.
- The chart.
- The path and name of the XML file.
-
-
- Sets values for the horizontal axis.
- The chart.
- The title of the x-axis.
- The minimum value for the x-axis.
- The maximum value for the x-axis.
-
-
- Sets values for the vertical axis.
- The chart.
- The title of the y-axis.
- The minimum value for the y-axis.
- The maximum value for the y-axis.
-
-
- Creates a object based on the current object.
- The chart.
- The format of the image to save the object as. The default is "jpeg". The parameter is not case sensitive.
-
-
- Gets or set the width, in pixels, of the chart image.
- The chart width.
-
-
- Renders the output of the object as an image.
- The chart.
- The format of the image. The default is "jpeg".
-
-
- Renders the output of a object that has been cached as an image.
- The chart.
- The ID of the chart in the cache.
- The format of the image. The default is "jpeg".
-
-
- Specifies visual themes for a object.
-
-
- A theme for 2D charting that features a visual container with a blue gradient, rounded edges, drop-shadowing, and high-contrast gridlines.
-
-
- A theme for 2D charting that features a visual container with a green gradient, rounded edges, drop-shadowing, and low-contrast gridlines.
-
-
- A theme for 2D charting that features no visual container and no gridlines.
-
-
- A theme for 3D charting that features no visual container, limited labeling and, sparse, high-contrast gridlines.
-
-
- A theme for 2D charting that features a visual container that has a yellow gradient, rounded edges, drop-shadowing, and high-contrast gridlines.
-
-
- Provides methods to generate hash values and encrypt passwords or other sensitive data.
-
-
- Generates a cryptographically strong sequence of random byte values.
- The generated salt value as a base-64-encoded string.
- The number of cryptographically random bytes to generate.
-
-
- Returns a hash value for the specified byte array.
- The hash value for as a string of hexadecimal characters.
- The data to provide a hash value for.
- The algorithm that is used to generate the hash value. The default is "sha256".
-
- is null.
-
-
- Returns a hash value for the specified string.
- The hash value for as a string of hexadecimal characters.
- The data to provide a hash value for.
- The algorithm that is used to generate the hash value. The default is "sha256".
-
- is null.
-
-
- Returns an RFC 2898 hash value for the specified password.
- The hash value for as a base-64-encoded string.
- The password to generate a hash value for.
-
- is null.
-
-
- Returns a SHA-1 hash value for the specified string.
- The SHA-1 hash value for as a string of hexadecimal characters.
- The data to provide a hash value for.
-
- is null.
-
-
- Returns a SHA-256 hash value for the specified string.
- The SHA-256 hash value for as a string of hexadecimal characters.
- The data to provide a hash value for.
-
- is null.
-
-
- Determines whether the specified RFC 2898 hash and password are a cryptographic match.
- true if the hash value is a cryptographic match for the password; otherwise, false.
- The previously-computed RFC 2898 hash value as a base-64-encoded string.
- The plaintext password to cryptographically compare with .
-
- or is null.
-
-
- Represents a series of values as a JavaScript-like array by using the dynamic capabilities of the Dynamic Language Runtime (DLR).
-
-
- Initializes a new instance of the class using the specified array element values.
- An array of objects that contains the values to add to the instance.
-
-
- Returns an enumerator that can be used to iterate through the elements of the instance.
- An enumerator that can be used to iterate through the elements of the JSON array.
-
-
- Returns the value at the specified index in the instance.
- The value at the specified index.
-
-
- Returns the number of elements in the instance.
- The number of elements in the JSON array.
-
-
- Converts a instance to an array of objects.
- The array of objects that represents the JSON array.
- The JSON array to convert.
-
-
- Converts a instance to an array of objects.
- The array of objects that represents the JSON array.
- The JSON array to convert.
-
-
- Returns an enumerator that can be used to iterate through a collection.
- An enumerator that can be used to iterate through the collection.
-
-
- Converts the instance to a compatible type.
- true if the conversion was successful; otherwise, false.
- Provides information about the conversion operation.
- When this method returns, contains the result of the type conversion operation. This parameter is passed uninitialized.
-
-
- Tests the instance for dynamic members (which are not supported) in a way that does not cause an exception to be thrown.
- true in all cases.
- Provides information about the get operation.
- When this method returns, contains null. This parameter is passed uninitialized.
-
-
- Represents a collection of values as a JavaScript-like object by using the capabilities of the Dynamic Language Runtime.
-
-
- Initializes a new instance of the class using the specified field values.
- A dictionary of property names and values to add to the instance as dynamic members.
-
-
- Returns a list that contains the name of all dynamic members (JSON fields) of the instance.
- A list that contains the name of every dynamic member (JSON field).
-
-
- Converts the instance to a compatible type.
- true in all cases.
- Provides information about the conversion operation.
- When this method returns, contains the result of the type conversion operation. This parameter is passed uninitialized.
- The instance could not be converted to the specified type.
-
-
- Gets the value of a field using the specified index.
- true in all cases.
- Provides information about the indexed get operation.
- An array that contains a single object that indexes the field by name. The object must be convertible to a string that specifies the name of the JSON field to return. If multiple indexes are specified, contains null when this method returns.
- When this method returns, contains the value of the indexed field, or null if the get operation was unsuccessful. This parameter is passed uninitialized.
-
-
- Gets the value of a field using the specified name.
- true in all cases.
- Provides information about the get operation.
- When this method returns, contains the value of the field, or null if the get operation was unsuccessful. This parameter is passed uninitialized.
-
-
- Sets the value of a field using the specified index.
- true in all cases.
- Provides information about the indexed set operation.
- An array that contains a single object that indexes the field by name. The object must be convertible to a string that specifies the name of the JSON field to return. If multiple indexes are specified, no field is changed or added.
- The value to set the field to.
-
-
- Sets the value of a field using the specified name.
- true in all cases.
- Provides information about the set operation.
- The value to set the field to.
-
-
- Provides methods for working with data in JavaScript Object Notation (JSON) format.
-
-
- Converts data in JavaScript Object Notation (JSON) format into the specified strongly typed data list.
- The JSON-encoded data converted to a strongly typed list.
- The JSON-encoded string to convert.
- The type of the strongly typed list to convert JSON data into.
-
-
- Converts data in JavaScript Object Notation (JSON) format into a data object.
- The JSON-encoded data converted to a data object.
- The JSON-encoded string to convert.
-
-
- Converts data in JavaScript Object Notation (JSON) format into a data object of a specified type.
- The JSON-encoded data converted to the specified type.
- The JSON-encoded string to convert.
- The type that the data should be converted to.
-
-
- Converts a data object to a string that is in the JavaScript Object Notation (JSON) format.
- Returns a string of data converted to the JSON format.
- The data object to convert.
-
-
- Converts a data object to a string in JavaScript Object Notation (JSON) format and adds the string to the specified object.
- The data object to convert.
- The object that contains the converted JSON data.
-
-
- Renders the property names and values of the specified object and of any subobjects that it references.
-
-
- Renders the property names and values of the specified object and of any subobjects.
- For a simple variable, returns the type and the value. For an object that contains multiple items, returns the property name or key and the value for each property.
- The object to render information for.
- Optional. Specifies the depth of nested subobjects to render information for. The default is 10.
- Optional. Specifies the maximum number of characters that the method displays for object values. The default is 1000.
-
- is less than zero.
-
- is less than or equal to zero.
-
-
- Displays information about the web server environment that hosts the current web page.
-
-
- Displays information about the web server environment.
- A string of name-value pairs that contains information about the web server.
-
-
- Specifies the direction in which to sort a list of items.
-
-
- Sort from smallest to largest —for example, from 1 to 10.
-
-
- Sort from largest to smallest — for example, from 10 to 1.
-
-
- Provides a cache to store frequently accessed data.
-
-
- Retrieves the specified item from the object.
- The item retrieved from the cache, or null if the item is not found.
- The identifier for the cache item to retrieve.
-
-
- Removes the specified item from the object.
- The item removed from the object. If the item is not found, returns null.
- The identifier for the cache item to remove.
-
-
- Inserts an item into the object.
- The identifier for the cache item.
- The data to insert into the cache.
- Optional. The number of minutes to keep an item in the cache. The default is 20.
- Optional. true to indicate that the cache item expiration is reset each time the item is accessed, or false to indicate that the expiration is based the absolute time since the item was added to the cache. The default is true. In that case, if you also use the default value for the parameter, a cached item expires 20 minutes after it was last accessed.
- The value of is less than or equal to zero.
- Sliding expiration is enabled and the value of is greater than a year.
-
-
- Displays data on a web page using an HTML table element.
-
-
- Initializes a new instance of the class.
- The data to display.
- A collection that contains the names of the data columns to display. By default, this value is auto-populated according to the values in the parameter.
- The name of the data column that is used to sort the grid by default.
- The number of rows that are displayed on each page of the grid when paging is enabled. The default is 10.
- true to specify that paging is enabled for the instance; otherwise false. The default is true.
- true to specify that sorting is enabled for the instance; otherwise, false. The default is true.
- The value of the HTML id attribute that is used to mark the HTML element that gets dynamic Ajax updates that are associated with the instance.
- The name of the JavaScript function that is called after the HTML element specified by the property has been updated. If the name of a function is not provided, no function will be called. If the specified function does not exist, a JavaScript error will occur if it is invoked.
- The prefix that is applied to all query-string fields that are associated with the instance. This value is used in order to support multiple instances on the same web page.
- The name of the query-string field that is used to specify the current page of the instance.
- The name of the query-string field that is used to specify the currently selected row of the instance.
- The name of the query-string field that is used to specify the name of the data column that the instance is sorted by.
- The name of the query-string field that is used to specify the direction in which the instance is sorted.
-
-
- Adds a specific sort function for a given column.
- The current grid, with the new custom sorter applied.
- The column name (as used for sorting)
- The function used to select a key to sort by, for each element in the grid's source.
- The type of elements in the grid's source.
- The column type, usually inferred from the keySelector function's return type.
-
-
- Gets the name of the JavaScript function to call after the HTML element that is associated with the instance has been updated in response to an Ajax update request.
- The name of the function.
-
-
- Gets the value of the HTML id attribute that marks an HTML element on the web page that gets dynamic Ajax updates that are associated with the instance.
- The value of the id attribute.
-
-
- Binds the specified data to the instance.
- The bound and populated instance.
- The data to display.
- A collection that contains the names of the data columns to bind.
- true to enable sorting and paging of the instance; otherwise, false.
- The number of rows to display on each page of the grid.
-
-
- Gets a value that indicates whether the instance supports sorting.
- true if the instance supports sorting; otherwise, false.
-
-
- Creates a new instance.
- The new column.
- The name of the data column to associate with the instance.
- The text that is rendered in the header of the HTML table column that is associated with the instance.
- The function that is used to format the data values that are associated with the instance.
- A string that specifies the name of the CSS class that is used to style the HTML table cells that are associated with the instance.
- true to enable sorting in the instance by the data values that are associated with the instance; otherwise, false. The default is true.
-
-
- Gets a collection that contains the name of each data column that is bound to the instance.
- The collection of data column names.
-
-
- Returns an array that contains the specified instances.
- An array of columns.
- A variable number of column instances.
-
-
- Gets the prefix that is applied to all query-string fields that are associated with the instance.
- The query-string field prefix of the instance.
-
-
- Returns a JavaScript statement that can be used to update the HTML element that is associated with the instance on the specified web page.
- A JavaScript statement that can be used to update the HTML element in a web page that is associated with the instance.
- The URL of the web page that contains the instance that is being updated. The URL can include query-string arguments.
-
-
- Returns the HTML markup that is used to render the instance and using the specified paging options.
- The HTML markup that represents the fully-populated instance.
- The name of the CSS class that is used to style the whole table.
- The name of the CSS class that is used to style the table header.
- The name of the CSS class that is used to style the table footer.
- The name of the CSS class that is used to style each table row.
- The name of the CSS class that is used to style even-numbered table rows.
- The name of the CSS class that is used to style the selected table row. (Only one row can be selected at a time.)
- The table caption.
- true to display the table header; otherwise, false. The default is true.
- true to insert additional rows in the last page when there are insufficient data items to fill the last page; otherwise, false. The default is false. Additional rows are populated using the text specified by the parameter.
- The text that is used to populate additional rows in a page when there are insufficient data items to fill the last page. The parameter must be set to true to display these additional rows.
- A collection of instances that specify how each column is displayed. This includes which data column is associated with each grid column, and how to format the data values that each grid column contains.
- A collection that contains the names of the data columns to exclude when the grid auto-populates columns.
- A bitwise combination of the enumeration values that specify methods that are provided for moving between pages of the instance.
- The text for the HTML link element that is used to link to the first page of the instance. The flag of the parameter must be set to display this page navigation element.
- The text for the HTML link element that is used to link to previous page of the instance. The flag of the parameter must be set to display this page navigation element.
- The text for the HTML link element that is used to link to the next page of the instance. The flag of the parameter must be set to display this page navigation element.
- The text for the HTML link element that is used to link to the last page of the instance. The flag of the parameter must be set to display this page navigation element.
- The number of numeric page links that are provided to nearby pages. The text of each numeric page link contains the page number. The flag of the parameter must be set to display these page navigation elements.
- An object that represents a collection of attributes (names and values) to set for the HTML table element that represents the instance.
-
-
- Returns a URL that can be used to display the specified data page of the instance.
- A URL that can be used to display the specified data page of the grid.
- The index of the page to display.
-
-
- Returns a URL that can be used to sort the instance by the specified column.
- A URL that can be used to sort the grid.
- The name of the data column to sort by.
-
-
- Gets a value that indicates whether a row in the instance is selected.
- true if a row is currently selected; otherwise, false.
-
-
- Returns a value that indicates whether the instance can use Ajax calls to refresh the display.
- true if the instance supports Ajax calls; otherwise, false..
-
-
- Gets the number of pages that the instance contains.
- The page count.
-
-
- Gets the full name of the query-string field that is used to specify the current page of the instance.
- The full name of the query string field that is used to specify the current page of the grid.
-
-
- Gets or sets the index of the current page of the instance.
- The index of the current page.
-
-
- Returns the HTML markup that is used to provide the specified paging support for the instance.
- The HTML markup that provides paging support for the grid.
- A bitwise combination of the enumeration values that specify the methods that are provided for moving between the pages of the grid. The default is the bitwise OR of the and flags.
- The text for the HTML link element that navigates to the first page of the grid.
- The text for the HTML link element that navigates to the previous page of the grid.
- The text for the HTML link element that navigates to the next page of the grid.
- The text for the HTML link element that navigates to the last page of the grid.
- The number of numeric page links to display. The default is 5.
-
-
- Gets a list that contains the rows that are on the current page of the instance after the grid has been sorted.
- The list of rows.
-
-
- Gets the number of rows that are displayed on each page of the instance.
- The number of rows that are displayed on each page of the grid.
-
-
- Gets or sets the index of the selected row relative to the current page of the instance.
- The index of the selected row relative to the current page.
-
-
- Gets the currently selected row of the instance.
- The currently selected row.
-
-
- Gets the full name of the query-string field that is used to specify the selected row of the instance.
- The full name of the query string field that is used to specify the selected row of the grid.
-
-
- Gets or sets the name of the data column that the instance is sorted by.
- The name of the data column that is used to sort the grid.
-
-
- Gets or sets the direction in which the instance is sorted.
- The sort direction.
-
-
- Gets the full name of the query-string field that is used to specify the sort direction of the instance.
- The full name of the query string field that is used to specify the sort direction of the grid.
-
-
- Gets the full name of the query-string field that is used to specify the name of the data column that the instance is sorted by.
- The full name of the query-string field that is used to specify the name of the data column that the grid is sorted by.
-
-
- Returns the HTML markup that is used to render the instance.
- The HTML markup that represents the fully-populated instance.
- The name of the CSS class that is used to style the whole table.
- The name of the CSS class that is used to style the table header.
- The name of the CSS class that is used to style the table footer.
- The name of the CSS class that is used to style each table row.
- The name of the CSS class that is used to style even-numbered table rows.
- The name of the CSS class that is used use to style the selected table row.
- The table caption.
- true to display the table header; otherwise, false. The default is true.
- true to insert additional rows in the last page when there are insufficient data items to fill the last page; otherwise, false. The default is false. Additional rows are populated using the text specified by the parameter.
- The text that is used to populate additional rows in the last page when there are insufficient data items to fill the last page. The parameter must be set to true to display these additional rows.
- A collection of instances that specify how each column is displayed. This includes which data column is associated with each grid column, and how to format the data values that each grid column contains.
- A collection that contains the names of the data columns to exclude when the grid auto-populates columns.
- A function that returns the HTML markup that is used to render the table footer.
- An object that represents a collection of attributes (names and values) to set for the HTML table element that represents the instance.
-
-
- Gets the total number of rows that the instance contains.
- The total number of rows in the grid. This value includes all rows from every page, but does not include the additional rows inserted in the last page when there are insufficient data items to fill the last page.
-
-
- Represents a column in a instance.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets a value that indicates whether the column can be sorted.
- true to indicate that the column can be sorted; otherwise, false.
-
-
- Gets or sets the name of the data item that is associated with the column.
- The name of the data item.
-
-
- Gets or sets a function that is used to format the data item that is associated with the column.
- The function that is used to format that data item that is associated with the column.
-
-
- Gets or sets the text that is rendered in the header of the column.
- The text that is rendered to the column header.
-
-
- Gets or sets the CSS class attribute that is rendered as part of the HTML table cells that are associated with the column.
- The CSS class attribute that is applied to cells that are associated with the column.
-
-
- Specifies flags that describe the methods that are provided for moving between the pages of a instance.This enumeration has a attribute that allows a bitwise combination of its member values.
-
-
- Indicates that all methods for moving between pages are provided.
-
-
- Indicates that methods for moving directly to the first or last page are provided.
-
-
- Indicates that methods for moving to the next or previous page are provided.
-
-
- Indicates that methods for moving to a nearby page by using a page number are provided.
-
-
- Represents a row in a instance.
-
-
- Initializes a new instance of the class using the specified instance, row value, and index.
- The instance that contains the row.
- An object that contains a property member for each value in the row.
- The index of the row.
-
-
- Returns an enumerator that can be used to iterate through the values of the instance.
- An enumerator that can be used to iterate through the values of the row.
-
-
- Returns an HTML element (a link) that users can use to select the row.
- The link that users can click to select the row.
- The inner text of the link element. If is empty or null, "Select" is used.
-
-
- Returns the URL that can be used to select the row.
- The URL that is used to select a row.
-
-
- Returns the value at the specified index in the instance.
- The value at the specified index.
- The zero-based index of the value in the row to return.
-
- is less than 0 or greater than or equal to the number of values in the row.
-
-
- Returns the value that has the specified name in the instance.
- The specified value.
- The name of the value in the row to return.
-
- is Nothing or empty.
-
- specifies a value that does not exist.
-
-
- Returns an enumerator that can be used to iterate through a collection.
- An enumerator that can be used to iterate through the collection.
-
-
- Returns a string that represents all of the values of the instance.
- A string that represents the row's values.
-
-
- Returns the value of a member that is described by the specified binder.
- true if the value of the item was successfully retrieved; otherwise, false.
- The getter of the bound property member.
- When this method returns, contains an object that holds the value of the item described by . This parameter is passed uninitialized.
-
-
- Gets an object that contains a property member for each value in the row.
- An object that contains each value in the row as a property.
-
-
- Gets the instance that the row belongs to.
- The instance that contains the row.
-
-
- Represents an object that lets you display and manage images in a web page.
-
-
- Initializes a new instance of the class using a byte array to represent the image.
- The image.
-
-
- Initializes a new instance of the class using a stream to represent the image.
- The image.
-
-
- Initializes a new instance of the class using a path to represent the image location.
- The path of the file that contains the image.
-
-
- Adds a watermark image using a path to the watermark image.
- The watermarked image.
- The path of a file that contains the watermark image.
- The width, in pixels, of the watermark image.
- The height, in pixels, of the watermark image.
- The horizontal alignment for watermark image. Values can be "Left", "Right", or "Center".
- The vertical alignment for the watermark image. Values can be "Top", "Middle", or "Bottom".
- The opacity for the watermark image, specified as a value between 0 and 100.
- The size, in pixels, of the padding around the watermark image.
-
-
- Adds a watermark image using the specified image object.
- The watermarked image.
- A object.
- The width, in pixels, of the watermark image.
- The height, in pixels, of the watermark image.
- The horizontal alignment for watermark image. Values can be "Left", "Right", or "Center".
- The vertical alignment for the watermark image. Values can be "Top", "Middle", or "Bottom".
- The opacity for the watermark image, specified as a value between 0 and 100.
- The size, in pixels, of the padding around the watermark image.
-
-
- Adds watermark text to the image.
- The watermarked image.
- The text to use as a watermark.
- The color of the watermark text.
- The font size of the watermark text.
- The font style of the watermark text.
- The font type of the watermark text.
- The horizontal alignment for watermark text. Values can be "Left", "Right", or "Center".
- The vertical alignment for the watermark text. Values can be "Top", "Middle", or "Bottom".
- The opacity for the watermark image, specified as a value between 0 and 100.
- The size, in pixels, of the padding around the watermark text.
-
-
- Copies the object.
- The image.
-
-
- Crops an image.
- The cropped image.
- The number of pixels to remove from the top.
- The number of pixels to remove from the left.
- The number of pixels to remove from the bottom.
- The number of pixels to remove from the right.
-
-
- Gets or sets the file name of the object.
- The file name.
-
-
- Flips an image horizontally.
- The flipped image.
-
-
- Flips an image vertically.
- The flipped image.
-
-
- Returns the image as a byte array.
- The image.
- The value of the object.
-
-
- Returns an image that has been uploaded using the browser.
- The image.
- (Optional) The name of the file that has been posted. If no file name is specified, the first file that was uploaded is returned.
-
-
- Gets the height, in pixels, of the image.
- The height.
-
-
- Gets the format of the image (for example, "jpeg" or "png").
- The file format of the image.
-
-
- Resizes an image.
- The resized image.
- The width, in pixels, of the object.
- The height, in pixels, of the object.
- true to preserve the aspect ratio of the image; otherwise, false.
- true to prevent the enlargement of the image; otherwise, false.
-
-
- Rotates an image to the left.
- The rotated image.
-
-
- Rotates an image to the right.
- The rotated image.
-
-
- Saves the image using the specified file name.
- The image.
- The path to save the image to.
- The format to use when the image file is saved, such as "gif", or "png".
- true to force the correct file-name extension to be used for the format that is specified in ; otherwise, false. If there is a mismatch between the file type and the specified file-name extension, and if is true, the correct extension will be appended to the file name. For example, a PNG file named Photograph.txt is saved using the name Photograph.txt.png.
-
-
- Gets the width, in pixels, of the image.
- The width.
-
-
- Renders an image to the browser.
- The image.
- (Optional) The file format to use when the image is written.
-
-
- Provides a way to construct and send an email message using Simple Mail Transfer Protocol (SMTP).
-
-
- Gets or sets a value that indicates whether Secure Sockets Layer (SSL) is used to encrypt the connection when an email message is sent.
- true if SSL is used to encrypt the connection; otherwise, false.
-
-
- Gets or sets the email address of the sender.
- The email address of the sender.
-
-
- Gets or sets the password of the sender's email account.
- The sender's password.
-
-
- Sends the specified message to an SMTP server for delivery.
- The email address of the recipient or recipients. Separate multiple recipients using a semicolon (;).
- The subject line for the email message.
- The body of the email message. If is true, HTML in the body is interpreted as markup.
- (Optional) The email address of the message sender, or null to not specify a sender. The default value is null.
- (Optional) The email addresses of additional recipients to send a copy of the message to, or null if there are no additional recipients. Separate multiple recipients using a semicolon (;). The default value is null.
- (Optional) A collection of file names that specifies the files to attach to the email message, or null if there are no files to attach. The default value is null.
- (Optional) true to specify that the email message body is in HTML format; false to indicate that the body is in plain-text format. The default value is true.
- (Optional) A collection of headers to add to the normal SMTP headers included in this email message, or null to send no additional headers. The default value is null.
- (Optional) The email addresses of additional recipients to send a "blind" copy of the message to, or null if there are no additional recipients. Separate multiple recipients using a semicolon (;). The default value is null.
- (Optional) The encoding to use for the body of the message. Possible values are property values for the class, such as . The default value is null.
- (Optional) The encoding to use for the header of the message. Possible values are property values for the class, such as . The default value is null.
- (Optional) A value ("Normal", "Low", "High") that specifies the priority of the message. The default is "Normal".
- (Optional) The email address that will be used when the recipient replies to the message. The default value is null, which indicates that the reply address is the value of the From property.
-
-
- Gets or sets the port that is used for SMTP transactions.
- The port that is used for SMTP transactions.
-
-
- Gets or sets the name of the SMTP server that is used to transmit the email message.
- The SMTP server.
-
-
- Gets or sets a value that indicates whether the default credentials are sent with the requests.
- true if credentials are sent with the email message; otherwise, false.
-
-
- Gets or sets the name of email account that is used to send email.
- The name of the user account.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.Deployment.dll b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.Deployment.dll
deleted file mode 100644
index d904d0f..0000000
Binary files a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.Deployment.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.Deployment.xml b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.Deployment.xml
deleted file mode 100644
index 7dc960b..0000000
--- a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.Deployment.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
- System.Web.WebPages.Deployment
-
-
-
- Provides a registration point for pre-application start code for Web Pages deployment.
-
-
- Registers pre-application start code for Web Pages deployment.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides methods that are used to get deployment information about the Web application.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the assembly path for the Web Pages deployment.
- The assembly path for the Web Pages deployment.
- The Web Pages version.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the Web Pages version from the given binary path.
- The Web Pages version.
- The binary path for the Web Pages.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the assembly references from the given path regardless of the Web Pages version.
- The dictionary containing the assembly references of the Web Pages and its version.
- The path to the Web Pages application.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the maximum version of the Web Pages loaded assemblies.
- The maximum version of the Web Pages loaded assemblies.
-
-
- Gets the Web Pages version from the given path.
- The Web Pages version.
- The path of the root directory for the application.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the Web Pages version using the configuration settings with the specified path.
- The Web Pages version.
- The path to the application settings.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the assemblies for this Web Pages deployment.
- A list containing the assemblies for this Web Pages deployment.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether the Web Pages deployment is enabled.
- true if the Web Pages deployment is enabled; otherwise, false.
- The path to the Web Pages deployment.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether the Web Pages deployment is explicitly disabled.
- true if the Web Pages deployment is explicitly disabled; otherwise, false.
- The path to the Web Pages deployment.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.Razor.dll b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.Razor.dll
deleted file mode 100644
index 711c6ff..0000000
Binary files a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.Razor.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.Razor.xml b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.Razor.xml
deleted file mode 100644
index bf64555..0000000
--- a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.Razor.xml
+++ /dev/null
@@ -1,292 +0,0 @@
-
-
-
- System.Web.WebPages.Razor
-
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the base class for the compiling path that contains event data.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The string of virtual path.
- The host for the webpage razor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the host for the webpage razor.
- The host for the webpage razor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the virtual path for the webpage.
- The virtual path for the webpage.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a build provider for Razor.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds a virtual path dependency to the collection.
- A virtual path dependency to add.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the assembly builder for Razor environment.
- The assembly builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the compiler settings for Razor environment.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Occurs when code generation is completed.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Occurs when code generation is started.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Occurs when compiling with a new virtual path.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a Razor engine host instance base on web configuration.
- A Razor engine host instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the code using the provided assembly builder.
- The assembly builder.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the type of the generated code.
- The type of the generated code.
- The results of the code compilation.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates the Razor engine host instance based on the web configuration.
- The Razor engine host instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Opens an internal text reader.
- An internal text reader.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Raises the CompilingPath event.
- The data provided for the CompilingPath event.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the virtual path of the source code.
- The virtual path of the source code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the collection of virtual path for the dependencies.
- The collection of virtual path for the dependencies.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a web code razor host for the web pages.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The virtual path.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The virtual path.
- The physical path.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the class name of this instance.
- The class name of this instance.
- The virtual path.
-
-
- Generates a post process code for the web code razor host.
- The generator code context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the razor hosts in a webpage.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class with the specified virtual file path.
- The virtual file path.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class with the specified virtual and physical file path.
- The virtual file path.
- The physical file path.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds a global import on the webpage.
- The notification service name.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the .
- The .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a markup parser.
- A markup parser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value for the DefaultBaseClass.
- A value for the DefaultBaseClass.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the default class.
- The name of the default class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value that indicates whether the debug compilation is set to default.
- true if the debug compilation is set to default; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the base class of the default page.
- The base class of the default page.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves the name of the class to which the specified webpage belongs.
- The name of the class to which the specified webpage belongs.
- The virtual file path.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the code language specified in the webpage.
- The code language specified in the webpage.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the global imports for the webpage.
- The global imports for the webpage.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the file path of the instrumental source.
- The file path of the instrumental source.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether the webpage is a special page.
- true if the webpage is a special page; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the physical file system path of the razor host.
- They physical file system path of the razor host.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the generated code after the process.
- The .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Registers the special file with the specified file name and base type name.
- The file name.
- The base type name.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Registers the special file with the specified file name and base type.
- The file name.
- The type of base file.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the virtual file path.
- The virtual file path.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates instances of the host files.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Loads the service description information from the configuration file and applies it to the host.
- The configuration.
- The webpage razor host.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a default host with the specified virtual path.
- A default host.
- The virtual path of the file.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a default host with the specified virtual and physical path.
- A default host.
- The virtual path of the file.
- The physical file system path.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a Razor host.
- A razor host.
- The virtual path to the target file.
- The physical path to the target file.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a host from the configuration.
- A host from the configuration.
- The virtual path to the target file.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a host from the configuration.
- A host from the configuration.
- The virtual path of the file.
- The physical file system path.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a host from the configuration.
- A host from the configuration.
- The configuration.
- The virtual path of the file.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a host from the configuration.
- A host from the configuration.
- The configuration.
- The virtual path of the file.
- The physical file system path.
-
-
- Provides configuration system support for the host configuration section.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the host factory.
- The host factory.
-
-
- Represents the name of the configuration section for a Razor host environment.
-
-
- Provides configuration system support for the pages configuration section.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the collection of namespaces to add to Web Pages pages in the current application.
- The collection of namespaces.
-
-
- Gets or sets the name of the page base type class.
- The name of the page base type class.
-
-
- Represents the name of the configuration section for Razor pages.
-
-
- Provides configuration system support for the system.web.webPages.razor configuration section.
-
-
- Initializes a new instance of the class.
-
-
- Represents the name of the configuration section for Razor Web section. Contains the static, read-only string "system.web.webPages.razor".
-
-
- Gets or sets the host value for system.web.webPages.razor section group.
- The host value.
-
-
- Gets or sets the value of the pages element for the system.web.webPages.razor section.
- The pages element value.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.dll b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.dll
deleted file mode 100644
index cdb61e3..0000000
Binary files a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.xml b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.xml
deleted file mode 100644
index 84699ef..0000000
--- a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/System.Web.WebPages.xml
+++ /dev/null
@@ -1,2706 +0,0 @@
-
-
-
- System.Web.WebPages
-
-
-
- Helps prevent malicious scripts from submitting forged page requests.
-
-
- Adds an authenticating token to a form to help protect against request forgery.
- Returns a string that contains the encrypted token value in a hidden HTML field.
- The current object is null.
-
-
- Adds an authenticating token to a form to help protect against request forgery and lets callers specify authentication details.
- Returns the encrypted token value in a hidden HTML field.
- The HTTP context data for a request.
- An optional string of random characters (such as Z*7g1&p4) that is used to add complexity to the encryption for extra safety. The default is null.
- The domain of a web application that a request is submitted from.
- The virtual root path of a web application that a request is submitted from.
-
- is null.
-
-
- Gets the search tokens.
- The previous cookie token.
- The new cookie token.
- The form of the token.
-
-
- Validates that input data from an HTML form field comes from the user who submitted the data.
- The current value is null.
- The HTTP cookie token that accompanies a valid request is missing-or-The form token is missing.-or-The form token value does not match the cookie token value.-or-The form token value does not match the cookie token value.
-
-
- Validates that input data from an HTML form field comes from the user who submitted the data.
- The cookie token value.
- The token form.
-
-
- Validates that input data from an HTML form field comes from the user who submitted the data and lets callers specify additional validation details.
- The HTTP context data for a request.
- An optional string of random characters (such as Z*7g1&p4) that is used to decrypt an authentication token created by the class. The default is null.
- The current value is null.
- The HTTP cookie token that accompanies a valid request is missing.-or-The form token is missing.-or-The form token value does not match the cookie token value.-or-The form token value does not match the cookie token value.-or-The value supplied does not match the value that was used to create the form token.
-
-
- Provides programmatic configuration for the anti-forgery token system.
-
-
- Gets a data provider that can provide additional data to put into all generated tokens and that can validate additional data in incoming tokens.
- The data provider.
-
-
- Gets or sets the name of the cookie that is used by the anti-forgery system.
- The cookie name.
-
-
- Gets or sets a value that indicates whether the anti-forgery cookie requires SSL in order to be returned to the server.
- true if SSL is required to return the anti-forgery cookie to the server; otherwise, false.
-
-
- Gets or sets a value that indicates whether the anti-forgery system should skip checking for conditions that might indicate misuse of the system.
- true if the anti-forgery system should not check for possible misuse; otherwise, false.
-
-
- Specifies whether to suppress the generation of X-Frame-Options header which is used to prevent ClickJacking. By default, the X-Frame-Options header is generated with the value SAMEORIGIN. If this setting is 'true', the X-Frame-Options header will not be generated for the response.
-
-
- If claims-based authorization is in use, gets or sets the claim type from the identity that is used to uniquely identify the user.
- The claim type.
-
-
- Provides a way to include or validate custom data for anti-forgery tokens.
-
-
- Provides additional data to store for the anti-forgery tokens that are generated during this request.
- The supplemental data to embed in the anti-forgery token.
- Information about the current request.
-
-
- Validates additional data that was embedded inside an incoming anti-forgery token.
- true if the data is valid, or false if the data is invalid.
- Information about the current request.
- The supplemental data that was embedded in the token.
-
-
- Provides access to unvalidated form values in the object.
-
-
- Gets a collection of unvalidated form values that were posted from the browser.
- An unvalidated collection of form values.
-
-
- Gets the specified unvalidated object from the collection of posted values in the object.
- The specified member, or null if the specified item is not found.
-
-
- Gets a collection of unvalidated query-string values.
- A collection of unvalidated query-string values.
-
-
- Excludes fields of the Request object from being checked for potentially unsafe HTML markup and client script.
-
-
- Returns a version of form values, cookies, and query-string variables without checking them first for HTML markup and client script.
- An object that contains unvalidated versions of the form and query-string values.
- The object that contains values to exclude from request validation.
-
-
- Returns a value from the specified form field, cookie, or query-string variable without checking it first for HTML markup and client script.
- A string that contains unvalidated text from the specified field, cookie, or query-string value.
- The object that contains values to exclude from validation.
- The name of the field to exclude from validation. can refer to a form field, to a cookie, or to the query-string variable.
-
-
- Returns all values from the Request object (including form fields, cookies, and the query string) without checking them first for HTML markup and client script.
- An object that contains unvalidated versions of the form, cookie, and query-string values.
- The object that contains values to exclude from validation.
-
-
- Returns the specified value from the Request object without checking it first for HTML markup and client script.
- A string that contains unvalidated text from the specified field, cookie, or query-string value.
- The object that contains values to exclude from validation.
- The name of the field to exclude from validation. can refer to a form field, to a cookie, or to the query-string variable.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The containing message.
-
-
- This member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The message.
- The inner exception.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- The error message.
- The other.
-
-
-
-
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- The error message.
- The minimum value.
- The maximum value.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
- The exception message.
- The pattern.
-
-
- Represents the remote rule for the validation of the model client.
-
-
- Initializes a new instance of the class.
- The error message.
- The URL of the rule.
- The HTTP method.
- The additional fields used.
-
-
- Represents the required rule for the validation of the model client.
-
-
- Initializes a new instance of the class.
- The error message
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a length of the validation rule of the model client.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The error message.
- The minimum length of the validation rule.
- The maximum length of the validation rule.
-
-
- Contains classes and properties that are used to create HTML elements. This class is used to write helpers, such as those found in the namespace.
-
-
- Creates a new tag that has the specified tag name.
- The tag name without the "<", "/", or ">" delimiters.
-
- is null or empty.
-
-
- Adds a CSS class to the list of CSS classes in the tag.
- The CSS class to add.
-
-
- Gets the collection of attributes.
- The collection of attributes.
-
-
- Replaces each invalid character in the tag ID with a valid HTML character.
- The sanitized tag ID, or null if is null or empty, or if does not begin with a letter.
- The ID that might contain characters to replace.
-
-
- Replaces each invalid character in the tag ID with the specified replacement string.
- The sanitized tag ID, or null if is null or empty, or if does not begin with a letter.
- The ID that might contain characters to replace.
- The replacement string.
-
- is null.
-
-
- Generates a sanitized ID attribute for the tag by using the specified name.
- The name to use to generate an ID attribute.
-
-
- Gets or sets a string that can be used to replace invalid HTML characters.
- The string to use to replace invalid HTML characters.
-
-
- Gets or sets the inner HTML value for the element.
- The inner HTML value for the element.
-
-
- Adds a new attribute to the tag.
- The key for the attribute.
- The value of the attribute.
-
-
- Adds a new attribute or optionally replaces an existing attribute in the opening tag.
- The key for the attribute.
- The value of the attribute.
- true to replace an existing attribute if an attribute exists that has the specified value, or false to leave the original attribute unchanged.
-
-
- Adds new attributes to the tag.
- The collection of attributes to add.
- The type of the key object.
- The type of the value object.
-
-
- Adds new attributes or optionally replaces existing attributes in the tag.
- The collection of attributes to add or replace.
- For each attribute in , true to replace the attribute if an attribute already exists that has the same key, or false to leave the original attribute unchanged.
- The type of the key object.
- The type of the value object.
-
-
- Sets the property of the element to an HTML-encoded version of the specified string.
- The string to HTML-encode.
-
-
- Gets the tag name for this tag.
- The name.
-
-
- Renders the element as a element.
-
-
- Renders the HTML tag by using the specified render mode.
- The rendered HTML tag.
- The render mode.
-
-
- Enumerates the modes that are available for rendering HTML tags.
-
-
- Represents the mode for rendering a closing tag (for example, </tag>).
-
-
- Represents the mode for rendering normal text.
-
-
- Represents the mode for rendering a self-closing tag (for example, <tag />).
-
-
- Represents the mode for rendering an opening tag (for example, <tag>).
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the validation attributes from the structure or content of .
- The to be implemented.
- The result of the validation.
-
-
- Contains methods to register assemblies as application parts.
-
-
- Initializes a new instance of the class by using the specified assembly and root virtual path.
- The assembly.
- The root virtual path.
-
- is null or empty.
-
-
- Resolves a path to the specified assembly or resource within an assembly by using the specified base virtual path and specified virtual path.
- The path of the assembly or resource.
- The assembly.
- The base virtual path.
- The virtual path.
-
- is not registered.
-
-
- Adds an assembly and all web pages within the assembly to the list of available application parts.
- The application part.
-
- is already registered.
-
-
- Provides objects and methods that are used to execute and render ASP.NET Web Pages application start pages (_AppStart.cshtml or _AppStart.vbhtml files).
-
-
- Initializes a new instance of the class.
-
-
- Gets the HTTP application object that references this application startup page.
- The HTTP application object that references this application startup page.
-
-
- The prefix that is applied to all keys that are added to the cache by the application start page.
-
-
- Gets the object that represents context data that is associated with this page.
- The current context data.
-
-
- Returns the text writer instance that is used to render the page.
- The text writer.
-
-
- Gets the output from the application start page as an HTML-encoded string.
- The output from the application start page as an HTML-encoded string.
-
-
- Gets the text writer for the page.
- The text writer for the page.
-
-
- The path to the application start page.
-
-
- Gets or sets the virtual path of the page.
- The virtual path.
-
-
- Writes the string representation of the specified object as an HTML-encoded string.
- The object to encode and write.
-
-
- Writes the specified object as an HTML-encoded string.
- The helper result to encode and write.
-
-
- Writes the specified object without HTML encoding.
- The object to write.
-
-
- Stores the value for an attribute.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- Initializes a new instance of the class.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- The namespace prefix for the attribute.
- The value for the attribute.
- true to indicate that the value is a literal value; otherwise, false.
-
-
- Creates an attribute value from the specified tuple object.
- The created attribute value.
- The tuple object from which to create from.
-
-
- Creates an attribute value from the specified tuple object.
- The created attribute value.
- The tuple object from which to create from.
-
-
- Gets or sets a value that indicates whether the value is a literal value.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- true if the value is a literal value; otherwise, false.
-
-
- Creates an attribute value from the specified tuple object.
- The created attribute value.
- The tuple object from which to create from.
-
-
- Creates an attribute value from the specified tuple object.
- The created attribute value.
- The tuple object from which to create from.
-
-
- Gets or sets the namespace prefix for the attribute.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- The namespace prefix for the attribute.
-
-
- Gets or set the value for the attribute.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- The value for the attribute.
-
-
- Provides a way to specify custom browser (user agent) information.
-
-
- Removes any overridden user agent for the current request.
- The current context.
-
-
- Returns the browser capabilities object for the overridden browser capabilities or for the actual browser if no override has been specified.
- The browser capabilities.
- The current context.
-
-
- Returns the overridden user agent value or the actual user agent string if no override has been specified.
- The user agent string
- The current context.
-
-
- Gets a string that varies based on the type of the browser.
- A string that identifies the browser.
- The current context.
-
-
- Gets a string that varies based on the type of the browser.
- A string that identifies the browser.
- The current context base.
-
-
- Overrides the request's actual user agent value using the specified user agent.
- The current context.
- The user agent to use.
-
-
- Overrides the request's actual user agent value using the specified browser override information.
- The current context.
- One of the enumeration values that represents the browser override information to use.
-
-
- Specifies browser types that can be defined for the method.
-
-
- Specifies a desktop browser.
-
-
- Specifies a mobile browser.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.The current BrowserOverrideStore is used to get and set the user agent of a request.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Looks for a user agent by searching for the browser override cookie.
- The user agent.
- The HTTP context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds a browser override cookie with the set user agent to the response of the current request.
- The HTTP context.
- The user agent.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets overridden user agent for a request from a cookie. Creates a cookie to set the overridden user agent.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The days to expire.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Looks for a user agent by searching for the browser override cookie.
- The user agent.
- The HTTP context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds a browser override cookie with the set user agent to the response of the current request.
- The HTTP context.
- The user agent.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the default display mode of the web pages.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The suffix.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a value whether the can handle context.
- true if the can handle context; otherwise, false.
- The specified http context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value that indicates whether the context condition displays a default mode.
- true if the context condition displays a default mode; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the display mode identifier of the web pages.
- The display mode identifier of the web pages.
-
-
- Retrieves the display information about an item in the result pane.
- The display information about an item in the result pane.
- The http context.
- The virtual path.
- true if the virtual path exists; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Transforms the path of the display mode.
- The path of the display mode to transform.
- The virtual path.
- The suffix.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a property’s display information.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The virtual path.
- The active display mode.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the active display mode for a Web page.
- The active display mode for a Web page.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the virtual path of the current Web page.
- The virtual path of the current Web page.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the modes of display for the provider.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the default display mode identifier.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a list of the available display modes for the context base.
- A list of the available display modes for the context base.
- The http context base.
- The current display mode.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the for the virtual path.
- The for the virtual path.
- The virtual path.
- The http context base.
- true if the virtual path exists; otherwise, false.
- The current display mode.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the instance of the .
- The instance of the .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the mobile display mode identifier.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a list of modes of the .
- A list of modes of the .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value that indicates whether the Web page requires consistent display mode.
- true if the Web page requires consistent display mode; otherwise, false.
-
-
- Represents a base class for pages that is used when ASP.NET compiles a .cshtml or .vbhtml file and that exposes page-level and application-level properties and methods.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- Gets the application-state data as a object that callers can use to create and access custom application-scoped properties.
- The application-state data.
-
-
- Gets a reference to global application-state data that can be shared across sessions and requests in an ASP.NET application.
- The application-state data.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Puts all the helper statements into the context of the helper page.
- The text writer.
- The helper virtual path.
- The starting position.
- The length of the context.
- true of the context has a literal attribute; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Puts all the helper statements into the context of the helper page.
- The helper virtual path.
- The starting position.
- The length of the context.
- true of the context has a literal attribute; otherwise, false.
-
-
- Gets the cache object for the current application domain.
- The cache object.
-
-
- Gets the object that is associated with a page.
- The current context data.
-
-
- Gets the current page for this helper page.
- The current page.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the end of context block.
- The text writer.
- The helper virtual path.
- The starting position.
- The length of the context.
- true of the context has a literal attribute; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the end of context block.
- The helper virtual path.
- The starting position.
- The length of the context.
- true of the context has a literal attribute; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the path of the helper page.
- The path of the helper page.
-
-
- Builds an absolute URL from an application-relative URL by using the specified parameters.
- The absolute URL.
- The initial path to use in the URL.
- Additional path information, such as folders and subfolders.
-
-
- Gets the object that is associated with a page.
- An object that supports rendering HTML form controls in a page.
-
-
- Gets a value that indicates whether Ajax is being used during the request of the web page.
- true if Ajax is being used during the request; otherwise, false.
-
-
- Gets a value that indicates whether the current request is a post (submitted using the HTTP POST verb).
- true if the HTTP verb is POST; otherwise, false.
-
-
- Gets the model that is associated with a page.
- An object that represents a model that is associated with the view data for a page.
-
-
- Gets the state data for the model that is associated with a page.
- The state of the model.
-
-
- Gets property-like access to page data that is shared between pages, layout pages, and partial pages.
- An object that contains page data.
-
-
- Gets and sets the HTTP context for the web page.
- The HTTP context for the web page.
-
-
- Gets array-like access to page data that is shared between pages, layout pages, and partial pages.
- An object that provides array-like access to page data.
-
-
- Gets the object for the current HTTP request.
- An object that contains the HTTP values that were sent by a client during a web request.
-
-
- Gets the object for the current HTTP response.
- An object that contains the HTTP-response information from an ASP.NET operation.
-
-
- Gets the object that provides methods that can be used as part of web-page processing.
- The object.
-
-
- Gets the object for the current HTTP request.
- The object for the current HTTP request.
-
-
- Gets data related to the URL path.
- Data related to the URL path.
-
-
- Gets a user value based on the HTTP context.
- A user value based on the HTTP context.
-
-
- Gets the virtual path of the page.
- The virtual path.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Writes an attribute associated with the helper.
- The text writer.
- The name of the attribute.
- The prefix.
- The suffix.
- The attribute value.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Writes a literal object to the helper.
- The text writer.
- The value of the object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Writes a helper result object to the helper.
- The text writer
- The helper result.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Writes an object to the helper.
- The text writer.
- The object value.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Writes a helper result object to the helper.
- The text writer.
- The helper result value.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code..
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the display mode interface for the web pages.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a value whether the web pages can handle HTTP context.
- true if the web pages can handle HTTP context; otherwise, false.
- The HTTP context.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the display mode id for the web pages.
- The display mode id for the web pages.
-
-
- Returns this method to display all the information for the web pages.
- The method to display all the information for the web pages.
- The HTTP context.
- The virtual path.
- true if the virtual path exists; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the properties and methods that objects that participate in webpages.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a container for client validation for the required field.
- A container for client validation for the required field.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Evaluates the condition it checks and updates the validation context.
- The condition it checks and updates the validation context.
- The validation context.
-
-
- Defines methods that are implemented by virtual path handler factories.
-
-
- Creates a handler factory for the specified virtual path.
- A handler factory for the specified virtual path.
- The virtual path.
-
-
- Determines whether the specified virtual path is associated with a handler factory.
- true if a handler factory exists for the specified virtual path; otherwise, false.
- The virtual path.
-
-
- Defines methods to implement an executor class that can execute the code on a web page.
-
-
- Executes the code on the specified web page.
- true if the executor took over execution of the web page; otherwise, false.
- The web page.
-
-
- Represents a path attribute for a web page class.
-
-
- Initializes a new instance of the class by using the specified virtual path.
- The virtual path.
-
-
- Gets the virtual path of the current web page.
- The virtual path.
-
-
- Provides a registration point for pre-application start code for web pages.
-
-
- Registers pre-application start code for web pages.
-
-
- Defines extension methods for the class.
-
-
- Determines whether the specified URL references the local computer.
- true if the specified URL references the local computer; otherwise, false.
- The HTTP request object.
- The URL to test.
-
-
- Serves as the abstract base class for the validation helper classes.
-
-
- Initializes a new instance of the derived class and specifies the name of the HTML element that is being validated.
- The name (value of the name attribute) of the user input element to validate.
-
-
- Initializes a new instance of the derived class, registers the specified string as the error message to display if no value is supplied, and specifies whether the method can use unvalidated data.
- The error message.
- true to use unvalidated user input; false to reject unvalidated data. This parameter is set to true by calling methods in circumstances when the actual value of the user input is not important, such as for required fields.
-
-
- When implemented in a derived class, gets a container for client validation for the required field.
- The container.
-
-
- Returns the HTTP context of the current request.
- The context.
- The validation context.
-
-
- Returns the value to validate.
- The value to validate.
- The current request.
- The name of the field from the current request to validate.
-
-
- Returns a value that indicates whether the specified value is valid.
- true if the value is valid; otherwise, false.
- The current context.
- The value to validate.
-
-
- Performs the validation test.
- The result of the validation test.
- The context.
-
-
- Defines extension methods for the base class.
-
-
- Configures the cache policy of an HTTP response instance.
- The HTTP response instance.
- The length of time, in seconds, before items expire from the cache.
- true to indicate that items expire from the cache on a sliding basis; false to indicate that items expire when they reach the predefined expiration time.
- The list of all parameters that can be received by a GET or POST operation that affect caching.
- The list of all HTTP headers that affect caching.
- The list of all Content-Encoding headers that affect caching.
- One of the enumeration values that specifies how items are cached.
-
-
- Sets the HTTP status code of an HTTP response using the specified integer value.
- The HTTP response instance.
- The HTTP status code.
-
-
- Sets the HTTP status code of an HTTP response using the specified HTTP status code enumeration value.
- The HTTP response instance.
- The HTTP status code
-
-
- Writes a sequence of bytes that represent binary content of an unspecified type to the output stream of an HTTP response.
- The HTTP response instance.
- An array that contains the bytes to write.
-
-
- Writes a sequence of bytes that represent binary content of the specified MIME type to the output stream of an HTTP response.
- The receiving HTTP response instance.
- An array that contains the bytes to write.
- The MIME type of the binary content.
-
-
- Provides a delegate that represents one or more methods that are called when a content section is written.
-
-
- Provides methods and properties that are used to render start pages that use the Razor view engine.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets the child page of the current start page.
- The child page of the current start page.
-
-
- Gets or sets the context of the page.
- The context of the page.
-
-
- Calls the methods that are used to execute the developer-written code in the _PageStart start page and in the page.
-
-
- Returns the text writer instance that is used to render the page.
- The text writer.
-
-
- Returns the initialization page for the specified page.
- The _AppStart page if the _AppStart page exists. If the _AppStart page cannot be found, returns the _PageStart page if a _PageStart page exists. If the _AppStart and _PageStart pages cannot be found, returns .
- The page.
- The file name of the page.
- The collection of file-name extensions that can contain ASP.NET Razor syntax, such as "cshtml" and "vbhtml".
- Either or are null.
-
- is null or empty.
-
-
- Gets or sets the path of the layout page for the page.
- The path of the layout page for the page.
-
-
- Gets property-like access to page data that is shared between pages, layout pages, and partial pages.
- An object that contains page data.
-
-
- Gets array-like access to page data that is shared between pages, layout pages, and partial pages.
- An object that provides array-like access to page data.
-
-
- Renders the page.
- The HTML markup that represents the web page.
- The path of the page to render.
- Additional data that is used to render the page.
-
-
- Executes the developer-written code in the page.
-
-
- Writes the string representation of the specified object as an HTML-encoded string.
- The object to encode and write.
-
-
- Writes the string representation of the specified object as an HTML-encoded string.
- The helper result to encode and write.
-
-
- Writes the string representation of the specified object without HTML encoding.
- The object to write.
-
-
- Provides utility methods for converting string values to other data types.
-
-
- Converts a string to a strongly typed value of the specified data type.
- The converted value.
- The value to convert.
- The data type to convert to.
-
-
- Converts a string to the specified data type and specifies a default value.
- The converted value.
- The value to convert.
- The value to return if is null.
- The data type to convert to.
-
-
- Converts a string to a Boolean (true/false) value.
- The converted value.
- The value to convert.
-
-
- Converts a string to a Boolean (true/false) value and specifies a default value.
- The converted value.
- The value to convert.
- The value to return if is null or is an invalid value.
-
-
- Converts a string to a value.
- The converted value.
- The value to convert.
-
-
- Converts a string to a value and specifies a default value.
- The converted value.
- The value to convert.
- The value to return if is null or is an invalid value. The default is the minimum time value on the system.
-
-
- Converts a string to a number.
- The converted value.
- The value to convert.
-
-
- Converts a string to a number and specifies a default value.
- The converted value.
- The value to convert.
- The value to return if is null or invalid.
-
-
- Converts a string to a number.
- The converted value.
- The value to convert.
-
-
- Converts a string to a number and specifies a default value.
- The converted value.
- The value to convert.
- The value to return if is null.
-
-
- Converts a string to an integer.
- The converted value.
- The value to convert.
-
-
- Converts a string to an integer and specifies a default value.
- The converted value.
- The value to convert.
- The value to return if is null or is an invalid value.
-
-
- Checks whether a string can be converted to the specified data type.
- true if can be converted to the specified type; otherwise, false.
- The value to test.
- The data type to convert to.
-
-
- Checks whether a string can be converted to the Boolean (true/false) type.
- true if can be converted to the specified type; otherwise, false.
- The string value to test.
-
-
- Checks whether a string can be converted to the type.
- true if can be converted to the specified type; otherwise, false.
- The string value to test.
-
-
- Checks whether a string can be converted to the type.
- true if can be converted to the specified type; otherwise, false.
- The string value to test.
-
-
- Checks whether a string value is null or empty.
- true if is null or is a zero-length string (""); otherwise, false.
- The string value to test.
-
-
- Checks whether a string can be converted to the type.
- true if can be converted to the specified type; otherwise, false.
- The string value to test.
-
-
- Checks whether a string can be converted to an integer.
- true if can be converted to the specified type; otherwise, false.
- The string value to test.
-
-
- Contains methods and properties that describe a file information template.
-
-
- Initializes a new instance of the class by using the specified virtual path.
- The virtual path.
-
-
- Gets the virtual path of the web page.
- The virtual path.
-
-
- Represents a last-in-first-out (LIFO) collection of template files.
-
-
- Returns the current template file from the specified HTTP context.
- The template file, removed from the top of the stack.
- The HTTP context that contains the stack that stores the template files.
-
-
- Removes and returns the template file that is at the top of the stack in the specified HTTP context.
- The template file, removed from the top of the stack.
- The HTTP context that contains the stack that stores the template files.
-
- is null.
-
-
- Inserts a template file at the top of the stack in the specified HTTP context.
- The HTTP context that contains the stack that stores the template files.
- The template file to push onto the specified stack.
-
- or are null.
-
-
- Implements validation for user input.
-
-
- Registers a list of user input elements for validation.
- The names (value of the name attribute) of the user input elements to validate.
- The type of validation to register for each user input element specified in .
-
-
- Registers a user input element for validation.
- The name (value of the name attribute) of the user input element to validate.
- A list of one or more types of validation to register.
-
-
- Adds an error message.
- The error message.
-
-
- Renders an attribute that references the CSS style definition to use when validation messages for the user input element are rendered.
- The attribute.
- The name (value of the name attribute) of the user input element to validate.
-
-
- Renders attributes that enable client-side validation for an individual user input element.
- The attributes to render.
- The name (value of the name attribute) of the user input element to validate.
-
-
- Gets the name of the current form. This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- The name.
-
-
- Returns a list of current validation errors, and optionally lets you specify a list of fields to check.
- The list of errors.
- Optional. The names (value of the name attribute) of the user input elements to get error information for. You can specify any number of element names, separated by commas. If you do not specify a list of fields, the method returns errors for all fields.
-
-
- Gets the name of the class that is used to specify the appearance of error-message display when errors have occurred. This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- The name.
-
-
- Determines whether the contents of the user input fields pass validation checks, and optionally lets you specify a list of fields to check.
- true if all specified field or fields pass validation checks; false if any field contains a validation error.
- Optional. The names (value of the name attribute) of the user input elements to check for validation errors. You can specify any number of element names, separated by commas. If you do not specify a list of fields, the method checks all elements that are registered for validation.
-
-
- Registers the specified field as one that requires user entry.
- The name (value of the name attribute) of the user input element to validate.
-
-
- Registers the specified field as one that requires user entry and registers the specified string as the error message to display if no value is supplied.
- The name (value of the name attribute) of the user input element to validate.
- The error message.
-
-
- Registers the specified fields as ones that require user entry.
- The names (value of the name attribute) of the user input elements to validate. You can specify any number of element names, separated by commas.
-
-
- Performs validation on elements registered for validation, and optionally lets you specify a list of fields to check.
- The list of errors for the specified fields, if any validation errors occurred.
- Optional. The names (value of the name attribute) of the user input elements to validate. You can specify any number of element names, separated by commas. If you do not specify a list, the method validates all registered elements.
-
-
- Gets the name of the class that is used to specify the appearance of error-message display when errors have occurred. This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
- The name.
-
-
- Defines validation tests that can be registered using the method.
-
-
- Initializes a new instance of the class.
-
-
- Defines a validation test that tests whether a value can be treated as a date/time value.
- The validation test.
- The error message to display if validation fails.
-
-
- Defines a validation test that tests whether a value can be treated as a decimal number.
- The validation test.
- The error message to display if validation fails.
-
-
- Defines a validation test that test user input against the value of another field.
- The validation test.
- The other field to compare.
- The error message to display if validation fails.
-
-
- Defines a validation test that tests whether a value can be treated as a floating-point number.
- The validation test.
- The error message to display if validation fails.
-
-
- Defines a validation test that tests whether a value can be treated as an integer.
- The validation test.
- The error message to display if validation fails.
-
-
- Defines a validation test that tests whether a decimal number falls within a specific range.
- The validation test.
- The minimum value. The default is 0.
- The maximum value.
- The error message to display if validation fails.
-
-
- Defines a validation test that tests whether an integer value falls within a specific range.
- The validation test.
- The minimum value. The default is 0.
- The maximum value.
- The error message to display if validation fails.
-
-
- Defines a validation test that tests a value against a pattern specified as a regular expression.
- The validation test.
- The regular expression to use to test the user input.
- The error message to display if validation fails.
-
-
- Defines a validation test that tests whether a value has been provided.
- The validation test.
- The error message to display if validation fails.
-
-
- Defines a validation test that tests the length of a string.
- The validation test.
- The maximum length of the string.
- The minimum length of the string. The default is 0.
- The error message to display if validation fails.
-
-
- Defines a validation test that tests whether a value is a well-formed URL.
- The validation test.
- The error message to display if validation fails.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
-
-
- Represents an ASP.NET Razor page.
-
-
- Called from a derived class to create a new instance that is based on the class.
-
-
- Gets or sets the object that is associated with a page.
- The current context data.
-
-
- Executes the code in a set of dependent pages.
-
-
- Gets the object that is associated with a page.
- An object that can render HTML form controls in a page.
-
-
- Initializes an object that inherits from the class.
-
-
- Gets the model that is associated with a page.
- An object that represents a model that is associated with the view data for a page.
-
-
- Gets the state of the model that is associated with a page.
- The state of the model.
-
-
- Adds a class to a list of classes that handle page execution and that implement custom features for pages.
- The class to add.
-
-
- Renders a content page.
- An object that can write the output of the page.
- The path of the page to render.
- Data to pass to the page.
-
-
- Gets the validation helper for the current page context.
- The validation helper.
-
-
- Serves as the base class for classes that represent an ASP.NET Razor page.
-
-
- Initializes the class for use by an inherited class instance. This constructor can only be called by an inherited class.
-
-
- When overridden in a derived class, configures the current web page based on the configuration of the parent web page.
- The parent page from which to read configuration information.
-
-
- Creates a new instance of the class by using the specified virtual path.
- The new object.
- The virtual path to use to create the instance.
-
-
- Attempts to create a WebPageBase instance from a virtualPath and wraps complex compiler exceptions with simpler messages
-
-
- Called by content pages to create named content sections.
- The name of the section to create.
- The type of action to take with the new section.
-
-
- Executes the code in a set of dependent web pages.
-
-
- Executes the code in a set of dependent web pages by using the specified parameters.
- The context data for the page.
- The writer to use to write the executed HTML.
-
-
- Executes the code in a set of dependent web pages by using the specified context, writer, and start page.
- The context data for the page.
- The writer to use to write the executed HTML.
- The page to start execution in the page hierarchy.
-
-
- Returns the text writer instance that is used to render the page.
- The text writer.
-
-
- Initializes the current page.
-
-
- Returns a value that indicates whether the specified section is defined in the page.
- true if the specified section is defined in the page; otherwise, false.
- The name of the section to search for.
-
-
- Gets or sets the path of a layout page.
- The path of the layout page.
-
-
- Gets the current object for the page.
- The object.
-
-
- Gets the stack of objects for the current page context.
- The objects.
-
-
- Provides property-like access to page data that is shared between pages, layout pages, and partial pages.
- An object that contains page data.
-
-
- Provides array-like access to page data that is shared between pages, layout pages, and partial pages.
- A dictionary that contains page data.
-
-
- Returns and removes the context from the top of the instance.
-
-
- Inserts the specified context at the top of the instance.
- The page context to push onto the instance.
- The writer for the page context.
-
-
- In layout pages, renders the portion of a content page that is not within a named section.
- The HTML content to render.
-
-
- Renders the content of one page within another page.
- The HTML content to render.
- The path of the page to render.
- (Optional) An array of data to pass to the page being rendered. In the rendered page, these parameters can be accessed by using the property.
-
-
- In layout pages, renders the content of a named section.
- The HTML content to render.
- The section to render.
- The section was already rendered.-or-The section was marked as required but was not found.
-
-
- In layout pages, renders the content of a named section and specifies whether the section is required.
- The HTML content to render.
- The section to render.
- true to specify that the section is required; otherwise, false.
-
-
- Writes the specified object as an HTML-encoded string.
- The object to encode and write.
-
-
- Writes the specified object as an HTML-encoded string.
- The helper result to encode and write.
-
-
- Writes the specified object without HTML-encoding it first.
- The object to write.
-
-
- Contains data that is used by a object to reference details about the web application, the current HTTP request, the current execution context, and page-rendering data.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class by using the specified context, page, and model.
- The HTTP request context data to associate with the page context.
- The page data to share between pages, layout pages, and partial pages.
- The model to associate with the view data.
-
-
- Gets a reference to the current object that is associated with a page.
- The current page context object.
-
-
- Gets the model that is associated with a page.
- An object that represents a model that is associated with the view data for a page.
-
-
- Gets the object that is associated with a page.
- The object that renders the page.
-
-
- Gets the page data that is shared between pages, layout pages, and partial pages.
- A dictionary that contains page data.
-
-
- Provides objects and methods that are used to execute and render ASP.NET pages that include Razor syntax.
-
-
- Initializes a new instance of the class. This constructor can only be called by an inherited class.
-
-
-
-
-
-
-
-
- When overridden in a derived class, gets or sets the object that is associated with a page.
- The current context data.
-
-
-
-
-
-
-
- Returns the text writer instance that is used to render the page.
- The text writer.
-
-
-
-
-
-
-
- Writes the string representation of the specified object as an HTML-encoded string.
- The object to encode and write.
-
-
- Writes the specified object as an HTML-encoded string.
- The helper result to encode and write.
-
-
-
-
-
- Writes the specified object without HTML encoding.
- The object to write.
-
-
- Writes the specified object to the specified instance without HTML encoding.
- The text writer.
- The object to write.
-
-
- Writes the specified object as an HTML-encoded string to the specified text writer.
- The text writer.
- The object to encode and write.
-
-
- Writes the specified object as an HTML-encoded string to the specified text writer.
- The text writer.
- The helper result to encode and write.
-
-
- Provides methods and properties that are used to process specific URL extensions.
-
-
- Initializes a new instance of the class by using the specified web page.
- The web page to process.
-
- is null.
-
-
- Creates a new handler object from the specified virtual path.
- A object for the specified virtual path.
- The virtual path to use to create the handler.
-
-
- Gets or sets a value that indicates whether web page response headers are disabled.
- true if web page response headers are disabled; otherwise, false.
-
-
- Returns a list of file name extensions that the current instance can process.
- A read-only list of file name extensions that are processed by the current instance.
-
-
- Gets a value that indicates whether another request can use the instance.
- true if the instance is reusable; otherwise, false.
-
-
- Processes the web page by using the specified context.
- The context to use when processing the web page.
-
-
- Adds a file name extension to the list of extensions that are processed by the current instance.
- The extension to add, without a leading period.
-
-
- The HTML tag name (X-AspNetWebPages-Version) for the version of the ASP.NET Web Pages specification that is used by this web page.
-
-
- Provides methods and properties that are used to render pages that use the Razor view engine.
-
-
- Initializes a new instance of the class.
-
-
-
-
-
- When overridden in a derived class, calls the methods that are used to initialize the page.
-
-
-
-
- When overridden in a derived class, gets or sets the path of a layout page.
- The path of a layout page.
-
-
- When overridden in a derived class, provides property-like access to page data that is shared between pages, layout pages, and partial pages.
- An object that contains page data.
-
-
-
- When overridden in a derived class, provides array-like access to page data that is shared between pages, layout pages, and partial pages.
- An object that provides array-like access to page data.
-
-
-
- When overridden in a derived class, renders a web page.
- The markup that represents the web page.
- The path of the page to render.
- Additional data that is used to render the page.
-
-
-
-
-
-
-
-
-
-
- Provides support for rendering HTML form controls and performing form validation in a web page.
-
-
- Creates a dictionary of HTML attributes from the input object, translating underscores to dashes.
- A dictionary that represents HTML attributes.
- Anonymous object describing HTML attributes.
-
-
- Returns an HTML-encoded string that represents the specified object by using a minimal encoding that is suitable only for HTML attributes that are enclosed in quotation marks.
- An HTML-encoded string that represents the object.
- The object to encode.
-
-
- Returns an HTML-encoded string that represents the specified string by using a minimal encoding that is suitable only for HTML attributes that are enclosed in quotation marks.
- An HTML-encoded string that represents the original string.
- The string to encode.
-
-
- Returns an HTML check box control that has the specified name.
- The HTML markup that represents the check box control.
- The value to assign to the name attribute of the HTML control element.
-
- is null or empty.
-
-
- Returns an HTML check box control that has the specified name and default checked status.
- The HTML markup that represents the check box control.
- The value to assign to the name attribute of the HTML control element.
- true to indicate that the checked attribute is set to checked; otherwise, false.
-
- is null or empty.
-
-
- Returns an HTML check box control that has the specified name, default checked status, and custom attributes defined by an attribute dictionary.
- The HTML markup that represents the check box control.
- The value to assign to the name attribute of the HTML control element.
- true to indicate that the checked attribute is set to checked; otherwise, false.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML check box control that has the specified name, default checked status, and custom attributes defined by an attribute object.
- The HTML markup that represents the check box control.
- The value to assign to the name attribute of the HTML control element.
- true to indicate that the checked attribute is set to checked; otherwise, false.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML check box control that has the specified name and custom attributes defined by an attribute dictionary.
- The HTML markup that represents the check box control.
- The value to assign to the name attribute of the HTML control element.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML check box control that has the specified name and custom attributes defined by an attribute object.
- The HTML markup that represents the check box control.
- The value to assign to the name attribute of the HTML control element.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML drop-down list control that has the specified name and that contains the specified list items.
- The HTML markup that represents the drop-down list control.
- The value to assign to the name attribute of the HTML select element.
- A list of instances that are used to populate the list.
-
- is null or empty.
-
-
- Returns an HTML drop-down list control that has the specified name and custom attributes defined by an attribute dictionary, and that contains the specified list items.
- The HTML markup that represents the drop-down list control.
- The value to assign to the name attribute of the HTML select element.
- A list of instances that are used to populate the list.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML drop-down list control that has the specified name and custom attributes defined by an attribute object, and that contains the specified list items.
- The HTML markup that represents the drop-down list control.
- The value to assign to the name attribute of the HTML select element.
- A list of instances that are used to populate the list.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML drop-down list control that has the specified name, and that contains the specified list items and default item.
- The HTML markup that represents the drop-down list control.
- The value to assign to the name attribute of the HTML select element.
- The text to display for the default option in the list.
- A list of instances that are used to populate the list.
-
- is null or empty.
-
-
- Returns an HTML drop-down list control that has the specified name and custom attributes defined by an attribute dictionary, and that contains the specified list items and default item.
- The HTML markup that represents the drop-down list control.
- The value to assign to the name attribute of the HTML select element.
- The text to display for the default option in the list.
- A list of instances that are used to populate the list.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML drop-down list control that has the specified name and custom attributes defined by an attribute object, and that contains the specified list items and default item.
- The HTML markup that represents the drop-down list control.
- The value to assign to the name attribute of the HTML select element.
- The text to display for the default option in the list.
- A list of instances that are used to populate the list.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML drop-down list control that has the specified name, custom attributes defined by an attribute dictionary, and default selection, and that contains the specified list items and default item.
- The HTML markup that represents the drop-down list control.
- The value to assign to the name attribute of the HTML select element.
- The text to display for the default option in the list.
- A list of instances that are used to populate the list.
- The value that specifies the item in the list that is selected by default. The selected item is the first item in the list whose value matches the parameter (or whose text matches, if there is no value.)
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML drop-down list control that has the specified name, custom attributes defined by an attribute object, and default selection, and that contains the specified list items and default item.
- The HTML markup that represents the drop-down list control.
- The value to assign to the name attribute of the HTML select element.
- The text to display for the default option in the list.
- A list of instances that are used to populate the list.
- The value that specifies the item in the list that is selected by default. The item that is selected is the first item in the list that has a matching value, or that matches the items displayed text if the item has no value.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML-encoded string that represents the specified object by using a full encoding that is suitable for arbitrary HTML.
- An HTML-encoded string that represents the object.
- The object to encode.
-
-
- Returns an HTML-encoded string that represents the specified string by using a full encoding that is suitable for arbitrary HTML.
- An HTML-encoded string that represents the original string.
- The string to encode.
-
-
- Returns an HTML hidden control that has the specified name.
- The HTML markup that represents the hidden control.
- The value to assign to the name attribute of the HTML control element.
-
- is null or empty.
-
-
- Returns an HTML hidden control that has the specified name and value.
- The HTML markup that represents the hidden control.
- The value to assign to the name attribute of the HTML control element.
- The value to assign to the value attribute of the element.
-
- is null or empty.
-
-
- Returns an HTML hidden control that has the specified name, value, and custom attributes defined by an attribute dictionary.
- The HTML markup that represents the hidden control.
- The value to assign to the name attribute of the HTML control element.
- The value to assign to the value attribute of the element.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML hidden control that has the specified name, value, and custom attributes defined by an attribute object.
- The HTML markup that represents the hidden control.
- The value to assign to the name attribute of the HTML control element.
- The value to assign to the value attribute of the element.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Gets or sets the character that is used to replace the dot (.) in the id attribute of rendered form controls.
- The character that is used to replace the dot in the id attribute of rendered form controls. The default is an underscore (_).
-
-
- Returns an HTML label that displays the specified text.
- The HTML markup that represents the label.
- The text to display.
-
- is null or empty.
-
-
- Returns an HTML label that displays the specified text and that has the specified custom attributes.
- The HTML markup that represents the label.
- The text to display.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML label that displays the specified text and that has the specified for attribute.
- The HTML markup that represents the label.
- The text to display.
- The value to assign to the for attribute of the HTML control element.
-
- is null or empty.
-
-
- Returns an HTML label that displays the specified text, and that has the specified for attribute and custom attributes defined by an attribute dictionary.
- The HTML markup that represents the label.
- The text to display.
- The value to assign to the for attribute of the HTML control element.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML label that displays the specified text, and that has the specified for attribute and custom attributes defined by an attribute object.
- The HTML markup that represents the label.
- The text to display.
- The value to assign to the for attribute of the HTML control element.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML list box control that has the specified name and that contains the specified list items.
- The HTML markup that represents the list box control.
- The value to assign to the name attribute of the HTML select element.
- A list of instances that are used to populate the list.
-
- is null or empty.
-
-
- Returns an HTML list box control that has the specified name and custom attributes defined by an attribute dictionary, and that contains the specified list items.
- The HTML markup that represents the list box control.
- The value to assign to the name attribute of the HTML select element.
- A list of instances that are used to populate the list.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML list box control that has the specified name and custom attributes defined by an attribute object, and that contains the specified list items.
- The HTML markup that represents the list box control.
- The value to assign to the name attribute of the HTML select element.
- A list of instances that are used to populate the list.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML list box control that has the specified name, size, list items, and default selections, and that specifies whether multiple selections are enabled.
- The HTML markup that represents the list box control.
- The value to assign to the name attribute of the HTML select element.
- A list of instances that are used to populate the list.
- An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object.
- The value to assign to the size attribute of the element.
- true to indicate that the multiple selections are enabled; otherwise, false.
-
- is null or empty.
-
-
- Returns an HTML list box control that has the specified name, and that contains the specified list items and default item.
- The HTML markup that represents the list box control.
- The value to assign to the name attribute of the HTML select element.
- The text to display for the default option in the list.
- A list of instances that are used to populate the list box.
-
- is null or empty.
-
-
- Returns an HTML list box control that has the specified name and custom attributes defined by an attribute dictionary, and that contains the specified list items and default item.
- The HTML markup that represents the list box control.
- The value to assign to the name attribute of the HTML select element.
- The text to display for the default option in the list.
- A list of instances that are used to populate the list.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML list box control that has the specified name and custom attributes defined by an attribute object, and that contains the specified list items and default item.
- The HTML markup that represents the list box control.
- The value to assign to the name attribute of the HTML select element.
- The text to display for the default option in the list.
- A list of instances that are used to populate the list box.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML list box control that has the specified name and custom attributes defined by an attribute dictionary, and that contains the specified list items, default item, and selections.
- The HTML markup that represents the list box control.
- The value to assign to the name attribute of the HTML select element.
- The text to display for the default option in the list.
- A list of instances that are used to populate the list.
- An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML list box control that has the specified name, size, items, default item, and selections, and that specifies whether multiple selections are enabled.
- The HTML markup that represents the list box control.
- The value to assign to the name attribute of the HTML select element.
- The text to display for the default option in the list.
- A list of instances that are used to populate the list.
- An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object.
- The value to assign to the size attribute of the element.
- true to indicate that multiple selections are enabled; otherwise, false.
-
- is null or empty.
-
-
- Returns an HTML list box control that has the specified name, size, custom attributes defined by an attribute dictionary, items, default item, and selections, and that specifies whether multiple selections are enabled.
- The HTML markup that represents the list box control.
- The value to assign to the name attribute of the HTML select element.
- The text to display for the default option in the list.
- A list of instances that are used to populate the list.
- An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object.
- The value to assign to the size attribute of the element.
- true to indicate that multiple selections are enabled; otherwise, false.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML list box control that has the specified name, size, custom attributes defined by an attribute object, items, default item, and selections, and that specifies whether multiple selections are enabled.
- The HTML markup that represents the list box control.
- The value to assign to the name attribute of the HTML select element.
- The text to display for the default option in the list.
- A list of instances that are used to populate the list.
- An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object.
- The value to assign to the size attribute of the element.
- true to indicate that multiple selections are enabled; otherwise, false.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML list box control that has the specified name, items, default item, and custom attributes defined by an attribute object, and selections.
- The HTML markup that represents the list box control.
- The value to assign to the name attribute of the HTML select element.
- The text to display for the default option in the list.
- A list of instances that are used to populate the list.
- An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Creates a dictionary from an object, by adding each public instance property as a key with its associated value to the dictionary. It will expose public properties from derived types as well. This is typically used with objects of an anonymous type.
- The created dictionary of property names and property values.
- The object to be converted.
-
-
- Returns an HTML password control that has the specified name.
- The HTML markup that represents the password control.
- The value to assign to the name attribute of the HTML control element.
-
- is null or empty.
-
-
- Returns an HTML password control that has the specified name and value.
- The HTML markup that represents the password control.
- The value to assign to the name attribute of the HTML control element.
- The value to assign to the value attribute of the element.
-
- is null or empty.
-
-
- Returns an HTML password control that has the specified name, value, and custom attributes defined by an attribute dictionary.
- The HTML markup that represents the password control.
- The value to assign to the name attribute of the HTML control element.
- The value to assign to the value attribute of the element.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML password control that has the specified name, value, and custom attributes defined by an attribute object.
- The HTML markup that represents the password control.
- The value to assign to the name attribute of the HTML control element.
- The value to assign to the value attribute of the element.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML radio button control that has the specified name and value.
- The HTML markup that represents the radio button control.
- The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to.
- The value to assign to the value attribute of the element.
-
- is null or empty.
-
-
- Returns an HTML radio button control that has the specified name, value, and default selected status.
- The HTML markup that represents the radio button control.
- The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to.
- The value to assign to the value attribute of the element.
- true to indicate that the control is selected; otherwise, false.
-
- is null or empty.
-
-
- Returns an HTML radio button control that has the specified name, value, default selected status, and custom attributes defined by an attribute dictionary.
- The HTML markup that represents the radio button control.
- The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to.
- The value to assign to the value attribute of the element.
- true to indicate that the control is selected; otherwise, false.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML radio button control that has the specified name, value, default selected status, and custom attributes defined by an attribute object.
- The HTML markup that represents the radio button control.
- The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to.
- The value to assign to the value attribute of the element.
- true to indicate that the control is selected; otherwise, false.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML radio button control that has the specified name, value, and custom attributes defined by an attribute dictionary.
- The HTML markup that represents the radio button control.
- The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to.
- The value to assign to the value attribute of the element.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML radio button control that has the specified name, value, and custom attributes defined by an attribute object.
- The HTML markup that represents the radio button control.
- The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to.
- The value to assign to the value attribute of the element.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Wraps HTML markup in an instance so that it is interpreted as HTML markup.
- The unencoded HTML.
- The object to render HTML for.
-
-
- Wraps HTML markup in an instance so that it is interpreted as HTML markup.
- The unencoded HTML.
- The string to interpret as HTML markup instead of being HTML-encoded.
-
-
- Returns an HTML multi-line text input (text area) control that has the specified name.
- The HTML markup that represents the text area control.
- The value to assign to the name attribute of the HTML textarea element.
-
- is null or empty.
-
-
- Returns an HTML multi-line text input (text area) control that has the specified name and custom attributes defined by an attribute dictionary.
- The HTML markup that represents the text area control.
- The value to assign to the name attribute of the HTML textarea element.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML multi-line text input (text area) control that has the specified name and custom attributes defined by an attribute object.
- The HTML markup that represents the text area control.
- The value to assign to the name attribute of the HTML textarea element.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML multi-line text input (text area) control that has the specified name and value.
- The HTML markup that represents the text area control.
- The value to assign to the name attribute of the HTML textrarea element.
- The text to display.
-
- is null or empty.
-
-
- Returns an HTML multi-line text input (text area) control that has the specified name, value, and custom attributes defined by an attribute dictionary.
- The HTML markup that represents the text area control.
- The value to assign to the name attribute of the HTML textarea element.
- The text to display.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML multi-line text input (text area) control that has the specified name, value, row attribute, col attribute, and custom attributes defined by an attribute dictionary.
- The HTML markup that represents the text area control.
- The value to assign to the name attribute of the HTML textarea element.
- The text to display.
- The value to assign to the rows attribute of the element.
- The value to assign to the cols attribute of the element.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML multi-line text input (text area) control that has the specified name, value, row attribute, col attribute, and custom attributes defined by an attribute object.
- The HTML markup that represents the text area control.
- The value to assign to the name attribute of the HTML textarea element.
- The text to display.
- The value to assign to the rows attribute of the element.
- The value to assign to the cols attribute of the element.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML multi-line text input (text area) control that has the specified name, value, and custom attributes defined by an attribute object.
- The HTML markup that represents the text area control.
- The value to assign to the name attribute of the HTML textarea element.
- The text to display.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML text control that has the specified name.
- The HTML markup that represents the text control.
- The value to assign to the name attribute of the HTML control element.
-
- is null or empty.
-
-
- Returns an HTML text control that has the specified name and value.
- The HTML markup that represents the text control.
- The value to assign to the name attribute of the HTML control element.
- The value to assign to the value attribute of the element.
-
- is null or empty.
-
-
- Returns an HTML text control that has the specified name, value, and custom attributes defined by an attribute dictionary.
- The HTML markup that represents the text control.
- The value to assign to the name attribute of the HTML control element.
- The value to assign to the value attribute of the element.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML text control that has the specified name, value, and custom attributes defined by an attribute object.
- The HTML markup that represents the text control.
- The value to assign to the name attribute of the HTML control element.
- The value to assign to the value attribute of the element.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Gets or sets a value that indicates whether the page uses unobtrusive JavaScript for Ajax functionality.
- true if the page uses unobtrusive JavaScript; otherwise, false.
-
-
- Gets or sets the name of the CSS class that defines the appearance of input elements when validation fails.
- The name of the CSS class. The default is field-validation-error.
-
-
- Gets or sets the name of the CSS class that defines the appearance of input elements when validation passes.
- The name of the CSS class. The default is input-validation-valid.
-
-
- Returns an HTML span element that contains the first validation error message for the specified form field.
- If the value in the specified field is valid, null; otherwise, the HTML markup that represents the validation error message that is associated with the specified field.
- The name of the form field that was validated.
-
- is null or empty.
-
-
- Returns an HTML span element that has the specified custom attributes defined by an attribute dictionary, and that contains the first validation error message for the specified form field.
- If the value in the specified field is valid, null; otherwise, the HTML markup that represents the validation error message that is associated with the specified field.
- The name of the form field that was validated.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML span element that has the specified custom attributes defined by an attribute object, and that contains the first validation error message for the specified form field.
- If the value in the specified field is valid, null; otherwise, the HTML markup that represents the validation error message that is associated with the specified field.
- The name of the form field that was validated.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Returns an HTML span element that contains a validation error message for the specified form field.
- If the value in the specified field is valid, null; otherwise, the HTML markup that represents the validation error message that is associated with the specified field.
- The name of the form field that was validated.
- The validation error message to display. If null, the first validation error message that is associated with the specified form field is displayed.
-
- is null or empty.
-
-
- Returns an HTML span element that has the specified custom attributes defined by an attribute dictionary, and that contains a validation error message for the specified form field.
- If the specified field is valid, null; otherwise, the HTML markup that represents a validation error message that is associated with the specified field.
- The name of the form field that was validated.
- The validation error message to display. If null, the first validation error message that is associated with the specified form field is displayed.
- The names and values of custom attributes for the element.
-
- is null or empty.
-
-
- Returns an HTML span element that has the specified custom attributes defined by an attribute object, and that contains a validation error message for the specified form field.
- If the specified field is valid, null; otherwise, the HTML markup that represents a validation error message that is associated with the specified field.
- The name of the form field that was validated.
- The validation error message to display. If null, the first validation error message that is associated with the specified form field is displayed.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
- is null or empty.
-
-
- Gets or sets the name of the CSS class that defines the appearance of validation error messages when validation fails.
- The name of the CSS class. The default is field-validation-error.
-
-
- Gets or sets the name of the CSS class that defines the appearance of validation error messages when validation passes.
- The name of the CSS class. The default is field-validation-valid.
-
-
- Returns an HTML div element that contains an unordered list of all validation error messages from the model-state dictionary.
- The HTML markup that represents the validation error messages.
-
-
- Returns an HTML div element that contains an unordered list of validation error message from the model-state dictionary, optionally excluding field-level errors.
- The HTML markup that represents the validation error messages.
- true to exclude field-level validation error messages from the list; false to include both model-level and field-level validation error messages.
-
-
- Returns an HTML div element that has the specified custom attributes defined by an attribute dictionary, and that contains an unordered list of all validation error messages that are in the model-state dictionary.
- The HTML markup that represents the validation error messages.
- The names and values of custom attributes for the element.
-
-
- Returns an HTML div element that has the specified custom attributes defined by an attribute object, and that contains an unordered list of all validation error messages that are in the model-state dictionary.
- The HTML markup that represents the validation error messages.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
-
- Returns an HTML div element that contains a summary message and an unordered list of all validation error messages that are in the model-state dictionary.
- The HTML markup that represents the validation error messages.
- The message that comes before the list of validation error messages.
-
-
- Returns an HTML div element that has the specified custom attributes defined by an attribute dictionary, and that contains a summary message and an unordered list of validation error message from the model-state dictionary, optionally excluding field-level errors.
- The HTML markup that represents the validation error messages.
- The summary message that comes before the list of validation error messages.
- true to exclude field-level validation error messages from the results; false to include both model-level and field-level validation error messages.
- The names and values of custom attributes for the element.
-
-
- Returns an HTML div element that has the specified custom attributes defined by an attribute object, and that contains a summary message and an unordered list of validation error message from the model-state dictionary, optionally excluding field-level errors.
- The HTML markup that represents the validation error messages.
- The summary message that comes before the list of validation error messages.
- true to exclude field-level validation error messages from the results; false to include and field-level validation error messages.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
-
- Returns an HTML div element that has the specified custom attributes defined by an attribute dictionary, and that contains a summary message and an unordered list of all validation error message from the model-state dictionary.
- The HTML markup that represents the validation error messages.
- The message that comes before the list of validation error messages.
- The names and values of custom attributes for the element.
-
-
- Returns an HTML div element that has the specified custom attributes defined by an attribute object, and that contains a summary message and an unordered list of all validation error message from the model-state dictionary.
- The HTML markup that represents the validation error messages.
- The summary message that comes before the list of validation error messages.
- An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
-
-
- Gets or sets the name of the CSS class that defines the appearance of a validation summary when validation fails.
- The name of the CSS class. The default is validation-summary-errors.
-
-
- Gets or sets the name of the CSS class that defines the appearance of a validation summary when validation passes.
- The name of the CSS class. The default is validation-summary-valid.
-
-
- Encapsulates the state of model binding to a property of an action-method argument, or to the argument itself.
-
-
- Initializes a new instance of the class.
-
-
- Returns a list of strings that contains any errors that occurred during model binding.
- The errors that occurred during model binding.
-
-
- Returns an object that encapsulates the value that was bound during model binding.
- The value that was bound.
-
-
- Represents the result of binding a posted form to an action method, which includes information such as validation status and validation error messages.
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class by using values that are copied from the specified model-state dictionary.
- The model-state dictionary that values are copied from.
-
-
- Adds the specified item to the model-state dictionary.
- The item to add to the model-state dictionary.
-
-
- Adds an item that has the specified key and value to the model-state dictionary.
- The key.
- The value.
-
-
- Adds an error message to the model state that is associated with the specified key.
- The key that is associated with the model state that the error message is added to.
- The error message.
-
-
- Adds an error message to the model state that is associated with the entire form.
- The error message.
-
-
- Removes all items from the model-state dictionary.
-
-
- Determines whether the model-state dictionary contains the specified item.
- true if the model-state dictionary contains the specified item; otherwise, false.
- The item to look for.
-
-
- Determines whether the model-state dictionary contains the specified key.
- true if the model-state dictionary contains the specified key; otherwise, false.
- The key to look for.
-
-
- Copies the elements of the model-state dictionary to an array, starting at the specified index.
- The one-dimensional instance where the elements will be copied to.
- The index in at which copying begins.
-
-
- Gets the number of model states that the model-state dictionary contains.
- The number of model states in the model-state dictionary.
-
-
- Returns an enumerator that can be used to iterate through the collection.
- An enumerator that can be used to iterate through the collection.
-
-
- Gets a value that indicates whether the model-state dictionary is read-only.
- true if the model-state dictionary is read-only; otherwise, false.
-
-
- Gets a value that indicates whether any error messages are associated with any model state in the model-state dictionary.
- true if any error messages are associated with any model state in the dictionary; otherwise, false.
-
-
- Determines whether any error messages are associated with the specified key.
- true if no error messages are associated with the specified key, or the specified key does not exist; otherwise, false.
- The key.
-
- is null.
-
-
- Gets or sets the model state that is associated with the specified key in the model-state dictionary.
- The model state that is associated with the specified key in the dictionary.
-
-
- Gets a list that contains the keys in the model-state dictionary.
- The list of keys in the dictionary.
-
-
- Copies the values from the specified model-state dictionary into this instance, overwriting existing values when the keys are the same.
- The model-state dictionary that values are copied from.
-
-
- Removes the first occurrence of the specified item from the model-state dictionary.
- true if the item was successfully removed from the model-state dictionary; false if the item was not removed or if the item does not exist in the model-state dictionary.
- The item to remove.
-
-
- Removes the item that has the specified key from the model-state dictionary.
- true if the item was successfully removed from the model-state dictionary; false if the item was not removed or does not exist in the model-state dictionary.
- The key of the element to remove.
-
-
- Sets the value of the model state that is associated with the specified key.
- The key to set the value of.
- The value to set the key to.
-
-
- Returns an enumerator that can be used to iterate through the model-state dictionary.
- An enumerator that can be used to iterate through the model-state dictionary.
-
-
- Gets the model-state value that is associated with the specified key.
- true if the model-state dictionary contains an element that has the specified key; otherwise, false.
- The key to get the value of.
- When this method returns, if the key is found, contains the model-state value that is associated with the specified key; otherwise, contains the default value for the type. This parameter is passed uninitialized.
-
-
- Gets a list that contains the values in the model-state dictionary.
- The list of values in the dictionary.
-
-
- Represents an item in an HTML select list.
-
-
- Initializes a new instance of the class using the default settings.
-
-
- Initializes a new instance of the class by copying the specified select list item.
- The select list item to copy.
-
-
- Gets or sets a value that indicates whether the instance is selected.
- true if the select list item is selected; otherwise, false.
-
-
- Gets or sets the text that is used to display the instance on a web page.
- The text that is used to display the select list item.
-
-
- Gets or sets the value of the HTML value attribute of the HTML option element that is associated with the instance.
- The value of the HTML value attribute that is associated with the select list item.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a web pages instrumentation service.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Called before it renders the output for the specified context.
- The context.
- The virtual path.
- The writer.
- The start position.
- The length of the context.
- Determines whether the context is literal.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Called after it renders the output for the specified context.
- The context.
- The virtual path.
- The writer.
- The start position.
- The length of the context.
- Determines whether the context is literal.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value indicating whether the service is available.
- true if the service is available; otherwise, false.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a position tagged.
- The type of the position..
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
- The value of this current instance.
- The offset.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
- true if the specified object is equal to the current object; otherwise, false.
- The object to compare to.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the hash code of the current instance.
- The hash code of the current instance.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two objects are equal.
- true if the two objects are equal; otherwise, false.
- The first object.
- The second object.
-
-
- Converts the specified object to a object.
- The that represents the converted .
- The object to convert.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Converts the to a object.
- The that represents the converted .
- The object to convert.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two objects are not equal.
- true if the two objects are not equal; otherwise, false.
- The first object.
- The second object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the position associated with the .
- The position associated with the .
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of the object.
- A string that represents the object.
-
-
- This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the value of the current instance.
- The value of the current instance.
-
-
- Defines an ASP.NET request scope storage provider.
-
-
- Initializes a new instance of the class.
-
-
- Gets the dictionary to store data in the application scope.
- The dictionary that stores application scope data.
-
-
- Gets or sets the dictionary to store data in the current scope.
- The dictionary that stores current scope data.
-
-
- Gets the dictionary to store data in the global scope.
- The dictionary that stores global scope data.
-
-
- Gets the dictionary to store data in the request scope.
- The dictionary that stores request scope data.
-
-
- Defines a dictionary that provides scoped access to data.
-
-
- Gets and sets the dictionary that is used to store data in the current scope.
- The dictionary that stores current scope data.
-
-
- Gets the dictionary that is used to store data in the global scope.
- The dictionary that stores global scope data.
-
-
- Defines a class that is used to contain storage for a transient scope.
-
-
- Returns a dictionary that is used to store data in a transient scope, based on the scope in the property.
- The dictionary that stores transient scope data.
-
-
- Returns a dictionary that is used to store data in a transient scope.
- The dictionary that stores transient scope data.
- The context.
-
-
- Gets or sets the current scope provider.
- The current scope provider.
-
-
- Gets the dictionary that is used to store data in the current scope.
- The dictionary that stores current scope data.
-
-
- Gets the dictionary that is used to store data in the global scope.
- The dictionary that stores global scope data.
-
-
- Represents a collection of keys and values that are used to store data at different scope levels (local, global, and so on).
-
-
- Initializes a new instance of the class.
-
-
- Initializes a new instance of the class using the specified base scope.
- The base scope.
-
-
- Adds a key/value pair to the object using the specified generic collection.
- The key/value pair.
-
-
- Adds the specified key and specified value to the object.
- The key.
- The value.
-
-
- Gets the dictionary that stores the object data.
-
-
- Gets the base scope for the object.
- The base scope for the object.
-
-
- Removes all keys and values from the concatenated and objects.
-
-
- Returns a value that indicates whether the specified key/value pair exists in either the object or in the object.
- true if the object or the object contains an element that has the specified key/value pair; otherwise, false.
- The key/value pair.
-
-
- Returns a value that indicates whether the specified key exists in the object or in the object.
- true if the object or the object contains an element that has the specified key; otherwise, false.
- The key.
-
-
- Copies all of the elements in the object and the object to an object, starting at the specified index.
- The array.
- The zero-based index in .
-
-
- Gets the number of key/value pairs that are in the concatenated and objects.
- The number of key/value pairs.
-
-
- Returns an enumerator that can be used to iterate through concatenated and objects.
- An object.
-
-
- Returns an enumerator that can be used to iterate through the distinct elements of concatenated and objects.
- An enumerator that contains distinct elements from the concatenated dictionary objects.
-
-
- Gets a value that indicates whether the object is read-only.
- true if the object is read-only; otherwise, false.
-
-
- Gets or sets the element that is associated with the specified key.
- The element that has the specified key.
-
-
- Gets a object that contains the keys from the concatenated and objects.
- An object that contains that contains the keys.
-
-
- Removes the specified key/value pair from the concatenated and objects.
- true if the key/value pair is removed, or false if is not found in the concatenated and objects.
- The key/value pair.
-
-
- Removes the value that has the specified key from the concatenated and objects.
- true if the key/value pair is removed, or false if is not found in the concatenated and objects.
- The key.
-
-
- Sets a value using the specified key in the concatenated and objects.
- The key.
- The value.
-
-
- Returns an enumerator for the concatenated and objects.
- The enumerator.
-
-
- Gets the value that is associated with the specified key from the concatenated and objects.
- true if the concatenated and objects contain an element that has the specified key; otherwise, false.
- The key.
- When this method returns, if the key is found, contains the value that is associated with the specified key; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized.
-
-
- Gets a object that contains the values from the concatenated and objects.
- The object that contains the values.
-
-
- Provides scoped access to static data.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets a dictionary that stores current data under a static context.
- The dictionary that provides current scoped data.
-
-
- Gets a dictionary that stores global data under a static context.
- The dictionary that provides global scoped data.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/System.Web.Helpers.resources.dll b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/System.Web.Helpers.resources.dll
deleted file mode 100644
index 48c3ca0..0000000
Binary files a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/System.Web.Helpers.resources.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/System.Web.WebPages.Deployment.resources.dll b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/System.Web.WebPages.Deployment.resources.dll
deleted file mode 100644
index 5b1b038..0000000
Binary files a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/System.Web.WebPages.Deployment.resources.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/System.Web.WebPages.Razor.resources.dll b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/System.Web.WebPages.Razor.resources.dll
deleted file mode 100644
index 15d7d67..0000000
Binary files a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/System.Web.WebPages.Razor.resources.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/System.Web.WebPages.resources.dll b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/System.Web.WebPages.resources.dll
deleted file mode 100644
index b35a74b..0000000
Binary files a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/System.Web.WebPages.resources.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/system.web.helpers.xml b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/system.web.helpers.xml
deleted file mode 100644
index 6ffaf69..0000000
--- a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/system.web.helpers.xml
+++ /dev/null
@@ -1,839 +0,0 @@
-
-
-
- System.Web.Helpers
-
-
-
- Visualizza i dati sotto forma di grafico.
-
-
- Inizializza una nuova istanza della classe .
- Larghezza, in pixel, dell'immagine completa del grafico.
- Altezza, in pixel, dell'immagine completa del grafico.
- (Facoltativo) Modello (tema) da applicare al grafico.
- (Facoltativo) Percorso e nome file del modello (tema) da applicare al grafico.
-
-
- Aggiunge una legenda al grafico.
- Grafico.
- Testo del titolo della legenda.
- Nome univoco della legenda.
-
-
- Fornisce punti dati e attributi della serie per il grafico.
- Grafico.
- Nome univoco della serie.
- Tipo di grafico di una serie.
- Nome dell'area del grafico utilizzata per tracciare la serie di dati.
- Testo dell'etichetta dell'asse per la serie.
- Nome della serie associata alla legenda.
- Granularità dei marcatori dei punti dati.
- Valori da tracciare lungo l'asse x.
- Nome del campo per i valori x.
- Valori da tracciare lungo l'asse y.
- Elenco di nomi di campo delimitati da virgole per i valori y.
-
-
- Aggiunge un titolo al grafico.
- Grafico.
- Testo del titolo.
- Nome univoco del titolo.
-
-
- Associa un grafico a una tabella dati, creando un'unica serie per ogni valore univoco di una colonna.
- Grafico.
- Origine dati del grafico.
- Nome della colonna utilizzata per raggruppare i dati nella serie.
- Nome della colonna per i valori x.
- Elenco separato da virgole di nomi delle colonne per i valori y.
- Altre proprietà dei punti dati che è possibile associare.
- Ordine in base al quale verranno ordinate le serie.Il valore predefinito è "Ascending".
-
-
- Crea e associa i dati della serie alla tabella dati specificata, popolando facoltativamente più valori x.
- Grafico.
- Origine dati del grafico.Può essere qualsiasi oggetto .
- Nome della colonna di tabella utilizzata per i valori x della serie.
-
-
- Ottiene o imposta il nome del file che contiene l'immagine del grafico.
- Nome del file.
-
-
- Restituisce un'immagine del grafico come matrice di byte.
- Grafico.
- Formato dell'immagine.Il valore predefinito è "jpeg".
-
-
- Recupera il grafico specificato dalla cache.
- Grafico.
- ID dell'elemento della cache che contiene il grafico da recuperare.La chiave viene impostata quando si chiama il metodo .
-
-
- Ottiene o imposta l'altezza, in pixel, dell'immagine del grafico.
- Altezza del grafico.
-
-
- Salva un'immagine del grafico nel file specificato.
- Grafico.
- Nome e percorso del file di immagine.
- Formato del file di immagine, ad esempio "png" o "jpeg".
-
-
- Salva un grafico nella cache del sistema.
- ID dell'elemento della cache che contiene il grafico.
- ID del grafico nella cache.
- Numero di minuti in cui l'immagine del grafico deve essere mantenuta nella cache.Il valore predefinito è 20.
- true per indicare che la scadenza dell'elemento grafico nella cache viene reimpostata ogni volta che si accede all'elemento oppure false per indicare che la scadenza si basa su un intervallo assoluto, dal momento in cui l'elemento è stato aggiunto alla cache.Il valore predefinito è true.
-
-
- Salva un grafico come file XML.
- Grafico.
- Nome e percorso del file XML.
-
-
- Imposta i valori per l'asse orizzontale.
- Grafico.
- Titolo dell'asse x.
- Valore minimo dell'asse x.
- Valore massimo dell'asse x.
-
-
- Imposta i valori per l'asse verticale.
- Grafico.
- Titolo dell'asse y.
- Valore minimo dell'asse y.
- Valore massimo dell'asse y.
-
-
- Crea un oggetto in base all'oggetto corrente.
- Grafico.
- Formato di immagine da utilizzare per il salvataggio dell'oggetto .Il valore predefinito è "jpeg".Nel parametro non viene fatta distinzione tra maiuscole e minuscole.
-
-
- Ottiene o imposta la larghezza, in pixel, dell'immagine del grafico.
- Larghezza del grafico.
-
-
- Esegue il rendering dell'output dell'oggetto come immagine.
- Grafico.
- Formato dell'immagine.Il valore predefinito è "jpeg".
-
-
- Esegue il rendering dell'output di un oggetto memorizzato nella cache come immagine.
- Grafico.
- ID del grafico nella cache.
- Formato dell'immagine.Il valore predefinito è "jpeg".
-
-
- Specifica i temi visivi per un oggetto .
-
-
- Tema per grafici 2D che presenta un contenitore visivo con sfumatura blu, angoli arrotondati, ombreggiatura esterna e griglie a contrasto elevato.
-
-
- Tema per grafici 2D che presenta un contenitore visivo con sfumatura verde, angoli arrotondati, ombreggiatura esterna e griglie a basso contrasto.
-
-
- Tema per grafici 2D che non presenta né contenitore visivo né griglie.
-
-
- Tema per grafici 3D che presenta etichette limitate, griglie sparse a contrasto elevato e non presenta alcun contenitore visivo.
-
-
- Tema per grafici 2D che presenta un contenitore visivo con sfumatura gialla, angoli arrotondati, ombreggiatura esterna e griglie a contrasto elevato.
-
-
- Fornisce metodi per generare valori hash e crittografare password e altri dati sensibili.
-
-
- Genera una sequenza crittograficamente complessa di valori a byte casuali.
- Valore salt generato come stringa codificata in base 64.
- Numero di byte crittograficamente casuali da generare.
-
-
- Restituisce un valore hash per la matrice di byte specificata.
- Valore hash per sotto forma di stringa di caratteri esadecimali.
- Dati per i quali fornire un valore hash.
- Algoritmo utilizzato per generare il valore hash.Il valore predefinito è "sha256".
-
- è null.
-
-
- Restituisce un valore hash per la stringa specificata.
- Valore hash per sotto forma di stringa di caratteri esadecimali.
- Dati per i quali fornire un valore hash.
- Algoritmo utilizzato per generare il valore hash.Il valore predefinito è "sha256".
-
- è null.
-
-
- Restituisce un valore hash RFC 2898 per la password specificata.
- Valore hash per come stringa codificata in base 64.
- Password per cui generare un valore hash.
-
- è null.
-
-
- Restituisce un valore hash SHA-1 per la stringa specificata.
- Valore hash SHA-1 per sotto forma di stringa di caratteri esadecimali.
- Dati per i quali fornire un valore hash.
-
- è null.
-
-
- Restituisce un valore hash SHA-256 per la stringa specificata.
- Valore hash SHA-256 per sotto forma di stringa di caratteri esadecimali.
- Dati per i quali fornire un valore hash.
-
- è null.
-
-
- Determina se il valore hash RFC 2898 e la password sono una corrispondenza crittografica.
- true se il valore hash è una corrispondenza crittografica per la password. In caso contrario, false.
- Valore hash RFC 2898 calcolato in precedenza come stringa codificata in base 64.
- Password non crittografata da confrontare crittograficamente con .
-
- o è null.
-
-
- Rappresenta una serie di valori come una matrice di tipo JavaScript tramite le funzionalità dinamiche di Dynamic Language Runtime (DLR).
-
-
- Inizializza una nuova istanza della classe utilizzando i valori degli elementi della matrice specificati.
- Matrice di oggetti contenente i valori da aggiungere all'istanza di .
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere gli elementi dell'istanza di .
- Enumeratore che può essere utilizzato per scorrere gli elementi della matrice JSON.
-
-
- Restituisce il valore all'indice specificato nell'istanza di .
- Valore all'indice specificato.
-
-
- Restituisce il numero di elementi contenuti nell'istanza di .
- Numero di elementi contenuti nella matrice JSON.
-
-
- Converte un'istanza di in una matrice di oggetti.
- Matrice di oggetti che rappresenta la matrice JSON.
- Matrice JSON da convertire.
-
-
- Converte un'istanza di in una matrice di oggetti.
- Matrice di oggetti che rappresenta la matrice JSON.
- Matrice JSON da convertire.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere un insieme.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Converte l'istanza di in un tipo compatibile.
- true se la conversione ha avuto esito positivo. In caso contrario, false.
- Fornisce informazioni sull'operazione di conversione.
- Quando termina, questo metodo restituisce il risultato dell'operazione di conversione del tipo.Questo parametro viene passato senza inizializzazione.
-
-
- Verifica l'istanza di per i membri dinamici (non supportati) in modo da non generare un'eccezione.
- true in tutti i casi.
- Fornisce informazioni sull'operazione get.
- Quando termina, questo metodo restituisce null.Questo parametro viene passato senza inizializzazione.
-
-
- Rappresenta una raccolta di valori come un oggetto di tipo JavaScript utilizzando le funzionalità di Dynamic Language Runtime (DLR).
-
-
- Inizializza una nuova istanza della classe utilizzando i valori dei campi specificati.
- Dizionario di nomi e valori di proprietà da aggiungere all'istanza di come membri dinamici.
-
-
- Restituisce un elenco contenente il nome di tutti i membri dinamici (campi JSON) dell'istanza di .
- Elenco contenente il nome di tutti i membri dinamici (campi JSON).
-
-
- Converte l'istanza di in un tipo compatibile.
- true in tutti i casi.
- Fornisce informazioni sull'operazione di conversione.
- Quando termina, questo metodo restituisce il risultato dell'operazione di conversione del tipo.Questo parametro viene passato senza inizializzazione.
- Non è stato possibile convertire l'istanza nel tipo specificato.
-
-
- Ottiene il valore di un campo tramite l'indice specificato.
- true in tutti i casi.
- Fornisce informazioni sull'operazione get indicizzata.
- Matrice contenente un singolo oggetto che indicizza il campo in base al nome.L'oggetto deve essere convertibile in una stringa che specifica il nome del campo JSON da restituire.Se sono specificati più indici, quando il metodo termina restituisce null.
- Quando termina, il metodo restituisce il valore del campo indicizzato o null se l'operazione get ha avuto esito negativo.Questo parametro viene passato senza inizializzazione.
-
-
- Ottiene il valore di un campo tramite il nome specificato.
- true in tutti i casi.
- Fornisce informazioni sull'operazione get.
- Quando termina, il metodo restituisce il valore del campo o null se l'operazione ha avuto esito negativo.Questo parametro viene passato senza inizializzazione.
-
-
- Imposta il valore di un campo tramite l'indice specificato.
- true in tutti i casi.
- Fornisce informazioni sull'operazione di impostazione indicizzata.
- Matrice contenente un singolo oggetto che indicizza il campo in base al nome.L'oggetto deve essere convertibile in una stringa che specifica il nome del campo JSON da restituire.Se sono specificati più indici, non viene modificato né aggiunto alcun campo.
- Valore su cui impostare il campo.
-
-
- Imposta il valore di un campo tramite il nome specificato.
- true in tutti i casi.
- Fornisce informazioni sull'operazione set.
- Valore su cui impostare il campo.
-
-
- Fornisce metodi per l'utilizzo dei dati in formato JavaScript Object Notation (JSON).
-
-
- Converte i dati in formato JavaScript Object Notation (JSON) nell'elenco di dati fortemente tipizzato specificato.
- Dati con codifica JSON convertiti in un elenco fortemente tipizzato.
- Stringa codificata in formato JSON da convertire.
- Tipo di elenco fortemente tipizzato in cui convertire i dati JSON.
-
-
- Converte i dati in formato JavaScript Object Notation (JSON) in un oggetto dati.
- Dati con codifica JSON convertiti in oggetto dati.
- Stringa codificata in formato JSON da convertire.
-
-
- Converte i dati in formato JavaScript Object Notation (JSON) in un oggetto dati di un tipo specificato.
- Dati con codifica JSON convertiti nel tipo specificato.
- Stringa codificata in formato JSON da convertire.
- Tipo in cui devono essere convertiti i dati .
-
-
- Converte un oggetto dati in una stringa in formato JavaScript Object Notation (JSON).
- Restituisce una stringa di dati convertiti nel formato JSON.
- Oggetto dati da convertire.
-
-
- Converte un oggetto dati in una stringa in formato JavaScript Object Notation (JSON) e aggiunge la stringa all'oggetto specificato.
- Oggetto dati da convertire.
- Oggetto che contiene i dati JSON convertiti.
-
-
- Esegue il rendering dei nomi e dei valori delle proprietà dell'oggetto specificato e di tutti i sottoggetti a cui fa riferimento.
-
-
- Esegue il rendering dei nomi e dei valori delle proprietà dell'oggetto specificato e di tutti i sottoggetti.
- Per una variabile semplice, restituisce il tipo e il valore.Per un oggetto contenente più elementi, restituisce il nome o la chiave della proprietà e il valore di ogni proprietà.
- Oggetto per cui eseguire il rendering delle informazioni.
- Facoltativo.Specifica il livello di nidificazione dei sottoggetti per cui eseguire il rendering.Il valore predefinito è 10.
- Facoltativo.Specifica il numero massimo di caratteri visualizzati dal metodo per i valori dell'oggetto.Il valore predefinito è 1000.
-
- è minore di 0.
-
- è minore o uguale a 0.
-
-
- Visualizza le informazioni sull'ambiente del server Web che ospita la pagina Web corrente.
-
-
- Visualizza le informazioni sull'ambiente del server Web.
- Stringa di coppie nome/valore che contiene le informazioni sul server Web.
-
-
- Specifica la direzione in base alla quale ordinare un elenco di elementi.
-
-
- Ordina gli elementi dal più piccolo al più grande, ad esempio da 1 a 10.
-
-
- Ordina gli elementi dal più grande al più piccolo, ad esempio da 10 a 1.
-
-
- Fornisce una cache per archiviare i dati a cui si accede frequentemente.
-
-
- Recupera l'elemento specificato dall'oggetto .
- Elemento recuperato dalla cache oppure null se l'elemento non viene trovato.
- Identificatore per l'elemento della cache da recuperare.
-
-
- Rimuove l'elemento specificato dall'oggetto .
- Elemento rimosso dall'oggetto .Se l'elemento non viene trovato, restituisce null.
- Identificatore per l'elemento della cache da rimuovere.
-
-
- Inserisce un elemento nell'oggetto .
- Identificatore per l'elemento della cache.
- Dati da inserire nella cache.
- Facoltativo.Numero di minuti per cui conservare un elemento nella cache.Il valore predefinito è 20.
- Facoltativo.true per indicare che la scadenza dell'elemento della cache viene reimpostata ogni volta che si accede all'elemento oppure false per indicare che la scadenza è basata sul valore temporale assoluto da quando l'elemento è stato aggiunto alla cache.Il valore predefinito è true.In questo caso, se si utilizza il valore predefinito anche per il parametro , un elemento memorizzato nella cache scade 20 minuti dopo l'ultimo accesso.
- Il valore di è inferiore o uguale a zero.
- La scadenza variabile è abilitata e il valore di è superiore a un anno.
-
-
- Visualizza i dati in una pagina Web mediante un elemento table HTML.
-
-
- Inizializza una nuova istanza della classe .
- Dati da visualizzare.
- Raccolta contenente i nomi delle colonne dati da visualizzare.Per impostazione predefinita, questo valore viene popolato automaticamente in base ai valori contenuti nel parametro .
- Nome della colonna dati usata per ordinare la griglia per impostazione predefinita.
- Numero di righe visualizzate in ciascuna pagina della griglia quando il paging è abilitato.Il valore predefinito è 10.
- true per specificare che il paging è abilitato per l'istanza di . In caso contrario, false.Il valore predefinito è true.
- true per specificare che l'ordinamento è abilitato per l'istanza di . In caso contrario, false.Il valore predefinito è true.
- Valore dell'attributo HTML id usato per contrassegnare l'elemento HTML che ottiene gli aggiornamenti Ajax dinamici associati all'istanza di .
- Nome della funzione JavaScript che viene chiamata dopo l'aggiornamento dell'elemento HTML specificato dalla proprietà .Se non è specificato il nome di una funzione, non verrà chiamata alcuna funzione.Se la funzione specificata non esiste, si verificherà un errore JavaScript quando questa verrà richiamata.
- Prefisso applicato a tutti i campi stringa di query associati all'istanza di .Questo valore è usato per supportare più istanze di nella stessa pagina Web.
- Nome del campo stringa di query usato per specificare la pagina corrente dell'istanza di .
- Nome del campo stringa di query usato per specificare la riga attualmente selezionata dell'istanza di .
- Nome del campo stringa di query usato per specificare il nome della colonna dati in base alla quale è ordinata l'istanza di .
- Nome del campo stringa di query usato per specificare la direzione di ordinamento dell'istanza di .
-
-
- Aggiunge una funzione di ordinamento per una colonna specifica.
- Griglia corrente a cui è stato applicato il nuovo ordinatore personalizzato.
- Nome della colonna (usato per l'ordinamento)
- Funzione usata per selezionare una chiave in base alla quale eseguire l'ordinamento per ogni elemento nell'origine della griglia.
- Tipo di elementi nell'origine della griglia.
- Tipo di colonna, di solito dedotto dal tipo restituito della funzione keySelector.
-
-
- Ottiene il nome della funzione JavaScript da chiamare dopo l'aggiornamento dell'elemento HTML associato all'istanza di in risposta a una richiesta di aggiornamento Ajax.
- Nome della funzione.
-
-
- Ottiene il valore dell'attributo HTML id che contrassegna un elemento HTML nella pagina Web che riceve gli aggiornamenti Ajax dinamici associati all'istanza di .
- Valore dell'attributo id.
-
-
- Associa i dati specificati all'istanza di .
- L'istanza di associata e popolata.
- Dati da visualizzare.
- Raccolta contenente i nomi delle colonne dati da associare.
- true per abilitare ordinamento e paging dell'istanza di . In caso contrario, false.
- Numero di righe visualizzate in ciascuna pagina della griglia.
-
-
- Ottiene un valore che indica se l'istanza di supporta l'ordinamento.
- true se l'istanza supporta l'ordinamento. In caso contrario, false.
-
-
- Crea una nuova istanza di .
- Nuova colonna.
- Nome della colonna dati da associare all'istanza di .
- Testo visualizzato nell'intestazione della colonna della tabella HTML associata all'istanza di .
- Funzione usata per formattare i valori dei dati associati all'istanza di .
- Stringa che specifica il nome della classe CSS usata per definire lo stile delle celle della tabella HTML associate all'istanza di .
- true per abilitare l'ordinamento nell'istanza di mediante i valori dei dati associati all'istanza di . In caso contrario, false.Il valore predefinito è true.
-
-
- Ottiene una raccolta contenente il nome di ciascuna colonna dati associata all'istanza di .
- Raccolta di nomi di colonne dati.
-
-
- Restituisce una matrice contenente le istanze di specificate.
- Matrice di colonne.
- Un numero variabile di istanze colonna di .
-
-
- Ottiene il prefisso applicato a tutti i campi stringa di query associati all'istanza di .
- Prefisso per i campi stringa di query dell'istanza di .
-
-
- Restituisce un'istruzione JavaScript che può essere usata per l'aggiornamento dell'elemento HTML associato all'istanza di nella pagina Web specificata.
- Istruzione JavaScript che può essere usata per l'aggiornamento dell'elemento HTML in una pagina Web associata all'istanza di .
- URL della pagina Web contenente l'istanza di in fase di aggiornamento.L'URL può includere argomenti stringa di query.
-
-
- Restituisce il markup HTML usato per eseguire il rendering dell'istanza di e usare le opzioni di paging specificate.
- Markup HTML che rappresenta l'istanza di completamente popolata.
- Nome della classe CSS usata per definire lo stile dell'intera tabella.
- Nome della classe CSS usata per definire lo stile dell'intestazione della tabella.
- Nome della classe CSS usata per definire lo stile del piè di pagina della tabella.
- Nome della classe CSS usata per definire lo stile di ciascuna riga della tabella.
- Nome della classe CSS usata per definire lo stile delle righe di tabella con numeri pari.
- Nome della classe CSS usata per definire lo stile della riga di tabella selezionata.È possibile selezionare solo una riga alla volta.
- Didascalia della tabella.
- true per visualizzare l'intestazione della tabella. In caso contrario, false.Il valore predefinito è true.
- true per inserire righe aggiuntive nell'ultima pagina quando gli elementi di dati disponibili sono insufficienti a riempire tale pagina. In caso contrario, false.Il valore predefinito è false.Le righe aggiuntive vengono popolate usando il testo specificato dal parametro .
- Testo usato per popolare le righe aggiuntive in una pagina quando gli elementi di dati disponibili sono insufficienti a riempire l'ultima pagina.Per visualizzare le righe aggiuntive, è necessario impostare il parametro su true.
- Raccolta di istanze di che specificano la modalità di visualizzazione di ciascuna colonna,incluse la colonna dati associata a ciascuna colonna della griglia e la modalità di formattazione dei valori dati contenuti in ciascuna colonna della griglia.
- Raccolta contenente i nomi delle colonne dati da escludere quando la griglia esegue il popolamento automatico delle colonne.
- Combinazione bit per bit dei valori di enumerazione che specificano i metodi forniti per spostarsi fra le pagine dell'istanza di .
- Testo per l'elemento del collegamento HTML usato per passare alla prima pagina dell'istanza di .Il flag del parametro deve essere impostato in modo da visualizzare questo elemento di spostamento nella pagina.
- Testo per l'elemento del collegamento HTML usato per passare alla pagina precedente dell'istanza di .Il flag del parametro deve essere impostato in modo da visualizzare questo elemento di spostamento nella pagina.
- Testo per l'elemento del collegamento HTML usato per passare alla pagina successiva dell'istanza di .Il flag del parametro deve essere impostato in modo da visualizzare questo elemento di spostamento nella pagina.
- Testo per l'elemento del collegamento HTML usato per passare all'ultima pagina dell'istanza di .Il flag del parametro deve essere impostato in modo da visualizzare questo elemento di spostamento nella pagina.
- Numero dei collegamenti numerici alle pagine vicine.Il testo di ciascun collegamento di pagina numerico contiene il numero di pagina.Il flag del parametro deve essere impostato in modo da visualizzare questi elementi di spostamento nella pagina.
- Oggetto che rappresenta una raccolta di attributi (nomi e valori) da impostare per l'elemento table HTML che rappresenta l'istanza di .
-
-
- Restituisce un URL che può essere usato per visualizzare la pagina di dati specificata dell'istanza di .
- URL che può essere usato per visualizzare la pagina di dati specificata della griglia.
- Indice della pagina da visualizzare.
-
-
- Restituisce un URL che può essere usato per ordinare l'istanza di in base alla colonna specificata.
- URL che può essere usato per ordinare la griglia.
- Nome della colonna dati in base alla quale eseguire l'ordinamento.
-
-
- Ottiene un valore che indica se è selezionata una riga nell'istanza di .
- true se una riga è attualmente selezionata. In caso contrario, false.
-
-
- Restituisce un valore che indica se l'istanza di è in grado di usare chiamate Ajax per aggiornare la visualizzazione.
- true se l'istanza supporta le chiamate Ajax. In caso contrario, false.
-
-
- Ottiene il numero delle pagine contenute nell'istanza di
- Totale delle pagine.
-
-
- Ottiene il nome completo del campo stringa di query usato per specificare la pagina corrente dell'istanza di .
- Ottiene il nome completo del campo stringa di query usato per specificare la pagina corrente della griglia.
-
-
- Ottiene o imposta l'indice della pagina corrente dell'istanza di .
- Indice della pagina corrente.
-
-
- Restituisce il markup HTML usato per fornire il supporto di paging specificato per l'istanza di .
- Codice HTML che fornisce il supporto di paging per la griglia.
- Combinazione bit per bit dei valori di enumerazione che specificano i metodi forniti per spostarsi fra le pagine della griglia.L'oggetto predefinito è OR bit per bit dei flag e .
- Testo per l'elemento del collegamento HTML che consente di passare alla prima pagina della griglia.
- Testo per l'elemento del collegamento HTML che consente di passare alla pagina precedente della griglia.
- Testo per l'elemento del collegamento HTML che consente di passare alla pagina successiva della griglia.
- Testo per l'elemento del collegamento HTML che consente di passare all'ultima pagina della griglia.
- Numero dei collegamenti di pagina numerici da visualizzare.Il valore predefinito è 5.
-
-
- Ottiene un elenco contenente le righe presenti sulla pagina corrente dell'istanza di dopo l'ordinamento della griglia.
- Elenco di righe.
-
-
- Ottiene il numero di righe visualizzate in ciascuna pagina dell'istanza di .
- Numero di righe visualizzate in ciascuna pagina della griglia.
-
-
- Ottiene o imposta l'indice della riga selezionata rispetto alla pagina corrente dell'istanza di .
- Indice della riga selezionata rispetto alla pagina corrente.
-
-
- Ottiene la riga attualmente selezionata dell'istanza di .
- Riga attualmente selezionata.
-
-
- Ottiene il nome completo del campo stringa di query usato per specificare la riga selezionata dell'istanza di .
- Nome completo del campo stringa di query usato per specificare la riga selezionata della griglia.
-
-
- Ottiene o imposta il nome della colonna dati in base alla quale è ordinata l'istanza di .
- Nome della colonna dati usata per ordinare la griglia.
-
-
- Ottiene o imposta la direzione di ordinamento dell'istanza di .
- Direzione di ordinamento.
-
-
- Ottiene il nome completo del campo stringa di query usato per specificare la direzione di ordinamento dell'istanza di .
- Ottiene il nome completo del campo stringa di query usato per specificare la direzione di ordinamento della griglia.
-
-
- Ottiene il nome completo del campo stringa di query usato per specificare il nome della colonna dati in base alla quale è ordinata l'istanza di .
- Nome completo del campo stringa di query usato per specificare il nome della colonna dati in base alla quale è ordinata la griglia.
-
-
- Restituisce il markup HTML usato per eseguire il rendering dell'istanza di .
- Markup HTML che rappresenta l'istanza di completamente popolata.
- Nome della classe CSS usata per definire lo stile dell'intera tabella.
- Nome della classe CSS usata per definire lo stile dell'intestazione della tabella.
- Nome della classe CSS usata per definire lo stile del piè di pagina della tabella.
- Nome della classe CSS usata per definire lo stile di ciascuna riga della tabella.
- Nome della classe CSS usata per definire lo stile delle righe di tabella con numeri pari.
- Nome della classe CSS usata per definire lo stile della riga di tabella selezionata.
- Didascalia della tabella.
- true per visualizzare l'intestazione della tabella. In caso contrario, false.Il valore predefinito è true.
- true per inserire righe aggiuntive nell'ultima pagina quando gli elementi di dati disponibili sono insufficienti a riempire tale pagina. In caso contrario, false.Il valore predefinito è false.Le righe aggiuntive vengono popolate usando il testo specificato dal parametro .
- Testo usato per popolare le righe aggiuntive nell'ultima pagina quando gli elementi di dati disponibili sono insufficienti a riempire tale pagina.Per visualizzare le righe aggiuntive, è necessario impostare il parametro su true.
- Raccolta di istanze di che specificano la modalità di visualizzazione di ciascuna colonna,incluse la colonna dati associata a ciascuna colonna della griglia e la modalità di formattazione dei valori dati contenuti in ciascuna colonna della griglia.
- Raccolta contenente i nomi delle colonne dati da escludere quando la griglia esegue il popolamento automatico delle colonne.
- Funzione che restituisce il markup HTML usato per eseguire il rendering del piè di pagina della tabella.
- Oggetto che rappresenta una raccolta di attributi (nomi e valori) da impostare per l'elemento table HTML che rappresenta l'istanza di .
-
-
- Ottiene il numero totale delle righe contenute nell'istanza di .
- Numero totale delle righe contenute nella griglia.Questo valore include tutte le righe di ciascuna pagina, ma non include le righe aggiuntive inserite nell'ultima pagina quando gli elementi di dati disponibili sono insufficienti a riempire tale pagina.
-
-
- Rappresenta una colonna in un'istanza di .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta un valore che indica se la colonna può essere ordinata.
- true per indicare che la colonna può essere ordinata. In caso contrario, false.
-
-
- Ottiene o imposta il nome dell'elemento dati associato alla colonna .
- Nome dell'elemento dati.
-
-
- Ottiene o imposta una funzione utilizzata per formattare l'elemento dati associato alla colonna .
- Funzione utilizzata per formattare l'elemento dati associato alla colonna.
-
-
- Ottiene o imposta il testo di cui viene eseguito il rendering nell'intestazione della colonna .
- Testo di cui è stato eseguito il rendering nell'intestazione della colonna.
-
-
- Ottiene o imposta l'attributo della classe CSS di cui viene eseguito il rendering come parte delle celle della tabella HTML associate alla colonna .
- Attributo della classe CSS applicato alle celle associate alla colonna.
-
-
- Specifica i flag che descrivono i metodi forniti per lo spostamento tra le pagine di un'istanza di .Questa enumerazione contiene un attributo che consente una combinazione bit per bit dei relativi valori dei membri.
-
-
- Indica che sono forniti tutti i metodi per lo spostamento tra le pagine di .
-
-
- Indica che sono forniti metodi per passare direttamente alla prima o ultima pagina di .
-
-
- Indica che sono forniti metodi per passare alla pagina precedente o successiva di .
-
-
- Indica che sono forniti metodi per passare a una pagina vicina di utilizzando un numero di pagina.
-
-
- Rappresenta una riga in un'istanza di .
-
-
- Inizializza una nuova istanza della classe utilizzando l'istanza, il valore di riga e l'indice di specificati.
- Istanza di contenente la riga.
- Oggetto contenente un membro di proprietà per ogni valore nella riga.
- Indice della riga.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere i valori dell'istanza di .
- Enumeratore che può essere utilizzato per scorrere i valori della riga.
-
-
- Restituisce un elemento HTML (collegamento) che gli utenti possono utilizzare per selezionare la riga.
- Collegamento su cui gli utenti possono fare clic per selezionare la riga.
- Testo interno dell'elemento collegamento.Se è vuoto o null, viene utilizzato "Select".
-
-
- Restituisce l'URL che può essere utilizzato per selezionare la riga.
- URL utilizzato per selezionare una riga.
-
-
- Restituisce il valore all'indice specificato nell'istanza di .
- Valore all'indice specificato.
- Indice in base zero del valore della riga da restituire.
-
- è minore di 0 o maggiore o uguale al numero di valori nella riga.
-
-
- Restituisce il valore con il nome specificato nell'istanza di .
- Valore specificato.
- Nome del valore nella riga da restituire.
-
- è Nothing o vuoto.
-
- specifica un valore che non esiste.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere un insieme.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Restituisce una stringa che rappresenta tutti i valori dell'istanza di .
- Stringa che rappresenta i valori della riga.
-
-
- Restituisce il valore di un membro descritto dallo strumento di associazione specificato.
- true se il valore dell'elemento è stato recuperato. In caso contrario, false.
- Metodo Get del membro della proprietà associata.
- Quando termina, questo metodo restituisce un oggetto che contiene il valore dell'elemento descritto da .Questo parametro viene passato senza inizializzazione.
-
-
- Ottiene un oggetto contenente un membro di proprietà per ogni valore nella riga.
- Oggetto che contiene ogni valore nella riga come proprietà.
-
-
- Ottiene l'istanza di a cui appartiene la riga.
- Istanza di contenente la riga.
-
-
- Rappresenta un oggetto che consente di visualizzare e gestire immagini in una pagina Web.
-
-
- Inizializza una nuova istanza della classe utilizzando una matrice di byte per rappresentare l'immagine.
- Immagine.
-
-
- Inizializza una nuova istanza della classe utilizzando un flusso per rappresentare l'immagine.
- Immagine.
-
-
- Inizializza una nuova istanza della classe utilizzando un percorso per rappresentare la posizione dell'immagine.
- Percorso del file che contiene l'immagine.
-
-
- Aggiunge un'immagine di filigrana utilizzando il percorso dell'immagine stessa.
- Immagine filigranata.
- Percorso del file che contiene l'immagine di filigrana.
- Larghezza, in pixel, dell'immagine di filigrana.
- Altezza, in pixel, dell'immagine di filigrana.
- Allineamento orizzontale dell'immagine di filigrana.I valori possibili sono "Left", "Right" o "Center".
- Allineamento verticale della filigrana.I valori possibili sono "Top", "Middle" o "Bottom".
- Opacità dell'immagine di filigrana, specificata come valore compreso tra 0 e 100.
- Dimensione, in pixel, del riempimento attorno all'immagine di filigrana.
-
-
- Aggiunge un'immagine di filigrana utilizzando l'oggetto immagine specificato.
- Immagine filigranata.
- Oggetto .
- Larghezza, in pixel, dell'immagine di filigrana.
- Altezza, in pixel, dell'immagine di filigrana.
- Allineamento orizzontale dell'immagine di filigrana.I valori possibili sono "Left", "Right" o "Center".
- Allineamento verticale della filigrana.I valori possibili sono "Top", "Middle" o "Bottom".
- Opacità dell'immagine di filigrana, specificata come valore compreso tra 0 e 100.
- Dimensione, in pixel, del riempimento attorno all'immagine di filigrana.
-
-
- Aggiunge il testo della filigrana all'immagine.
- Immagine filigranata.
- Testo da utilizzare come filigrana.
- Colore del testo della filigrana.
- Dimensione del carattere del testo della filigrana.
- Stile del carattere del testo della filigrana.
- Tipo di carattere del testo della filigrana.
- Allineamento orizzontale del testo della filigrana.I valori possibili sono "Left", "Right" o "Center".
- Allineamento verticale del testo della filigrana.I valori possibili sono "Top", "Middle" o "Bottom".
- Opacità dell'immagine di filigrana, specificata come valore compreso tra 0 e 100.
- Dimensione, in pixel, del riempimento attorno al testo della filigrana.
-
-
- Copia l'oggetto .
- Immagine.
-
-
- Ritaglia un'immagine.
- Immagine ritagliata.
- Numero di pixel da rimuovere dall'alto.
- Numero di pixel da rimuovere da sinistra.
- Numero di pixel da rimuovere dal basso.
- Numero di pixel da rimuovere da destra.
-
-
- Ottiene o imposta il nome file dell'oggetto .
- Nome file.
-
-
- Capovolge un'immagine orizzontalmente.
- Immagine capovolta.
-
-
- Capovolge un'immagine verticalmente.
- Immagine capovolta.
-
-
- Restituisce l'immagine come matrice di byte.
- Immagine.
- Valore dell'oggetto .
-
-
- Restituisce un'immagine che è stata aggiornata utilizzando il browser.
- Immagine.
- (Facoltativo) Nome del file pubblicato.Se non viene specificato alcun nome, viene restituito il primo file che è stato caricato.
-
-
- Ottiene l'altezza, in pixel, dell'immagine.
- Altezza.
-
-
- Ottiene il formato dell'immagine, ad esempio "jpeg" o "png".
- Formato di file dell'immagine.
-
-
- Ridimensiona un'immagine.
- Immagine ridimensionata.
- Larghezza, in pixel, dell'oggetto .
- Altezza, in pixel, dell'oggetto .
- true per mantenere le proporzioni dell'immagine. In caso contrario, false.
- true per impedire l'ingrandimento dell'immagine. In caso contrario false.
-
-
- Ruota un'immagine a sinistra.
- Immagine ruotata.
-
-
- Ruota un'immagine a destra.
- Immagine ruotata.
-
-
- Salva l'immagine utilizzando il nome file specificato.
- Immagine.
- Percorso in cui salvare l'immagine.
- Formato da utilizzare al momento del salvataggio dell'immagine, ad esempio "gif" o "png".
- true per forzare l'utilizzo dell'estensione del nome file corretta per il formato specificato in . In caso contrario, false.In caso di mancata corrispondenza tra il tipo di file e l'estensione del nome file specificata, e se è true, verrà aggiunta l'estensione corretta al nome file.Ad esempio, un file PNG denominato Photograph.txt viene salvato con il nome Photograph.txt.png.
-
-
- Ottiene la larghezza, in pixel, dell'immagine.
- Larghezza.
-
-
- Esegue il rendering dell'immagine nel browser.
- Immagine.
- (Facoltativo) Formato di file da utilizzare quando l'immagine viene scritta.
-
-
- Consente di creare e inviare un messaggio di posta elettronica mediante il protocollo SMTP (Simple Mail Transfer Protocol).
-
-
- Ottiene o imposta un valore che indica se viene utilizzato Secure Sockets Layer (SSL) per crittografare la connessione quando viene inviato un messaggio di posta elettronica.
- true se viene utilizzato SSL per crittografare la connessione. In caso contrario, false.
-
-
- Ottiene o imposta l'indirizzo di posta elettronica del mittente.
- Indirizzo di posta elettronica del mittente.
-
-
- Ottiene o imposta la password dell'account di posta elettronica del mittente.
- Password del mittente.
-
-
- Invia il messaggio specificato a un server SMTP per il recapito.
- Indirizzo di posta elettronica del destinatario o dei destinatari.Separare più destinatari con un punto e virgola (;).
- Riga dell'oggetto del messaggio di posta elettronica.
- Corpo del messaggio di posta elettronica.Se è true, il codice HTML nel corpo viene interpretato come markup.
- (Facoltativo) Indirizzo di posta elettronica del mittente del messaggio oppure null per non specificare un mittente.Il valore predefinito è null.
- (Facoltativo) Indirizzo di posta elettronica degli altri destinatari a cui inviare una copia del messaggio oppure null in assenza di ulteriori destinatari.Separare più destinatari con un punto e virgola (;).Il valore predefinito è null.
- (Facoltativo) Insieme di nomi di file che specifica i file da allegare al messaggio di posta elettronica oppure null se non sono presenti file da allegare.Il valore predefinito è null.
- (Facoltativo) true per specificare che il corpo del messaggio di posta elettronica è in formato HTML, false per indicare che il corpo è in formato testo normale.Il valore predefinito è true.
- (Facoltativo) Insieme di intestazioni da aggiungere alle normali intestazioni SMTP nel messaggio di posta elettronica oppure null per non inviare intestazioni aggiuntive.Il valore predefinito è null.
- (Facoltativo) Indirizzo di posta elettronica degli altri destinatari a cui inviare una copia "nascosta" del messaggio oppure null in assenza di ulteriori destinatari.Separare più destinatari con un punto e virgola (;).Il valore predefinito è null.
- (Facoltativo) Codifica da utilizzare per il corpo del messaggio.I valori possibili sono quelli delle proprietà della classe , ad esempio .Il valore predefinito è null.
- (Facoltativo) Codifica da utilizzare per l'intestazione del messaggio.I valori possibili sono quelli delle proprietà della classe , ad esempio .Il valore predefinito è null.
- (Facoltativo) Valore ("Normale", "Bassa", "Alta") che specifica la priorità del messaggio.Il valore predefinito è "Normale".
- (Facoltativo) Indirizzo di posta elettronica che verrà utilizzato quando il destinatario risponderà al messaggio.Il valore predefinito è null, che indica che l'indirizzo della risposta è il valore della proprietà From.
-
-
- Ottiene o imposta la porta utilizzata per le transazioni SMTP.
- Porta utilizzata per le transazioni SMTP.
-
-
- Ottiene o imposta il nome del server SMTP utilizzato per trasmettere il messaggio di posta elettronica.
- Server SMTP.
-
-
- Ottiene o imposta un valore che indica se le credenziali predefinite vengono inviate con le richieste.
- true se le credenziali vengono inviate con il messaggio di posta elettronica. In caso contrario, false.
-
-
- Ottiene o imposta il nome dell'account di posta elettronica utilizzato per inviare messaggi.
- Nome dell'account utente.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/system.web.webpages.deployment.xml b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/system.web.webpages.deployment.xml
deleted file mode 100644
index f154ea4..0000000
--- a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/system.web.webpages.deployment.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
- System.Web.WebPages.Deployment
-
-
-
- Fornisce un punto di registrazione per il codice di preavvio dell'applicazione per la distribuzione di pagine Web.
-
-
- Registra il codice di preavvio dell'applicazione per la distribuzione di pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce metodi utilizzati per ottenere informazioni sulla distribuzione dell'applicazione Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso dell'assembly per la distribuzione di Web Pages.
- Percorso dell'assembly per la distribuzione di Web Pages.
- Versione di Web Pages.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la versione di Web Pages dal percorso binario specificato.
- Versione di Web Pages.
- Percorso binario per Web Pages.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene i riferimenti all'assembly dal percorso specificato, indipendentemente dalla versione di Web Pages.
- Dizionario contenente i riferimenti all'assembly delle Web Pages e la relativa versione.
- Percorso dell'applicazione Web Pages.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la versione massima degli assembly Web Pages caricati.
- Versione massima degli assembly Web Pages caricati.
-
-
- Ottiene la versione di Web Pages dal percorso specificato.
- Versione di Web Pages.
- Percorso della directory radice per l'applicazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la versione di Web Pages utilizzando le impostazioni di configurazione con il percorso specificato.
- Versione di Web Pages.
- Percorso delle impostazioni dell'applicazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce gli assembly per la distribuzione di Web Pages.
- Elenco contenente gli assembly per la distribuzione di Web Pages.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se la distribuzione di Web Pages è abilitata.
- true se la distribuzione di Web Pages è abilitata. In caso contrario, false.
- Percorso della distribuzione di Web Pages.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se la distribuzione di Web Pages è esplicitamente disabilitata.
- true se la distribuzione di Web Pages è esplicitamente disabilitata. In caso contrario, false.
- Percorso della distribuzione di Web Pages.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/system.web.webpages.razor.xml b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/system.web.webpages.razor.xml
deleted file mode 100644
index 582c8a0..0000000
--- a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/system.web.webpages.razor.xml
+++ /dev/null
@@ -1,292 +0,0 @@
-
-
-
- System.Web.WebPages.Razor
-
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta la classe di base per il percorso di compilazione contenente i dati dell'evento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Stringa del percorso virtuale.
- Host per il Razor delle pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'host per il Razor delle pagine Web.
- Host per il Razor delle pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso virtuale per la pagina Web.
- Percorso virtuale per la pagina Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un provider di versioni per Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge una dipendenza del percorso virtuale alla raccolta.
- Dipendenza del percorso virtuale da aggiungere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il compilatore di assembly per l'ambiente Razor.
- Compilatore di assembly.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene le impostazioni del compilatore per l'ambiente Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Si verifica al termine della generazione del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Si verifica all'inizio della generazione del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Si verifica durante la compilazione con un nuovo percorso virtuale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un'istanza dell'host del motore Razor basata sulla configurazione Web.
- Istanza dell'host del motore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice utilizzando il compilatore di assembly fornito.
- Compilatore di assembly.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo del codice generato.
- Tipo del codice generato.
- Risultati della compilazione del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea l'istanza dell'host del motore Razor basata sulla configurazione Web.
- Istanza dell'host del motore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Apre un lettore di testo interno.
- Lettore di testo interno.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera l'evento CompilingPath.
- Dati forniti per l'evento CompilingPath.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso virtuale del codice sorgente.
- Percorso virtuale del codice sorgente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la raccolta dei percorsi virtuali per le dipendenze.
- Raccolta dei percorsi virtuali per le dipendenze.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un host Razor del codice Web per la pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Percorso virtuale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Percorso virtuale.
- Percorso fisico.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il nome della classe di questa istanza.
- Nome della classe di questa istanza.
- Percorso virtuale.
-
-
- Genera un codice di post-elaborazione per l'host Razor del codice Web.
- Contesto del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta gli host Razor in una pagina Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza delle classe con il percorso virtuale del file specificato.
- Percorso del file virtuale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe con il percorso virtuale e fisico del file specificato.
- Percorso del file virtuale.
- Percorso del file fisico.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un'importazione globale nella pagina Web.
- Nome del servizio di notifica.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'oggetto .
- Oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un parser di markup.
- Parser di markup.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore per DefaultBaseClass.
- Valore per DefaultBaseClass.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome della classe predefinita.
- Nome della classe predefinita.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se la compilazione con debug è impostata sul valore predefinito.
- true se la compilazione con debug è impostata sul valore predefinito. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la classe di base della pagina predefinita.
- Classe di base della pagina predefinita.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Recupera il nome della classe a cui appartiene la pagina Web specificata.
- Nome della classe a cui appartiene la pagina Web specificata.
- Percorso del file virtuale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il linguaggio del codice specificato nella pagina Web.
- Linguaggio del codice specificato nella pagina Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene le importazioni globali per la pagina Web.
- Importazioni globali per la pagina Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il percorso file dell'origine strumentale.
- Percorso file dell'origine strumentale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se la pagina Web è una pagina speciale.
- true se la pagina Web è una pagina speciale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso fisico del file system dell'host Razor.
- Percorso fisico del file system dell'host Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il codice generato dopo il processo.
- Oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Registra il file speciale con il nome file e il nome del tipo base specificati.
- Nome file.
- Nome del tipo base.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Registra il file speciale con il nome e il tipo base del file specificati.
- Nome file.
- Tipo di file di base.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso virtuale del file.
- Percorso del file virtuale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea istanze di file host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Carica le informazioni di descrizione del servizio dal file di configurazione e le applica all'host.
- Configurazione.
- Pagina Web dell'host Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un host predefinito con il percorso virtuale specificato.
- Host predefinito.
- Percorso virtuale del file.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un host predefinito con il percorso virtuale e fisico specificato.
- Host predefinito.
- Percorso virtuale del file.
- Percorso fisico del file system.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un host Razor.
- Host Razor.
- Percorso virtuale del file di destinazione.
- Percorso fisico del file di destinazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un host dalla configurazione.
- Host dalla configurazione.
- Percorso virtuale del file di destinazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un host dalla configurazione.
- Host dalla configurazione.
- Percorso virtuale del file.
- Percorso fisico del file system.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un host dalla configurazione.
- Host dalla configurazione.
- Configurazione.
- Percorso virtuale del file.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un host dalla configurazione.
- Host dalla configurazione.
- Configurazione.
- Percorso virtuale del file.
- Percorso fisico del file system.
-
-
- Fornisce il supporto del sistema di configurazione per la sezione di configurazione host.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta la factory host.
- Factory host.
-
-
- Rappresenta il nome della sezione di configurazione per un ambiente host Razor.
-
-
- Fornisce il supporto del sistema di configurazione per la sezione di configurazione pages.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta la raccolta di spazi dei nomi da aggiungere alle pagine Web Pages nell'applicazione corrente.
- Raccolta di spazi dei nomi.
-
-
- Ottiene o imposta il nome della classe del tipo base di pagina.
- Nome della classe del tipo base di pagina.
-
-
- Rappresenta il nome della sezione di configurazione per pagine Razor.
-
-
- Fornisce il supporto del sistema di configurazione per la sezione di configurazione system.web.webPages.razor.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Rappresenta il nome della sezione di configurazione per la sezione Web Razor.Contiene la stringa statica di sola lettura "system.web.webPages.razor".
-
-
- Ottiene o imposta il valore host per il gruppo di sezioni system.web.webPages.razor.
- Valore host.
-
-
- Ottiene o imposta il valore dell'elemento pages per la sezione system.web.webPages.razor.
- Valore dell'elemento pages.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/system.web.webpages.xml b/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/system.web.webpages.xml
deleted file mode 100644
index 2a7ad70..0000000
--- a/packages/Microsoft.AspNet.WebPages.3.2.3/lib/net45/it/system.web.webpages.xml
+++ /dev/null
@@ -1,2712 +0,0 @@
-
-
-
- System.Web.WebPages
-
-
-
- Consente di impedire a script dannosi di inviare richieste di pagine manomesse.
-
-
- Aggiunge un token di autenticazione a un form per la protezione da richieste false.
- Restituisce una stringa che contiene il valore del token crittografato in un campo HTML nascosto.
- L'oggetto corrente è null.
-
-
- Aggiunge un token di autenticazione a un form per la protezione da richieste false e consente ai chiamanti di specificare i dettagli dell'autenticazione.
- Restituisce il valore del token crittografato in un campo HTML nascosto.
- Dati del contesto HTTP per una richiesta.
- Stringa facoltativa di caratteri casuali, ad esempio Z*7g1&p4, utilizzata per aggiungere complessità alla crittografia per maggiore sicurezza.Il valore predefinito è null.
- Dominio di un'applicazione Web da cui viene inviata una richiesta.
- Percorso radice virtuale di un'applicazione Web da cui viene inviata la richiesta.
-
- è null.
-
-
- Ottiene il token di ricerca.
- Token del cookie precedente.
- Nuovo token del cookie.
- Form del token.
-
-
- Verifica che i dati di input di un campo del form HTML provengano dall'utente che ha inviato tali dati.
- Il valore corrente è null.
- Token del cookie HTTP associato a una richiesta valida mancanteoppureToken del form mancante.oppureIl valore del token del form non corrisponde al valore del token del cookie.oppureIl valore del token del form non corrisponde al valore del token del cookie.
-
-
- Verifica che i dati di input di un campo del form HTML provengano dall'utente che ha inviato tali dati.
- Valore del token del cookie.
- Form del token.
-
-
- Verifica che i dati di input da un campo di un form HTML provengano dall'utente che ha inviato i dati e consente ai chiamanti di specificare ulteriori dettagli di convalida.
- Dati del contesto HTTP per una richiesta.
- Stringa facoltativa di caratteri casuali, ad esempio Z*7g1&p4, utilizzata per decrittografare un token di autenticazione creato dalla classe .Il valore predefinito è null.
- Il valore corrente è null.
- Token del cookie HTTP associato a una richiesta valida mancante.oppureToken del form mancante.oppureIl valore del token del form non corrisponde al valore del token del cookie.oppureIl valore del token del form non corrisponde al valore del token del cookie.oppureIl valore fornito non corrisponde al valore utilizzato per creare il token del form.
-
-
- Fornisce la configurazione a livello di programmazione per il sistema di token antifalsificazione.
-
-
- Ottiene un provider di dati in grado di fornire dati aggiuntivi da inserire in tutti i token generati e in grado di convalidare ulteriori dati nei token in ingresso.
- Provider di dati.
-
-
- Ottiene o imposta il nome del cookie usato dal sistema antifalsificazione.
- Nome del cookie.
-
-
- Ottiene o imposta un valore che indica se il cookie antifalsificazione richiede SSL per la restituzione al server.
- true se è necessario SSL per restituire il cookie antifalsificazione al server. In caso contrario, false.
-
-
- Ottiene o imposta un valore che indica se il sistema antifalsificazione deve saltare il controllo delle condizioni che potrebbero indicare un utilizzo improprio del sistema.
- true se il sistema antifalsificazione non deve eseguire il controllo alla ricerca di possibili utilizzi impropri. In caso contrario, false.
-
-
- Specifica se eliminare la generazione dell'intestazione X-Frame-Options usata per prevenire ClickJacking.Per impostazione predefinita, l'intestazione X-Frame-Options viene generata con il valore SAMEORIGIN.Se questa impostazione è "true", l'intestazione X-Frame-Options della risposta non verrà generata.
-
-
- Se viene usata l'autorizzazione basata su attestazioni, ottiene o imposta il tipo di attestazione dall'identità usata per identificare l'utente in modo univoco.
- Tipo di attestazione.
-
-
- Consente di includere o convalidare dati personalizzati per i token antifalsificazione.
-
-
- Fornisce dati aggiuntivi da archiviare per i token antifalsificazione generati durante la richiesta.
- Dati supplementari da incorporare nel token antifalsificazione.
- Informazioni sulla richiesta corrente.
-
-
- Convalida i dati aggiuntivi incorporati all'interno di un token antifalsificazione in ingresso.
- true se i dati sono validi. In caso contrario, false.
- Informazioni sulla richiesta corrente.
- Dati supplementari incorporati nel token.
-
-
- Fornisce accesso ai valori di form non convalidati nell'oggetto .
-
-
- Ottiene un insieme di valori di form non convalidati che sono stati inviati dal browser.
- Insieme non convalidato di valori del form.
-
-
- Ottiene l'oggetto non convalidato specificato dalla raccolta di valori pubblicati nell'oggetto .
- Membro specificato oppure null se l'elemento specificato non viene trovato.
-
-
- Ottiene un insieme di valori della stringa di query non convalidati.
- Insieme di valori della stringa di query non convalidati.
-
-
- Esclude i campi dell'oggetto Request dalla verifica della presenza di script client e markup HTML potenzialmente pericolosi.
-
-
- Restituisce una versione dei valori del form, dei cookie e delle variabili di stringhe di query senza prima verificare la presenza di markup HTML e script client.
- Oggetto contenente versioni non convalidate del form e dei valori di stringhe di query.
- Oggetto contenente i valori da escludere dalla convalida della richiesta.
-
-
- Restituisce un valore dal campo del form, dal cookie o dalla variabile di stringa di query specificata senza prima verificare la presenza di markup HTML e script client.
- Stringa contenente testo non convalidato proveniente dal campo, dal cookie o dal valore della stringa di query specificato.
- Oggetto contenente i valori da escludere dalla convalida.
- Nome del campo da escludere dalla convalida. può fare riferimento a un campo del form, a un cookie o alla variabile della stringa di query.
-
-
- Restituisce tutti i valori dall'oggetto Request (inclusi i campi del form, i cookie e la stringa di query) senza prima verificare la presenza di markup HTML e script client.
- Oggetto contenente versioni non convalidate del form, del cookie e dei valori di stringhe di query.
- Oggetto contenente i valori da escludere dalla convalida.
-
-
- Restituisce il valore specificato dall'oggetto Request senza prima verificare la presenza di markup HTML e script client.
- Stringa contenente testo non convalidato proveniente dal campo, dal cookie o dal valore della stringa di query specificato.
- Oggetto contenente i valori da escludere dalla convalida.
- Nome del campo da escludere dalla convalida. può fare riferimento a un campo del form, a un cookie o alla variabile della stringa di query.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice. Inizializza una nuova istanza della classe .
- Messaggio contenente.
-
-
- Questo membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice. Inizializza una nuova istanza della classe .
- Messaggio.
- Eccezione interna.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Messaggio di errore.
- Altro.
-
-
-
-
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Messaggio di errore.
- Valore minimo.
- Valore massimo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice. Inizializza una nuova istanza della classe .
- Messaggio di eccezione.
- Modello.
-
-
- Rappresenta la regola remota per la convalida del client del modello.
-
-
- Inizializza una nuova istanza della classe .
- Messaggio di errore.
- URL della regola.
- Metodo HTTP.
- Campi aggiuntivi utilizzati.
-
-
- Rappresenta la regola richiesta per la convalida del client del modello.
-
-
- Inizializza una nuova istanza della classe .
- Messaggio di errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta una lunghezza della regola di convalida del client modello.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Messaggio di errore.
- Lunghezza minima della regola di convalida.
- Lunghezza massima della regola di convalida.
-
-
- Contiene classi e proprietà utilizzate per creare elementi HTML.Questa classe viene utilizzata per scrivere helper, ad esempio quelli trovati nello spazio dei nomi .
-
-
- Crea un nuovo tag con il nome specificato.
- Nome del tag senza delimitatori "<", "/" o ">".
-
- è null o vuoto.
-
-
- Aggiunge una voce all'elenco delle classi CSS nel tag.
- Classe CSS da aggiungere.
-
-
- Ottiene la raccolta di attributi.
- Raccolta di attributi.
-
-
- Sostituisce ciascun carattere non valido nell'ID del tag con un carattere HTML valido.
- ID del tag puro o null se è null o vuoto oppure se non inizia con una lettera.
- ID che può contenere caratteri da sostituire.
-
-
- Sostituisce ciascun carattere non valido nell'ID del tag con la stringa di sostituzione specificata.
- ID del tag puro o null se è null o vuoto oppure se non inizia con una lettera.
- ID che può contenere caratteri da sostituire.
- Stringa di sostituzione.
-
- è null.
-
-
- Genera un attributo ID puro per il tag in base al nome specificato.
- Nome da utilizzare per generare un attributo ID.
-
-
- Ottiene o imposta una stringa che è possibile utilizzare per sostituire caratteri HTML non validi.
- Stringa da utilizzare per sostituire caratteri HTML non validi.
-
-
- Ottiene o imposta il valore HTML interno per l'elemento.
- Valore HTML interno dell'elemento.
-
-
- Aggiunge un nuovo attributo al tag.
- Chiave per l'attributo.
- Valore dell'attributo.
-
-
- Aggiunge un nuovo attributo o, facoltativamente, ne sostituisce uno esistente nel tag di apertura.
- Chiave per l'attributo.
- Valore dell'attributo.
- true per sostituire un attributo esistente, se è presente un attributo con il valore specificato, oppure false per lasciare invariato l'attributo originario.
-
-
- Aggiunge nuovi attributi al tag.
- Raccolta di attributi da aggiungere.
- Tipo dell'oggetto chiave.
- Tipo dell'oggetto valore.
-
-
- Aggiunge nuovi attributi o, facoltativamente, sostituisce gli attributi esistenti nel tag.
- Raccolta di attributi da aggiungere o sostituire.
- Per ciascun attributo in , true per sostituire l'attributo, se è già presente un attributo con la stessa chiave, oppure false per lasciare invariato l'attributo originario.
- Tipo dell'oggetto chiave.
- Tipo dell'oggetto valore.
-
-
- Imposta la proprietà dell'elemento su una versione codificata in formato HTML della stringa specificata.
- Stringa da codificare in formato HTML.
-
-
- Ottiene il nome per il tag.
- Nome.
-
-
- Esegue il rendering dell'elemento come .
-
-
- Esegue il rendering del tag HTML in base alla modalità di rendering specificata.
- Tag HTML di cui è stato eseguito il rendering.
- Modalità di rendering.
-
-
- Enumera le modalità disponibili per il rendering di tag HTML.
-
-
- Rappresenta la modalità per il rendering di un tag di chiusura, ad esempio </tag>.
-
-
- Rappresenta la modalità per il rendering di testo normale.
-
-
- Rappresenta la modalità per il rendering di un tag di chiusura automatico, ad esempio <tag />.
-
-
- Rappresenta la modalità per il rendering di un tag di apertura, ad esempio <tag>.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene gli attributi di convalida dalla struttura o il contenuto di .
-
- da implementare.
- Risultato della convalida.
-
-
- Contiene i metodi per registrare assembly come parti dell'applicazione.
-
-
- Inizializza una nuova istanza della classe utilizzando l'assembly e il percorso virtuale radice specificati.
- Assembly.
- Percorso virtuale radice.
-
- è null o vuoto.
-
-
- Risolve un percorso dell'assembly specificato o della risorsa all'interno di un assembly specificata utilizzando il percorso virtuale di base e il percorso virtuale specificati.
- Percorso dell'assembly o della risorsa.
- Assembly.
- Percorso virtuale di base.
- Percorso virtuale.
-
- non è registrato.
-
-
- Aggiunge un assembly e tutte le pagine Web all'interno dell'assembly all'elenco delle parti dell'applicazione disponibili.
- Parte dell'applicazione.
-
- è già registrato.
-
-
- Fornisce oggetti e metodi utilizzati per l'esecuzione e il rendering delle pagine di avvio delle applicazioni ASP.NET Web Pages (file _AppStart.cshtml o _AppStart.vbhtml).
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene l'oggetto applicazione HTTP che fa riferimento alla pagina di avvio dell'applicazione.
- Oggetto applicazione HTTP che fa riferimento alla pagina di avvio dell'applicazione.
-
-
- Prefisso applicato a tutte le chiavi aggiunte alla cache dalla pagina di avvio dell'applicazione.
-
-
- Ottiene l'oggetto che rappresenta i dati di contesto associati a questa pagina.
- Dati del contesto corrente.
-
-
- Restituisce l'istanza del writer di testo utilizzata per il rendering della pagina.
- Writer di testo.
-
-
- Ottiene l'output della pagina di avvio dell'applicazione sotto forma di stringa codificata in formato HTML.
- Output della pagina di avvio dell'applicazione sotto forma di stringa codificata in formato HTML.
-
-
- Ottiene il writer di testo per la pagina.
- Writer di testo per la pagina.
-
-
- Percorso della pagina di avvio dell'applicazione.
-
-
- Ottiene o imposta il percorso virtuale della pagina.
- Percorso virtuale.
-
-
- Scrive la rappresentazione stringa dell'oggetto specificato come stringa codificata in formato HTML.
- Oggetto da codificare e scrivere.
-
-
- Scrive l'oggetto specificato come stringa codificata in formato HTML.
- Risultato dell'helper da codificare e scrivere.
-
-
- Scrive l'oggetto specificato senza codifica HTML.
- Oggetto da scrivere.
-
-
- Memorizza il valore per un attributo.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Inizializza una nuova istanza della classe .Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Prefisso dello spazio dei nomi per l'attributo.
- Valore per l'attributo.
- true per indicare che il valore è un valore letterale. In caso contrario, false.
-
-
- Crea un valore di attributo dall'oggetto tupla specificato.
- Valore dell'attributo creato.
- Oggetto tupla da cui creare.
-
-
- Crea un valore di attributo dall'oggetto tupla specificato.
- Valore dell'attributo creato.
- Oggetto tupla da cui creare.
-
-
- Ottiene o imposta un valore che indica se il valore è un valore letterale.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- true se il valore è un valore letterale. In caso contrario, false.
-
-
- Crea un valore di attributo dall'oggetto tupla specificato.
- Valore dell'attributo creato.
- Oggetto tupla da cui creare.
-
-
- Crea un valore di attributo dall'oggetto tupla specificato.
- Valore dell'attributo creato.
- Oggetto tupla da cui creare.
-
-
- Ottiene è imposta il prefisso dello spazio dei nomi per l'attributo.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Prefisso dello spazio dei nomi per l'attributo.
-
-
- Ottiene o imposta il valore per l'attributo.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Valore per l'attributo.
-
-
- Fornisce una modalità per specificare informazioni personalizzate sul browser (agente utente).
-
-
- Rimuove qualsiasi agente utente sottoposto a override per la richiesta corrente.
- Contesto corrente.
-
-
- Restituisce l'oggetto funzionalità del browser per le funzionalità del browser sottoposto a override oppure per il browser effettivo, se non è stato specificato alcun override.
- Funzionalità del browser.
- Contesto corrente.
-
-
- Restituisce il valore dell'agente utente sottoposto a override oppure la stringa dell'agente utente effettivo, se non è stato specificato alcun override.
- Stringa dell'agente utente
- Contesto corrente.
-
-
- Ottiene una stringa che varia in base al tipo del browser.
- Stringa che identifica il browser.
- Contesto corrente.
-
-
- Ottiene una stringa che varia in base al tipo di browser.
- Stringa che identifica il browser.
- Base del contesto corrente.
-
-
- Esegue l'override del valore dell'agente utente effettivo della richiesta utilizzando l'agente utente specificato.
- Contesto corrente.
- Agente utente da utilizzare.
-
-
- Esegue l'override del valore dell'agente utente effettivo della richiesta utilizzando le informazioni di override del browser specificate.
- Contesto corrente.
- Un valore di enumerazione che rappresenta le informazioni di override del browser da utilizzare.
-
-
- Specifica i tipi di browser che possono essere definiti per il metodo .
-
-
- Specifica un browser per desktop.
-
-
- Specifica un browser per dispositivi mobili.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.BrowserOverrideStore corrente viene utilizzato per ottenere e impostare l'agente utente di una richiesta.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ricerca un agente utente eseguendo la ricerca del cookie di override del browser.
- Agente utente.
- Contesto HTTP.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un cookie di override del browser con l'agente utente impostato alla risposta della richiesta corrente.
- Contesto HTTP.
- Agente utente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'agente utente sottoposto a override per una richiesta da un cookie.Crea un cookie per impostare l'agent utente sottoposto a override.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Giorni alla scadenza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ricerca un agente utente eseguendo la ricerca del cookie di override del browser.
- Agente utente.
- Contesto HTTP.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un cookie di override del browser con l'agente utente impostato alla risposta della richiesta corrente.
- Contesto HTTP.
- Agente utente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta la modalità di visualizzazione predefinita delle pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Suffisso.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un valore se può gestire il contesto.
- true se può gestire il contesto. In caso contrario, false.
- Contesto HTTP specificato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se la condizione del contesto visualizza una modalità predefinita.
- true se la condizione del contesto visualizza una modalità predefinita. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'identificatore della modalità di visualizzazione delle pagine Web.
- Identificatore della modalità di visualizzazione delle pagine Web.
-
-
- Recupera le informazioni di visualizzazione relative a un elemento nel riquadro dei risultati.
- Informazioni di visualizzazione relative a un elemento nel riquadro dei risultati.
- Contesto HTTP.
- Percorso virtuale.
- true se esiste il percorso virtuale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Trasforma il percorso della modalità di visualizzazione.
- Il percorso della modalità di visualizzazione da trasformare.
- Percorso virtuale.
- Suffisso.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un'informazioni sulla visualizzazione della proprietà.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Percorso virtuale.
- Modalità di visualizzazione attiva.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la modalità di visualizzazione attiva per una pagina Web.
- Modalità di visualizzazione attiva per una pagina Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso virtuale della pagina Web corrente.
- Percorso virtuale della pagina Web corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta le modalità di visualizzazione del provider.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce l'identificatore della modalità di visualizzazione predefinita.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un elenco delle modalità di visualizzazioni disponibili per la base del contesto.
- Elenco delle modalità di visualizzazioni disponibili per la base del contesto.
- Base del contesto HTTP.
- Modalità di visualizzazione corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene per il percorso virtuale.
-
- per il percorso virtuale.
- Percorso virtuale.
- Base del contesto HTTP.
- true se esiste il percorso virtuale. In caso contrario, false..
- Modalità di visualizzazione corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'istanza di .
- Istanza di .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce l'identificatore della modalità di visualizzazione mobile.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un elenco di modalità di .
- Elenco di modalità di .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se la pagina Web richiede una modalità di visualizzazione coerente.
- true se la pagina Web richiede una modalità di visualizzazione coerente. In caso contrario, false.
-
-
- Rappresenta una classe base per le pagine che viene utilizzata quando ASP.NET compila un file cshtml o vbhtml e che espone metodi e proprietà a livello di pagina e a livello di applicazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Ottiene i dati di stato dell'applicazione come oggetto che può essere utilizzato dai chiamanti per creare e visualizzare le proprietà personalizzate aventi come ambito l'applicazione.
- Dati di stato dell'applicazione.
-
-
- Ottiene un riferimento ai dati di stato dell'applicazione globali che è possibile condividere nelle sessioni e nelle richieste di un'applicazione ASP.NET.
- Dati di stato dell'applicazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Colloca tutte le istruzioni dell'helper nel contesto della pagina dell'helper.
- Writer di testo.
- Percorso virtuale dell'helper.
- Posizione iniziale.
- Lunghezza del contesto.
- true se il contesto ha un attributo letterale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Colloca tutte le istruzioni dell'helper nel contesto della pagina dell'helper.
- Percorso virtuale dell'helper.
- Posizione iniziale.
- Lunghezza del contesto.
- true se il contesto ha un attributo letterale. In caso contrario, false.
-
-
- Ottiene l'oggetto della cache per il dominio dell'applicazione corrente.
- Oggetto della cache.
-
-
- Ottiene l'oggetto associato a una pagina.
- Dati del contesto corrente.
-
-
- Ottiene la pagina corrente per questa pagina dell'helper.
- Pagina corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica la fine del blocco di contesto.
- Writer di testo.
- Percorso virtuale dell'helper.
- Posizione iniziale.
- Lunghezza del contesto.
- true se il contesto ha un attributo letterale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica la fine del blocco di contesto.
- Percorso virtuale dell'helper.
- Posizione iniziale.
- Lunghezza del contesto.
- true se il contesto ha un attributo letterale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il percorso della pagina dell'helper.
- Percorso della pagina dell'helper.
-
-
- Crea un URL assoluto in base a un URL relativo dell'applicazione utilizzando i parametri specificati.
- URL assoluto.
- Percorso iniziale da utilizzare nell'URL.
- Informazioni aggiuntive sul percorso, quali cartelle e sottocartelle.
-
-
- Ottiene l'oggetto associato a una pagina.
- Oggetto che supporta il rendering di controlli dei form HTML in una pagina.
-
-
- Ottiene un valore che indica se durante la richiesta della pagina Web viene utilizzato Ajax.
- true se durante la richiesta viene utilizzato Ajax. In caso contrario, false.
-
-
- Ottiene un valore che indica se la richiesta corrente è una richiesta POST (inviata utilizzando il verbo POST HTTP).
- true se il verbo HTTP è POST. In caso contrario, false.
-
-
- Ottiene il modello associato a una pagina.
- Oggetto che rappresenta un modello associato ai dati della visualizzazione di una pagina.
-
-
- Ottiene i dati di stato per il modello associato a una pagina.
- Stato del modello.
-
-
- Ottiene l'accesso di tipo proprietà ai dati di pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Oggetto contenente dati di pagina.
-
-
- Ottiene o imposta il contesto HTTP per la pagina Web.
- Contesto HTTP per la pagina Web.
-
-
- Ottiene l'accesso di tipo matrice ai dati di pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Oggetto che fornisce l'accesso di tipo matrice ai dati di pagina.
-
-
- Ottiene l'oggetto per la richiesta HTTP corrente.
- Oggetto contenente i valori HTTP inviati da un client durante una richiesta Web.
-
-
- Ottiene l'oggetto per la risposta HTTP corrente.
- Oggetto contenente le informazioni relative alla risposta HTTP di un'operazione ASP.NET.
-
-
- Ottiene l'oggetto che fornisce i metodi utilizzabili come parte dell'elaborazione di pagine Web.
- Oggetto .
-
-
- Ottiene l'oggetto per la richiesta HTTP corrente.
- Oggetto per la richiesta HTTP corrente.
-
-
- Ottiene i dati correlati al percorso URL.
- Dati correlati al percorso URL.
-
-
- Ottiene un valore utente basato sul contesto HTTP.
- Valore utente basato sul contesto HTTP.
-
-
- Ottiene il percorso virtuale della pagina.
- Percorso virtuale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Scrive un attributo associato all'helper.
- Writer di testo.
- Nome dell'attributo.
- Prefisso.
- Suffisso.
- Valore dell'attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Scrive un oggetto letterale nell'helper.
- Writer di testo.
- Valore dell'oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Scrive un oggetto risultato dell'helper nell'helper.
- Writer di testo
- Risultato dell'helper.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Scrive un oggetto nell'helper.
- Writer di testo.
- Valore dell'oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Scrive un oggetto risultato dell'helper nell'helper.
- Writer di testo.
- Valore del risultato dell'helper.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta l'interfaccia della modalità di visualizzazione per le pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un valore se le pagine Web sono in grado di gestire il contesto HTTP.
- true se le pagine Web sono in grado di gestire il contesto HTTP. In caso contrario, false.
- Contesto HTTP.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'ID della modalità di visualizzazione per le pagine Web.
- ID modalità di visualizzazione per le pagine Web.
-
-
- Restituisce questo metodo per visualizzare tutte le informazioni per le pagine Web.
- Metodo per visualizzare tutte le informazioni per le pagine Web.
- Contesto HTTP.
- Percorso virtuale.
- true se esiste il percorso virtuale. In caso contrario, false..
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce le proprietà e i metodi per gli oggetti che partecipano nelle pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un contenitore per la convalida del client per il campo obbligatorio.
- Contenitore per la convalida del client per il campo obbligatorio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Valuta la condizione che controlla e aggiorna il contesto di convalida.
- Condizione che controlla e aggiorna il contesto di convalida.
- Contesto di convalida.
-
-
- Definisce i metodi implementati dalle handler factory per percorsi virtuali.
-
-
- Crea una handler factory per il percorso virtuale specificato.
- Handler factory per il percorso virtuale specificato.
- Percorso virtuale.
-
-
- Determina se il percorso virtuale specificato è associato a una handler factory.
- true se per il percorso virtuale specificato esiste una handler factory. In caso contrario, false.
- Percorso virtuale.
-
-
- Definisce i metodi per implementare una classe esecutore in grado di eseguire il codice in una pagina Web.
-
-
- Esegue il codice nella pagina Web specificata.
- true se l'esecutore gestisce l'esecuzione della pagina Web. In caso contrario, false.
- Pagina Web.
-
-
- Rappresenta un attributo di percorso per una classe di pagine Web.
-
-
- Inizializza una nuova istanza della classe utilizzando il percorso virtuale specificato.
- Percorso virtuale.
-
-
- Ottiene il percorso virtuale della pagina Web corrente.
- Percorso virtuale.
-
-
- Fornisce un punto di registrazione per il codice di preavvio dell'applicazione per le pagine Web.
-
-
- Registra il codice di preavvio dell'applicazione per le pagine Web.
-
-
- Definisce i metodi di estensione per la classe .
-
-
- Determina se l'URL specificato fa riferimento al computer locale.
- true se l'URL specificato fa riferimento al computer locale. In caso contrario, false.
- Oggetto richiesta HTTP.
- URL da testare.
-
-
- Funge da classe di base astratta per le classi helper di convalida.
-
-
- Inizializza una nuova istanza della classe derivata e specifica il nome dell'elemento HTML in fase di convalida.
- Nome (valore dell'attributo name) dell'elemento di input utente da convalidare.
-
-
- Inizializza una nuova istanza della classe derivata, registra la stringa specificata come messaggio di errore da visualizzare se non viene fornito alcun valore e specifica se il metodo può utilizzare dati non convalidati.
- Messaggio di errore.
- true per utilizzare input utente non convalidati; false per rifiutare i dati non convalidati.Il parametro viene impostato su true chiamando metodi nei casi in cui il valore effettivo dell'input utente non è importante, ad esempio per i campi obbligatori.
-
-
- Se implementato in una classe derivata, ottiene un contenitore per la convalida client per il campo obbligatorio.
- Contenitore.
-
-
- Restituisce il contesto HTTP della richiesta corrente.
- Contesto.
- Contesto di convalida.
-
-
- Restituisce il valore da convalidare.
- Valore da convalidare.
- Richiesta corrente.
- Nome del campo della richiesta corrente da convalidare.
-
-
- Restituisce un valore che indica se il valore specificato è valido.
- true se il valore è valido. In caso contrario, false.
- Contesto corrente.
- Valore da convalidare.
-
-
- Esegue il test di convalida.
- Risultato del test di convalida.
- Contesto.
-
-
- Definisce i metodi di estensione per la classe base.
-
-
- Configura i criteri di cache di un'istanza di risposta HTTP.
- Istanza di risposta HTTP.
- Periodo di tempo, in secondi, prima della scadenza degli elementi nella cache.
- true per indicare che gli elementi scadono nella cache in base a un criterio di avvicendamento; false per indicare che gli elementi scadono quando raggiungono la scadenza predefinita.
- Elenco di tutti i parametri che possono essere ricevuti da un'operazione GET o POST che influiscono sulla memorizzazione nella cache.
- Elenco di tutte le intestazioni HTTP che influiscono sulla memorizzazione nella cache.
- Elenco di tutte le intestazioni Content-Encoding che influiscono sulla memorizzazione nella cache.
- Un valore di enumerazione che specifica come gli elementi vengono memorizzati nella cache.
-
-
- Imposta il codice di stato HTTP di una risposta HTTP utilizzando il valore Integer specificato.
- Istanza di risposta HTTP.
- Codice di stato HTTP.
-
-
- Imposta il codice di stato HTTP di una risposta HTTP utilizzando il valore di enumerazione del codice di stato HTTP specificato.
- Istanza di risposta HTTP.
- Codice di stato HTTP.
-
-
- Scrive una sequenza di byte che rappresentano contenuto binario di un tipo non specificato nel flusso di output di una risposta HTTP.
- Istanza di risposta HTTP.
- Matrice contenente i byte da scrivere.
-
-
- Scrive una sequenza di byte che rappresentano contenuto binario del tipo MIME specificato nel flusso di output di una risposta HTTP.
- Istanza di risposta HTTP di destinazione.
- Matrice contenente i byte da scrivere.
- Tipo MIME del contenuto binario.
-
-
- Fornisce un delegato che rappresenta uno o più metodi che vengono chiamati quando viene scritta una sezione di contenuto.
-
-
- Fornisce metodi e proprietà utilizzati per il rendering delle pagine di avvio che utilizzano il motore di visualizzazione Razor.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta la pagina figlio della pagina di avvio corrente.
- Pagina figlio della pagina di avvio corrente.
-
-
- Ottiene o imposta il contesto della pagina .
- Contesto della pagina .
-
-
- Chiama i metodi utilizzati per eseguire il codice scritto dallo sviluppatore nella pagina di avvio _PageStart e nella pagina .
-
-
- Restituisce l'istanza del writer di testo utilizzata per il rendering della pagina.
- Writer di testo.
-
-
- Restituisce la pagina di inizializzazione per la pagina specificata.
- Pagina _AppStart, se esistente.Se la pagina _AppStart non viene trovata, restituisce la pagina _PageStart, se esistente.Se è impossibile trovare le pagine _AppStart e _PageStart, restituisce .
- Pagina.
- Nome file della pagina.
- Insieme di estensioni di file che possono contenere sintassi ASP.NET Razor, come "cshtml" e "vbhtml".
-
- o sono null.
-
- è null o vuoto.
-
-
- Ottiene o imposta il percorso della pagina di layout per la pagina .
- Percorso della pagina di layout per la pagina .
-
-
- Ottiene l'accesso di tipo proprietà ai dati della pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Oggetto contenente dati di pagina .
-
-
- Ottiene l'accesso di tipo proprietà ai dati della pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Oggetto che fornisce l'accesso di tipo matrice ai dati della pagina .
-
-
- Esegue il rendering della pagina .
- Markup HTML che rappresenta la pagina Web.
- Percorso della pagina di cui eseguire il rendering.
- Dati aggiuntivi utilizzati per eseguire il rendering della pagina.
-
-
- Esegue il codice scritto dallo sviluppatore nella pagina .
-
-
- Scrive la rappresentazione stringa dell'oggetto specificato come stringa codificata in formato HTML.
- Oggetto da codificare e scrivere.
-
-
- Scrive la rappresentazione stringa dell'oggetto specificato come stringa codificata in formato HTML.
- Risultato dell'helper da codificare e scrivere.
-
-
- Scrive la rappresentazione stringa dell'oggetto specificato senza codifica HTML.
- Oggetto da scrivere.
-
-
- Fornisce metodi di utilità per convertire valori di stringa in altri tipi di dati.
-
-
- Converte una stringa in un valore fortemente tipizzato del tipo di dati specificato.
- Valore convertito.
- Valore da convertire.
- Tipo di dati in cui eseguire la conversione.
-
-
- Converte una stringa nel tipo di dati specificato e specifica un valore predefinito.
- Valore convertito.
- Valore da convertire.
- Valore da restituire se è null.
- Tipo di dati in cui eseguire la conversione.
-
-
- Converte una stringa in un valore booleano (true/false).
- Valore convertito.
- Valore da convertire.
-
-
- Converte una stringa in un valore booleano (true/false) e specifica un valore predefinito.
- Valore convertito.
- Valore da convertire.
- Valore da restituire se è null o non è valido.
-
-
- Converte una stringa in un valore.
- Valore convertito.
- Valore da convertire.
-
-
- Converte una stringa in un valore e specifica un valore predefinito.
- Valore convertito.
- Valore da convertire.
- Valore da restituire se è null o non è valido.Il valore predefinito è il valore minimo nel sistema.
-
-
- Converte una stringa in un numero .
- Valore convertito.
- Valore da convertire.
-
-
- Converte una stringa in un numero e specifica un valore predefinito.
- Valore convertito.
- Valore da convertire.
- Valore da restituire se è null o non è valido.
-
-
- Converte una stringa in un numero .
- Valore convertito.
- Valore da convertire.
-
-
- Converte una stringa in un numero e specifica un valore predefinito.
- Valore convertito.
- Valore da convertire.
- Valore da restituire se è null.
-
-
- Converte una stringa in un numero intero.
- Valore convertito.
- Valore da convertire.
-
-
- Converte una stringa in un numero intero e specifica un valore predefinito.
- Valore convertito.
- Valore da convertire.
- Valore da restituire se è null o non è valido.
-
-
- Verifica se una stringa può essere convertita nel tipo di dati specificato.
- true se può essere convertito nel tipo specificato. In caso contrario, false.
- Valore da testare.
- Tipo di dati in cui eseguire la conversione.
-
-
- Verifica se una stringa può essere convertita nel tipo booleano (true/false).
- true se può essere convertito nel tipo specificato. In caso contrario, false.
- Valore della stringa da testare.
-
-
- Verifica se una stringa può essere convertita nel tipo .
- true se può essere convertito nel tipo specificato. In caso contrario, false.
- Valore della stringa da testare.
-
-
- Verifica se una stringa può essere convertita nel tipo .
- true se può essere convertito nel tipo specificato. In caso contrario, false.
- Valore della stringa da testare.
-
-
- Verifica se un valore di stringa è null o vuoto.
- true se è null o una stringa di lunghezza zero (""). In caso contrario, false.
- Valore della stringa da testare.
-
-
- Verifica se una stringa può essere convertita nel tipo .
- true se può essere convertito nel tipo specificato. In caso contrario, false.
- Valore della stringa da testare.
-
-
- Verifica se una stringa può essere convertita in un numero intero.
- true se può essere convertito nel tipo specificato. In caso contrario, false.
- Valore della stringa da testare.
-
-
- Contiene metodi e proprietà che descrivono un modello di informazioni dei file.
-
-
- Inizializza una nuova istanza della classe utilizzando il percorso virtuale specificato.
- Percorso virtuale.
-
-
- Ottiene il percorso virtuale della pagina Web.
- Percorso virtuale.
-
-
- Rappresenta un insieme LIFO (Last In First Out) di file modello .
-
-
- Restituisce il file modello corrente dal contesto HTTP specificato.
- File modello, rimosso in cima allo stack.
- Contesto HTTP contenente lo stack in cui vengono memorizzati i file modello.
-
-
- Rimuove e restituisce il file modello in cima allo stack nel contesto HTTP specificato.
- File modello, rimosso in cima allo stack.
- Contesto HTTP contenente lo stack in cui vengono memorizzati i file modello.
-
- è null..
-
-
- Inserisce un file modello in cima allo stack nel contesto HTTP specificato.
- Contesto HTTP contenente lo stack in cui vengono memorizzati i file modello.
- File modello di cui effettuare il push nello stack specificato.
-
- o è null..
-
-
- Implementa la convalida per l'input utente.
-
-
- Registra un elenco di elementi di input utente per la convalida.
- Nomi (valore dell'attributo name) degli elementi di input utente da convalidare.
- Tipo di convalida da registrare per ciascun elemento di input utente specificato in .
-
-
- Registra un elemento di input utente per la convalida.
- Nome (valore dell'attributo name) dell'elemento di input utente da convalidare.
- Elenco di uno o più tipi di convalida da registrare.
-
-
- Aggiunge un messaggio di errore.
- Messaggio di errore.
-
-
- Esegue il rendering di un attributo che fa riferimento alla definizione di stile CSS da utilizzare per il rendering di messaggi di convalida per l'elemento di input utente.
- Attributo.
- Nome (valore dell'attributo name) dell'elemento di input utente da convalidare.
-
-
- Esegue il rendering degli attributi che consentono la convalida sul lato client per un singolo elemento di input utente.
- Attributi di cui eseguire il rendering.
- Nome (valore dell'attributo name) dell'elemento di input utente da convalidare.
-
-
- Ottiene il nome del form corrente.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Nome.
-
-
- Restituisce un elenco degli errori di convalida correnti e, facoltativamente, consente di specificare un elenco di campi da controllare.
- Elenco degli errori.
- Facoltativo.Nome (valore dell'attributo name) degli elementi di input utente per cui ottenere informazioni sugli errori.È possibile specificare un numero qualsiasi di nomi di elemento, separati da virgole.Se non si specifica un elenco di campi, il metodo restituisce gli errori per tutti i campi.
-
-
- Ottiene il nome della classe utilizzata per specificare l'aspetto della visualizzazione dei messaggi di errore quando si sono verificati errori.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Nome.
-
-
- Determina se il contenuto dei campi di input utente supera i controlli di convalida e, facoltativamente, consente di specificare un elenco di campi da controllare.
- true se tutti i campi specificati superano i controlli di convalida; false se qualsiasi campo contiene un errore di convalida.
- Facoltativo.Nomi (valore dell'attributo name) degli elementi di input utente in cui cercare errori di convalida.È possibile specificare un numero qualsiasi di nomi di elemento, separati da virgole.Se non si specifica un elenco di campi, il metodo controlla tutti gli elementi registrati per la convalida.
-
-
- Registra il campo specificato come un campo che richiede l'immissione di dati da parte dell'utente.
- Nome (valore dell'attributo name) dell'elemento di input utente da convalidare.
-
-
- Registra il campo specificato come un campo che richiede l'immissione di dati da parte dell'utente e registra la stringa specificata come messaggio di errore da visualizzare se non viene fornito alcun valore.
- Nome (valore dell'attributo name) dell'elemento di input utente da convalidare.
- Messaggio di errore.
-
-
- Registra i campi specificati come campi che richiedono l'immissione di dati da parte dell'utente.
- Nomi (valore dell'attributo name) degli elementi di input utente da convalidare.È possibile specificare un numero qualsiasi di nomi di elemento, separati da virgole.
-
-
- Esegue la convalida sugli elementi registrati a tale scopo e, facoltativamente, consente di specificare un elenco di campi da controllare.
- Elenco degli errori per i campi specificati, se si sono verificati errori di convalida.
- Facoltativo.Nomi (valore dell'attributo name) degli elementi di input utente da convalidare.È possibile specificare un numero qualsiasi di nomi di elemento, separati da virgole.Se non si specifica un elenco, il metodo convalida tutti gli elementi registrati.
-
-
- Ottiene il nome della classe utilizzata per specificare l'aspetto della visualizzazione dei messaggi di errore quando si sono verificati errori.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Nome.
-
-
- Definisce i test di convalida che possono essere registrati mediante il metodo .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Definisce un test di convalida che consente di verificare se un valore può essere considerato come un valore di data/ora.
- Test di convalida.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare se un valore può essere considerato come un numero decimale.
- Test di convalida.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare l'input utente rispetto al valore di un altro campo.
- Test di convalida.
- Altro campo da confrontare.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare se un valore può essere considerato come un numero a virgola mobile.
- Test di convalida.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare se un valore può essere considerato come un numero intero.
- Test di convalida.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare se un numero decimale è compreso in un intervallo specifico.
- Test di convalida.
- Valore minimo.Il valore predefinito è 0.
- Valore massimo.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare se un valore Integer è compreso in un intervallo specifico.
- Test di convalida.
- Valore minimo.Il valore predefinito è 0.
- Valore massimo.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare un valore rispetto a un criterio specificato come espressione regolare.
- Test di convalida.
- Espressione regolare da utilizzare per verificare l'input utente.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare se è stato fornito un valore.
- Test di convalida.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare la lunghezza di una stringa.
- Test di convalida.
- Lunghezza massima della stringa.
- Lunghezza minima della stringa.Il valore predefinito è 0.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare se un valore è un URL in formato corretto.
- Test di convalida.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Rappresenta una pagina ASP.NET Razor.
-
-
- Chiamato da una classe derivata per creare una nuova istanza basata sulla classe .
-
-
- Ottiene o imposta l'oggetto associato a una pagina.
- Dati del contesto corrente.
-
-
- Esegue il codice in un set di pagine dipendenti.
-
-
- Ottiene l'oggetto associato a una pagina.
- Oggetto in grado di eseguire il rendering di controlli dei form HTML in una pagina.
-
-
- Inizializza un oggetto che eredita dalla classe .
-
-
- Ottiene il modello associato a una pagina.
- Oggetto che rappresenta un modello associato ai dati della visualizzazione di una pagina.
-
-
- Ottiene lo stato del modello associato a una pagina.
- Stato del modello.
-
-
- Aggiunge una classe a un elenco di classi che gestiscono l'esecuzione delle pagine e implementano funzionalità personalizzate per le pagine.
- Classe da aggiungere.
-
-
- Esegue il rendering di una pagina di contenuto.
- Oggetto in grado di scrivere l'output della pagina.
- Percorso della pagina di cui eseguire il rendering.
- Dati da passare alla pagina.
-
-
- Ottiene l'helper di convalida per il contesto di pagina corrente.
- Helper di convalida.
-
-
- Funge da classe base per le classi che rappresentano una pagina ASP.NET Razor.
-
-
- Inizializza la classe per l'utilizzo da parte di un'istanza di classe ereditata.Questo costruttore può essere chiamato solo da una classe ereditata.
-
-
- Quando è sottoposto a override in una classe derivata, configura la pagina Web corrente in base alla configurazione della pagina Web padre.
- Pagina padre da cui eseguire la lettura delle informazioni di configurazione.
-
-
- Crea una nuova istanza della classe usando il percorso virtuale specificato.
- Nuovo oggetto .
- Percorso virtuale da usare per creare l'istanza.
-
-
- Tenta di creare un'istanza WebPageBase da un virtualPath e include le eccezioni complesse del compilatore con messaggi più semplici
-
-
- Chiamato dalle pagine di contenuto per creare sezioni di contenuto denominate.
- Nome della sezione da creare.
- Tipo di azione da eseguire con la nuova sezione.
-
-
- Esegue il codice in un set di pagine Web dipendenti.
-
-
- Esegue il codice in un set di pagine Web dipendenti usando i parametri specificati.
- Dati del contesto per la pagina.
- Writer da usare per scrivere il codice HTML eseguito.
-
-
- Esegue il codice in un set di pagine Web dipendenti usando il contesto, il writer e la pagina di avvio specificati.
- Dati del contesto per la pagina.
- Writer da usare per scrivere il codice HTML eseguito.
- Pagina per avviare l'esecuzione nella gerarchia delle pagine.
-
-
- Restituisce l'istanza del writer di testo usata per il rendering della pagina.
- Writer di testo.
-
-
- Inizializza la pagina corrente.
-
-
- Restituisce un valore che indica se nella pagina è definita la sezione specificata.
- true se nella pagina è definita la sezione specificata. In caso contrario, false.
- Nome della sezione da cercare.
-
-
- Ottiene o imposta il percorso di una pagina di layout.
- Percorso della pagina di layout.
-
-
- Ottiene l'oggetto corrente per la pagina.
- Oggetto .
-
-
- Ottiene lo stack di oggetti per il contesto di pagina corrente.
- Oggetti .
-
-
- Fornisce l'accesso di tipo proprietà ai dati di pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Oggetto contenente dati di pagina.
-
-
- Fornisce l'accesso di tipo matrice ai dati di pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Dizionario contenente dati di pagina.
-
-
- Restituisce e rimuove il contesto in cima all'istanza di .
-
-
- Inserisce il contesto specificato in cima all'istanza di .
- Contesto di pagina di cui effettuare il push nell'istanza di .
- Writer per il contesto di pagina.
-
-
- Nelle pagine di layout, esegue il rendering della porzione di una pagina di contenuto non inclusa in una sezione denominata.
- Contenuto HTML di cui eseguire il rendering.
-
-
- Esegue il rendering del contenuto di una pagina in un'altra pagina.
- Contenuto HTML di cui eseguire il rendering.
- Percorso della pagina di cui eseguire il rendering.
- (Facoltativo) Matrice di dati da passare alla pagina di cui viene eseguito il rendering.Nella pagina di cui viene eseguito il rendering, è possibile accedere a questi parametri mediante la proprietà .
-
-
- Nelle pagine di layout, esegue il rendering del contenuto di una sezione denominata.
- Contenuto HTML di cui eseguire il rendering.
- Sezione di cui eseguire il rendering.
- Il rendering della sezione è già stato eseguito.oppureLa sezione è stata contrassegnata come obbligatoria ma non è stata trovata.
-
-
- Nelle pagine di layout, esegue il rendering del contenuto di una sezione denominata e specifica se la sezione è obbligatoria.
- Contenuto HTML di cui eseguire il rendering.
- Sezione di cui eseguire il rendering.
- true per specificare che la sezione è obbligatoria. In caso contrario, false.
-
-
- Scrive l'oggetto specificato come stringa codificata in formato HTML.
- Oggetto da codificare e scrivere.
-
-
- Scrive l'oggetto specificato come stringa codificata in formato HTML.
- Risultato dell'helper da codificare e scrivere.
-
-
- Scrive l'oggetto specificato senza eseguirne innanzitutto la codifica HTML.
- Oggetto da scrivere.
-
-
- Contiene i dati utilizzati da un oggetto per fare riferimento ai dettagli relativi all'applicazione Web, alla richiesta HTTP corrente, al contesto di esecuzione corrente e ai dati di rendering della pagina.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto, la pagina e il modello specificati.
- Dati di contesto della richiesta HTTP da associare al contesto di pagina.
- Dati di pagina da condividere tra pagine, pagine di layout e pagine parziali.
- Modello da associare ai dati di visualizzazione.
-
-
- Ottiene un riferimento all'oggetto corrente associato a una pagina.
- Oggetto di contesto di pagina corrente.
-
-
- Ottiene il modello associato a una pagina.
- Oggetto che rappresenta un modello associato ai dati della visualizzazione di una pagina.
-
-
- Ottiene l'oggetto associato a una pagina.
- Oggetto che esegue il rendering della pagina.
-
-
- Ottiene i dati di pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Dizionario contenente dati di pagina.
-
-
- Fornisce oggetti e metodi usati per l'esecuzione e il rendering di pagine ASP.NET che includono sintassi Razor.
-
-
- Inizializza una nuova istanza della classe .Questo costruttore può essere chiamato solo da una classe ereditata.
-
-
-
-
-
-
-
-
- Quando è sottoposto a override in una classe derivata, ottiene o imposta l'oggetto associato a una pagina.
- Dati del contesto corrente.
-
-
-
-
-
-
-
- Restituisce l'istanza del writer di testo usata per il rendering della pagina.
- Writer di testo.
-
-
-
-
-
-
-
- Scrive la rappresentazione stringa dell'oggetto specificato come stringa codificata in formato HTML.
- Oggetto da codificare e scrivere.
-
-
- Scrive l'oggetto specificato come stringa codificata in formato HTML.
- Risultato dell'helper da codificare e scrivere.
-
-
-
-
-
- Scrive l'oggetto specificato senza codifica HTML.
- Oggetto da scrivere.
-
-
- Scrive l'oggetto specificato nell'istanza di specificata senza codifica HTML.
- Writer di testo.
- Oggetto da scrivere.
-
-
- Scrive l'oggetto specificato come stringa codificata in formato HTML nel writer di testo specificato.
- Writer di testo.
- Oggetto da codificare e scrivere.
-
-
- Scrive l'oggetto specificato come stringa codificata in formato HTML nel writer di testo specificato.
- Writer di testo.
- Risultato dell'helper da codificare e scrivere.
-
-
- Fornisce metodi e proprietà utilizzati per elaborare specifiche estensioni di URL.
-
-
- Inizializza una nuova istanza della classe utilizzando la pagina Web specificata.
- Pagina Web da elaborare.
-
- è null.
-
-
- Crea un nuovo oggetto gestore dal percorso virtuale specificato.
-
- Oggetto per il percorso virtuale specificato.
- Percorso virtuale da utilizzare per creare il gestore.
-
-
- Ottiene o imposta un valore che indica se le intestazioni di risposta delle pagine Web sono disabilitate.
- true se le intestazioni di risposta delle pagine Web sono disabilitate. In caso contrario, false.
-
-
- Restituisce un elenco di estensioni di file che l'istanza corrente è in grado di elaborare.
- Elenco di sola lettura delle estensioni di file elaborate dall'istanza corrente di .
-
-
- Ottiene un valore che indica se l'istanza di può essere utilizzata da un'altra richiesta.
- true se l'istanza di è riutilizzabile. In caso contrario, false.
-
-
- Elabora la pagina Web utilizzando il contesto specificato.
- Contesto da utilizzare durante l'elaborazione della pagina Web.
-
-
- Aggiunge un'estensione di file all'elenco delle estensioni elaborate dall'istanza corrente di .
- Estensione da aggiungere, senza punto iniziale.
-
-
- Nome del tag HTML (X-AspNetWebPages-Version) per la versione della specifica di ASP.NET Web Pages utilizzata dalla pagina Web.
-
-
- Fornisce metodi e proprietà utilizzati per il rendering delle pagine che utilizzano il motore di visualizzazione Razor.
-
-
- Inizializza una nuova istanza della classe .
-
-
-
-
-
- Quando è sottoposto a override in una classe derivata, chiama i metodi utilizzati per inizializzare la pagina.
-
-
-
-
- Quando è sottoposto a override in una classe derivata, ottiene o imposta il percorso di una pagina di layout.
- Percorso di una pagina di layout.
-
-
- Quando è sottoposto a override in una classe derivata, fornisce l'accesso di tipo proprietà ai dati di pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Oggetto contenente dati di pagina.
-
-
-
- Quando è sottoposto a override in una classe derivata, fornisce l'accesso di tipo matrice ai dati di pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Oggetto che fornisce l'accesso di tipo matrice ai dati di pagina.
-
-
-
- Quando è sottoposto a override in una classe derivata, esegue il rendering di una pagina Web.
- Markup che rappresenta la pagina Web.
- Percorso della pagina di cui eseguire il rendering.
- Dati aggiuntivi utilizzati per eseguire il rendering della pagina.
-
-
-
-
-
-
-
-
-
-
- Fornisce supporto per il rendering di moduli HTML e per la convalida di form in una pagina Web.
-
-
- Crea un dizionario di attributi HTML dall'oggetto di input, traducendo i caratteri di sottolineatura in trattini.
- Dizionario che rappresenta gli attributi HTML.
- Oggetto anonimo che descrive gli attributi HTML.
-
-
- Restituisce una stringa codificata in formato HTML che rappresenta l'oggetto specificato tramite una codifica minima adatta solo per gli attributi HTML racchiusi tra virgolette.
- Stringa codificata in formato HTML che rappresenta l'oggetto.
- Oggetto da codificare.
-
-
- Restituisce una stringa codificata in formato HTML che rappresenta la stringa specificata tramite una codifica minima adatta solo per gli attributi HTML racchiusi tra virgolette.
- Stringa codificata in formato HTML che rappresenta l'oggetto originale.
- Stringa da codificare.
-
-
- Restituisce un controllo casella di controllo HTML che ha il nome specificato.
- Markup HTML che rappresenta il controllo casella di controllo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di controllo HTML che ha il nome specificato e lo stato verificato predefinito.
- Markup HTML che rappresenta il controllo casella di controllo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- true per indicare che l'attributo checked è impostato su checked. In caso contrario, false.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di controllo HTML che ha il nome specificato, lo stato verificato predefinito e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo casella di controllo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- true per indicare che l'attributo checked è impostato su checked. In caso contrario, false.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di controllo HTML che ha il nome specificato, lo stato verificato predefinito e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo casella di controllo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- true per indicare che l'attributo checked è impostato su checked. In caso contrario, false.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di controllo HTML che ha il nome specificato e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo casella di controllo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di controllo HTML che ha il nome specificato e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo casella di controllo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato e che contiene le voci di elenco specificate.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Elenco di istanze di usate per popolare l'elenco.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato e attributi personalizzati definiti da un dizionario degli attributi e che contiene le voci di elenco specificate.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Elenco di istanze di usate per popolare l'elenco.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato e attributi personalizzati definiti da un oggetto attributo e che contiene le voci di elenco specificate.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato e attributi personalizzati definiti da un dizionario degli attributi e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato e attributi personalizzati definiti da un oggetto attributo e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato, attributi personalizzati definiti da un dizionario degli attributi e la selezione predefinita e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Valore che specifica la voce dell'elenco selezionata per impostazione predefinita.La voce selezionata è costituita dalla prima voce dell'elenco il cui valore o, in mancanza di esso, il cui nome corrisponde al parametro.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato, attributi personalizzati definiti da un oggetto attributo e la selezione predefinita e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Valore che specifica la voce dell'elenco selezionata per impostazione predefinita.La voce selezionata è costituita dalla prima voce dell'elenco il cui valore o, in mancanza di esso, il cui nome corrisponde al testo delle voci visualizzato.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce una stringa codificata in formato HTML che rappresenta l'oggetto specificato usando una codifica completa adatta al formato HTML arbitrario.
- Stringa codificata in formato HTML che rappresenta l'oggetto.
- Oggetto da codificare.
-
-
- Restituisce una stringa codificata in formato HTML che rappresenta la stringa specificata usando una codifica completa adatta al formato HTML arbitrario.
- Stringa codificata in formato HTML che rappresenta l'oggetto originale.
- Stringa da codificare.
-
-
- Restituisce un controllo nascosto HTML che ha il nome specificato.
- Markup HTML che rappresenta il controllo nascosto.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
-
- è null o vuoto.
-
-
- Restituisce un controllo nascosto HTML che ha il nome e il valore specificati.
- Markup HTML che rappresenta il controllo nascosto.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo nascosto HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo nascosto.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo nascosto HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo nascosto.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Ottiene o imposta il carattere usato per sostituire il punto (.) nell'attributo id dei moduli di cui è stato eseguito il rendering.
- Carattere usato per sostituire il punto nell'attributo id dei moduli di cui è stato eseguito il rendering.Il valore predefinito è il carattere di sottolineatura (_).
-
-
- Restituisce un'etichetta HTML in cui viene visualizzato il testo specificato.
- Markup HTML che rappresenta l'etichetta.
- Testo da visualizzare.
-
- è null o vuoto.
-
-
- Restituisce un'etichetta HTML in cui viene visualizzato il testo specificato e che ha gli attributi personalizzati specificati.
- Markup HTML che rappresenta l'etichetta.
- Testo da visualizzare.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un'etichetta HTML in cui viene visualizzato il testo specificato e che ha l'attributo for specificato.
- Markup HTML che rappresenta l'etichetta.
- Testo da visualizzare.
- Valore da assegnare all'attributo for dell'elemento di controllo HTML.
-
- è null o vuoto.
-
-
- Restituisce un'etichetta HTML in cui viene visualizzato il testo specificato e che ha l'attributo for specificato e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta l'etichetta.
- Testo da visualizzare.
- Valore da assegnare all'attributo for dell'elemento di controllo HTML.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un'etichetta HTML in cui viene visualizzato il testo specificato e che possiede l'attributo for specificato e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta l'etichetta.
- Testo da visualizzare.
- Valore da assegnare all'attributo for dell'elemento di controllo HTML.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato e che contiene le voci di elenco specificate.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Elenco di istanze di usate per popolare l'elenco.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato e attributi personalizzati definiti da un dizionario degli attributi e che contiene le voci di elenco specificate.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Elenco di istanze di usate per popolare l'elenco.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato e attributi personalizzati definiti da un oggetto attributo e che contiene le voci di elenco specificate.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato, la dimensione, le voci di elenco e le selezioni predefinite e che specifica se sono abilitate le selezioni multiple.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto che specifica le voci dell'elenco selezionate per impostazione predefinita.Le voci selezionate vengono recuperate tramite reflection esaminando le proprietà dell'oggetto.
- Valore da assegnare all'attributo size dell'elemento.
- true per indicare che sono abilitate le selezioni multiple. In caso contrario, false.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare la casella di riepilogo.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato e attributi personalizzati definiti da un dizionario degli attributi e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato e attributi personalizzati definiti da un oggetto attributo e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare la casella di riepilogo.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato e attributi personalizzati definiti da un dizionario degli attributi e che contiene le voci di elenco specificate, la voce predefinita e le selezioni.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto che specifica le voci dell'elenco selezionate per impostazione predefinita.Le voci selezionate vengono recuperate tramite reflection esaminando le proprietà dell'oggetto.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato, la dimensione, le voci, la voce predefinita e le selezioni e che specifica se sono abilitate le selezioni multiple.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto che specifica le voci dell'elenco selezionate per impostazione predefinita.Le voci selezionate vengono recuperate tramite reflection esaminando le proprietà dell'oggetto.
- Valore da assegnare all'attributo size dell'elemento.
- true per indicare che sono abilitate le selezioni multiple. In caso contrario, false.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato, la dimensione, attributi personalizzati definiti da un dizionario degli attributi, le voci, la voce predefinita e le selezioni e che specifica se sono abilitate le selezioni multiple.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto che specifica le voci dell'elenco selezionate per impostazione predefinita.Le voci selezionate vengono recuperate tramite reflection esaminando le proprietà dell'oggetto.
- Valore da assegnare all'attributo size dell'elemento.
- true per indicare che sono abilitate le selezioni multiple. In caso contrario, false.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato, la dimensione, attributi personalizzati definiti da un oggetto attributo, le voci, la voce predefinita e le selezioni e che specifica se sono abilitate le selezioni multiple.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto che specifica le voci dell'elenco selezionate per impostazione predefinita.Le voci selezionate vengono recuperate tramite reflection esaminando le proprietà dell'oggetto.
- Valore da assegnare all'attributo size dell'elemento.
- true per indicare che sono abilitate le selezioni multiple. In caso contrario, false.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome, le voci, la voce predefinita, attributi personalizzati definiti da un oggetto attributo e le selezioni.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto che specifica le voci dell'elenco selezionate per impostazione predefinita.Le voci selezionate vengono recuperate tramite reflection esaminando le proprietà dell'oggetto.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Crea un dizionario da un oggetto tramite l'aggiunta al dizionario della proprietà di ogni istanza pubblica come chiave con il rispettivo valore associato.Esporrà anche le proprietà pubbliche dai tipi derivati.Usato in genere con oggetti di tipo anonimo.
- Dizionario creato dei nomi di proprietà e dei valori di proprietà.
- Oggetto da convertire.
-
-
- Restituisce un controllo password HTML che ha il nome specificato.
- Markup HTML che rappresenta il controllo password.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
-
- è null o vuoto.
-
-
- Restituisce un controllo password HTML che ha il nome e il valore specificati.
- Markup HTML che rappresenta il controllo password.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo password HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo password.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo password HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo password.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo pulsante di opzione HTML che ha il nome e il valore specificati.
- Markup HTML che rappresenta il controllo pulsante di opzione.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.L'attributo name definisce il gruppo a cui appartiene il pulsante di opzione.
- Valore da assegnare all'attributo value dell'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo pulsante di opzione HTML che ha il nome specificato, il valore e lo stato selezionato predefinito.
- Markup HTML che rappresenta il controllo pulsante di opzione.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.L'attributo name definisce il gruppo a cui appartiene il pulsante di opzione.
- Valore da assegnare all'attributo value dell'elemento.
- true per indicare che il controllo è selezionato. In caso contrario, false.
-
- è null o vuoto.
-
-
- Restituisce un controllo pulsante di opzione HTML che ha il nome specificato, il valore, lo stato selezionato predefinito e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo pulsante di opzione.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.L'attributo name definisce il gruppo a cui appartiene il pulsante di opzione.
- Valore da assegnare all'attributo value dell'elemento.
- true per indicare che il controllo è selezionato. In caso contrario, false.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo pulsante di opzione HTML che ha il nome specificato, il valore, lo stato selezionato predefinito e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo pulsante di opzione.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.L'attributo name definisce il gruppo a cui appartiene il pulsante di opzione.
- Valore da assegnare all'attributo value dell'elemento.
- true per indicare che il controllo è selezionato. In caso contrario, false.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo pulsante di opzione HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo pulsante di opzione.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.L'attributo name definisce il gruppo a cui appartiene il pulsante di opzione.
- Valore da assegnare all'attributo value dell'elemento.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo pulsante di opzione HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo pulsante di opzione.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.L'attributo name definisce il gruppo a cui appartiene il pulsante di opzione.
- Valore da assegnare all'attributo value dell'elemento.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Esegue il wrapping del markup HTML in un'istanza di in modo che tale markup venga interpretato come markup HTML.
- HTML non codificato.
- Oggetto per il quale eseguire il rendering in HTML.
-
-
- Esegue il wrapping del markup HTML in un'istanza di in modo che tale markup venga interpretato come markup HTML.
- HTML non codificato.
- Stringa da interpretare come markup HTML anziché come stringa codificata in formato HTML.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome specificato.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textarea HTML.
-
- è null o vuoto.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome specificato e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textarea HTML.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome specificato e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textarea HTML.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome e il valore specificati.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textrarea HTML.
- Testo da visualizzare.
-
- è null o vuoto.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome specificato, il valore e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textarea HTML.
- Testo da visualizzare.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome specificato, il valore, gli attributi row e col e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textarea HTML.
- Testo da visualizzare.
- Valore da assegnare all'attributo rows dell'elemento.
- Valore da assegnare all'attributo cols dell'elemento.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome specificato, il valore, gli attributi row e col e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textarea HTML.
- Testo da visualizzare.
- Valore da assegnare all'attributo rows dell'elemento.
- Valore da assegnare all'attributo cols dell'elemento.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome specificato, il valore e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textarea HTML.
- Testo da visualizzare.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo testo HTML che ha il nome specificato.
- Markup HTML che rappresenta il controllo testo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
-
- è null o vuoto.
-
-
- Restituisce un controllo testo HTML che ha il nome e il valore specificati.
- Markup HTML che rappresenta il controllo testo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo testo HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo testo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo testo HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo testo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Ottiene o imposta un valore che indica se la pagina usa JavaScript non intrusivo per la funzionalità AJAX.
- true se la pagina usa JavaScript non intrusivo. In caso contrario, false.
-
-
- Ottiene o imposta il nome della classe CSS che definisce l'aspetto degli elementi input quando la convalida ha esito negativo.
- Nome della classe CSS.Il valore predefinito è field-validation-error.
-
-
- Ottiene o imposta il nome della classe CSS che definisce l'aspetto degli elementi input quando la convalida ha esito positivo.
- Nome della classe CSS.Il valore predefinito è input-validation-valid.
-
-
- Restituisce un elemento span HTML che contiene il primo messaggio di errore di convalida relativo al campo del form specificato.
- null se il valore del campo specificato è valido. In caso contrario, markup HTML che rappresenta il messaggio di errore di convalida associato al campo specificato.
- Nome del campo del form convalidato.
-
- è null o vuoto.
-
-
- Restituisce un elemento span HTML che ha gli attributi personalizzati specificati definiti da un dizionario degli attributi e che contiene il primo messaggio di errore di convalida relativo al campo del form specificato.
- null se il valore del campo specificato è valido. In caso contrario, markup HTML che rappresenta il messaggio di errore di convalida associato al campo specificato.
- Nome del campo del form convalidato.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un elemento span HTML che ha gli attributi personalizzati specificati definiti da un oggetto attributo e che contiene il primo messaggio di errore di convalida relativo al campo del form specificato.
- null se il valore del campo specificato è valido. In caso contrario, markup HTML che rappresenta il messaggio di errore di convalida associato al campo specificato.
- Nome del campo del form convalidato.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un elemento span HTML che contiene un messaggio di errore di convalida relativo al campo del form specificato.
- null se il valore del campo specificato è valido. In caso contrario, markup HTML che rappresenta il messaggio di errore di convalida associato al campo specificato.
- Nome del campo del form convalidato.
- Messaggio di errore di convalida da visualizzare.Se null, viene visualizzato il primo messaggio di errore di convalida associato al campo del form specificato.
-
- è null o vuoto.
-
-
- Restituisce un elemento span HTML che ha gli attributi personalizzati specificati definiti da un dizionario degli attributi e che contiene un messaggio di errore di convalida relativo al campo del form specificato.
- null se il campo specificato è valido. In caso contrario, markup HTML che rappresenta un messaggio di errore di convalida associato al campo specificato.
- Nome del campo del form convalidato.
- Messaggio di errore di convalida da visualizzare.Se null, viene visualizzato il primo messaggio di errore di convalida associato al campo del form specificato.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un elemento span HTML che ha gli attributi personalizzati specificati definiti da un oggetto attributo e che contiene un messaggio di errore di convalida relativo al campo del form specificato.
- null se il campo specificato è valido. In caso contrario, markup HTML che rappresenta un messaggio di errore di convalida associato al campo specificato.
- Nome del campo del form convalidato.
- Messaggio di errore di convalida da visualizzare.Se null, viene visualizzato il primo messaggio di errore di convalida associato al campo del form specificato.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Ottiene o imposta il nome della classe CSS che definisce l'aspetto dei messaggi di errore di convalida quando quest'ultima ha esito negativo.
- Nome della classe CSS.Il valore predefinito è field-validation-error.
-
-
- Ottiene o imposta il nome della classe CSS che definisce l'aspetto dei messaggi di errore di convalida quando quest'ultima ha esito positivo.
- Nome della classe CSS.Il valore predefinito è field-validation-valid.
-
-
- Restituisce un elemento div HTML che contiene un elenco non ordinato di tutti i messaggi di errore di convalida provenienti dal dizionario di stato del modello.
- Markup HTML che rappresenta i messaggi di errore di convalida.
-
-
- Restituisce un elemento div HTML che contiene un elenco non ordinato di messaggi di errore di convalida provenienti dal dizionario di stato del modello, con l'esclusione facoltativa degli errori a livello di campo.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- true per escludere dall'elenco i messaggi di errore di convalida a livello di campo; false per includere i messaggi di errore di convalida sia a livello di modello sia a livello di campo.
-
-
- Restituisce un elemento div HTML che ha gli attributi personalizzati specificati definiti da un dizionario degli attributi e che contiene un elenco non ordinato di tutti i messaggi di errore di convalida presenti nel dizionario di stato del modello.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- Nomi e valori di attributi personalizzati per l'elemento.
-
-
- Restituisce un elemento div HTML che ha gli attributi personalizzati specificati definiti da un oggetto attributo e che contiene un elenco non ordinato di tutti i messaggi di errore di convalida presenti nel dizionario di stato del modello.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
-
- Restituisce un elemento div HTML che contiene un messaggio di riepilogo e un elenco non ordinato di tutti i messaggi di errore di convalida presenti nel dizionario di stato del modello.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- Messaggio che precede l'elenco di messaggi di errore di convalida.
-
-
- Restituisce un elemento div HTML che ha gli attributi personalizzati specificati definiti da un dizionario degli attributi e che contiene un messaggio di riepilogo e un elenco non ordinato di messaggi di errore di convalida provenienti dal dizionario di stato del modello, con l'esclusione facoltativa degli errori a livello di campo.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- Messaggio di riepilogo che precede l'elenco di messaggi di errore di convalida.
- true per escludere dai risultati i messaggi di errore di convalida a livello di campo; false per includere i messaggi di errore di convalida sia a livello di modello sia a livello di campo.
- Nomi e valori di attributi personalizzati per l'elemento.
-
-
- Restituisce un elemento div HTML che ha gli attributi personalizzati specificati definiti da un oggetto attributo e che contiene un messaggio di riepilogo e un elenco non ordinato di messaggi di errore di convalida provenienti dal dizionario di stato del modello, con l'esclusione facoltativa degli errori a livello di campo.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- Messaggio di riepilogo che precede l'elenco di messaggi di errore di convalida.
- true per escludere dai risultati i messaggi di errore di convalida a livello di campo, false per includere tali messaggi.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
-
- Restituisce un elemento div HTML che ha gli attributi personalizzati specificati definiti da un dizionario degli attributi e che contiene un messaggio di riepilogo e un elenco non ordinato di tutti i messaggi di errore di convalida provenienti dal dizionario di stato del modello.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- Messaggio che precede l'elenco di messaggi di errore di convalida.
- Nomi e valori di attributi personalizzati per l'elemento.
-
-
- Restituisce un elemento div HTML che ha gli attributi personalizzati specificati definiti da un oggetto attributo e che contiene un messaggio di riepilogo e un elenco non ordinato di tutti i messaggi di errore di convalida provenienti dal dizionario di stato del modello.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- Messaggio di riepilogo che precede l'elenco di messaggi di errore di convalida.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
-
- Ottiene o imposta il nome della classe CSS che definisce l'aspetto di un riepilogo di convalida quando quest'ultima ha esito negativo.
- Nome della classe CSS.Il valore predefinito è validation-summary-errors.
-
-
- Ottiene o imposta il nome della classe CSS che definisce l'aspetto di un riepilogo di convalida quando quest'ultima ha esito positivo.
- Nome della classe CSS.Il valore predefinito è validation-summary-valid.
-
-
- Incapsula lo stato di associazione del modello a una proprietà di un argomento del metodo di azione o all'argomento stesso.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un elenco di stringhe che contiene gli errori che si sono verificati durante l'associazione del modello.
- Errore che si è verificato durante l'associazione del modello.
-
-
- Restituisce un oggetto che incapsula il valore associato durante l'associazione del modello.
- Valore associato.
-
-
- Rappresenta il risultato dell'associazione di un form pubblicato a un metodo di azione, che include informazioni quali lo stato della convalida e messaggi di errore di convalida.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando i valori copiati dal dizionario di stato del modello specificato.
- Dizionario di stato del modello da cui vengono copiati i valori.
-
-
- Aggiunge l'elemento specificato al dizionario di stato del modello.
- Voce da aggiungere al dizionario di stato del modello.
-
-
- Aggiunge una voce con la chiave e il valore specificati al dizionario di stato del modello.
- Chiave.
- Valore.
-
-
- Aggiunge un messaggio di errore allo stato del modello associato alla chiave specificata.
- Chiave associata allo stato del modello a cui viene aggiunto il messaggio di errore.
- Messaggio di errore.
-
-
- Aggiunge un messaggio di errore allo stato del modello associato all'intero form.
- Messaggio di errore.
-
-
- Rimuove tutti gli elementi dal dizionario di stato del modello.
-
-
- Determina se il dizionario di stato del modello contiene la voce specificata.
- true se il dizionario di stato del modello contiene la voce specificata. In caso contrario, false.
- Voce da ricercare.
-
-
- Determina se il dizionario di stato del modello contiene la chiave specificata.
- true se il dizionario di stato del modello contiene la chiave specificata. In caso contrario, false.
- Chiave da ricercare.
-
-
- Copia gli elementi del dizionario di stato del modello in una matrice, a partire dall'indice specificato.
- Istanza unidimensionale di in cui verranno copiati gli elementi.
- Indice in in corrispondenza del quale viene iniziata la copia.
-
-
- Ottiene il numero di stati del modello contenuti nel dizionario di stato del modello.
- Numero di stati del modello contenuti nel dizionario di stato del modello.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere la raccolta.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Ottiene un valore che indica se il dizionario di stato del modello è di sola lettura.
- true se il dizionario di stato del modello è di sola lettura. In caso contrario, false.
-
-
- Ottiene un valore che indica se a uno stato del modello nel dizionario sono associati messaggi di errore.
- true se a uno stato del modello nel dizionario sono associati messaggi di errore. In caso contrario, false.
-
-
- Determina se alla chiave specificata sono associati messaggi di errore.
- true se alla chiave specificata non è associato alcun messaggio di errore. In caso contrario, false.
- Chiave.
-
- è null.
-
-
- Ottiene o imposta lo stato del modello associato alla chiave specificata nel dizionario di stato del modello.
- Stato del modello associato alla chiave specificata nel dizionario.
-
-
- Ottiene un elenco contenente le chiavi presenti nel dizionario di stato del modello.
- Elenco di chiavi contenute nel dizionario di stato del modello.
-
-
- Copia i valori dal dizionario di stato del modello specificato in questa istanza di , sovrascrivendo i valori esistenti quando le chiavi corrispondono.
- Dizionario di stato del modello da cui vengono copiati i valori.
-
-
- Rimuove la prima occorrenza della voce specificata dal dizionario di stato del modello.
- true se la voce è stata rimossa dal dizionario di stato del modello; false se la voce non è stata rimossa o non è presente nel dizionario di stato del modello.
- Voce da rimuovere.
-
-
- Rimuove la voce con la chiave specificata dal dizionario di stato del modello.
- true se la voce è stata rimossa dal dizionario di stato del modello; false se la voce non è stata rimossa o non è presente nel dizionario di stato del modello.
- Chiave dell'elemento da rimuovere.
-
-
- Imposta il valore dello stato del modello associato alla chiave specificata.
- Chiave di cui impostare il valore.
- Valore su cui impostare la chiave.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere il dizionario di stato del modello.
- Enumeratore che può essere utilizzato per scorrere il dizionario di stato del modello.
-
-
- Ottiene il valore di stato del modello associato alla chiave specificata.
- true se il dizionario di stato del modello contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave di cui ottenere il valore.
- Quando termina, questo metodo restituisce il valore di stato del modello associato alla chiave specificata, se la chiave viene trovata. In caso contrario, contiene il valore predefinito per il tipo .Questo parametro viene passato senza inizializzazione.
-
-
- Ottiene un elenco contenente i valori contenuti nel dizionario di stato del modello.
- Elenco di valori contenuti nel dizionario di stato del modello.
-
-
- Rappresenta una voce contenuta in un elenco di selezione HTML.
-
-
- Inizializza una nuova istanza della classe utilizzando le impostazioni predefinite.
-
-
- Inizializza una nuova istanza della classe copiando la voce specificata nell'elenco di selezione.
- Voce dell'elenco di selezione da copiare.
-
-
- Ottiene o imposta un valore che indica se l'istanza di è selezionata.
- true se la voce contenuta nell'elenco di selezione è selezionata. In caso contrario, false.
-
-
- Ottiene o imposta il testo utilizzato per visualizzare l'istanza di in una pagina Web.
- Testo utilizzato per visualizzare la voce dell'elenco di selezione.
-
-
- Ottiene o imposta il valore dell'attributo HTML value relativo all'elemento HTML option associato all'istanza di .
- Valore dell'attributo HTML value associato alla voce dell'elenco di selezione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un servizio di strumentazione delle pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Viene chiamato prima di eseguire il rendering dell'output per il contesto specificato.
- Contesto.
- Percorso virtuale.
- Writer.
- Posizione iniziale.
- Lunghezza del contesto.
- Determina se il contesto è un valore letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Viene chiamato dopo l'esecuzione del rendering dell'output per il contesto specificato.
- Contesto.
- Percorso virtuale.
- Writer.
- Posizione iniziale.
- Lunghezza del contesto.
- Determina se il contesto è un valore letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se il servizio è disponibile.
- true se il servizio è disponibile. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta una posizione con tag.
- Tipo della posizione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Valore dell'istanza corrente.
- Offset.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash dell'istanza corrente.
- Codice hash dell'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti sono uguali.
- true se i due oggetti sono uguali. In caso contrario, false.
- Primo oggetto.
- Secondo oggetto.
-
-
- Converte l'oggetto specificato in un oggetto .
-
- che rappresenta l'oggetto convertito.
- Oggetto da convertire.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Converte in un oggetto .
-
- che rappresenta l'oggetto convertito.
- Oggetto da convertire.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti non sono uguali.
- true se i due oggetti non sono uguali. In caso contrario, false.
- Primo oggetto.
- Secondo oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione associata a .
- Posizione associata a .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di una stringa dell'oggetto .
- Stringa che rappresenta l'oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il valore dell'istanza corrente.
- Valore dell'istanza corrente.
-
-
- Definisce un provider di archiviazione per gli ambiti delle richieste ASP.NET.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il dizionario utilizzato per memorizzare dati nell'ambito dell'applicazione.
- Dizionario in cui vengono memorizzati i dati dell'ambito dell'applicazione.
-
-
- Ottiene o imposta il dizionario utilizzato per memorizzare dati nell'ambito corrente.
- Dizionario in cui vengono memorizzati i dati dell'ambito corrente.
-
-
- Ottiene il dizionario utilizzato per memorizzare dati nell'ambito globale.
- Dizionario in cui vengono memorizzati i dati dell'ambito globale.
-
-
- Ottiene il dizionario utilizzato per memorizzare dati nell'ambito della richiesta.
- Dizionario in cui vengono memorizzati i dati dell'ambito della richiesta.
-
-
- Definisce un dizionario che fornisce un accesso con ambito specifico ai dati.
-
-
- Ottiene e imposta il dizionario utilizzato per memorizzare dati nell'ambito corrente.
- Dizionario in cui vengono memorizzati i dati dell'ambito corrente.
-
-
- Ottiene il dizionario utilizzato per memorizzare dati in un ambito globale.
- Dizionario in cui vengono memorizzati i dati dell'ambito globale.
-
-
- Definisce una classe utilizzata per l'archiviazione in un ambito temporaneo.
-
-
- Restituisce un dizionario utilizzato per memorizzare dati in un ambito temporaneo, in base all'ambito contenuto nella proprietà .
- Dizionario in cui vengono memorizzati i dati dell'ambito temporaneo.
-
-
- Restituisce un dizionario utilizzato per memorizzare dati in un ambito temporaneo.
- Dizionario in cui vengono memorizzati i dati dell'ambito temporaneo.
- Contesto.
-
-
- Ottiene o imposta il provider dell'ambito corrente.
- Provider dell'ambito corrente.
-
-
- Ottiene il dizionario utilizzato per memorizzare dati nell'ambito corrente.
- Dizionario in cui vengono memorizzati i dati dell'ambito corrente.
-
-
- Ottiene il dizionario utilizzato per memorizzare dati in un ambito globale.
- Dizionario in cui vengono memorizzati i dati dell'ambito globale.
-
-
- Rappresenta una raccolta di chiavi e di valori utilizzati per memorizzare dati in ambiti diversi, ad esempio locale, globale e così via.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'ambito di base specificato.
- Ambito di base.
-
-
- Aggiunge una coppia chiave-valore all'oggetto utilizzando la raccolta generica specificata.
- Coppia chiave-valore.
-
-
- Aggiunge la chiave e il valore specificati all'oggetto .
- Chiave.
- Valore.
-
-
- Ottiene il dizionario in cui sono memorizzati i dati dell'oggetto .
-
-
- Ottiene l'ambito di base per l'oggetto .
- Ambito di base per l'oggetto .
-
-
- Rimuove tutte le chiavi e i valori dagli oggetti e concatenati.
-
-
- Restituisce un valore che indica se la coppia chiave-valore specificata esiste nell'oggetto o .
- true se l'oggetto o l'oggetto contiene un elemento con la coppia chiave-valore specificata. In caso contrario, false.
- Coppia chiave-valore.
-
-
- Restituisce un valore che indica se la chiave specificata esiste nell'oggetto o .
- true se l'oggetto o contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave.
-
-
- Copia tutti gli elementi presenti nell'oggetto e nell'oggetto in un oggetto , a partire dall'indice specificato.
- Matrice.
- Indice in base zero in .
-
-
- Ottiene il numero di coppie chiave-valore presenti negli oggetti e concatenati.
- Numero di coppie chiave-valore.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere gli oggetti e concatenati.
- Oggetto .
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere gli elementi distinti degli oggetti e concatenati.
- Enumeratore contenente elementi distinti degli oggetti dizionario concatenati.
-
-
- Ottiene un valore che indica se l'oggetto è di sola lettura.
- true se l'oggetto è di sola lettura. In caso contrario, false.
-
-
- Ottiene o imposta l'elemento associato alla chiave specificata.
- Elemento con la chiave specificata.
-
-
- Ottiene un oggetto contenente le chiavi degli oggetti concatenati e .
- Oggetto contenente tali chiavi.
-
-
- Rimuove la coppia chiave-valore specificata dagli oggetti concatenati e .
- true se la coppia chiave-valore viene rimossa; false se il parametro non viene trovato negli oggetti concatenati e .
- Coppia chiave-valore.
-
-
- Rimuove il valore con la chiave specificata dagli oggetti concatenati e .
- true se la coppia chiave-valore viene rimossa; false se il parametro non viene trovato negli oggetti concatenati e .
- Chiave.
-
-
- Imposta un valore utilizzando la chiave specificata negli oggetti concatenati e .
- Chiave.
- Valore.
-
-
- Restituisce un enumeratore per gli oggetti concatenati e .
- Enumeratore.
-
-
- Ottiene il valore associato alla chiave specificata dagli oggetti concatenati e .
- true se gli oggetti concatenati e contengono un elemento con la chiave specificata. In caso contrario, false.
- Chiave.
- Quando termina, questo metodo restituisce il valore associato alla chiave specificata, se questa viene trovata. In caso contrario, contiene il valore predefinito per il tipo del parametro .Questo parametro viene passato senza inizializzazione.
-
-
- Ottiene un oggetto contenente i valori degli oggetti concatenati e .
- Oggetto contenente tali valori.
-
-
- Fornisce un accesso con ambito specifico ai dati statici.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta un dizionario che memorizza i dati correnti in un contesto statico.
- Dizionario che fornisce i dati dell'ambito corrente.
-
-
- Ottiene un dizionario che memorizza i dati globali in un contesto statico.
- Dizionario che fornisce i dati dell'ambito globale.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.WebPages.it.3.2.3/Microsoft.AspNet.WebPages.it.3.2.3.nupkg b/packages/Microsoft.AspNet.WebPages.it.3.2.3/Microsoft.AspNet.WebPages.it.3.2.3.nupkg
deleted file mode 100644
index ba538e5..0000000
Binary files a/packages/Microsoft.AspNet.WebPages.it.3.2.3/Microsoft.AspNet.WebPages.it.3.2.3.nupkg and /dev/null differ
diff --git a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/System.Web.Helpers.resources.dll b/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/System.Web.Helpers.resources.dll
deleted file mode 100644
index 48c3ca0..0000000
Binary files a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/System.Web.Helpers.resources.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/System.Web.WebPages.Deployment.resources.dll b/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/System.Web.WebPages.Deployment.resources.dll
deleted file mode 100644
index 5b1b038..0000000
Binary files a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/System.Web.WebPages.Deployment.resources.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/System.Web.WebPages.Razor.resources.dll b/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/System.Web.WebPages.Razor.resources.dll
deleted file mode 100644
index 15d7d67..0000000
Binary files a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/System.Web.WebPages.Razor.resources.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/System.Web.WebPages.resources.dll b/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/System.Web.WebPages.resources.dll
deleted file mode 100644
index b35a74b..0000000
Binary files a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/System.Web.WebPages.resources.dll and /dev/null differ
diff --git a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/system.web.helpers.xml b/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/system.web.helpers.xml
deleted file mode 100644
index 6ffaf69..0000000
--- a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/system.web.helpers.xml
+++ /dev/null
@@ -1,839 +0,0 @@
-
-
-
- System.Web.Helpers
-
-
-
- Visualizza i dati sotto forma di grafico.
-
-
- Inizializza una nuova istanza della classe .
- Larghezza, in pixel, dell'immagine completa del grafico.
- Altezza, in pixel, dell'immagine completa del grafico.
- (Facoltativo) Modello (tema) da applicare al grafico.
- (Facoltativo) Percorso e nome file del modello (tema) da applicare al grafico.
-
-
- Aggiunge una legenda al grafico.
- Grafico.
- Testo del titolo della legenda.
- Nome univoco della legenda.
-
-
- Fornisce punti dati e attributi della serie per il grafico.
- Grafico.
- Nome univoco della serie.
- Tipo di grafico di una serie.
- Nome dell'area del grafico utilizzata per tracciare la serie di dati.
- Testo dell'etichetta dell'asse per la serie.
- Nome della serie associata alla legenda.
- Granularità dei marcatori dei punti dati.
- Valori da tracciare lungo l'asse x.
- Nome del campo per i valori x.
- Valori da tracciare lungo l'asse y.
- Elenco di nomi di campo delimitati da virgole per i valori y.
-
-
- Aggiunge un titolo al grafico.
- Grafico.
- Testo del titolo.
- Nome univoco del titolo.
-
-
- Associa un grafico a una tabella dati, creando un'unica serie per ogni valore univoco di una colonna.
- Grafico.
- Origine dati del grafico.
- Nome della colonna utilizzata per raggruppare i dati nella serie.
- Nome della colonna per i valori x.
- Elenco separato da virgole di nomi delle colonne per i valori y.
- Altre proprietà dei punti dati che è possibile associare.
- Ordine in base al quale verranno ordinate le serie.Il valore predefinito è "Ascending".
-
-
- Crea e associa i dati della serie alla tabella dati specificata, popolando facoltativamente più valori x.
- Grafico.
- Origine dati del grafico.Può essere qualsiasi oggetto .
- Nome della colonna di tabella utilizzata per i valori x della serie.
-
-
- Ottiene o imposta il nome del file che contiene l'immagine del grafico.
- Nome del file.
-
-
- Restituisce un'immagine del grafico come matrice di byte.
- Grafico.
- Formato dell'immagine.Il valore predefinito è "jpeg".
-
-
- Recupera il grafico specificato dalla cache.
- Grafico.
- ID dell'elemento della cache che contiene il grafico da recuperare.La chiave viene impostata quando si chiama il metodo .
-
-
- Ottiene o imposta l'altezza, in pixel, dell'immagine del grafico.
- Altezza del grafico.
-
-
- Salva un'immagine del grafico nel file specificato.
- Grafico.
- Nome e percorso del file di immagine.
- Formato del file di immagine, ad esempio "png" o "jpeg".
-
-
- Salva un grafico nella cache del sistema.
- ID dell'elemento della cache che contiene il grafico.
- ID del grafico nella cache.
- Numero di minuti in cui l'immagine del grafico deve essere mantenuta nella cache.Il valore predefinito è 20.
- true per indicare che la scadenza dell'elemento grafico nella cache viene reimpostata ogni volta che si accede all'elemento oppure false per indicare che la scadenza si basa su un intervallo assoluto, dal momento in cui l'elemento è stato aggiunto alla cache.Il valore predefinito è true.
-
-
- Salva un grafico come file XML.
- Grafico.
- Nome e percorso del file XML.
-
-
- Imposta i valori per l'asse orizzontale.
- Grafico.
- Titolo dell'asse x.
- Valore minimo dell'asse x.
- Valore massimo dell'asse x.
-
-
- Imposta i valori per l'asse verticale.
- Grafico.
- Titolo dell'asse y.
- Valore minimo dell'asse y.
- Valore massimo dell'asse y.
-
-
- Crea un oggetto in base all'oggetto corrente.
- Grafico.
- Formato di immagine da utilizzare per il salvataggio dell'oggetto .Il valore predefinito è "jpeg".Nel parametro non viene fatta distinzione tra maiuscole e minuscole.
-
-
- Ottiene o imposta la larghezza, in pixel, dell'immagine del grafico.
- Larghezza del grafico.
-
-
- Esegue il rendering dell'output dell'oggetto come immagine.
- Grafico.
- Formato dell'immagine.Il valore predefinito è "jpeg".
-
-
- Esegue il rendering dell'output di un oggetto memorizzato nella cache come immagine.
- Grafico.
- ID del grafico nella cache.
- Formato dell'immagine.Il valore predefinito è "jpeg".
-
-
- Specifica i temi visivi per un oggetto .
-
-
- Tema per grafici 2D che presenta un contenitore visivo con sfumatura blu, angoli arrotondati, ombreggiatura esterna e griglie a contrasto elevato.
-
-
- Tema per grafici 2D che presenta un contenitore visivo con sfumatura verde, angoli arrotondati, ombreggiatura esterna e griglie a basso contrasto.
-
-
- Tema per grafici 2D che non presenta né contenitore visivo né griglie.
-
-
- Tema per grafici 3D che presenta etichette limitate, griglie sparse a contrasto elevato e non presenta alcun contenitore visivo.
-
-
- Tema per grafici 2D che presenta un contenitore visivo con sfumatura gialla, angoli arrotondati, ombreggiatura esterna e griglie a contrasto elevato.
-
-
- Fornisce metodi per generare valori hash e crittografare password e altri dati sensibili.
-
-
- Genera una sequenza crittograficamente complessa di valori a byte casuali.
- Valore salt generato come stringa codificata in base 64.
- Numero di byte crittograficamente casuali da generare.
-
-
- Restituisce un valore hash per la matrice di byte specificata.
- Valore hash per sotto forma di stringa di caratteri esadecimali.
- Dati per i quali fornire un valore hash.
- Algoritmo utilizzato per generare il valore hash.Il valore predefinito è "sha256".
-
- è null.
-
-
- Restituisce un valore hash per la stringa specificata.
- Valore hash per sotto forma di stringa di caratteri esadecimali.
- Dati per i quali fornire un valore hash.
- Algoritmo utilizzato per generare il valore hash.Il valore predefinito è "sha256".
-
- è null.
-
-
- Restituisce un valore hash RFC 2898 per la password specificata.
- Valore hash per come stringa codificata in base 64.
- Password per cui generare un valore hash.
-
- è null.
-
-
- Restituisce un valore hash SHA-1 per la stringa specificata.
- Valore hash SHA-1 per sotto forma di stringa di caratteri esadecimali.
- Dati per i quali fornire un valore hash.
-
- è null.
-
-
- Restituisce un valore hash SHA-256 per la stringa specificata.
- Valore hash SHA-256 per sotto forma di stringa di caratteri esadecimali.
- Dati per i quali fornire un valore hash.
-
- è null.
-
-
- Determina se il valore hash RFC 2898 e la password sono una corrispondenza crittografica.
- true se il valore hash è una corrispondenza crittografica per la password. In caso contrario, false.
- Valore hash RFC 2898 calcolato in precedenza come stringa codificata in base 64.
- Password non crittografata da confrontare crittograficamente con .
-
- o è null.
-
-
- Rappresenta una serie di valori come una matrice di tipo JavaScript tramite le funzionalità dinamiche di Dynamic Language Runtime (DLR).
-
-
- Inizializza una nuova istanza della classe utilizzando i valori degli elementi della matrice specificati.
- Matrice di oggetti contenente i valori da aggiungere all'istanza di .
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere gli elementi dell'istanza di .
- Enumeratore che può essere utilizzato per scorrere gli elementi della matrice JSON.
-
-
- Restituisce il valore all'indice specificato nell'istanza di .
- Valore all'indice specificato.
-
-
- Restituisce il numero di elementi contenuti nell'istanza di .
- Numero di elementi contenuti nella matrice JSON.
-
-
- Converte un'istanza di in una matrice di oggetti.
- Matrice di oggetti che rappresenta la matrice JSON.
- Matrice JSON da convertire.
-
-
- Converte un'istanza di in una matrice di oggetti.
- Matrice di oggetti che rappresenta la matrice JSON.
- Matrice JSON da convertire.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere un insieme.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Converte l'istanza di in un tipo compatibile.
- true se la conversione ha avuto esito positivo. In caso contrario, false.
- Fornisce informazioni sull'operazione di conversione.
- Quando termina, questo metodo restituisce il risultato dell'operazione di conversione del tipo.Questo parametro viene passato senza inizializzazione.
-
-
- Verifica l'istanza di per i membri dinamici (non supportati) in modo da non generare un'eccezione.
- true in tutti i casi.
- Fornisce informazioni sull'operazione get.
- Quando termina, questo metodo restituisce null.Questo parametro viene passato senza inizializzazione.
-
-
- Rappresenta una raccolta di valori come un oggetto di tipo JavaScript utilizzando le funzionalità di Dynamic Language Runtime (DLR).
-
-
- Inizializza una nuova istanza della classe utilizzando i valori dei campi specificati.
- Dizionario di nomi e valori di proprietà da aggiungere all'istanza di come membri dinamici.
-
-
- Restituisce un elenco contenente il nome di tutti i membri dinamici (campi JSON) dell'istanza di .
- Elenco contenente il nome di tutti i membri dinamici (campi JSON).
-
-
- Converte l'istanza di in un tipo compatibile.
- true in tutti i casi.
- Fornisce informazioni sull'operazione di conversione.
- Quando termina, questo metodo restituisce il risultato dell'operazione di conversione del tipo.Questo parametro viene passato senza inizializzazione.
- Non è stato possibile convertire l'istanza nel tipo specificato.
-
-
- Ottiene il valore di un campo tramite l'indice specificato.
- true in tutti i casi.
- Fornisce informazioni sull'operazione get indicizzata.
- Matrice contenente un singolo oggetto che indicizza il campo in base al nome.L'oggetto deve essere convertibile in una stringa che specifica il nome del campo JSON da restituire.Se sono specificati più indici, quando il metodo termina restituisce null.
- Quando termina, il metodo restituisce il valore del campo indicizzato o null se l'operazione get ha avuto esito negativo.Questo parametro viene passato senza inizializzazione.
-
-
- Ottiene il valore di un campo tramite il nome specificato.
- true in tutti i casi.
- Fornisce informazioni sull'operazione get.
- Quando termina, il metodo restituisce il valore del campo o null se l'operazione ha avuto esito negativo.Questo parametro viene passato senza inizializzazione.
-
-
- Imposta il valore di un campo tramite l'indice specificato.
- true in tutti i casi.
- Fornisce informazioni sull'operazione di impostazione indicizzata.
- Matrice contenente un singolo oggetto che indicizza il campo in base al nome.L'oggetto deve essere convertibile in una stringa che specifica il nome del campo JSON da restituire.Se sono specificati più indici, non viene modificato né aggiunto alcun campo.
- Valore su cui impostare il campo.
-
-
- Imposta il valore di un campo tramite il nome specificato.
- true in tutti i casi.
- Fornisce informazioni sull'operazione set.
- Valore su cui impostare il campo.
-
-
- Fornisce metodi per l'utilizzo dei dati in formato JavaScript Object Notation (JSON).
-
-
- Converte i dati in formato JavaScript Object Notation (JSON) nell'elenco di dati fortemente tipizzato specificato.
- Dati con codifica JSON convertiti in un elenco fortemente tipizzato.
- Stringa codificata in formato JSON da convertire.
- Tipo di elenco fortemente tipizzato in cui convertire i dati JSON.
-
-
- Converte i dati in formato JavaScript Object Notation (JSON) in un oggetto dati.
- Dati con codifica JSON convertiti in oggetto dati.
- Stringa codificata in formato JSON da convertire.
-
-
- Converte i dati in formato JavaScript Object Notation (JSON) in un oggetto dati di un tipo specificato.
- Dati con codifica JSON convertiti nel tipo specificato.
- Stringa codificata in formato JSON da convertire.
- Tipo in cui devono essere convertiti i dati .
-
-
- Converte un oggetto dati in una stringa in formato JavaScript Object Notation (JSON).
- Restituisce una stringa di dati convertiti nel formato JSON.
- Oggetto dati da convertire.
-
-
- Converte un oggetto dati in una stringa in formato JavaScript Object Notation (JSON) e aggiunge la stringa all'oggetto specificato.
- Oggetto dati da convertire.
- Oggetto che contiene i dati JSON convertiti.
-
-
- Esegue il rendering dei nomi e dei valori delle proprietà dell'oggetto specificato e di tutti i sottoggetti a cui fa riferimento.
-
-
- Esegue il rendering dei nomi e dei valori delle proprietà dell'oggetto specificato e di tutti i sottoggetti.
- Per una variabile semplice, restituisce il tipo e il valore.Per un oggetto contenente più elementi, restituisce il nome o la chiave della proprietà e il valore di ogni proprietà.
- Oggetto per cui eseguire il rendering delle informazioni.
- Facoltativo.Specifica il livello di nidificazione dei sottoggetti per cui eseguire il rendering.Il valore predefinito è 10.
- Facoltativo.Specifica il numero massimo di caratteri visualizzati dal metodo per i valori dell'oggetto.Il valore predefinito è 1000.
-
- è minore di 0.
-
- è minore o uguale a 0.
-
-
- Visualizza le informazioni sull'ambiente del server Web che ospita la pagina Web corrente.
-
-
- Visualizza le informazioni sull'ambiente del server Web.
- Stringa di coppie nome/valore che contiene le informazioni sul server Web.
-
-
- Specifica la direzione in base alla quale ordinare un elenco di elementi.
-
-
- Ordina gli elementi dal più piccolo al più grande, ad esempio da 1 a 10.
-
-
- Ordina gli elementi dal più grande al più piccolo, ad esempio da 10 a 1.
-
-
- Fornisce una cache per archiviare i dati a cui si accede frequentemente.
-
-
- Recupera l'elemento specificato dall'oggetto .
- Elemento recuperato dalla cache oppure null se l'elemento non viene trovato.
- Identificatore per l'elemento della cache da recuperare.
-
-
- Rimuove l'elemento specificato dall'oggetto .
- Elemento rimosso dall'oggetto .Se l'elemento non viene trovato, restituisce null.
- Identificatore per l'elemento della cache da rimuovere.
-
-
- Inserisce un elemento nell'oggetto .
- Identificatore per l'elemento della cache.
- Dati da inserire nella cache.
- Facoltativo.Numero di minuti per cui conservare un elemento nella cache.Il valore predefinito è 20.
- Facoltativo.true per indicare che la scadenza dell'elemento della cache viene reimpostata ogni volta che si accede all'elemento oppure false per indicare che la scadenza è basata sul valore temporale assoluto da quando l'elemento è stato aggiunto alla cache.Il valore predefinito è true.In questo caso, se si utilizza il valore predefinito anche per il parametro , un elemento memorizzato nella cache scade 20 minuti dopo l'ultimo accesso.
- Il valore di è inferiore o uguale a zero.
- La scadenza variabile è abilitata e il valore di è superiore a un anno.
-
-
- Visualizza i dati in una pagina Web mediante un elemento table HTML.
-
-
- Inizializza una nuova istanza della classe .
- Dati da visualizzare.
- Raccolta contenente i nomi delle colonne dati da visualizzare.Per impostazione predefinita, questo valore viene popolato automaticamente in base ai valori contenuti nel parametro .
- Nome della colonna dati usata per ordinare la griglia per impostazione predefinita.
- Numero di righe visualizzate in ciascuna pagina della griglia quando il paging è abilitato.Il valore predefinito è 10.
- true per specificare che il paging è abilitato per l'istanza di . In caso contrario, false.Il valore predefinito è true.
- true per specificare che l'ordinamento è abilitato per l'istanza di . In caso contrario, false.Il valore predefinito è true.
- Valore dell'attributo HTML id usato per contrassegnare l'elemento HTML che ottiene gli aggiornamenti Ajax dinamici associati all'istanza di .
- Nome della funzione JavaScript che viene chiamata dopo l'aggiornamento dell'elemento HTML specificato dalla proprietà .Se non è specificato il nome di una funzione, non verrà chiamata alcuna funzione.Se la funzione specificata non esiste, si verificherà un errore JavaScript quando questa verrà richiamata.
- Prefisso applicato a tutti i campi stringa di query associati all'istanza di .Questo valore è usato per supportare più istanze di nella stessa pagina Web.
- Nome del campo stringa di query usato per specificare la pagina corrente dell'istanza di .
- Nome del campo stringa di query usato per specificare la riga attualmente selezionata dell'istanza di .
- Nome del campo stringa di query usato per specificare il nome della colonna dati in base alla quale è ordinata l'istanza di .
- Nome del campo stringa di query usato per specificare la direzione di ordinamento dell'istanza di .
-
-
- Aggiunge una funzione di ordinamento per una colonna specifica.
- Griglia corrente a cui è stato applicato il nuovo ordinatore personalizzato.
- Nome della colonna (usato per l'ordinamento)
- Funzione usata per selezionare una chiave in base alla quale eseguire l'ordinamento per ogni elemento nell'origine della griglia.
- Tipo di elementi nell'origine della griglia.
- Tipo di colonna, di solito dedotto dal tipo restituito della funzione keySelector.
-
-
- Ottiene il nome della funzione JavaScript da chiamare dopo l'aggiornamento dell'elemento HTML associato all'istanza di in risposta a una richiesta di aggiornamento Ajax.
- Nome della funzione.
-
-
- Ottiene il valore dell'attributo HTML id che contrassegna un elemento HTML nella pagina Web che riceve gli aggiornamenti Ajax dinamici associati all'istanza di .
- Valore dell'attributo id.
-
-
- Associa i dati specificati all'istanza di .
- L'istanza di associata e popolata.
- Dati da visualizzare.
- Raccolta contenente i nomi delle colonne dati da associare.
- true per abilitare ordinamento e paging dell'istanza di . In caso contrario, false.
- Numero di righe visualizzate in ciascuna pagina della griglia.
-
-
- Ottiene un valore che indica se l'istanza di supporta l'ordinamento.
- true se l'istanza supporta l'ordinamento. In caso contrario, false.
-
-
- Crea una nuova istanza di .
- Nuova colonna.
- Nome della colonna dati da associare all'istanza di .
- Testo visualizzato nell'intestazione della colonna della tabella HTML associata all'istanza di .
- Funzione usata per formattare i valori dei dati associati all'istanza di .
- Stringa che specifica il nome della classe CSS usata per definire lo stile delle celle della tabella HTML associate all'istanza di .
- true per abilitare l'ordinamento nell'istanza di mediante i valori dei dati associati all'istanza di . In caso contrario, false.Il valore predefinito è true.
-
-
- Ottiene una raccolta contenente il nome di ciascuna colonna dati associata all'istanza di .
- Raccolta di nomi di colonne dati.
-
-
- Restituisce una matrice contenente le istanze di specificate.
- Matrice di colonne.
- Un numero variabile di istanze colonna di .
-
-
- Ottiene il prefisso applicato a tutti i campi stringa di query associati all'istanza di .
- Prefisso per i campi stringa di query dell'istanza di .
-
-
- Restituisce un'istruzione JavaScript che può essere usata per l'aggiornamento dell'elemento HTML associato all'istanza di nella pagina Web specificata.
- Istruzione JavaScript che può essere usata per l'aggiornamento dell'elemento HTML in una pagina Web associata all'istanza di .
- URL della pagina Web contenente l'istanza di in fase di aggiornamento.L'URL può includere argomenti stringa di query.
-
-
- Restituisce il markup HTML usato per eseguire il rendering dell'istanza di e usare le opzioni di paging specificate.
- Markup HTML che rappresenta l'istanza di completamente popolata.
- Nome della classe CSS usata per definire lo stile dell'intera tabella.
- Nome della classe CSS usata per definire lo stile dell'intestazione della tabella.
- Nome della classe CSS usata per definire lo stile del piè di pagina della tabella.
- Nome della classe CSS usata per definire lo stile di ciascuna riga della tabella.
- Nome della classe CSS usata per definire lo stile delle righe di tabella con numeri pari.
- Nome della classe CSS usata per definire lo stile della riga di tabella selezionata.È possibile selezionare solo una riga alla volta.
- Didascalia della tabella.
- true per visualizzare l'intestazione della tabella. In caso contrario, false.Il valore predefinito è true.
- true per inserire righe aggiuntive nell'ultima pagina quando gli elementi di dati disponibili sono insufficienti a riempire tale pagina. In caso contrario, false.Il valore predefinito è false.Le righe aggiuntive vengono popolate usando il testo specificato dal parametro .
- Testo usato per popolare le righe aggiuntive in una pagina quando gli elementi di dati disponibili sono insufficienti a riempire l'ultima pagina.Per visualizzare le righe aggiuntive, è necessario impostare il parametro su true.
- Raccolta di istanze di che specificano la modalità di visualizzazione di ciascuna colonna,incluse la colonna dati associata a ciascuna colonna della griglia e la modalità di formattazione dei valori dati contenuti in ciascuna colonna della griglia.
- Raccolta contenente i nomi delle colonne dati da escludere quando la griglia esegue il popolamento automatico delle colonne.
- Combinazione bit per bit dei valori di enumerazione che specificano i metodi forniti per spostarsi fra le pagine dell'istanza di .
- Testo per l'elemento del collegamento HTML usato per passare alla prima pagina dell'istanza di .Il flag del parametro deve essere impostato in modo da visualizzare questo elemento di spostamento nella pagina.
- Testo per l'elemento del collegamento HTML usato per passare alla pagina precedente dell'istanza di .Il flag del parametro deve essere impostato in modo da visualizzare questo elemento di spostamento nella pagina.
- Testo per l'elemento del collegamento HTML usato per passare alla pagina successiva dell'istanza di .Il flag del parametro deve essere impostato in modo da visualizzare questo elemento di spostamento nella pagina.
- Testo per l'elemento del collegamento HTML usato per passare all'ultima pagina dell'istanza di .Il flag del parametro deve essere impostato in modo da visualizzare questo elemento di spostamento nella pagina.
- Numero dei collegamenti numerici alle pagine vicine.Il testo di ciascun collegamento di pagina numerico contiene il numero di pagina.Il flag del parametro deve essere impostato in modo da visualizzare questi elementi di spostamento nella pagina.
- Oggetto che rappresenta una raccolta di attributi (nomi e valori) da impostare per l'elemento table HTML che rappresenta l'istanza di .
-
-
- Restituisce un URL che può essere usato per visualizzare la pagina di dati specificata dell'istanza di .
- URL che può essere usato per visualizzare la pagina di dati specificata della griglia.
- Indice della pagina da visualizzare.
-
-
- Restituisce un URL che può essere usato per ordinare l'istanza di in base alla colonna specificata.
- URL che può essere usato per ordinare la griglia.
- Nome della colonna dati in base alla quale eseguire l'ordinamento.
-
-
- Ottiene un valore che indica se è selezionata una riga nell'istanza di .
- true se una riga è attualmente selezionata. In caso contrario, false.
-
-
- Restituisce un valore che indica se l'istanza di è in grado di usare chiamate Ajax per aggiornare la visualizzazione.
- true se l'istanza supporta le chiamate Ajax. In caso contrario, false.
-
-
- Ottiene il numero delle pagine contenute nell'istanza di
- Totale delle pagine.
-
-
- Ottiene il nome completo del campo stringa di query usato per specificare la pagina corrente dell'istanza di .
- Ottiene il nome completo del campo stringa di query usato per specificare la pagina corrente della griglia.
-
-
- Ottiene o imposta l'indice della pagina corrente dell'istanza di .
- Indice della pagina corrente.
-
-
- Restituisce il markup HTML usato per fornire il supporto di paging specificato per l'istanza di .
- Codice HTML che fornisce il supporto di paging per la griglia.
- Combinazione bit per bit dei valori di enumerazione che specificano i metodi forniti per spostarsi fra le pagine della griglia.L'oggetto predefinito è OR bit per bit dei flag e .
- Testo per l'elemento del collegamento HTML che consente di passare alla prima pagina della griglia.
- Testo per l'elemento del collegamento HTML che consente di passare alla pagina precedente della griglia.
- Testo per l'elemento del collegamento HTML che consente di passare alla pagina successiva della griglia.
- Testo per l'elemento del collegamento HTML che consente di passare all'ultima pagina della griglia.
- Numero dei collegamenti di pagina numerici da visualizzare.Il valore predefinito è 5.
-
-
- Ottiene un elenco contenente le righe presenti sulla pagina corrente dell'istanza di dopo l'ordinamento della griglia.
- Elenco di righe.
-
-
- Ottiene il numero di righe visualizzate in ciascuna pagina dell'istanza di .
- Numero di righe visualizzate in ciascuna pagina della griglia.
-
-
- Ottiene o imposta l'indice della riga selezionata rispetto alla pagina corrente dell'istanza di .
- Indice della riga selezionata rispetto alla pagina corrente.
-
-
- Ottiene la riga attualmente selezionata dell'istanza di .
- Riga attualmente selezionata.
-
-
- Ottiene il nome completo del campo stringa di query usato per specificare la riga selezionata dell'istanza di .
- Nome completo del campo stringa di query usato per specificare la riga selezionata della griglia.
-
-
- Ottiene o imposta il nome della colonna dati in base alla quale è ordinata l'istanza di .
- Nome della colonna dati usata per ordinare la griglia.
-
-
- Ottiene o imposta la direzione di ordinamento dell'istanza di .
- Direzione di ordinamento.
-
-
- Ottiene il nome completo del campo stringa di query usato per specificare la direzione di ordinamento dell'istanza di .
- Ottiene il nome completo del campo stringa di query usato per specificare la direzione di ordinamento della griglia.
-
-
- Ottiene il nome completo del campo stringa di query usato per specificare il nome della colonna dati in base alla quale è ordinata l'istanza di .
- Nome completo del campo stringa di query usato per specificare il nome della colonna dati in base alla quale è ordinata la griglia.
-
-
- Restituisce il markup HTML usato per eseguire il rendering dell'istanza di .
- Markup HTML che rappresenta l'istanza di completamente popolata.
- Nome della classe CSS usata per definire lo stile dell'intera tabella.
- Nome della classe CSS usata per definire lo stile dell'intestazione della tabella.
- Nome della classe CSS usata per definire lo stile del piè di pagina della tabella.
- Nome della classe CSS usata per definire lo stile di ciascuna riga della tabella.
- Nome della classe CSS usata per definire lo stile delle righe di tabella con numeri pari.
- Nome della classe CSS usata per definire lo stile della riga di tabella selezionata.
- Didascalia della tabella.
- true per visualizzare l'intestazione della tabella. In caso contrario, false.Il valore predefinito è true.
- true per inserire righe aggiuntive nell'ultima pagina quando gli elementi di dati disponibili sono insufficienti a riempire tale pagina. In caso contrario, false.Il valore predefinito è false.Le righe aggiuntive vengono popolate usando il testo specificato dal parametro .
- Testo usato per popolare le righe aggiuntive nell'ultima pagina quando gli elementi di dati disponibili sono insufficienti a riempire tale pagina.Per visualizzare le righe aggiuntive, è necessario impostare il parametro su true.
- Raccolta di istanze di che specificano la modalità di visualizzazione di ciascuna colonna,incluse la colonna dati associata a ciascuna colonna della griglia e la modalità di formattazione dei valori dati contenuti in ciascuna colonna della griglia.
- Raccolta contenente i nomi delle colonne dati da escludere quando la griglia esegue il popolamento automatico delle colonne.
- Funzione che restituisce il markup HTML usato per eseguire il rendering del piè di pagina della tabella.
- Oggetto che rappresenta una raccolta di attributi (nomi e valori) da impostare per l'elemento table HTML che rappresenta l'istanza di .
-
-
- Ottiene il numero totale delle righe contenute nell'istanza di .
- Numero totale delle righe contenute nella griglia.Questo valore include tutte le righe di ciascuna pagina, ma non include le righe aggiuntive inserite nell'ultima pagina quando gli elementi di dati disponibili sono insufficienti a riempire tale pagina.
-
-
- Rappresenta una colonna in un'istanza di .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta un valore che indica se la colonna può essere ordinata.
- true per indicare che la colonna può essere ordinata. In caso contrario, false.
-
-
- Ottiene o imposta il nome dell'elemento dati associato alla colonna .
- Nome dell'elemento dati.
-
-
- Ottiene o imposta una funzione utilizzata per formattare l'elemento dati associato alla colonna .
- Funzione utilizzata per formattare l'elemento dati associato alla colonna.
-
-
- Ottiene o imposta il testo di cui viene eseguito il rendering nell'intestazione della colonna .
- Testo di cui è stato eseguito il rendering nell'intestazione della colonna.
-
-
- Ottiene o imposta l'attributo della classe CSS di cui viene eseguito il rendering come parte delle celle della tabella HTML associate alla colonna .
- Attributo della classe CSS applicato alle celle associate alla colonna.
-
-
- Specifica i flag che descrivono i metodi forniti per lo spostamento tra le pagine di un'istanza di .Questa enumerazione contiene un attributo che consente una combinazione bit per bit dei relativi valori dei membri.
-
-
- Indica che sono forniti tutti i metodi per lo spostamento tra le pagine di .
-
-
- Indica che sono forniti metodi per passare direttamente alla prima o ultima pagina di .
-
-
- Indica che sono forniti metodi per passare alla pagina precedente o successiva di .
-
-
- Indica che sono forniti metodi per passare a una pagina vicina di utilizzando un numero di pagina.
-
-
- Rappresenta una riga in un'istanza di .
-
-
- Inizializza una nuova istanza della classe utilizzando l'istanza, il valore di riga e l'indice di specificati.
- Istanza di contenente la riga.
- Oggetto contenente un membro di proprietà per ogni valore nella riga.
- Indice della riga.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere i valori dell'istanza di .
- Enumeratore che può essere utilizzato per scorrere i valori della riga.
-
-
- Restituisce un elemento HTML (collegamento) che gli utenti possono utilizzare per selezionare la riga.
- Collegamento su cui gli utenti possono fare clic per selezionare la riga.
- Testo interno dell'elemento collegamento.Se è vuoto o null, viene utilizzato "Select".
-
-
- Restituisce l'URL che può essere utilizzato per selezionare la riga.
- URL utilizzato per selezionare una riga.
-
-
- Restituisce il valore all'indice specificato nell'istanza di .
- Valore all'indice specificato.
- Indice in base zero del valore della riga da restituire.
-
- è minore di 0 o maggiore o uguale al numero di valori nella riga.
-
-
- Restituisce il valore con il nome specificato nell'istanza di .
- Valore specificato.
- Nome del valore nella riga da restituire.
-
- è Nothing o vuoto.
-
- specifica un valore che non esiste.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere un insieme.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Restituisce una stringa che rappresenta tutti i valori dell'istanza di .
- Stringa che rappresenta i valori della riga.
-
-
- Restituisce il valore di un membro descritto dallo strumento di associazione specificato.
- true se il valore dell'elemento è stato recuperato. In caso contrario, false.
- Metodo Get del membro della proprietà associata.
- Quando termina, questo metodo restituisce un oggetto che contiene il valore dell'elemento descritto da .Questo parametro viene passato senza inizializzazione.
-
-
- Ottiene un oggetto contenente un membro di proprietà per ogni valore nella riga.
- Oggetto che contiene ogni valore nella riga come proprietà.
-
-
- Ottiene l'istanza di a cui appartiene la riga.
- Istanza di contenente la riga.
-
-
- Rappresenta un oggetto che consente di visualizzare e gestire immagini in una pagina Web.
-
-
- Inizializza una nuova istanza della classe utilizzando una matrice di byte per rappresentare l'immagine.
- Immagine.
-
-
- Inizializza una nuova istanza della classe utilizzando un flusso per rappresentare l'immagine.
- Immagine.
-
-
- Inizializza una nuova istanza della classe utilizzando un percorso per rappresentare la posizione dell'immagine.
- Percorso del file che contiene l'immagine.
-
-
- Aggiunge un'immagine di filigrana utilizzando il percorso dell'immagine stessa.
- Immagine filigranata.
- Percorso del file che contiene l'immagine di filigrana.
- Larghezza, in pixel, dell'immagine di filigrana.
- Altezza, in pixel, dell'immagine di filigrana.
- Allineamento orizzontale dell'immagine di filigrana.I valori possibili sono "Left", "Right" o "Center".
- Allineamento verticale della filigrana.I valori possibili sono "Top", "Middle" o "Bottom".
- Opacità dell'immagine di filigrana, specificata come valore compreso tra 0 e 100.
- Dimensione, in pixel, del riempimento attorno all'immagine di filigrana.
-
-
- Aggiunge un'immagine di filigrana utilizzando l'oggetto immagine specificato.
- Immagine filigranata.
- Oggetto .
- Larghezza, in pixel, dell'immagine di filigrana.
- Altezza, in pixel, dell'immagine di filigrana.
- Allineamento orizzontale dell'immagine di filigrana.I valori possibili sono "Left", "Right" o "Center".
- Allineamento verticale della filigrana.I valori possibili sono "Top", "Middle" o "Bottom".
- Opacità dell'immagine di filigrana, specificata come valore compreso tra 0 e 100.
- Dimensione, in pixel, del riempimento attorno all'immagine di filigrana.
-
-
- Aggiunge il testo della filigrana all'immagine.
- Immagine filigranata.
- Testo da utilizzare come filigrana.
- Colore del testo della filigrana.
- Dimensione del carattere del testo della filigrana.
- Stile del carattere del testo della filigrana.
- Tipo di carattere del testo della filigrana.
- Allineamento orizzontale del testo della filigrana.I valori possibili sono "Left", "Right" o "Center".
- Allineamento verticale del testo della filigrana.I valori possibili sono "Top", "Middle" o "Bottom".
- Opacità dell'immagine di filigrana, specificata come valore compreso tra 0 e 100.
- Dimensione, in pixel, del riempimento attorno al testo della filigrana.
-
-
- Copia l'oggetto .
- Immagine.
-
-
- Ritaglia un'immagine.
- Immagine ritagliata.
- Numero di pixel da rimuovere dall'alto.
- Numero di pixel da rimuovere da sinistra.
- Numero di pixel da rimuovere dal basso.
- Numero di pixel da rimuovere da destra.
-
-
- Ottiene o imposta il nome file dell'oggetto .
- Nome file.
-
-
- Capovolge un'immagine orizzontalmente.
- Immagine capovolta.
-
-
- Capovolge un'immagine verticalmente.
- Immagine capovolta.
-
-
- Restituisce l'immagine come matrice di byte.
- Immagine.
- Valore dell'oggetto .
-
-
- Restituisce un'immagine che è stata aggiornata utilizzando il browser.
- Immagine.
- (Facoltativo) Nome del file pubblicato.Se non viene specificato alcun nome, viene restituito il primo file che è stato caricato.
-
-
- Ottiene l'altezza, in pixel, dell'immagine.
- Altezza.
-
-
- Ottiene il formato dell'immagine, ad esempio "jpeg" o "png".
- Formato di file dell'immagine.
-
-
- Ridimensiona un'immagine.
- Immagine ridimensionata.
- Larghezza, in pixel, dell'oggetto .
- Altezza, in pixel, dell'oggetto .
- true per mantenere le proporzioni dell'immagine. In caso contrario, false.
- true per impedire l'ingrandimento dell'immagine. In caso contrario false.
-
-
- Ruota un'immagine a sinistra.
- Immagine ruotata.
-
-
- Ruota un'immagine a destra.
- Immagine ruotata.
-
-
- Salva l'immagine utilizzando il nome file specificato.
- Immagine.
- Percorso in cui salvare l'immagine.
- Formato da utilizzare al momento del salvataggio dell'immagine, ad esempio "gif" o "png".
- true per forzare l'utilizzo dell'estensione del nome file corretta per il formato specificato in . In caso contrario, false.In caso di mancata corrispondenza tra il tipo di file e l'estensione del nome file specificata, e se è true, verrà aggiunta l'estensione corretta al nome file.Ad esempio, un file PNG denominato Photograph.txt viene salvato con il nome Photograph.txt.png.
-
-
- Ottiene la larghezza, in pixel, dell'immagine.
- Larghezza.
-
-
- Esegue il rendering dell'immagine nel browser.
- Immagine.
- (Facoltativo) Formato di file da utilizzare quando l'immagine viene scritta.
-
-
- Consente di creare e inviare un messaggio di posta elettronica mediante il protocollo SMTP (Simple Mail Transfer Protocol).
-
-
- Ottiene o imposta un valore che indica se viene utilizzato Secure Sockets Layer (SSL) per crittografare la connessione quando viene inviato un messaggio di posta elettronica.
- true se viene utilizzato SSL per crittografare la connessione. In caso contrario, false.
-
-
- Ottiene o imposta l'indirizzo di posta elettronica del mittente.
- Indirizzo di posta elettronica del mittente.
-
-
- Ottiene o imposta la password dell'account di posta elettronica del mittente.
- Password del mittente.
-
-
- Invia il messaggio specificato a un server SMTP per il recapito.
- Indirizzo di posta elettronica del destinatario o dei destinatari.Separare più destinatari con un punto e virgola (;).
- Riga dell'oggetto del messaggio di posta elettronica.
- Corpo del messaggio di posta elettronica.Se è true, il codice HTML nel corpo viene interpretato come markup.
- (Facoltativo) Indirizzo di posta elettronica del mittente del messaggio oppure null per non specificare un mittente.Il valore predefinito è null.
- (Facoltativo) Indirizzo di posta elettronica degli altri destinatari a cui inviare una copia del messaggio oppure null in assenza di ulteriori destinatari.Separare più destinatari con un punto e virgola (;).Il valore predefinito è null.
- (Facoltativo) Insieme di nomi di file che specifica i file da allegare al messaggio di posta elettronica oppure null se non sono presenti file da allegare.Il valore predefinito è null.
- (Facoltativo) true per specificare che il corpo del messaggio di posta elettronica è in formato HTML, false per indicare che il corpo è in formato testo normale.Il valore predefinito è true.
- (Facoltativo) Insieme di intestazioni da aggiungere alle normali intestazioni SMTP nel messaggio di posta elettronica oppure null per non inviare intestazioni aggiuntive.Il valore predefinito è null.
- (Facoltativo) Indirizzo di posta elettronica degli altri destinatari a cui inviare una copia "nascosta" del messaggio oppure null in assenza di ulteriori destinatari.Separare più destinatari con un punto e virgola (;).Il valore predefinito è null.
- (Facoltativo) Codifica da utilizzare per il corpo del messaggio.I valori possibili sono quelli delle proprietà della classe , ad esempio .Il valore predefinito è null.
- (Facoltativo) Codifica da utilizzare per l'intestazione del messaggio.I valori possibili sono quelli delle proprietà della classe , ad esempio .Il valore predefinito è null.
- (Facoltativo) Valore ("Normale", "Bassa", "Alta") che specifica la priorità del messaggio.Il valore predefinito è "Normale".
- (Facoltativo) Indirizzo di posta elettronica che verrà utilizzato quando il destinatario risponderà al messaggio.Il valore predefinito è null, che indica che l'indirizzo della risposta è il valore della proprietà From.
-
-
- Ottiene o imposta la porta utilizzata per le transazioni SMTP.
- Porta utilizzata per le transazioni SMTP.
-
-
- Ottiene o imposta il nome del server SMTP utilizzato per trasmettere il messaggio di posta elettronica.
- Server SMTP.
-
-
- Ottiene o imposta un valore che indica se le credenziali predefinite vengono inviate con le richieste.
- true se le credenziali vengono inviate con il messaggio di posta elettronica. In caso contrario, false.
-
-
- Ottiene o imposta il nome dell'account di posta elettronica utilizzato per inviare messaggi.
- Nome dell'account utente.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/system.web.webpages.deployment.xml b/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/system.web.webpages.deployment.xml
deleted file mode 100644
index f154ea4..0000000
--- a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/system.web.webpages.deployment.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
- System.Web.WebPages.Deployment
-
-
-
- Fornisce un punto di registrazione per il codice di preavvio dell'applicazione per la distribuzione di pagine Web.
-
-
- Registra il codice di preavvio dell'applicazione per la distribuzione di pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Fornisce metodi utilizzati per ottenere informazioni sulla distribuzione dell'applicazione Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso dell'assembly per la distribuzione di Web Pages.
- Percorso dell'assembly per la distribuzione di Web Pages.
- Versione di Web Pages.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la versione di Web Pages dal percorso binario specificato.
- Versione di Web Pages.
- Percorso binario per Web Pages.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene i riferimenti all'assembly dal percorso specificato, indipendentemente dalla versione di Web Pages.
- Dizionario contenente i riferimenti all'assembly delle Web Pages e la relativa versione.
- Percorso dell'applicazione Web Pages.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la versione massima degli assembly Web Pages caricati.
- Versione massima degli assembly Web Pages caricati.
-
-
- Ottiene la versione di Web Pages dal percorso specificato.
- Versione di Web Pages.
- Percorso della directory radice per l'applicazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la versione di Web Pages utilizzando le impostazioni di configurazione con il percorso specificato.
- Versione di Web Pages.
- Percorso delle impostazioni dell'applicazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce gli assembly per la distribuzione di Web Pages.
- Elenco contenente gli assembly per la distribuzione di Web Pages.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se la distribuzione di Web Pages è abilitata.
- true se la distribuzione di Web Pages è abilitata. In caso contrario, false.
- Percorso della distribuzione di Web Pages.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica se la distribuzione di Web Pages è esplicitamente disabilitata.
- true se la distribuzione di Web Pages è esplicitamente disabilitata. In caso contrario, false.
- Percorso della distribuzione di Web Pages.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/system.web.webpages.razor.xml b/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/system.web.webpages.razor.xml
deleted file mode 100644
index 582c8a0..0000000
--- a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/system.web.webpages.razor.xml
+++ /dev/null
@@ -1,292 +0,0 @@
-
-
-
- System.Web.WebPages.Razor
-
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta la classe di base per il percorso di compilazione contenente i dati dell'evento.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Stringa del percorso virtuale.
- Host per il Razor delle pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta l'host per il Razor delle pagine Web.
- Host per il Razor delle pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso virtuale per la pagina Web.
- Percorso virtuale per la pagina Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un provider di versioni per Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge una dipendenza del percorso virtuale alla raccolta.
- Dipendenza del percorso virtuale da aggiungere.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il compilatore di assembly per l'ambiente Razor.
- Compilatore di assembly.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene le impostazioni del compilatore per l'ambiente Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Si verifica al termine della generazione del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Si verifica all'inizio della generazione del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Si verifica durante la compilazione con un nuovo percorso virtuale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un'istanza dell'host del motore Razor basata sulla configurazione Web.
- Istanza dell'host del motore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera il codice utilizzando il compilatore di assembly fornito.
- Compilatore di assembly.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il tipo del codice generato.
- Tipo del codice generato.
- Risultati della compilazione del codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea l'istanza dell'host del motore Razor basata sulla configurazione Web.
- Istanza dell'host del motore Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Apre un lettore di testo interno.
- Lettore di testo interno.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Genera l'evento CompilingPath.
- Dati forniti per l'evento CompilingPath.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso virtuale del codice sorgente.
- Percorso virtuale del codice sorgente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la raccolta dei percorsi virtuali per le dipendenze.
- Raccolta dei percorsi virtuali per le dipendenze.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un host Razor del codice Web per la pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Percorso virtuale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Percorso virtuale.
- Percorso fisico.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il nome della classe di questa istanza.
- Nome della classe di questa istanza.
- Percorso virtuale.
-
-
- Genera un codice di post-elaborazione per l'host Razor del codice Web.
- Contesto del codice generato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta gli host Razor in una pagina Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza delle classe con il percorso virtuale del file specificato.
- Percorso del file virtuale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe con il percorso virtuale e fisico del file specificato.
- Percorso del file virtuale.
- Percorso del file fisico.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un'importazione globale nella pagina Web.
- Nome del servizio di notifica.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'oggetto .
- Oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un parser di markup.
- Parser di markup.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore per DefaultBaseClass.
- Valore per DefaultBaseClass.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il nome della classe predefinita.
- Nome della classe predefinita.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se la compilazione con debug è impostata sul valore predefinito.
- true se la compilazione con debug è impostata sul valore predefinito. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la classe di base della pagina predefinita.
- Classe di base della pagina predefinita.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Recupera il nome della classe a cui appartiene la pagina Web specificata.
- Nome della classe a cui appartiene la pagina Web specificata.
- Percorso del file virtuale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il linguaggio del codice specificato nella pagina Web.
- Linguaggio del codice specificato nella pagina Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene le importazioni globali per la pagina Web.
- Importazioni globali per la pagina Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il percorso file dell'origine strumentale.
- Percorso file dell'origine strumentale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se la pagina Web è una pagina speciale.
- true se la pagina Web è una pagina speciale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso fisico del file system dell'host Razor.
- Percorso fisico del file system dell'host Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il codice generato dopo il processo.
- Oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Registra il file speciale con il nome file e il nome del tipo base specificati.
- Nome file.
- Nome del tipo base.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Registra il file speciale con il nome e il tipo base del file specificati.
- Nome file.
- Tipo di file di base.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso virtuale del file.
- Percorso del file virtuale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea istanze di file host.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Carica le informazioni di descrizione del servizio dal file di configurazione e le applica all'host.
- Configurazione.
- Pagina Web dell'host Razor.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un host predefinito con il percorso virtuale specificato.
- Host predefinito.
- Percorso virtuale del file.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un host predefinito con il percorso virtuale e fisico specificato.
- Host predefinito.
- Percorso virtuale del file.
- Percorso fisico del file system.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un host Razor.
- Host Razor.
- Percorso virtuale del file di destinazione.
- Percorso fisico del file di destinazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un host dalla configurazione.
- Host dalla configurazione.
- Percorso virtuale del file di destinazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un host dalla configurazione.
- Host dalla configurazione.
- Percorso virtuale del file.
- Percorso fisico del file system.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un host dalla configurazione.
- Host dalla configurazione.
- Configurazione.
- Percorso virtuale del file.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Crea un host dalla configurazione.
- Host dalla configurazione.
- Configurazione.
- Percorso virtuale del file.
- Percorso fisico del file system.
-
-
- Fornisce il supporto del sistema di configurazione per la sezione di configurazione host.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta la factory host.
- Factory host.
-
-
- Rappresenta il nome della sezione di configurazione per un ambiente host Razor.
-
-
- Fornisce il supporto del sistema di configurazione per la sezione di configurazione pages.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta la raccolta di spazi dei nomi da aggiungere alle pagine Web Pages nell'applicazione corrente.
- Raccolta di spazi dei nomi.
-
-
- Ottiene o imposta il nome della classe del tipo base di pagina.
- Nome della classe del tipo base di pagina.
-
-
- Rappresenta il nome della sezione di configurazione per pagine Razor.
-
-
- Fornisce il supporto del sistema di configurazione per la sezione di configurazione system.web.webPages.razor.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Rappresenta il nome della sezione di configurazione per la sezione Web Razor.Contiene la stringa statica di sola lettura "system.web.webPages.razor".
-
-
- Ottiene o imposta il valore host per il gruppo di sezioni system.web.webPages.razor.
- Valore host.
-
-
- Ottiene o imposta il valore dell'elemento pages per la sezione system.web.webPages.razor.
- Valore dell'elemento pages.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/system.web.webpages.xml b/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/system.web.webpages.xml
deleted file mode 100644
index 2a7ad70..0000000
--- a/packages/Microsoft.AspNet.WebPages.it.3.2.3/lib/net45/it/system.web.webpages.xml
+++ /dev/null
@@ -1,2712 +0,0 @@
-
-
-
- System.Web.WebPages
-
-
-
- Consente di impedire a script dannosi di inviare richieste di pagine manomesse.
-
-
- Aggiunge un token di autenticazione a un form per la protezione da richieste false.
- Restituisce una stringa che contiene il valore del token crittografato in un campo HTML nascosto.
- L'oggetto corrente è null.
-
-
- Aggiunge un token di autenticazione a un form per la protezione da richieste false e consente ai chiamanti di specificare i dettagli dell'autenticazione.
- Restituisce il valore del token crittografato in un campo HTML nascosto.
- Dati del contesto HTTP per una richiesta.
- Stringa facoltativa di caratteri casuali, ad esempio Z*7g1&p4, utilizzata per aggiungere complessità alla crittografia per maggiore sicurezza.Il valore predefinito è null.
- Dominio di un'applicazione Web da cui viene inviata una richiesta.
- Percorso radice virtuale di un'applicazione Web da cui viene inviata la richiesta.
-
- è null.
-
-
- Ottiene il token di ricerca.
- Token del cookie precedente.
- Nuovo token del cookie.
- Form del token.
-
-
- Verifica che i dati di input di un campo del form HTML provengano dall'utente che ha inviato tali dati.
- Il valore corrente è null.
- Token del cookie HTTP associato a una richiesta valida mancanteoppureToken del form mancante.oppureIl valore del token del form non corrisponde al valore del token del cookie.oppureIl valore del token del form non corrisponde al valore del token del cookie.
-
-
- Verifica che i dati di input di un campo del form HTML provengano dall'utente che ha inviato tali dati.
- Valore del token del cookie.
- Form del token.
-
-
- Verifica che i dati di input da un campo di un form HTML provengano dall'utente che ha inviato i dati e consente ai chiamanti di specificare ulteriori dettagli di convalida.
- Dati del contesto HTTP per una richiesta.
- Stringa facoltativa di caratteri casuali, ad esempio Z*7g1&p4, utilizzata per decrittografare un token di autenticazione creato dalla classe .Il valore predefinito è null.
- Il valore corrente è null.
- Token del cookie HTTP associato a una richiesta valida mancante.oppureToken del form mancante.oppureIl valore del token del form non corrisponde al valore del token del cookie.oppureIl valore del token del form non corrisponde al valore del token del cookie.oppureIl valore fornito non corrisponde al valore utilizzato per creare il token del form.
-
-
- Fornisce la configurazione a livello di programmazione per il sistema di token antifalsificazione.
-
-
- Ottiene un provider di dati in grado di fornire dati aggiuntivi da inserire in tutti i token generati e in grado di convalidare ulteriori dati nei token in ingresso.
- Provider di dati.
-
-
- Ottiene o imposta il nome del cookie usato dal sistema antifalsificazione.
- Nome del cookie.
-
-
- Ottiene o imposta un valore che indica se il cookie antifalsificazione richiede SSL per la restituzione al server.
- true se è necessario SSL per restituire il cookie antifalsificazione al server. In caso contrario, false.
-
-
- Ottiene o imposta un valore che indica se il sistema antifalsificazione deve saltare il controllo delle condizioni che potrebbero indicare un utilizzo improprio del sistema.
- true se il sistema antifalsificazione non deve eseguire il controllo alla ricerca di possibili utilizzi impropri. In caso contrario, false.
-
-
- Specifica se eliminare la generazione dell'intestazione X-Frame-Options usata per prevenire ClickJacking.Per impostazione predefinita, l'intestazione X-Frame-Options viene generata con il valore SAMEORIGIN.Se questa impostazione è "true", l'intestazione X-Frame-Options della risposta non verrà generata.
-
-
- Se viene usata l'autorizzazione basata su attestazioni, ottiene o imposta il tipo di attestazione dall'identità usata per identificare l'utente in modo univoco.
- Tipo di attestazione.
-
-
- Consente di includere o convalidare dati personalizzati per i token antifalsificazione.
-
-
- Fornisce dati aggiuntivi da archiviare per i token antifalsificazione generati durante la richiesta.
- Dati supplementari da incorporare nel token antifalsificazione.
- Informazioni sulla richiesta corrente.
-
-
- Convalida i dati aggiuntivi incorporati all'interno di un token antifalsificazione in ingresso.
- true se i dati sono validi. In caso contrario, false.
- Informazioni sulla richiesta corrente.
- Dati supplementari incorporati nel token.
-
-
- Fornisce accesso ai valori di form non convalidati nell'oggetto .
-
-
- Ottiene un insieme di valori di form non convalidati che sono stati inviati dal browser.
- Insieme non convalidato di valori del form.
-
-
- Ottiene l'oggetto non convalidato specificato dalla raccolta di valori pubblicati nell'oggetto .
- Membro specificato oppure null se l'elemento specificato non viene trovato.
-
-
- Ottiene un insieme di valori della stringa di query non convalidati.
- Insieme di valori della stringa di query non convalidati.
-
-
- Esclude i campi dell'oggetto Request dalla verifica della presenza di script client e markup HTML potenzialmente pericolosi.
-
-
- Restituisce una versione dei valori del form, dei cookie e delle variabili di stringhe di query senza prima verificare la presenza di markup HTML e script client.
- Oggetto contenente versioni non convalidate del form e dei valori di stringhe di query.
- Oggetto contenente i valori da escludere dalla convalida della richiesta.
-
-
- Restituisce un valore dal campo del form, dal cookie o dalla variabile di stringa di query specificata senza prima verificare la presenza di markup HTML e script client.
- Stringa contenente testo non convalidato proveniente dal campo, dal cookie o dal valore della stringa di query specificato.
- Oggetto contenente i valori da escludere dalla convalida.
- Nome del campo da escludere dalla convalida. può fare riferimento a un campo del form, a un cookie o alla variabile della stringa di query.
-
-
- Restituisce tutti i valori dall'oggetto Request (inclusi i campi del form, i cookie e la stringa di query) senza prima verificare la presenza di markup HTML e script client.
- Oggetto contenente versioni non convalidate del form, del cookie e dei valori di stringhe di query.
- Oggetto contenente i valori da escludere dalla convalida.
-
-
- Restituisce il valore specificato dall'oggetto Request senza prima verificare la presenza di markup HTML e script client.
- Stringa contenente testo non convalidato proveniente dal campo, dal cookie o dal valore della stringa di query specificato.
- Oggetto contenente i valori da escludere dalla convalida.
- Nome del campo da escludere dalla convalida. può fare riferimento a un campo del form, a un cookie o alla variabile della stringa di query.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice. Inizializza una nuova istanza della classe .
- Messaggio contenente.
-
-
- Questo membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice. Inizializza una nuova istanza della classe .
- Messaggio.
- Eccezione interna.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Messaggio di errore.
- Altro.
-
-
-
-
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Messaggio di errore.
- Valore minimo.
- Valore massimo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice. Inizializza una nuova istanza della classe .
- Messaggio di eccezione.
- Modello.
-
-
- Rappresenta la regola remota per la convalida del client del modello.
-
-
- Inizializza una nuova istanza della classe .
- Messaggio di errore.
- URL della regola.
- Metodo HTTP.
- Campi aggiuntivi utilizzati.
-
-
- Rappresenta la regola richiesta per la convalida del client del modello.
-
-
- Inizializza una nuova istanza della classe .
- Messaggio di errore.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta una lunghezza della regola di convalida del client modello.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Messaggio di errore.
- Lunghezza minima della regola di convalida.
- Lunghezza massima della regola di convalida.
-
-
- Contiene classi e proprietà utilizzate per creare elementi HTML.Questa classe viene utilizzata per scrivere helper, ad esempio quelli trovati nello spazio dei nomi .
-
-
- Crea un nuovo tag con il nome specificato.
- Nome del tag senza delimitatori "<", "/" o ">".
-
- è null o vuoto.
-
-
- Aggiunge una voce all'elenco delle classi CSS nel tag.
- Classe CSS da aggiungere.
-
-
- Ottiene la raccolta di attributi.
- Raccolta di attributi.
-
-
- Sostituisce ciascun carattere non valido nell'ID del tag con un carattere HTML valido.
- ID del tag puro o null se è null o vuoto oppure se non inizia con una lettera.
- ID che può contenere caratteri da sostituire.
-
-
- Sostituisce ciascun carattere non valido nell'ID del tag con la stringa di sostituzione specificata.
- ID del tag puro o null se è null o vuoto oppure se non inizia con una lettera.
- ID che può contenere caratteri da sostituire.
- Stringa di sostituzione.
-
- è null.
-
-
- Genera un attributo ID puro per il tag in base al nome specificato.
- Nome da utilizzare per generare un attributo ID.
-
-
- Ottiene o imposta una stringa che è possibile utilizzare per sostituire caratteri HTML non validi.
- Stringa da utilizzare per sostituire caratteri HTML non validi.
-
-
- Ottiene o imposta il valore HTML interno per l'elemento.
- Valore HTML interno dell'elemento.
-
-
- Aggiunge un nuovo attributo al tag.
- Chiave per l'attributo.
- Valore dell'attributo.
-
-
- Aggiunge un nuovo attributo o, facoltativamente, ne sostituisce uno esistente nel tag di apertura.
- Chiave per l'attributo.
- Valore dell'attributo.
- true per sostituire un attributo esistente, se è presente un attributo con il valore specificato, oppure false per lasciare invariato l'attributo originario.
-
-
- Aggiunge nuovi attributi al tag.
- Raccolta di attributi da aggiungere.
- Tipo dell'oggetto chiave.
- Tipo dell'oggetto valore.
-
-
- Aggiunge nuovi attributi o, facoltativamente, sostituisce gli attributi esistenti nel tag.
- Raccolta di attributi da aggiungere o sostituire.
- Per ciascun attributo in , true per sostituire l'attributo, se è già presente un attributo con la stessa chiave, oppure false per lasciare invariato l'attributo originario.
- Tipo dell'oggetto chiave.
- Tipo dell'oggetto valore.
-
-
- Imposta la proprietà dell'elemento su una versione codificata in formato HTML della stringa specificata.
- Stringa da codificare in formato HTML.
-
-
- Ottiene il nome per il tag.
- Nome.
-
-
- Esegue il rendering dell'elemento come .
-
-
- Esegue il rendering del tag HTML in base alla modalità di rendering specificata.
- Tag HTML di cui è stato eseguito il rendering.
- Modalità di rendering.
-
-
- Enumera le modalità disponibili per il rendering di tag HTML.
-
-
- Rappresenta la modalità per il rendering di un tag di chiusura, ad esempio </tag>.
-
-
- Rappresenta la modalità per il rendering di testo normale.
-
-
- Rappresenta la modalità per il rendering di un tag di chiusura automatico, ad esempio <tag />.
-
-
- Rappresenta la modalità per il rendering di un tag di apertura, ad esempio <tag>.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene gli attributi di convalida dalla struttura o il contenuto di .
-
- da implementare.
- Risultato della convalida.
-
-
- Contiene i metodi per registrare assembly come parti dell'applicazione.
-
-
- Inizializza una nuova istanza della classe utilizzando l'assembly e il percorso virtuale radice specificati.
- Assembly.
- Percorso virtuale radice.
-
- è null o vuoto.
-
-
- Risolve un percorso dell'assembly specificato o della risorsa all'interno di un assembly specificata utilizzando il percorso virtuale di base e il percorso virtuale specificati.
- Percorso dell'assembly o della risorsa.
- Assembly.
- Percorso virtuale di base.
- Percorso virtuale.
-
- non è registrato.
-
-
- Aggiunge un assembly e tutte le pagine Web all'interno dell'assembly all'elenco delle parti dell'applicazione disponibili.
- Parte dell'applicazione.
-
- è già registrato.
-
-
- Fornisce oggetti e metodi utilizzati per l'esecuzione e il rendering delle pagine di avvio delle applicazioni ASP.NET Web Pages (file _AppStart.cshtml o _AppStart.vbhtml).
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene l'oggetto applicazione HTTP che fa riferimento alla pagina di avvio dell'applicazione.
- Oggetto applicazione HTTP che fa riferimento alla pagina di avvio dell'applicazione.
-
-
- Prefisso applicato a tutte le chiavi aggiunte alla cache dalla pagina di avvio dell'applicazione.
-
-
- Ottiene l'oggetto che rappresenta i dati di contesto associati a questa pagina.
- Dati del contesto corrente.
-
-
- Restituisce l'istanza del writer di testo utilizzata per il rendering della pagina.
- Writer di testo.
-
-
- Ottiene l'output della pagina di avvio dell'applicazione sotto forma di stringa codificata in formato HTML.
- Output della pagina di avvio dell'applicazione sotto forma di stringa codificata in formato HTML.
-
-
- Ottiene il writer di testo per la pagina.
- Writer di testo per la pagina.
-
-
- Percorso della pagina di avvio dell'applicazione.
-
-
- Ottiene o imposta il percorso virtuale della pagina.
- Percorso virtuale.
-
-
- Scrive la rappresentazione stringa dell'oggetto specificato come stringa codificata in formato HTML.
- Oggetto da codificare e scrivere.
-
-
- Scrive l'oggetto specificato come stringa codificata in formato HTML.
- Risultato dell'helper da codificare e scrivere.
-
-
- Scrive l'oggetto specificato senza codifica HTML.
- Oggetto da scrivere.
-
-
- Memorizza il valore per un attributo.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Inizializza una nuova istanza della classe .Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Prefisso dello spazio dei nomi per l'attributo.
- Valore per l'attributo.
- true per indicare che il valore è un valore letterale. In caso contrario, false.
-
-
- Crea un valore di attributo dall'oggetto tupla specificato.
- Valore dell'attributo creato.
- Oggetto tupla da cui creare.
-
-
- Crea un valore di attributo dall'oggetto tupla specificato.
- Valore dell'attributo creato.
- Oggetto tupla da cui creare.
-
-
- Ottiene o imposta un valore che indica se il valore è un valore letterale.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- true se il valore è un valore letterale. In caso contrario, false.
-
-
- Crea un valore di attributo dall'oggetto tupla specificato.
- Valore dell'attributo creato.
- Oggetto tupla da cui creare.
-
-
- Crea un valore di attributo dall'oggetto tupla specificato.
- Valore dell'attributo creato.
- Oggetto tupla da cui creare.
-
-
- Ottiene è imposta il prefisso dello spazio dei nomi per l'attributo.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Prefisso dello spazio dei nomi per l'attributo.
-
-
- Ottiene o imposta il valore per l'attributo.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Valore per l'attributo.
-
-
- Fornisce una modalità per specificare informazioni personalizzate sul browser (agente utente).
-
-
- Rimuove qualsiasi agente utente sottoposto a override per la richiesta corrente.
- Contesto corrente.
-
-
- Restituisce l'oggetto funzionalità del browser per le funzionalità del browser sottoposto a override oppure per il browser effettivo, se non è stato specificato alcun override.
- Funzionalità del browser.
- Contesto corrente.
-
-
- Restituisce il valore dell'agente utente sottoposto a override oppure la stringa dell'agente utente effettivo, se non è stato specificato alcun override.
- Stringa dell'agente utente
- Contesto corrente.
-
-
- Ottiene una stringa che varia in base al tipo del browser.
- Stringa che identifica il browser.
- Contesto corrente.
-
-
- Ottiene una stringa che varia in base al tipo di browser.
- Stringa che identifica il browser.
- Base del contesto corrente.
-
-
- Esegue l'override del valore dell'agente utente effettivo della richiesta utilizzando l'agente utente specificato.
- Contesto corrente.
- Agente utente da utilizzare.
-
-
- Esegue l'override del valore dell'agente utente effettivo della richiesta utilizzando le informazioni di override del browser specificate.
- Contesto corrente.
- Un valore di enumerazione che rappresenta le informazioni di override del browser da utilizzare.
-
-
- Specifica i tipi di browser che possono essere definiti per il metodo .
-
-
- Specifica un browser per desktop.
-
-
- Specifica un browser per dispositivi mobili.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.BrowserOverrideStore corrente viene utilizzato per ottenere e impostare l'agente utente di una richiesta.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ricerca un agente utente eseguendo la ricerca del cookie di override del browser.
- Agente utente.
- Contesto HTTP.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un cookie di override del browser con l'agente utente impostato alla risposta della richiesta corrente.
- Contesto HTTP.
- Agente utente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'agente utente sottoposto a override per una richiesta da un cookie.Crea un cookie per impostare l'agent utente sottoposto a override.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Giorni alla scadenza.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ricerca un agente utente eseguendo la ricerca del cookie di override del browser.
- Agente utente.
- Contesto HTTP.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Aggiunge un cookie di override del browser con l'agente utente impostato alla risposta della richiesta corrente.
- Contesto HTTP.
- Agente utente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta la modalità di visualizzazione predefinita delle pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Suffisso.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un valore se può gestire il contesto.
- true se può gestire il contesto. In caso contrario, false.
- Contesto HTTP specificato.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se la condizione del contesto visualizza una modalità predefinita.
- true se la condizione del contesto visualizza una modalità predefinita. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'identificatore della modalità di visualizzazione delle pagine Web.
- Identificatore della modalità di visualizzazione delle pagine Web.
-
-
- Recupera le informazioni di visualizzazione relative a un elemento nel riquadro dei risultati.
- Informazioni di visualizzazione relative a un elemento nel riquadro dei risultati.
- Contesto HTTP.
- Percorso virtuale.
- true se esiste il percorso virtuale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Trasforma il percorso della modalità di visualizzazione.
- Il percorso della modalità di visualizzazione da trasformare.
- Percorso virtuale.
- Suffisso.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un'informazioni sulla visualizzazione della proprietà.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Percorso virtuale.
- Modalità di visualizzazione attiva.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene la modalità di visualizzazione attiva per una pagina Web.
- Modalità di visualizzazione attiva per una pagina Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene il percorso virtuale della pagina Web corrente.
- Percorso virtuale della pagina Web corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta le modalità di visualizzazione del provider.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce l'identificatore della modalità di visualizzazione predefinita.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un elenco delle modalità di visualizzazioni disponibili per la base del contesto.
- Elenco delle modalità di visualizzazioni disponibili per la base del contesto.
- Base del contesto HTTP.
- Modalità di visualizzazione corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene per il percorso virtuale.
-
- per il percorso virtuale.
- Percorso virtuale.
- Base del contesto HTTP.
- true se esiste il percorso virtuale. In caso contrario, false..
- Modalità di visualizzazione corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'istanza di .
- Istanza di .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce l'identificatore della modalità di visualizzazione mobile.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un elenco di modalità di .
- Elenco di modalità di .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta un valore che indica se la pagina Web richiede una modalità di visualizzazione coerente.
- true se la pagina Web richiede una modalità di visualizzazione coerente. In caso contrario, false.
-
-
- Rappresenta una classe base per le pagine che viene utilizzata quando ASP.NET compila un file cshtml o vbhtml e che espone metodi e proprietà a livello di pagina e a livello di applicazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Ottiene i dati di stato dell'applicazione come oggetto che può essere utilizzato dai chiamanti per creare e visualizzare le proprietà personalizzate aventi come ambito l'applicazione.
- Dati di stato dell'applicazione.
-
-
- Ottiene un riferimento ai dati di stato dell'applicazione globali che è possibile condividere nelle sessioni e nelle richieste di un'applicazione ASP.NET.
- Dati di stato dell'applicazione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Colloca tutte le istruzioni dell'helper nel contesto della pagina dell'helper.
- Writer di testo.
- Percorso virtuale dell'helper.
- Posizione iniziale.
- Lunghezza del contesto.
- true se il contesto ha un attributo letterale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Colloca tutte le istruzioni dell'helper nel contesto della pagina dell'helper.
- Percorso virtuale dell'helper.
- Posizione iniziale.
- Lunghezza del contesto.
- true se il contesto ha un attributo letterale. In caso contrario, false.
-
-
- Ottiene l'oggetto della cache per il dominio dell'applicazione corrente.
- Oggetto della cache.
-
-
- Ottiene l'oggetto associato a una pagina.
- Dati del contesto corrente.
-
-
- Ottiene la pagina corrente per questa pagina dell'helper.
- Pagina corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica la fine del blocco di contesto.
- Writer di testo.
- Percorso virtuale dell'helper.
- Posizione iniziale.
- Lunghezza del contesto.
- true se il contesto ha un attributo letterale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica la fine del blocco di contesto.
- Percorso virtuale dell'helper.
- Posizione iniziale.
- Lunghezza del contesto.
- true se il contesto ha un attributo letterale. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il percorso della pagina dell'helper.
- Percorso della pagina dell'helper.
-
-
- Crea un URL assoluto in base a un URL relativo dell'applicazione utilizzando i parametri specificati.
- URL assoluto.
- Percorso iniziale da utilizzare nell'URL.
- Informazioni aggiuntive sul percorso, quali cartelle e sottocartelle.
-
-
- Ottiene l'oggetto associato a una pagina.
- Oggetto che supporta il rendering di controlli dei form HTML in una pagina.
-
-
- Ottiene un valore che indica se durante la richiesta della pagina Web viene utilizzato Ajax.
- true se durante la richiesta viene utilizzato Ajax. In caso contrario, false.
-
-
- Ottiene un valore che indica se la richiesta corrente è una richiesta POST (inviata utilizzando il verbo POST HTTP).
- true se il verbo HTTP è POST. In caso contrario, false.
-
-
- Ottiene il modello associato a una pagina.
- Oggetto che rappresenta un modello associato ai dati della visualizzazione di una pagina.
-
-
- Ottiene i dati di stato per il modello associato a una pagina.
- Stato del modello.
-
-
- Ottiene l'accesso di tipo proprietà ai dati di pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Oggetto contenente dati di pagina.
-
-
- Ottiene o imposta il contesto HTTP per la pagina Web.
- Contesto HTTP per la pagina Web.
-
-
- Ottiene l'accesso di tipo matrice ai dati di pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Oggetto che fornisce l'accesso di tipo matrice ai dati di pagina.
-
-
- Ottiene l'oggetto per la richiesta HTTP corrente.
- Oggetto contenente i valori HTTP inviati da un client durante una richiesta Web.
-
-
- Ottiene l'oggetto per la risposta HTTP corrente.
- Oggetto contenente le informazioni relative alla risposta HTTP di un'operazione ASP.NET.
-
-
- Ottiene l'oggetto che fornisce i metodi utilizzabili come parte dell'elaborazione di pagine Web.
- Oggetto .
-
-
- Ottiene l'oggetto per la richiesta HTTP corrente.
- Oggetto per la richiesta HTTP corrente.
-
-
- Ottiene i dati correlati al percorso URL.
- Dati correlati al percorso URL.
-
-
- Ottiene un valore utente basato sul contesto HTTP.
- Valore utente basato sul contesto HTTP.
-
-
- Ottiene il percorso virtuale della pagina.
- Percorso virtuale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Scrive un attributo associato all'helper.
- Writer di testo.
- Nome dell'attributo.
- Prefisso.
- Suffisso.
- Valore dell'attributo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Scrive un oggetto letterale nell'helper.
- Writer di testo.
- Valore dell'oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Scrive un oggetto risultato dell'helper nell'helper.
- Writer di testo
- Risultato dell'helper.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Scrive un oggetto nell'helper.
- Writer di testo.
- Valore dell'oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Scrive un oggetto risultato dell'helper nell'helper.
- Writer di testo.
- Valore del risultato dell'helper.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta l'interfaccia della modalità di visualizzazione per le pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Indica un valore se le pagine Web sono in grado di gestire il contesto HTTP.
- true se le pagine Web sono in grado di gestire il contesto HTTP. In caso contrario, false.
- Contesto HTTP.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene l'ID della modalità di visualizzazione per le pagine Web.
- ID modalità di visualizzazione per le pagine Web.
-
-
- Restituisce questo metodo per visualizzare tutte le informazioni per le pagine Web.
- Metodo per visualizzare tutte le informazioni per le pagine Web.
- Contesto HTTP.
- Percorso virtuale.
- true se esiste il percorso virtuale. In caso contrario, false..
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Definisce le proprietà e i metodi per gli oggetti che partecipano nelle pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un contenitore per la convalida del client per il campo obbligatorio.
- Contenitore per la convalida del client per il campo obbligatorio.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Valuta la condizione che controlla e aggiorna il contesto di convalida.
- Condizione che controlla e aggiorna il contesto di convalida.
- Contesto di convalida.
-
-
- Definisce i metodi implementati dalle handler factory per percorsi virtuali.
-
-
- Crea una handler factory per il percorso virtuale specificato.
- Handler factory per il percorso virtuale specificato.
- Percorso virtuale.
-
-
- Determina se il percorso virtuale specificato è associato a una handler factory.
- true se per il percorso virtuale specificato esiste una handler factory. In caso contrario, false.
- Percorso virtuale.
-
-
- Definisce i metodi per implementare una classe esecutore in grado di eseguire il codice in una pagina Web.
-
-
- Esegue il codice nella pagina Web specificata.
- true se l'esecutore gestisce l'esecuzione della pagina Web. In caso contrario, false.
- Pagina Web.
-
-
- Rappresenta un attributo di percorso per una classe di pagine Web.
-
-
- Inizializza una nuova istanza della classe utilizzando il percorso virtuale specificato.
- Percorso virtuale.
-
-
- Ottiene il percorso virtuale della pagina Web corrente.
- Percorso virtuale.
-
-
- Fornisce un punto di registrazione per il codice di preavvio dell'applicazione per le pagine Web.
-
-
- Registra il codice di preavvio dell'applicazione per le pagine Web.
-
-
- Definisce i metodi di estensione per la classe .
-
-
- Determina se l'URL specificato fa riferimento al computer locale.
- true se l'URL specificato fa riferimento al computer locale. In caso contrario, false.
- Oggetto richiesta HTTP.
- URL da testare.
-
-
- Funge da classe di base astratta per le classi helper di convalida.
-
-
- Inizializza una nuova istanza della classe derivata e specifica il nome dell'elemento HTML in fase di convalida.
- Nome (valore dell'attributo name) dell'elemento di input utente da convalidare.
-
-
- Inizializza una nuova istanza della classe derivata, registra la stringa specificata come messaggio di errore da visualizzare se non viene fornito alcun valore e specifica se il metodo può utilizzare dati non convalidati.
- Messaggio di errore.
- true per utilizzare input utente non convalidati; false per rifiutare i dati non convalidati.Il parametro viene impostato su true chiamando metodi nei casi in cui il valore effettivo dell'input utente non è importante, ad esempio per i campi obbligatori.
-
-
- Se implementato in una classe derivata, ottiene un contenitore per la convalida client per il campo obbligatorio.
- Contenitore.
-
-
- Restituisce il contesto HTTP della richiesta corrente.
- Contesto.
- Contesto di convalida.
-
-
- Restituisce il valore da convalidare.
- Valore da convalidare.
- Richiesta corrente.
- Nome del campo della richiesta corrente da convalidare.
-
-
- Restituisce un valore che indica se il valore specificato è valido.
- true se il valore è valido. In caso contrario, false.
- Contesto corrente.
- Valore da convalidare.
-
-
- Esegue il test di convalida.
- Risultato del test di convalida.
- Contesto.
-
-
- Definisce i metodi di estensione per la classe base.
-
-
- Configura i criteri di cache di un'istanza di risposta HTTP.
- Istanza di risposta HTTP.
- Periodo di tempo, in secondi, prima della scadenza degli elementi nella cache.
- true per indicare che gli elementi scadono nella cache in base a un criterio di avvicendamento; false per indicare che gli elementi scadono quando raggiungono la scadenza predefinita.
- Elenco di tutti i parametri che possono essere ricevuti da un'operazione GET o POST che influiscono sulla memorizzazione nella cache.
- Elenco di tutte le intestazioni HTTP che influiscono sulla memorizzazione nella cache.
- Elenco di tutte le intestazioni Content-Encoding che influiscono sulla memorizzazione nella cache.
- Un valore di enumerazione che specifica come gli elementi vengono memorizzati nella cache.
-
-
- Imposta il codice di stato HTTP di una risposta HTTP utilizzando il valore Integer specificato.
- Istanza di risposta HTTP.
- Codice di stato HTTP.
-
-
- Imposta il codice di stato HTTP di una risposta HTTP utilizzando il valore di enumerazione del codice di stato HTTP specificato.
- Istanza di risposta HTTP.
- Codice di stato HTTP.
-
-
- Scrive una sequenza di byte che rappresentano contenuto binario di un tipo non specificato nel flusso di output di una risposta HTTP.
- Istanza di risposta HTTP.
- Matrice contenente i byte da scrivere.
-
-
- Scrive una sequenza di byte che rappresentano contenuto binario del tipo MIME specificato nel flusso di output di una risposta HTTP.
- Istanza di risposta HTTP di destinazione.
- Matrice contenente i byte da scrivere.
- Tipo MIME del contenuto binario.
-
-
- Fornisce un delegato che rappresenta uno o più metodi che vengono chiamati quando viene scritta una sezione di contenuto.
-
-
- Fornisce metodi e proprietà utilizzati per il rendering delle pagine di avvio che utilizzano il motore di visualizzazione Razor.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta la pagina figlio della pagina di avvio corrente.
- Pagina figlio della pagina di avvio corrente.
-
-
- Ottiene o imposta il contesto della pagina .
- Contesto della pagina .
-
-
- Chiama i metodi utilizzati per eseguire il codice scritto dallo sviluppatore nella pagina di avvio _PageStart e nella pagina .
-
-
- Restituisce l'istanza del writer di testo utilizzata per il rendering della pagina.
- Writer di testo.
-
-
- Restituisce la pagina di inizializzazione per la pagina specificata.
- Pagina _AppStart, se esistente.Se la pagina _AppStart non viene trovata, restituisce la pagina _PageStart, se esistente.Se è impossibile trovare le pagine _AppStart e _PageStart, restituisce .
- Pagina.
- Nome file della pagina.
- Insieme di estensioni di file che possono contenere sintassi ASP.NET Razor, come "cshtml" e "vbhtml".
-
- o sono null.
-
- è null o vuoto.
-
-
- Ottiene o imposta il percorso della pagina di layout per la pagina .
- Percorso della pagina di layout per la pagina .
-
-
- Ottiene l'accesso di tipo proprietà ai dati della pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Oggetto contenente dati di pagina .
-
-
- Ottiene l'accesso di tipo proprietà ai dati della pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Oggetto che fornisce l'accesso di tipo matrice ai dati della pagina .
-
-
- Esegue il rendering della pagina .
- Markup HTML che rappresenta la pagina Web.
- Percorso della pagina di cui eseguire il rendering.
- Dati aggiuntivi utilizzati per eseguire il rendering della pagina.
-
-
- Esegue il codice scritto dallo sviluppatore nella pagina .
-
-
- Scrive la rappresentazione stringa dell'oggetto specificato come stringa codificata in formato HTML.
- Oggetto da codificare e scrivere.
-
-
- Scrive la rappresentazione stringa dell'oggetto specificato come stringa codificata in formato HTML.
- Risultato dell'helper da codificare e scrivere.
-
-
- Scrive la rappresentazione stringa dell'oggetto specificato senza codifica HTML.
- Oggetto da scrivere.
-
-
- Fornisce metodi di utilità per convertire valori di stringa in altri tipi di dati.
-
-
- Converte una stringa in un valore fortemente tipizzato del tipo di dati specificato.
- Valore convertito.
- Valore da convertire.
- Tipo di dati in cui eseguire la conversione.
-
-
- Converte una stringa nel tipo di dati specificato e specifica un valore predefinito.
- Valore convertito.
- Valore da convertire.
- Valore da restituire se è null.
- Tipo di dati in cui eseguire la conversione.
-
-
- Converte una stringa in un valore booleano (true/false).
- Valore convertito.
- Valore da convertire.
-
-
- Converte una stringa in un valore booleano (true/false) e specifica un valore predefinito.
- Valore convertito.
- Valore da convertire.
- Valore da restituire se è null o non è valido.
-
-
- Converte una stringa in un valore.
- Valore convertito.
- Valore da convertire.
-
-
- Converte una stringa in un valore e specifica un valore predefinito.
- Valore convertito.
- Valore da convertire.
- Valore da restituire se è null o non è valido.Il valore predefinito è il valore minimo nel sistema.
-
-
- Converte una stringa in un numero .
- Valore convertito.
- Valore da convertire.
-
-
- Converte una stringa in un numero e specifica un valore predefinito.
- Valore convertito.
- Valore da convertire.
- Valore da restituire se è null o non è valido.
-
-
- Converte una stringa in un numero .
- Valore convertito.
- Valore da convertire.
-
-
- Converte una stringa in un numero e specifica un valore predefinito.
- Valore convertito.
- Valore da convertire.
- Valore da restituire se è null.
-
-
- Converte una stringa in un numero intero.
- Valore convertito.
- Valore da convertire.
-
-
- Converte una stringa in un numero intero e specifica un valore predefinito.
- Valore convertito.
- Valore da convertire.
- Valore da restituire se è null o non è valido.
-
-
- Verifica se una stringa può essere convertita nel tipo di dati specificato.
- true se può essere convertito nel tipo specificato. In caso contrario, false.
- Valore da testare.
- Tipo di dati in cui eseguire la conversione.
-
-
- Verifica se una stringa può essere convertita nel tipo booleano (true/false).
- true se può essere convertito nel tipo specificato. In caso contrario, false.
- Valore della stringa da testare.
-
-
- Verifica se una stringa può essere convertita nel tipo .
- true se può essere convertito nel tipo specificato. In caso contrario, false.
- Valore della stringa da testare.
-
-
- Verifica se una stringa può essere convertita nel tipo .
- true se può essere convertito nel tipo specificato. In caso contrario, false.
- Valore della stringa da testare.
-
-
- Verifica se un valore di stringa è null o vuoto.
- true se è null o una stringa di lunghezza zero (""). In caso contrario, false.
- Valore della stringa da testare.
-
-
- Verifica se una stringa può essere convertita nel tipo .
- true se può essere convertito nel tipo specificato. In caso contrario, false.
- Valore della stringa da testare.
-
-
- Verifica se una stringa può essere convertita in un numero intero.
- true se può essere convertito nel tipo specificato. In caso contrario, false.
- Valore della stringa da testare.
-
-
- Contiene metodi e proprietà che descrivono un modello di informazioni dei file.
-
-
- Inizializza una nuova istanza della classe utilizzando il percorso virtuale specificato.
- Percorso virtuale.
-
-
- Ottiene il percorso virtuale della pagina Web.
- Percorso virtuale.
-
-
- Rappresenta un insieme LIFO (Last In First Out) di file modello .
-
-
- Restituisce il file modello corrente dal contesto HTTP specificato.
- File modello, rimosso in cima allo stack.
- Contesto HTTP contenente lo stack in cui vengono memorizzati i file modello.
-
-
- Rimuove e restituisce il file modello in cima allo stack nel contesto HTTP specificato.
- File modello, rimosso in cima allo stack.
- Contesto HTTP contenente lo stack in cui vengono memorizzati i file modello.
-
- è null..
-
-
- Inserisce un file modello in cima allo stack nel contesto HTTP specificato.
- Contesto HTTP contenente lo stack in cui vengono memorizzati i file modello.
- File modello di cui effettuare il push nello stack specificato.
-
- o è null..
-
-
- Implementa la convalida per l'input utente.
-
-
- Registra un elenco di elementi di input utente per la convalida.
- Nomi (valore dell'attributo name) degli elementi di input utente da convalidare.
- Tipo di convalida da registrare per ciascun elemento di input utente specificato in .
-
-
- Registra un elemento di input utente per la convalida.
- Nome (valore dell'attributo name) dell'elemento di input utente da convalidare.
- Elenco di uno o più tipi di convalida da registrare.
-
-
- Aggiunge un messaggio di errore.
- Messaggio di errore.
-
-
- Esegue il rendering di un attributo che fa riferimento alla definizione di stile CSS da utilizzare per il rendering di messaggi di convalida per l'elemento di input utente.
- Attributo.
- Nome (valore dell'attributo name) dell'elemento di input utente da convalidare.
-
-
- Esegue il rendering degli attributi che consentono la convalida sul lato client per un singolo elemento di input utente.
- Attributi di cui eseguire il rendering.
- Nome (valore dell'attributo name) dell'elemento di input utente da convalidare.
-
-
- Ottiene il nome del form corrente.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Nome.
-
-
- Restituisce un elenco degli errori di convalida correnti e, facoltativamente, consente di specificare un elenco di campi da controllare.
- Elenco degli errori.
- Facoltativo.Nome (valore dell'attributo name) degli elementi di input utente per cui ottenere informazioni sugli errori.È possibile specificare un numero qualsiasi di nomi di elemento, separati da virgole.Se non si specifica un elenco di campi, il metodo restituisce gli errori per tutti i campi.
-
-
- Ottiene il nome della classe utilizzata per specificare l'aspetto della visualizzazione dei messaggi di errore quando si sono verificati errori.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Nome.
-
-
- Determina se il contenuto dei campi di input utente supera i controlli di convalida e, facoltativamente, consente di specificare un elenco di campi da controllare.
- true se tutti i campi specificati superano i controlli di convalida; false se qualsiasi campo contiene un errore di convalida.
- Facoltativo.Nomi (valore dell'attributo name) degli elementi di input utente in cui cercare errori di convalida.È possibile specificare un numero qualsiasi di nomi di elemento, separati da virgole.Se non si specifica un elenco di campi, il metodo controlla tutti gli elementi registrati per la convalida.
-
-
- Registra il campo specificato come un campo che richiede l'immissione di dati da parte dell'utente.
- Nome (valore dell'attributo name) dell'elemento di input utente da convalidare.
-
-
- Registra il campo specificato come un campo che richiede l'immissione di dati da parte dell'utente e registra la stringa specificata come messaggio di errore da visualizzare se non viene fornito alcun valore.
- Nome (valore dell'attributo name) dell'elemento di input utente da convalidare.
- Messaggio di errore.
-
-
- Registra i campi specificati come campi che richiedono l'immissione di dati da parte dell'utente.
- Nomi (valore dell'attributo name) degli elementi di input utente da convalidare.È possibile specificare un numero qualsiasi di nomi di elemento, separati da virgole.
-
-
- Esegue la convalida sugli elementi registrati a tale scopo e, facoltativamente, consente di specificare un elenco di campi da controllare.
- Elenco degli errori per i campi specificati, se si sono verificati errori di convalida.
- Facoltativo.Nomi (valore dell'attributo name) degli elementi di input utente da convalidare.È possibile specificare un numero qualsiasi di nomi di elemento, separati da virgole.Se non si specifica un elenco, il metodo convalida tutti gli elementi registrati.
-
-
- Ottiene il nome della classe utilizzata per specificare l'aspetto della visualizzazione dei messaggi di errore quando si sono verificati errori.Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
- Nome.
-
-
- Definisce i test di convalida che possono essere registrati mediante il metodo .
-
-
- Inizializza una nuova istanza della classe .
-
-
- Definisce un test di convalida che consente di verificare se un valore può essere considerato come un valore di data/ora.
- Test di convalida.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare se un valore può essere considerato come un numero decimale.
- Test di convalida.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare l'input utente rispetto al valore di un altro campo.
- Test di convalida.
- Altro campo da confrontare.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare se un valore può essere considerato come un numero a virgola mobile.
- Test di convalida.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare se un valore può essere considerato come un numero intero.
- Test di convalida.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare se un numero decimale è compreso in un intervallo specifico.
- Test di convalida.
- Valore minimo.Il valore predefinito è 0.
- Valore massimo.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare se un valore Integer è compreso in un intervallo specifico.
- Test di convalida.
- Valore minimo.Il valore predefinito è 0.
- Valore massimo.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare un valore rispetto a un criterio specificato come espressione regolare.
- Test di convalida.
- Espressione regolare da utilizzare per verificare l'input utente.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare se è stato fornito un valore.
- Test di convalida.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare la lunghezza di una stringa.
- Test di convalida.
- Lunghezza massima della stringa.
- Lunghezza minima della stringa.Il valore predefinito è 0.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Definisce un test di convalida che consente di verificare se un valore è un URL in formato corretto.
- Test di convalida.
- Messaggio di errore da visualizzare se la convalida ha esito negativo.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.
-
-
- Rappresenta una pagina ASP.NET Razor.
-
-
- Chiamato da una classe derivata per creare una nuova istanza basata sulla classe .
-
-
- Ottiene o imposta l'oggetto associato a una pagina.
- Dati del contesto corrente.
-
-
- Esegue il codice in un set di pagine dipendenti.
-
-
- Ottiene l'oggetto associato a una pagina.
- Oggetto in grado di eseguire il rendering di controlli dei form HTML in una pagina.
-
-
- Inizializza un oggetto che eredita dalla classe .
-
-
- Ottiene il modello associato a una pagina.
- Oggetto che rappresenta un modello associato ai dati della visualizzazione di una pagina.
-
-
- Ottiene lo stato del modello associato a una pagina.
- Stato del modello.
-
-
- Aggiunge una classe a un elenco di classi che gestiscono l'esecuzione delle pagine e implementano funzionalità personalizzate per le pagine.
- Classe da aggiungere.
-
-
- Esegue il rendering di una pagina di contenuto.
- Oggetto in grado di scrivere l'output della pagina.
- Percorso della pagina di cui eseguire il rendering.
- Dati da passare alla pagina.
-
-
- Ottiene l'helper di convalida per il contesto di pagina corrente.
- Helper di convalida.
-
-
- Funge da classe base per le classi che rappresentano una pagina ASP.NET Razor.
-
-
- Inizializza la classe per l'utilizzo da parte di un'istanza di classe ereditata.Questo costruttore può essere chiamato solo da una classe ereditata.
-
-
- Quando è sottoposto a override in una classe derivata, configura la pagina Web corrente in base alla configurazione della pagina Web padre.
- Pagina padre da cui eseguire la lettura delle informazioni di configurazione.
-
-
- Crea una nuova istanza della classe usando il percorso virtuale specificato.
- Nuovo oggetto .
- Percorso virtuale da usare per creare l'istanza.
-
-
- Tenta di creare un'istanza WebPageBase da un virtualPath e include le eccezioni complesse del compilatore con messaggi più semplici
-
-
- Chiamato dalle pagine di contenuto per creare sezioni di contenuto denominate.
- Nome della sezione da creare.
- Tipo di azione da eseguire con la nuova sezione.
-
-
- Esegue il codice in un set di pagine Web dipendenti.
-
-
- Esegue il codice in un set di pagine Web dipendenti usando i parametri specificati.
- Dati del contesto per la pagina.
- Writer da usare per scrivere il codice HTML eseguito.
-
-
- Esegue il codice in un set di pagine Web dipendenti usando il contesto, il writer e la pagina di avvio specificati.
- Dati del contesto per la pagina.
- Writer da usare per scrivere il codice HTML eseguito.
- Pagina per avviare l'esecuzione nella gerarchia delle pagine.
-
-
- Restituisce l'istanza del writer di testo usata per il rendering della pagina.
- Writer di testo.
-
-
- Inizializza la pagina corrente.
-
-
- Restituisce un valore che indica se nella pagina è definita la sezione specificata.
- true se nella pagina è definita la sezione specificata. In caso contrario, false.
- Nome della sezione da cercare.
-
-
- Ottiene o imposta il percorso di una pagina di layout.
- Percorso della pagina di layout.
-
-
- Ottiene l'oggetto corrente per la pagina.
- Oggetto .
-
-
- Ottiene lo stack di oggetti per il contesto di pagina corrente.
- Oggetti .
-
-
- Fornisce l'accesso di tipo proprietà ai dati di pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Oggetto contenente dati di pagina.
-
-
- Fornisce l'accesso di tipo matrice ai dati di pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Dizionario contenente dati di pagina.
-
-
- Restituisce e rimuove il contesto in cima all'istanza di .
-
-
- Inserisce il contesto specificato in cima all'istanza di .
- Contesto di pagina di cui effettuare il push nell'istanza di .
- Writer per il contesto di pagina.
-
-
- Nelle pagine di layout, esegue il rendering della porzione di una pagina di contenuto non inclusa in una sezione denominata.
- Contenuto HTML di cui eseguire il rendering.
-
-
- Esegue il rendering del contenuto di una pagina in un'altra pagina.
- Contenuto HTML di cui eseguire il rendering.
- Percorso della pagina di cui eseguire il rendering.
- (Facoltativo) Matrice di dati da passare alla pagina di cui viene eseguito il rendering.Nella pagina di cui viene eseguito il rendering, è possibile accedere a questi parametri mediante la proprietà .
-
-
- Nelle pagine di layout, esegue il rendering del contenuto di una sezione denominata.
- Contenuto HTML di cui eseguire il rendering.
- Sezione di cui eseguire il rendering.
- Il rendering della sezione è già stato eseguito.oppureLa sezione è stata contrassegnata come obbligatoria ma non è stata trovata.
-
-
- Nelle pagine di layout, esegue il rendering del contenuto di una sezione denominata e specifica se la sezione è obbligatoria.
- Contenuto HTML di cui eseguire il rendering.
- Sezione di cui eseguire il rendering.
- true per specificare che la sezione è obbligatoria. In caso contrario, false.
-
-
- Scrive l'oggetto specificato come stringa codificata in formato HTML.
- Oggetto da codificare e scrivere.
-
-
- Scrive l'oggetto specificato come stringa codificata in formato HTML.
- Risultato dell'helper da codificare e scrivere.
-
-
- Scrive l'oggetto specificato senza eseguirne innanzitutto la codifica HTML.
- Oggetto da scrivere.
-
-
- Contiene i dati utilizzati da un oggetto per fare riferimento ai dettagli relativi all'applicazione Web, alla richiesta HTTP corrente, al contesto di esecuzione corrente e ai dati di rendering della pagina.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando il contesto, la pagina e il modello specificati.
- Dati di contesto della richiesta HTTP da associare al contesto di pagina.
- Dati di pagina da condividere tra pagine, pagine di layout e pagine parziali.
- Modello da associare ai dati di visualizzazione.
-
-
- Ottiene un riferimento all'oggetto corrente associato a una pagina.
- Oggetto di contesto di pagina corrente.
-
-
- Ottiene il modello associato a una pagina.
- Oggetto che rappresenta un modello associato ai dati della visualizzazione di una pagina.
-
-
- Ottiene l'oggetto associato a una pagina.
- Oggetto che esegue il rendering della pagina.
-
-
- Ottiene i dati di pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Dizionario contenente dati di pagina.
-
-
- Fornisce oggetti e metodi usati per l'esecuzione e il rendering di pagine ASP.NET che includono sintassi Razor.
-
-
- Inizializza una nuova istanza della classe .Questo costruttore può essere chiamato solo da una classe ereditata.
-
-
-
-
-
-
-
-
- Quando è sottoposto a override in una classe derivata, ottiene o imposta l'oggetto associato a una pagina.
- Dati del contesto corrente.
-
-
-
-
-
-
-
- Restituisce l'istanza del writer di testo usata per il rendering della pagina.
- Writer di testo.
-
-
-
-
-
-
-
- Scrive la rappresentazione stringa dell'oggetto specificato come stringa codificata in formato HTML.
- Oggetto da codificare e scrivere.
-
-
- Scrive l'oggetto specificato come stringa codificata in formato HTML.
- Risultato dell'helper da codificare e scrivere.
-
-
-
-
-
- Scrive l'oggetto specificato senza codifica HTML.
- Oggetto da scrivere.
-
-
- Scrive l'oggetto specificato nell'istanza di specificata senza codifica HTML.
- Writer di testo.
- Oggetto da scrivere.
-
-
- Scrive l'oggetto specificato come stringa codificata in formato HTML nel writer di testo specificato.
- Writer di testo.
- Oggetto da codificare e scrivere.
-
-
- Scrive l'oggetto specificato come stringa codificata in formato HTML nel writer di testo specificato.
- Writer di testo.
- Risultato dell'helper da codificare e scrivere.
-
-
- Fornisce metodi e proprietà utilizzati per elaborare specifiche estensioni di URL.
-
-
- Inizializza una nuova istanza della classe utilizzando la pagina Web specificata.
- Pagina Web da elaborare.
-
- è null.
-
-
- Crea un nuovo oggetto gestore dal percorso virtuale specificato.
-
- Oggetto per il percorso virtuale specificato.
- Percorso virtuale da utilizzare per creare il gestore.
-
-
- Ottiene o imposta un valore che indica se le intestazioni di risposta delle pagine Web sono disabilitate.
- true se le intestazioni di risposta delle pagine Web sono disabilitate. In caso contrario, false.
-
-
- Restituisce un elenco di estensioni di file che l'istanza corrente è in grado di elaborare.
- Elenco di sola lettura delle estensioni di file elaborate dall'istanza corrente di .
-
-
- Ottiene un valore che indica se l'istanza di può essere utilizzata da un'altra richiesta.
- true se l'istanza di è riutilizzabile. In caso contrario, false.
-
-
- Elabora la pagina Web utilizzando il contesto specificato.
- Contesto da utilizzare durante l'elaborazione della pagina Web.
-
-
- Aggiunge un'estensione di file all'elenco delle estensioni elaborate dall'istanza corrente di .
- Estensione da aggiungere, senza punto iniziale.
-
-
- Nome del tag HTML (X-AspNetWebPages-Version) per la versione della specifica di ASP.NET Web Pages utilizzata dalla pagina Web.
-
-
- Fornisce metodi e proprietà utilizzati per il rendering delle pagine che utilizzano il motore di visualizzazione Razor.
-
-
- Inizializza una nuova istanza della classe .
-
-
-
-
-
- Quando è sottoposto a override in una classe derivata, chiama i metodi utilizzati per inizializzare la pagina.
-
-
-
-
- Quando è sottoposto a override in una classe derivata, ottiene o imposta il percorso di una pagina di layout.
- Percorso di una pagina di layout.
-
-
- Quando è sottoposto a override in una classe derivata, fornisce l'accesso di tipo proprietà ai dati di pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Oggetto contenente dati di pagina.
-
-
-
- Quando è sottoposto a override in una classe derivata, fornisce l'accesso di tipo matrice ai dati di pagina condivisi tra pagine, pagine di layout e pagine parziali.
- Oggetto che fornisce l'accesso di tipo matrice ai dati di pagina.
-
-
-
- Quando è sottoposto a override in una classe derivata, esegue il rendering di una pagina Web.
- Markup che rappresenta la pagina Web.
- Percorso della pagina di cui eseguire il rendering.
- Dati aggiuntivi utilizzati per eseguire il rendering della pagina.
-
-
-
-
-
-
-
-
-
-
- Fornisce supporto per il rendering di moduli HTML e per la convalida di form in una pagina Web.
-
-
- Crea un dizionario di attributi HTML dall'oggetto di input, traducendo i caratteri di sottolineatura in trattini.
- Dizionario che rappresenta gli attributi HTML.
- Oggetto anonimo che descrive gli attributi HTML.
-
-
- Restituisce una stringa codificata in formato HTML che rappresenta l'oggetto specificato tramite una codifica minima adatta solo per gli attributi HTML racchiusi tra virgolette.
- Stringa codificata in formato HTML che rappresenta l'oggetto.
- Oggetto da codificare.
-
-
- Restituisce una stringa codificata in formato HTML che rappresenta la stringa specificata tramite una codifica minima adatta solo per gli attributi HTML racchiusi tra virgolette.
- Stringa codificata in formato HTML che rappresenta l'oggetto originale.
- Stringa da codificare.
-
-
- Restituisce un controllo casella di controllo HTML che ha il nome specificato.
- Markup HTML che rappresenta il controllo casella di controllo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di controllo HTML che ha il nome specificato e lo stato verificato predefinito.
- Markup HTML che rappresenta il controllo casella di controllo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- true per indicare che l'attributo checked è impostato su checked. In caso contrario, false.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di controllo HTML che ha il nome specificato, lo stato verificato predefinito e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo casella di controllo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- true per indicare che l'attributo checked è impostato su checked. In caso contrario, false.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di controllo HTML che ha il nome specificato, lo stato verificato predefinito e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo casella di controllo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- true per indicare che l'attributo checked è impostato su checked. In caso contrario, false.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di controllo HTML che ha il nome specificato e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo casella di controllo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di controllo HTML che ha il nome specificato e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo casella di controllo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato e che contiene le voci di elenco specificate.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Elenco di istanze di usate per popolare l'elenco.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato e attributi personalizzati definiti da un dizionario degli attributi e che contiene le voci di elenco specificate.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Elenco di istanze di usate per popolare l'elenco.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato e attributi personalizzati definiti da un oggetto attributo e che contiene le voci di elenco specificate.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato e attributi personalizzati definiti da un dizionario degli attributi e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato e attributi personalizzati definiti da un oggetto attributo e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato, attributi personalizzati definiti da un dizionario degli attributi e la selezione predefinita e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Valore che specifica la voce dell'elenco selezionata per impostazione predefinita.La voce selezionata è costituita dalla prima voce dell'elenco il cui valore o, in mancanza di esso, il cui nome corrisponde al parametro.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo elenco a discesa HTML che ha il nome specificato, attributi personalizzati definiti da un oggetto attributo e la selezione predefinita e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo elenco a discesa.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Valore che specifica la voce dell'elenco selezionata per impostazione predefinita.La voce selezionata è costituita dalla prima voce dell'elenco il cui valore o, in mancanza di esso, il cui nome corrisponde al testo delle voci visualizzato.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce una stringa codificata in formato HTML che rappresenta l'oggetto specificato usando una codifica completa adatta al formato HTML arbitrario.
- Stringa codificata in formato HTML che rappresenta l'oggetto.
- Oggetto da codificare.
-
-
- Restituisce una stringa codificata in formato HTML che rappresenta la stringa specificata usando una codifica completa adatta al formato HTML arbitrario.
- Stringa codificata in formato HTML che rappresenta l'oggetto originale.
- Stringa da codificare.
-
-
- Restituisce un controllo nascosto HTML che ha il nome specificato.
- Markup HTML che rappresenta il controllo nascosto.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
-
- è null o vuoto.
-
-
- Restituisce un controllo nascosto HTML che ha il nome e il valore specificati.
- Markup HTML che rappresenta il controllo nascosto.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo nascosto HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo nascosto.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo nascosto HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo nascosto.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Ottiene o imposta il carattere usato per sostituire il punto (.) nell'attributo id dei moduli di cui è stato eseguito il rendering.
- Carattere usato per sostituire il punto nell'attributo id dei moduli di cui è stato eseguito il rendering.Il valore predefinito è il carattere di sottolineatura (_).
-
-
- Restituisce un'etichetta HTML in cui viene visualizzato il testo specificato.
- Markup HTML che rappresenta l'etichetta.
- Testo da visualizzare.
-
- è null o vuoto.
-
-
- Restituisce un'etichetta HTML in cui viene visualizzato il testo specificato e che ha gli attributi personalizzati specificati.
- Markup HTML che rappresenta l'etichetta.
- Testo da visualizzare.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un'etichetta HTML in cui viene visualizzato il testo specificato e che ha l'attributo for specificato.
- Markup HTML che rappresenta l'etichetta.
- Testo da visualizzare.
- Valore da assegnare all'attributo for dell'elemento di controllo HTML.
-
- è null o vuoto.
-
-
- Restituisce un'etichetta HTML in cui viene visualizzato il testo specificato e che ha l'attributo for specificato e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta l'etichetta.
- Testo da visualizzare.
- Valore da assegnare all'attributo for dell'elemento di controllo HTML.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un'etichetta HTML in cui viene visualizzato il testo specificato e che possiede l'attributo for specificato e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta l'etichetta.
- Testo da visualizzare.
- Valore da assegnare all'attributo for dell'elemento di controllo HTML.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato e che contiene le voci di elenco specificate.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Elenco di istanze di usate per popolare l'elenco.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato e attributi personalizzati definiti da un dizionario degli attributi e che contiene le voci di elenco specificate.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Elenco di istanze di usate per popolare l'elenco.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato e attributi personalizzati definiti da un oggetto attributo e che contiene le voci di elenco specificate.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato, la dimensione, le voci di elenco e le selezioni predefinite e che specifica se sono abilitate le selezioni multiple.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto che specifica le voci dell'elenco selezionate per impostazione predefinita.Le voci selezionate vengono recuperate tramite reflection esaminando le proprietà dell'oggetto.
- Valore da assegnare all'attributo size dell'elemento.
- true per indicare che sono abilitate le selezioni multiple. In caso contrario, false.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare la casella di riepilogo.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato e attributi personalizzati definiti da un dizionario degli attributi e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato e attributi personalizzati definiti da un oggetto attributo e che contiene le voci di elenco specificate e la voce predefinita.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare la casella di riepilogo.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato e attributi personalizzati definiti da un dizionario degli attributi e che contiene le voci di elenco specificate, la voce predefinita e le selezioni.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto che specifica le voci dell'elenco selezionate per impostazione predefinita.Le voci selezionate vengono recuperate tramite reflection esaminando le proprietà dell'oggetto.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato, la dimensione, le voci, la voce predefinita e le selezioni e che specifica se sono abilitate le selezioni multiple.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto che specifica le voci dell'elenco selezionate per impostazione predefinita.Le voci selezionate vengono recuperate tramite reflection esaminando le proprietà dell'oggetto.
- Valore da assegnare all'attributo size dell'elemento.
- true per indicare che sono abilitate le selezioni multiple. In caso contrario, false.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato, la dimensione, attributi personalizzati definiti da un dizionario degli attributi, le voci, la voce predefinita e le selezioni e che specifica se sono abilitate le selezioni multiple.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto che specifica le voci dell'elenco selezionate per impostazione predefinita.Le voci selezionate vengono recuperate tramite reflection esaminando le proprietà dell'oggetto.
- Valore da assegnare all'attributo size dell'elemento.
- true per indicare che sono abilitate le selezioni multiple. In caso contrario, false.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome specificato, la dimensione, attributi personalizzati definiti da un oggetto attributo, le voci, la voce predefinita e le selezioni e che specifica se sono abilitate le selezioni multiple.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto che specifica le voci dell'elenco selezionate per impostazione predefinita.Le voci selezionate vengono recuperate tramite reflection esaminando le proprietà dell'oggetto.
- Valore da assegnare all'attributo size dell'elemento.
- true per indicare che sono abilitate le selezioni multiple. In caso contrario, false.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo casella di riepilogo HTML che ha il nome, le voci, la voce predefinita, attributi personalizzati definiti da un oggetto attributo e le selezioni.
- Markup HTML che rappresenta il controllo casella di riepilogo.
- Valore da assegnare all'attributo name dell'elemento select HTML.
- Testo da visualizzare per l'opzione predefinita dell'elenco.
- Elenco di istanze di usate per popolare l'elenco.
- Oggetto che specifica le voci dell'elenco selezionate per impostazione predefinita.Le voci selezionate vengono recuperate tramite reflection esaminando le proprietà dell'oggetto.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Crea un dizionario da un oggetto tramite l'aggiunta al dizionario della proprietà di ogni istanza pubblica come chiave con il rispettivo valore associato.Esporrà anche le proprietà pubbliche dai tipi derivati.Usato in genere con oggetti di tipo anonimo.
- Dizionario creato dei nomi di proprietà e dei valori di proprietà.
- Oggetto da convertire.
-
-
- Restituisce un controllo password HTML che ha il nome specificato.
- Markup HTML che rappresenta il controllo password.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
-
- è null o vuoto.
-
-
- Restituisce un controllo password HTML che ha il nome e il valore specificati.
- Markup HTML che rappresenta il controllo password.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo password HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo password.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo password HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo password.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo pulsante di opzione HTML che ha il nome e il valore specificati.
- Markup HTML che rappresenta il controllo pulsante di opzione.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.L'attributo name definisce il gruppo a cui appartiene il pulsante di opzione.
- Valore da assegnare all'attributo value dell'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo pulsante di opzione HTML che ha il nome specificato, il valore e lo stato selezionato predefinito.
- Markup HTML che rappresenta il controllo pulsante di opzione.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.L'attributo name definisce il gruppo a cui appartiene il pulsante di opzione.
- Valore da assegnare all'attributo value dell'elemento.
- true per indicare che il controllo è selezionato. In caso contrario, false.
-
- è null o vuoto.
-
-
- Restituisce un controllo pulsante di opzione HTML che ha il nome specificato, il valore, lo stato selezionato predefinito e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo pulsante di opzione.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.L'attributo name definisce il gruppo a cui appartiene il pulsante di opzione.
- Valore da assegnare all'attributo value dell'elemento.
- true per indicare che il controllo è selezionato. In caso contrario, false.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo pulsante di opzione HTML che ha il nome specificato, il valore, lo stato selezionato predefinito e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo pulsante di opzione.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.L'attributo name definisce il gruppo a cui appartiene il pulsante di opzione.
- Valore da assegnare all'attributo value dell'elemento.
- true per indicare che il controllo è selezionato. In caso contrario, false.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo pulsante di opzione HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo pulsante di opzione.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.L'attributo name definisce il gruppo a cui appartiene il pulsante di opzione.
- Valore da assegnare all'attributo value dell'elemento.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo pulsante di opzione HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo pulsante di opzione.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.L'attributo name definisce il gruppo a cui appartiene il pulsante di opzione.
- Valore da assegnare all'attributo value dell'elemento.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Esegue il wrapping del markup HTML in un'istanza di in modo che tale markup venga interpretato come markup HTML.
- HTML non codificato.
- Oggetto per il quale eseguire il rendering in HTML.
-
-
- Esegue il wrapping del markup HTML in un'istanza di in modo che tale markup venga interpretato come markup HTML.
- HTML non codificato.
- Stringa da interpretare come markup HTML anziché come stringa codificata in formato HTML.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome specificato.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textarea HTML.
-
- è null o vuoto.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome specificato e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textarea HTML.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome specificato e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textarea HTML.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome e il valore specificati.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textrarea HTML.
- Testo da visualizzare.
-
- è null o vuoto.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome specificato, il valore e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textarea HTML.
- Testo da visualizzare.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome specificato, il valore, gli attributi row e col e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textarea HTML.
- Testo da visualizzare.
- Valore da assegnare all'attributo rows dell'elemento.
- Valore da assegnare all'attributo cols dell'elemento.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome specificato, il valore, gli attributi row e col e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textarea HTML.
- Testo da visualizzare.
- Valore da assegnare all'attributo rows dell'elemento.
- Valore da assegnare all'attributo cols dell'elemento.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo input di testo multilinea HTML (area di testo) che ha il nome specificato, il valore e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo area di testo.
- Valore da assegnare all'attributo name dell'elemento textarea HTML.
- Testo da visualizzare.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un controllo testo HTML che ha il nome specificato.
- Markup HTML che rappresenta il controllo testo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
-
- è null o vuoto.
-
-
- Restituisce un controllo testo HTML che ha il nome e il valore specificati.
- Markup HTML che rappresenta il controllo testo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo testo HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un dizionario degli attributi.
- Markup HTML che rappresenta il controllo testo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un controllo testo HTML che ha il nome specificato, il valore e attributi personalizzati definiti da un oggetto attributo.
- Markup HTML che rappresenta il controllo testo.
- Valore da assegnare all'attributo name dell'elemento di controllo HTML.
- Valore da assegnare all'attributo value dell'elemento.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Ottiene o imposta un valore che indica se la pagina usa JavaScript non intrusivo per la funzionalità AJAX.
- true se la pagina usa JavaScript non intrusivo. In caso contrario, false.
-
-
- Ottiene o imposta il nome della classe CSS che definisce l'aspetto degli elementi input quando la convalida ha esito negativo.
- Nome della classe CSS.Il valore predefinito è field-validation-error.
-
-
- Ottiene o imposta il nome della classe CSS che definisce l'aspetto degli elementi input quando la convalida ha esito positivo.
- Nome della classe CSS.Il valore predefinito è input-validation-valid.
-
-
- Restituisce un elemento span HTML che contiene il primo messaggio di errore di convalida relativo al campo del form specificato.
- null se il valore del campo specificato è valido. In caso contrario, markup HTML che rappresenta il messaggio di errore di convalida associato al campo specificato.
- Nome del campo del form convalidato.
-
- è null o vuoto.
-
-
- Restituisce un elemento span HTML che ha gli attributi personalizzati specificati definiti da un dizionario degli attributi e che contiene il primo messaggio di errore di convalida relativo al campo del form specificato.
- null se il valore del campo specificato è valido. In caso contrario, markup HTML che rappresenta il messaggio di errore di convalida associato al campo specificato.
- Nome del campo del form convalidato.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un elemento span HTML che ha gli attributi personalizzati specificati definiti da un oggetto attributo e che contiene il primo messaggio di errore di convalida relativo al campo del form specificato.
- null se il valore del campo specificato è valido. In caso contrario, markup HTML che rappresenta il messaggio di errore di convalida associato al campo specificato.
- Nome del campo del form convalidato.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Restituisce un elemento span HTML che contiene un messaggio di errore di convalida relativo al campo del form specificato.
- null se il valore del campo specificato è valido. In caso contrario, markup HTML che rappresenta il messaggio di errore di convalida associato al campo specificato.
- Nome del campo del form convalidato.
- Messaggio di errore di convalida da visualizzare.Se null, viene visualizzato il primo messaggio di errore di convalida associato al campo del form specificato.
-
- è null o vuoto.
-
-
- Restituisce un elemento span HTML che ha gli attributi personalizzati specificati definiti da un dizionario degli attributi e che contiene un messaggio di errore di convalida relativo al campo del form specificato.
- null se il campo specificato è valido. In caso contrario, markup HTML che rappresenta un messaggio di errore di convalida associato al campo specificato.
- Nome del campo del form convalidato.
- Messaggio di errore di convalida da visualizzare.Se null, viene visualizzato il primo messaggio di errore di convalida associato al campo del form specificato.
- Nomi e valori di attributi personalizzati per l'elemento.
-
- è null o vuoto.
-
-
- Restituisce un elemento span HTML che ha gli attributi personalizzati specificati definiti da un oggetto attributo e che contiene un messaggio di errore di convalida relativo al campo del form specificato.
- null se il campo specificato è valido. In caso contrario, markup HTML che rappresenta un messaggio di errore di convalida associato al campo specificato.
- Nome del campo del form convalidato.
- Messaggio di errore di convalida da visualizzare.Se null, viene visualizzato il primo messaggio di errore di convalida associato al campo del form specificato.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
- è null o vuoto.
-
-
- Ottiene o imposta il nome della classe CSS che definisce l'aspetto dei messaggi di errore di convalida quando quest'ultima ha esito negativo.
- Nome della classe CSS.Il valore predefinito è field-validation-error.
-
-
- Ottiene o imposta il nome della classe CSS che definisce l'aspetto dei messaggi di errore di convalida quando quest'ultima ha esito positivo.
- Nome della classe CSS.Il valore predefinito è field-validation-valid.
-
-
- Restituisce un elemento div HTML che contiene un elenco non ordinato di tutti i messaggi di errore di convalida provenienti dal dizionario di stato del modello.
- Markup HTML che rappresenta i messaggi di errore di convalida.
-
-
- Restituisce un elemento div HTML che contiene un elenco non ordinato di messaggi di errore di convalida provenienti dal dizionario di stato del modello, con l'esclusione facoltativa degli errori a livello di campo.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- true per escludere dall'elenco i messaggi di errore di convalida a livello di campo; false per includere i messaggi di errore di convalida sia a livello di modello sia a livello di campo.
-
-
- Restituisce un elemento div HTML che ha gli attributi personalizzati specificati definiti da un dizionario degli attributi e che contiene un elenco non ordinato di tutti i messaggi di errore di convalida presenti nel dizionario di stato del modello.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- Nomi e valori di attributi personalizzati per l'elemento.
-
-
- Restituisce un elemento div HTML che ha gli attributi personalizzati specificati definiti da un oggetto attributo e che contiene un elenco non ordinato di tutti i messaggi di errore di convalida presenti nel dizionario di stato del modello.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
-
- Restituisce un elemento div HTML che contiene un messaggio di riepilogo e un elenco non ordinato di tutti i messaggi di errore di convalida presenti nel dizionario di stato del modello.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- Messaggio che precede l'elenco di messaggi di errore di convalida.
-
-
- Restituisce un elemento div HTML che ha gli attributi personalizzati specificati definiti da un dizionario degli attributi e che contiene un messaggio di riepilogo e un elenco non ordinato di messaggi di errore di convalida provenienti dal dizionario di stato del modello, con l'esclusione facoltativa degli errori a livello di campo.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- Messaggio di riepilogo che precede l'elenco di messaggi di errore di convalida.
- true per escludere dai risultati i messaggi di errore di convalida a livello di campo; false per includere i messaggi di errore di convalida sia a livello di modello sia a livello di campo.
- Nomi e valori di attributi personalizzati per l'elemento.
-
-
- Restituisce un elemento div HTML che ha gli attributi personalizzati specificati definiti da un oggetto attributo e che contiene un messaggio di riepilogo e un elenco non ordinato di messaggi di errore di convalida provenienti dal dizionario di stato del modello, con l'esclusione facoltativa degli errori a livello di campo.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- Messaggio di riepilogo che precede l'elenco di messaggi di errore di convalida.
- true per escludere dai risultati i messaggi di errore di convalida a livello di campo, false per includere tali messaggi.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
-
- Restituisce un elemento div HTML che ha gli attributi personalizzati specificati definiti da un dizionario degli attributi e che contiene un messaggio di riepilogo e un elenco non ordinato di tutti i messaggi di errore di convalida provenienti dal dizionario di stato del modello.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- Messaggio che precede l'elenco di messaggi di errore di convalida.
- Nomi e valori di attributi personalizzati per l'elemento.
-
-
- Restituisce un elemento div HTML che ha gli attributi personalizzati specificati definiti da un oggetto attributo e che contiene un messaggio di riepilogo e un elenco non ordinato di tutti i messaggi di errore di convalida provenienti dal dizionario di stato del modello.
- Markup HTML che rappresenta i messaggi di errore di convalida.
- Messaggio di riepilogo che precede l'elenco di messaggi di errore di convalida.
- Oggetto contenente gli attributi personalizzati per l'elemento.I nomi e i valori degli attributi vengono recuperati tramite reflection esaminando le proprietà dell'oggetto.
-
-
- Ottiene o imposta il nome della classe CSS che definisce l'aspetto di un riepilogo di convalida quando quest'ultima ha esito negativo.
- Nome della classe CSS.Il valore predefinito è validation-summary-errors.
-
-
- Ottiene o imposta il nome della classe CSS che definisce l'aspetto di un riepilogo di convalida quando quest'ultima ha esito positivo.
- Nome della classe CSS.Il valore predefinito è validation-summary-valid.
-
-
- Incapsula lo stato di associazione del modello a una proprietà di un argomento del metodo di azione o all'argomento stesso.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Restituisce un elenco di stringhe che contiene gli errori che si sono verificati durante l'associazione del modello.
- Errore che si è verificato durante l'associazione del modello.
-
-
- Restituisce un oggetto che incapsula il valore associato durante l'associazione del modello.
- Valore associato.
-
-
- Rappresenta il risultato dell'associazione di un form pubblicato a un metodo di azione, che include informazioni quali lo stato della convalida e messaggi di errore di convalida.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando i valori copiati dal dizionario di stato del modello specificato.
- Dizionario di stato del modello da cui vengono copiati i valori.
-
-
- Aggiunge l'elemento specificato al dizionario di stato del modello.
- Voce da aggiungere al dizionario di stato del modello.
-
-
- Aggiunge una voce con la chiave e il valore specificati al dizionario di stato del modello.
- Chiave.
- Valore.
-
-
- Aggiunge un messaggio di errore allo stato del modello associato alla chiave specificata.
- Chiave associata allo stato del modello a cui viene aggiunto il messaggio di errore.
- Messaggio di errore.
-
-
- Aggiunge un messaggio di errore allo stato del modello associato all'intero form.
- Messaggio di errore.
-
-
- Rimuove tutti gli elementi dal dizionario di stato del modello.
-
-
- Determina se il dizionario di stato del modello contiene la voce specificata.
- true se il dizionario di stato del modello contiene la voce specificata. In caso contrario, false.
- Voce da ricercare.
-
-
- Determina se il dizionario di stato del modello contiene la chiave specificata.
- true se il dizionario di stato del modello contiene la chiave specificata. In caso contrario, false.
- Chiave da ricercare.
-
-
- Copia gli elementi del dizionario di stato del modello in una matrice, a partire dall'indice specificato.
- Istanza unidimensionale di in cui verranno copiati gli elementi.
- Indice in in corrispondenza del quale viene iniziata la copia.
-
-
- Ottiene il numero di stati del modello contenuti nel dizionario di stato del modello.
- Numero di stati del modello contenuti nel dizionario di stato del modello.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere la raccolta.
- Enumeratore che può essere utilizzato per scorrere la raccolta.
-
-
- Ottiene un valore che indica se il dizionario di stato del modello è di sola lettura.
- true se il dizionario di stato del modello è di sola lettura. In caso contrario, false.
-
-
- Ottiene un valore che indica se a uno stato del modello nel dizionario sono associati messaggi di errore.
- true se a uno stato del modello nel dizionario sono associati messaggi di errore. In caso contrario, false.
-
-
- Determina se alla chiave specificata sono associati messaggi di errore.
- true se alla chiave specificata non è associato alcun messaggio di errore. In caso contrario, false.
- Chiave.
-
- è null.
-
-
- Ottiene o imposta lo stato del modello associato alla chiave specificata nel dizionario di stato del modello.
- Stato del modello associato alla chiave specificata nel dizionario.
-
-
- Ottiene un elenco contenente le chiavi presenti nel dizionario di stato del modello.
- Elenco di chiavi contenute nel dizionario di stato del modello.
-
-
- Copia i valori dal dizionario di stato del modello specificato in questa istanza di , sovrascrivendo i valori esistenti quando le chiavi corrispondono.
- Dizionario di stato del modello da cui vengono copiati i valori.
-
-
- Rimuove la prima occorrenza della voce specificata dal dizionario di stato del modello.
- true se la voce è stata rimossa dal dizionario di stato del modello; false se la voce non è stata rimossa o non è presente nel dizionario di stato del modello.
- Voce da rimuovere.
-
-
- Rimuove la voce con la chiave specificata dal dizionario di stato del modello.
- true se la voce è stata rimossa dal dizionario di stato del modello; false se la voce non è stata rimossa o non è presente nel dizionario di stato del modello.
- Chiave dell'elemento da rimuovere.
-
-
- Imposta il valore dello stato del modello associato alla chiave specificata.
- Chiave di cui impostare il valore.
- Valore su cui impostare la chiave.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere il dizionario di stato del modello.
- Enumeratore che può essere utilizzato per scorrere il dizionario di stato del modello.
-
-
- Ottiene il valore di stato del modello associato alla chiave specificata.
- true se il dizionario di stato del modello contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave di cui ottenere il valore.
- Quando termina, questo metodo restituisce il valore di stato del modello associato alla chiave specificata, se la chiave viene trovata. In caso contrario, contiene il valore predefinito per il tipo .Questo parametro viene passato senza inizializzazione.
-
-
- Ottiene un elenco contenente i valori contenuti nel dizionario di stato del modello.
- Elenco di valori contenuti nel dizionario di stato del modello.
-
-
- Rappresenta una voce contenuta in un elenco di selezione HTML.
-
-
- Inizializza una nuova istanza della classe utilizzando le impostazioni predefinite.
-
-
- Inizializza una nuova istanza della classe copiando la voce specificata nell'elenco di selezione.
- Voce dell'elenco di selezione da copiare.
-
-
- Ottiene o imposta un valore che indica se l'istanza di è selezionata.
- true se la voce contenuta nell'elenco di selezione è selezionata. In caso contrario, false.
-
-
- Ottiene o imposta il testo utilizzato per visualizzare l'istanza di in una pagina Web.
- Testo utilizzato per visualizzare la voce dell'elenco di selezione.
-
-
- Ottiene o imposta il valore dell'attributo HTML value relativo all'elemento HTML option associato all'istanza di .
- Valore dell'attributo HTML value associato alla voce dell'elenco di selezione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta un servizio di strumentazione delle pagine Web.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Viene chiamato prima di eseguire il rendering dell'output per il contesto specificato.
- Contesto.
- Percorso virtuale.
- Writer.
- Posizione iniziale.
- Lunghezza del contesto.
- Determina se il contesto è un valore letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Viene chiamato dopo l'esecuzione del rendering dell'output per il contesto specificato.
- Contesto.
- Percorso virtuale.
- Writer.
- Posizione iniziale.
- Lunghezza del contesto.
- Determina se il contesto è un valore letterale.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene un valore che indica se il servizio è disponibile.
- true se il servizio è disponibile. In caso contrario, false.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Rappresenta una posizione con tag.
- Tipo della posizione.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Inizializza una nuova istanza della classe .
- Valore dell'istanza corrente.
- Offset.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se l'oggetto specificato è uguale all'oggetto corrente.
- true se l'oggetto specificato è uguale all'oggetto corrente. In caso contrario, false.
- Oggetto con cui effettuare il confronto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce il codice hash dell'istanza corrente.
- Codice hash dell'istanza corrente.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti sono uguali.
- true se i due oggetti sono uguali. In caso contrario, false.
- Primo oggetto.
- Secondo oggetto.
-
-
- Converte l'oggetto specificato in un oggetto .
-
- che rappresenta l'oggetto convertito.
- Oggetto da convertire.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Converte in un oggetto .
-
- che rappresenta l'oggetto convertito.
- Oggetto da convertire.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Determina se i due oggetti non sono uguali.
- true se i due oggetti non sono uguali. In caso contrario, false.
- Primo oggetto.
- Secondo oggetto.
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta la posizione associata a .
- Posizione associata a .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Restituisce la rappresentazione di una stringa dell'oggetto .
- Stringa che rappresenta l'oggetto .
-
-
- Questo tipo/membro supporta l'infrastruttura .NET Framework e non può essere utilizzato direttamente dal codice.Ottiene o imposta il valore dell'istanza corrente.
- Valore dell'istanza corrente.
-
-
- Definisce un provider di archiviazione per gli ambiti delle richieste ASP.NET.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene il dizionario utilizzato per memorizzare dati nell'ambito dell'applicazione.
- Dizionario in cui vengono memorizzati i dati dell'ambito dell'applicazione.
-
-
- Ottiene o imposta il dizionario utilizzato per memorizzare dati nell'ambito corrente.
- Dizionario in cui vengono memorizzati i dati dell'ambito corrente.
-
-
- Ottiene il dizionario utilizzato per memorizzare dati nell'ambito globale.
- Dizionario in cui vengono memorizzati i dati dell'ambito globale.
-
-
- Ottiene il dizionario utilizzato per memorizzare dati nell'ambito della richiesta.
- Dizionario in cui vengono memorizzati i dati dell'ambito della richiesta.
-
-
- Definisce un dizionario che fornisce un accesso con ambito specifico ai dati.
-
-
- Ottiene e imposta il dizionario utilizzato per memorizzare dati nell'ambito corrente.
- Dizionario in cui vengono memorizzati i dati dell'ambito corrente.
-
-
- Ottiene il dizionario utilizzato per memorizzare dati in un ambito globale.
- Dizionario in cui vengono memorizzati i dati dell'ambito globale.
-
-
- Definisce una classe utilizzata per l'archiviazione in un ambito temporaneo.
-
-
- Restituisce un dizionario utilizzato per memorizzare dati in un ambito temporaneo, in base all'ambito contenuto nella proprietà .
- Dizionario in cui vengono memorizzati i dati dell'ambito temporaneo.
-
-
- Restituisce un dizionario utilizzato per memorizzare dati in un ambito temporaneo.
- Dizionario in cui vengono memorizzati i dati dell'ambito temporaneo.
- Contesto.
-
-
- Ottiene o imposta il provider dell'ambito corrente.
- Provider dell'ambito corrente.
-
-
- Ottiene il dizionario utilizzato per memorizzare dati nell'ambito corrente.
- Dizionario in cui vengono memorizzati i dati dell'ambito corrente.
-
-
- Ottiene il dizionario utilizzato per memorizzare dati in un ambito globale.
- Dizionario in cui vengono memorizzati i dati dell'ambito globale.
-
-
- Rappresenta una raccolta di chiavi e di valori utilizzati per memorizzare dati in ambiti diversi, ad esempio locale, globale e così via.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Inizializza una nuova istanza della classe utilizzando l'ambito di base specificato.
- Ambito di base.
-
-
- Aggiunge una coppia chiave-valore all'oggetto utilizzando la raccolta generica specificata.
- Coppia chiave-valore.
-
-
- Aggiunge la chiave e il valore specificati all'oggetto .
- Chiave.
- Valore.
-
-
- Ottiene il dizionario in cui sono memorizzati i dati dell'oggetto .
-
-
- Ottiene l'ambito di base per l'oggetto .
- Ambito di base per l'oggetto .
-
-
- Rimuove tutte le chiavi e i valori dagli oggetti e concatenati.
-
-
- Restituisce un valore che indica se la coppia chiave-valore specificata esiste nell'oggetto o .
- true se l'oggetto o l'oggetto contiene un elemento con la coppia chiave-valore specificata. In caso contrario, false.
- Coppia chiave-valore.
-
-
- Restituisce un valore che indica se la chiave specificata esiste nell'oggetto o .
- true se l'oggetto o contiene un elemento con la chiave specificata. In caso contrario, false.
- Chiave.
-
-
- Copia tutti gli elementi presenti nell'oggetto e nell'oggetto in un oggetto , a partire dall'indice specificato.
- Matrice.
- Indice in base zero in .
-
-
- Ottiene il numero di coppie chiave-valore presenti negli oggetti e concatenati.
- Numero di coppie chiave-valore.
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere gli oggetti e concatenati.
- Oggetto .
-
-
- Restituisce un enumeratore che può essere utilizzato per scorrere gli elementi distinti degli oggetti e concatenati.
- Enumeratore contenente elementi distinti degli oggetti dizionario concatenati.
-
-
- Ottiene un valore che indica se l'oggetto è di sola lettura.
- true se l'oggetto è di sola lettura. In caso contrario, false.
-
-
- Ottiene o imposta l'elemento associato alla chiave specificata.
- Elemento con la chiave specificata.
-
-
- Ottiene un oggetto contenente le chiavi degli oggetti concatenati e .
- Oggetto contenente tali chiavi.
-
-
- Rimuove la coppia chiave-valore specificata dagli oggetti concatenati e .
- true se la coppia chiave-valore viene rimossa; false se il parametro non viene trovato negli oggetti concatenati e .
- Coppia chiave-valore.
-
-
- Rimuove il valore con la chiave specificata dagli oggetti concatenati e .
- true se la coppia chiave-valore viene rimossa; false se il parametro non viene trovato negli oggetti concatenati e .
- Chiave.
-
-
- Imposta un valore utilizzando la chiave specificata negli oggetti concatenati e .
- Chiave.
- Valore.
-
-
- Restituisce un enumeratore per gli oggetti concatenati e .
- Enumeratore.
-
-
- Ottiene il valore associato alla chiave specificata dagli oggetti concatenati e .
- true se gli oggetti concatenati e contengono un elemento con la chiave specificata. In caso contrario, false.
- Chiave.
- Quando termina, questo metodo restituisce il valore associato alla chiave specificata, se questa viene trovata. In caso contrario, contiene il valore predefinito per il tipo del parametro .Questo parametro viene passato senza inizializzazione.
-
-
- Ottiene un oggetto contenente i valori degli oggetti concatenati e .
- Oggetto contenente tali valori.
-
-
- Fornisce un accesso con ambito specifico ai dati statici.
-
-
- Inizializza una nuova istanza della classe .
-
-
- Ottiene o imposta un dizionario che memorizza i dati correnti in un contesto statico.
- Dizionario che fornisce i dati dell'ambito corrente.
-
-
- Ottiene un dizionario che memorizza i dati globali in un contesto statico.
- Dizionario che fornisce i dati dell'ambito globale.
-
-
-
\ No newline at end of file
diff --git a/packages/Microsoft.jQuery.Unobtrusive.Validation.3.2.3/Content/Scripts/jquery.validate.unobtrusive.js b/packages/Microsoft.jQuery.Unobtrusive.Validation.3.2.3/Content/Scripts/jquery.validate.unobtrusive.js
deleted file mode 100644
index 0503334..0000000
--- a/packages/Microsoft.jQuery.Unobtrusive.Validation.3.2.3/Content/Scripts/jquery.validate.unobtrusive.js
+++ /dev/null
@@ -1,429 +0,0 @@
-/* NUGET: BEGIN LICENSE TEXT
- *
- * Microsoft grants you the right to use these script files for the sole
- * purpose of either: (i) interacting through your browser with the Microsoft
- * website or online service, subject to the applicable licensing or use
- * terms; or (ii) using the files as included with a Microsoft product subject
- * to that product's license terms. Microsoft reserves all other rights to the
- * files not expressly granted by Microsoft, whether by implication, estoppel
- * or otherwise. Insofar as a script file is dual licensed under GPL,
- * Microsoft neither took the code under GPL nor distributes it thereunder but
- * under the terms set out in this paragraph. All notices and licenses
- * below are for informational purposes only.
- *
- * NUGET: END LICENSE TEXT */
-/*!
-** Unobtrusive validation support library for jQuery and jQuery Validate
-** Copyright (C) Microsoft Corporation. All rights reserved.
-*/
-
-/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */
-/*global document: false, jQuery: false */
-
-(function ($) {
- var $jQval = $.validator,
- adapters,
- data_validation = "unobtrusiveValidation";
-
- function setValidationValues(options, ruleName, value) {
- options.rules[ruleName] = value;
- if (options.message) {
- options.messages[ruleName] = options.message;
- }
- }
-
- function splitAndTrim(value) {
- return value.replace(/^\s+|\s+$/g, "").split(/\s*,\s*/g);
- }
-
- function escapeAttributeValue(value) {
- // As mentioned on http://api.jquery.com/category/selectors/
- return value.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1");
- }
-
- function getModelPrefix(fieldName) {
- return fieldName.substr(0, fieldName.lastIndexOf(".") + 1);
- }
-
- function appendModelPrefix(value, prefix) {
- if (value.indexOf("*.") === 0) {
- value = value.replace("*.", prefix);
- }
- return value;
- }
-
- function onError(error, inputElement) { // 'this' is the form element
- var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"),
- replaceAttrValue = container.attr("data-valmsg-replace"),
- replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null;
-
- container.removeClass("field-validation-valid").addClass("field-validation-error");
- error.data("unobtrusiveContainer", container);
-
- if (replace) {
- container.empty();
- error.removeClass("input-validation-error").appendTo(container);
- }
- else {
- error.hide();
- }
- }
-
- function onErrors(event, validator) { // 'this' is the form element
- var container = $(this).find("[data-valmsg-summary=true]"),
- list = container.find("ul");
-
- if (list && list.length && validator.errorList.length) {
- list.empty();
- container.addClass("validation-summary-errors").removeClass("validation-summary-valid");
-
- $.each(validator.errorList, function () {
- $("").html(this.message).appendTo(list);
- });
- }
- }
-
- function onSuccess(error) { // 'this' is the form element
- var container = error.data("unobtrusiveContainer"),
- replaceAttrValue = container.attr("data-valmsg-replace"),
- replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null;
-
- if (container) {
- container.addClass("field-validation-valid").removeClass("field-validation-error");
- error.removeData("unobtrusiveContainer");
-
- if (replace) {
- container.empty();
- }
- }
- }
-
- function onReset(event) { // 'this' is the form element
- var $form = $(this),
- key = '__jquery_unobtrusive_validation_form_reset';
- if ($form.data(key)) {
- return;
- }
- // Set a flag that indicates we're currently resetting the form.
- $form.data(key, true);
- try {
- $form.data("validator").resetForm();
- } finally {
- $form.removeData(key);
- }
-
- $form.find(".validation-summary-errors")
- .addClass("validation-summary-valid")
- .removeClass("validation-summary-errors");
- $form.find(".field-validation-error")
- .addClass("field-validation-valid")
- .removeClass("field-validation-error")
- .removeData("unobtrusiveContainer")
- .find(">*") // If we were using valmsg-replace, get the underlying error
- .removeData("unobtrusiveContainer");
- }
-
- function validationInfo(form) {
- var $form = $(form),
- result = $form.data(data_validation),
- onResetProxy = $.proxy(onReset, form),
- defaultOptions = $jQval.unobtrusive.options || {},
- execInContext = function (name, args) {
- var func = defaultOptions[name];
- func && $.isFunction(func) && func.apply(form, args);
- }
-
- if (!result) {
- result = {
- options: { // options structure passed to jQuery Validate's validate() method
- errorClass: defaultOptions.errorClass || "input-validation-error",
- errorElement: defaultOptions.errorElement || "span",
- errorPlacement: function () {
- onError.apply(form, arguments);
- execInContext("errorPlacement", arguments);
- },
- invalidHandler: function () {
- onErrors.apply(form, arguments);
- execInContext("invalidHandler", arguments);
- },
- messages: {},
- rules: {},
- success: function () {
- onSuccess.apply(form, arguments);
- execInContext("success", arguments);
- }
- },
- attachValidation: function () {
- $form
- .off("reset." + data_validation, onResetProxy)
- .on("reset." + data_validation, onResetProxy)
- .validate(this.options);
- },
- validate: function () { // a validation function that is called by unobtrusive Ajax
- $form.validate();
- return $form.valid();
- }
- };
- $form.data(data_validation, result);
- }
-
- return result;
- }
-
- $jQval.unobtrusive = {
- adapters: [],
-
- parseElement: function (element, skipAttach) {
- ///
- /// Parses a single HTML element for unobtrusive validation attributes.
- ///
- /// The HTML element to be parsed.
- /// [Optional] true to skip attaching the
- /// validation to the form. If parsing just this single element, you should specify true.
- /// If parsing several elements, you should specify false, and manually attach the validation
- /// to the form when you are finished. The default is false.
- var $element = $(element),
- form = $element.parents("form")[0],
- valInfo, rules, messages;
-
- if (!form) { // Cannot do client-side validation without a form
- return;
- }
-
- valInfo = validationInfo(form);
- valInfo.options.rules[element.name] = rules = {};
- valInfo.options.messages[element.name] = messages = {};
-
- $.each(this.adapters, function () {
- var prefix = "data-val-" + this.name,
- message = $element.attr(prefix),
- paramValues = {};
-
- if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy)
- prefix += "-";
-
- $.each(this.params, function () {
- paramValues[this] = $element.attr(prefix + this);
- });
-
- this.adapt({
- element: element,
- form: form,
- message: message,
- params: paramValues,
- rules: rules,
- messages: messages
- });
- }
- });
-
- $.extend(rules, { "__dummy__": true });
-
- if (!skipAttach) {
- valInfo.attachValidation();
- }
- },
-
- parse: function (selector) {
- ///
- /// Parses all the HTML elements in the specified selector. It looks for input elements decorated
- /// with the [data-val=true] attribute value and enables validation according to the data-val-*
- /// attribute values.
- ///
- /// Any valid jQuery selector.
-
- // $forms includes all forms in selector's DOM hierarchy (parent, children and self) that have at least one
- // element with data-val=true
- var $selector = $(selector),
- $forms = $selector.parents()
- .addBack()
- .filter("form")
- .add($selector.find("form"))
- .has("[data-val=true]");
-
- $selector.find("[data-val=true]").each(function () {
- $jQval.unobtrusive.parseElement(this, true);
- });
-
- $forms.each(function () {
- var info = validationInfo(this);
- if (info) {
- info.attachValidation();
- }
- });
- }
- };
-
- adapters = $jQval.unobtrusive.adapters;
-
- adapters.add = function (adapterName, params, fn) {
- /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation.
- /// The name of the adapter to be added. This matches the name used
- /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).
- /// [Optional] An array of parameter names (strings) that will
- /// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and
- /// mmmm is the parameter name).
- /// The function to call, which adapts the values from the HTML
- /// attributes into jQuery Validate rules and/or messages.
- ///
- if (!fn) { // Called with no params, just a function
- fn = params;
- params = [];
- }
- this.push({ name: adapterName, params: params, adapt: fn });
- return this;
- };
-
- adapters.addBool = function (adapterName, ruleName) {
- /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
- /// the jQuery Validate validation rule has no parameter values.
- /// The name of the adapter to be added. This matches the name used
- /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).
- /// [Optional] The name of the jQuery Validate rule. If not provided, the value
- /// of adapterName will be used instead.
- ///
- return this.add(adapterName, function (options) {
- setValidationValues(options, ruleName || adapterName, true);
- });
- };
-
- adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) {
- /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
- /// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and
- /// one for min-and-max). The HTML parameters are expected to be named -min and -max.
- /// The name of the adapter to be added. This matches the name used
- /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).
- /// The name of the jQuery Validate rule to be used when you only
- /// have a minimum value.
- /// The name of the jQuery Validate rule to be used when you only
- /// have a maximum value.
- /// The name of the jQuery Validate rule to be used when you
- /// have both a minimum and maximum value.
- /// [Optional] The name of the HTML attribute that
- /// contains the minimum value. The default is "min".
- /// [Optional] The name of the HTML attribute that
- /// contains the maximum value. The default is "max".
- ///
- return this.add(adapterName, [minAttribute || "min", maxAttribute || "max"], function (options) {
- var min = options.params.min,
- max = options.params.max;
-
- if (min && max) {
- setValidationValues(options, minMaxRuleName, [min, max]);
- }
- else if (min) {
- setValidationValues(options, minRuleName, min);
- }
- else if (max) {
- setValidationValues(options, maxRuleName, max);
- }
- });
- };
-
- adapters.addSingleVal = function (adapterName, attribute, ruleName) {
- /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
- /// the jQuery Validate validation rule has a single value.
- /// The name of the adapter to be added. This matches the name used
- /// in the data-val-nnnn HTML attribute(where nnnn is the adapter name).
- /// [Optional] The name of the HTML attribute that contains the value.
- /// The default is "val".
- /// [Optional] The name of the jQuery Validate rule. If not provided, the value
- /// of adapterName will be used instead.
- ///
- return this.add(adapterName, [attribute || "val"], function (options) {
- setValidationValues(options, ruleName || adapterName, options.params[attribute]);
- });
- };
-
- $jQval.addMethod("__dummy__", function (value, element, params) {
- return true;
- });
-
- $jQval.addMethod("regex", function (value, element, params) {
- var match;
- if (this.optional(element)) {
- return true;
- }
-
- match = new RegExp(params).exec(value);
- return (match && (match.index === 0) && (match[0].length === value.length));
- });
-
- $jQval.addMethod("nonalphamin", function (value, element, nonalphamin) {
- var match;
- if (nonalphamin) {
- match = value.match(/\W/g);
- match = match && match.length >= nonalphamin;
- }
- return match;
- });
-
- if ($jQval.methods.extension) {
- adapters.addSingleVal("accept", "mimtype");
- adapters.addSingleVal("extension", "extension");
- } else {
- // for backward compatibility, when the 'extension' validation method does not exist, such as with versions
- // of JQuery Validation plugin prior to 1.10, we should use the 'accept' method for
- // validating the extension, and ignore mime-type validations as they are not supported.
- adapters.addSingleVal("extension", "extension", "accept");
- }
-
- adapters.addSingleVal("regex", "pattern");
- adapters.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");
- adapters.addMinMax("length", "minlength", "maxlength", "rangelength").addMinMax("range", "min", "max", "range");
- adapters.addMinMax("minlength", "minlength").addMinMax("maxlength", "minlength", "maxlength");
- adapters.add("equalto", ["other"], function (options) {
- var prefix = getModelPrefix(options.element.name),
- other = options.params.other,
- fullOtherName = appendModelPrefix(other, prefix),
- element = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(fullOtherName) + "']")[0];
-
- setValidationValues(options, "equalTo", element);
- });
- adapters.add("required", function (options) {
- // jQuery Validate equates "required" with "mandatory" for checkbox elements
- if (options.element.tagName.toUpperCase() !== "INPUT" || options.element.type.toUpperCase() !== "CHECKBOX") {
- setValidationValues(options, "required", true);
- }
- });
- adapters.add("remote", ["url", "type", "additionalfields"], function (options) {
- var value = {
- url: options.params.url,
- type: options.params.type || "GET",
- data: {}
- },
- prefix = getModelPrefix(options.element.name);
-
- $.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) {
- var paramName = appendModelPrefix(fieldName, prefix);
- value.data[paramName] = function () {
- var field = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(paramName) + "']");
- // For checkboxes and radio buttons, only pick up values from checked fields.
- if (field.is(":checkbox")) {
- return field.filter(":checked").val() || field.filter(":hidden").val() || '';
- }
- else if (field.is(":radio")) {
- return field.filter(":checked").val() || '';
- }
- return field.val();
- };
- });
-
- setValidationValues(options, "remote", value);
- });
- adapters.add("password", ["min", "nonalphamin", "regex"], function (options) {
- if (options.params.min) {
- setValidationValues(options, "minlength", options.params.min);
- }
- if (options.params.nonalphamin) {
- setValidationValues(options, "nonalphamin", options.params.nonalphamin);
- }
- if (options.params.regex) {
- setValidationValues(options, "regex", options.params.regex);
- }
- });
-
- $(function () {
- $jQval.unobtrusive.parse(document);
- });
-}(jQuery));
\ No newline at end of file
diff --git a/packages/Microsoft.jQuery.Unobtrusive.Validation.3.2.3/Content/Scripts/jquery.validate.unobtrusive.min.js b/packages/Microsoft.jQuery.Unobtrusive.Validation.3.2.3/Content/Scripts/jquery.validate.unobtrusive.min.js
deleted file mode 100644
index dfeaf38..0000000
--- a/packages/Microsoft.jQuery.Unobtrusive.Validation.3.2.3/Content/Scripts/jquery.validate.unobtrusive.min.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/* NUGET: BEGIN LICENSE TEXT
- *
- * Microsoft grants you the right to use these script files for the sole
- * purpose of either: (i) interacting through your browser with the Microsoft
- * website or online service, subject to the applicable licensing or use
- * terms; or (ii) using the files as included with a Microsoft product subject
- * to that product's license terms. Microsoft reserves all other rights to the
- * files not expressly granted by Microsoft, whether by implication, estoppel
- * or otherwise. Insofar as a script file is dual licensed under GPL,
- * Microsoft neither took the code under GPL nor distributes it thereunder but
- * under the terms set out in this paragraph. All notices and licenses
- * below are for informational purposes only.
- *
- * NUGET: END LICENSE TEXT */
-/*
-** Unobtrusive validation support library for jQuery and jQuery Validate
-** Copyright (C) Microsoft Corporation. All rights reserved.
-*/
-(function(a){var d=a.validator,b,e="unobtrusiveValidation";function c(a,b,c){a.rules[b]=c;if(a.message)a.messages[b]=a.message}function j(a){return a.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g)}function f(a){return a.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g,"\\$1")}function h(a){return a.substr(0,a.lastIndexOf(".")+1)}function g(a,b){if(a.indexOf("*.")===0)a=a.replace("*.",b);return a}function m(c,e){var b=a(this).find("[data-valmsg-for='"+f(e[0].name)+"']"),d=b.attr("data-valmsg-replace"),g=d?a.parseJSON(d)!==false:null;b.removeClass("field-validation-valid").addClass("field-validation-error");c.data("unobtrusiveContainer",b);if(g){b.empty();c.removeClass("input-validation-error").appendTo(b)}else c.hide()}function l(e,d){var c=a(this).find("[data-valmsg-summary=true]"),b=c.find("ul");if(b&&b.length&&d.errorList.length){b.empty();c.addClass("validation-summary-errors").removeClass("validation-summary-valid");a.each(d.errorList,function(){a("").html(this.message).appendTo(b)})}}function k(d){var b=d.data("unobtrusiveContainer"),c=b.attr("data-valmsg-replace"),e=c?a.parseJSON(c):null;if(b){b.addClass("field-validation-valid").removeClass("field-validation-error");d.removeData("unobtrusiveContainer");e&&b.empty()}}function n(){var b=a(this),c="__jquery_unobtrusive_validation_form_reset";if(b.data(c))return;b.data(c,true);try{b.data("validator").resetForm()}finally{b.removeData(c)}b.find(".validation-summary-errors").addClass("validation-summary-valid").removeClass("validation-summary-errors");b.find(".field-validation-error").addClass("field-validation-valid").removeClass("field-validation-error").removeData("unobtrusiveContainer").find(">*").removeData("unobtrusiveContainer")}function i(b){var c=a(b),f=c.data(e),i=a.proxy(n,b),g=d.unobtrusive.options||{},h=function(e,d){var c=g[e];c&&a.isFunction(c)&&c.apply(b,d)};if(!f){f={options:{errorClass:g.errorClass||"input-validation-error",errorElement:g.errorElement||"span",errorPlacement:function(){m.apply(b,arguments);h("errorPlacement",arguments)},invalidHandler:function(){l.apply(b,arguments);h("invalidHandler",arguments)},messages:{},rules:{},success:function(){k.apply(b,arguments);h("success",arguments)}},attachValidation:function(){c.off("reset."+e,i).on("reset."+e,i).validate(this.options)},validate:function(){c.validate();return c.valid()}};c.data(e,f)}return f}d.unobtrusive={adapters:[],parseElement:function(b,h){var d=a(b),f=d.parents("form")[0],c,e,g;if(!f)return;c=i(f);c.options.rules[b.name]=e={};c.options.messages[b.name]=g={};a.each(this.adapters,function(){var c="data-val-"+this.name,i=d.attr(c),h={};if(i!==undefined){c+="-";a.each(this.params,function(){h[this]=d.attr(c+this)});this.adapt({element:b,form:f,message:i,params:h,rules:e,messages:g})}});a.extend(e,{__dummy__:true});!h&&c.attachValidation()},parse:function(c){var b=a(c),e=b.parents().addBack().filter("form").add(b.find("form")).has("[data-val=true]");b.find("[data-val=true]").each(function(){d.unobtrusive.parseElement(this,true)});e.each(function(){var a=i(this);a&&a.attachValidation()})}};b=d.unobtrusive.adapters;b.add=function(c,a,b){if(!b){b=a;a=[]}this.push({name:c,params:a,adapt:b});return this};b.addBool=function(a,b){return this.add(a,function(d){c(d,b||a,true)})};b.addMinMax=function(e,g,f,a,d,b){return this.add(e,[d||"min",b||"max"],function(b){var e=b.params.min,d=b.params.max;if(e&&d)c(b,a,[e,d]);else if(e)c(b,g,e);else d&&c(b,f,d)})};b.addSingleVal=function(a,b,d){return this.add(a,[b||"val"],function(e){c(e,d||a,e.params[b])})};d.addMethod("__dummy__",function(){return true});d.addMethod("regex",function(b,c,d){var a;if(this.optional(c))return true;a=(new RegExp(d)).exec(b);return a&&a.index===0&&a[0].length===b.length});d.addMethod("nonalphamin",function(c,d,b){var a;if(b){a=c.match(/\W/g);a=a&&a.length>=b}return a});if(d.methods.extension){b.addSingleVal("accept","mimtype");b.addSingleVal("extension","extension")}else b.addSingleVal("extension","extension","accept");b.addSingleVal("regex","pattern");b.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");b.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range");b.addMinMax("minlength","minlength").addMinMax("maxlength","minlength","maxlength");b.add("equalto",["other"],function(b){var i=h(b.element.name),j=b.params.other,d=g(j,i),e=a(b.form).find(":input").filter("[name='"+f(d)+"']")[0];c(b,"equalTo",e)});b.add("required",function(a){(a.element.tagName.toUpperCase()!=="INPUT"||a.element.type.toUpperCase()!=="CHECKBOX")&&c(a,"required",true)});b.add("remote",["url","type","additionalfields"],function(b){var d={url:b.params.url,type:b.params.type||"GET",data:{}},e=h(b.element.name);a.each(j(b.params.additionalfields||b.element.name),function(i,h){var c=g(h,e);d.data[c]=function(){var d=a(b.form).find(":input").filter("[name='"+f(c)+"']");return d.is(":checkbox")?d.filter(":checked").val()||d.filter(":hidden").val()||"":d.is(":radio")?d.filter(":checked").val()||"":d.val()}});c(b,"remote",d)});b.add("password",["min","nonalphamin","regex"],function(a){a.params.min&&c(a,"minlength",a.params.min);a.params.nonalphamin&&c(a,"nonalphamin",a.params.nonalphamin);a.params.regex&&c(a,"regex",a.params.regex)});a(function(){d.unobtrusive.parse(document)})})(jQuery);
\ No newline at end of file
diff --git a/packages/Microsoft.jQuery.Unobtrusive.Validation.3.2.3/Microsoft.jQuery.Unobtrusive.Validation.3.2.3.nupkg b/packages/Microsoft.jQuery.Unobtrusive.Validation.3.2.3/Microsoft.jQuery.Unobtrusive.Validation.3.2.3.nupkg
deleted file mode 100644
index 2303190..0000000
Binary files a/packages/Microsoft.jQuery.Unobtrusive.Validation.3.2.3/Microsoft.jQuery.Unobtrusive.Validation.3.2.3.nupkg and /dev/null differ
diff --git a/packages/NLog.Config.4.4.12/NLog.Config.4.4.12.nupkg b/packages/NLog.Config.4.4.12/NLog.Config.4.4.12.nupkg
deleted file mode 100644
index af597e2..0000000
Binary files a/packages/NLog.Config.4.4.12/NLog.Config.4.4.12.nupkg and /dev/null differ
diff --git a/packages/NLog.Config.4.4.12/content/NLog.config b/packages/NLog.Config.4.4.12/content/NLog.config
deleted file mode 100644
index 7a0f3aa..0000000
--- a/packages/NLog.Config.4.4.12/content/NLog.config
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/NLog.Config.4.4.12/tools/Install.ps1 b/packages/NLog.Config.4.4.12/tools/Install.ps1
deleted file mode 100644
index 97204a0..0000000
--- a/packages/NLog.Config.4.4.12/tools/Install.ps1
+++ /dev/null
@@ -1,12 +0,0 @@
-param($installPath, $toolsPath, $package, $project)
-
-$configItem = $project.ProjectItems.Item("NLog.config")
-
-# set 'Copy To Output Directory' to 'Copy if newer'
-$copyToOutput = $configItem.Properties.Item("CopyToOutputDirectory")
-$copyToOutput.Value = 1
-
-# set 'Build Action' to 'Content'
-$buildAction = $configItem.Properties.Item("BuildAction")
-$buildAction.Value = 2
-
diff --git a/packages/NLog.Schema.4.4.12/NLog.Schema.4.4.12.nupkg b/packages/NLog.Schema.4.4.12/NLog.Schema.4.4.12.nupkg
deleted file mode 100644
index 103d174..0000000
Binary files a/packages/NLog.Schema.4.4.12/NLog.Schema.4.4.12.nupkg and /dev/null differ
diff --git a/packages/NLog.Schema.4.4.12/content/NLog.xsd b/packages/NLog.Schema.4.4.12/content/NLog.xsd
deleted file mode 100644
index 4740d80..0000000
--- a/packages/NLog.Schema.4.4.12/content/NLog.xsd
+++ /dev/null
@@ -1,3103 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Watch config file for changes and reload automatically.
-
-
-
-
- Print internal NLog messages to the console. Default value is: false
-
-
-
-
- Print internal NLog messages to the console error output. Default value is: false
-
-
-
-
- Write internal NLog messages to the specified file.
-
-
-
-
- Log level threshold for internal log messages. Default value is: Info.
-
-
-
-
- Global log level threshold for application log messages. Messages below this level won't be logged..
-
-
-
-
- Throw an exception when there is an internal error. Default value is: false.
-
-
-
-
- Throw an exception when there is a configuration error. If not set, determined by throwExceptions.
-
-
-
-
- Gets or sets a value indicating whether Variables should be kept on configuration reload. Default value is: false.
-
-
-
-
- Write internal NLog messages to the System.Diagnostics.Trace. Default value is: false.
-
-
-
-
- Write timestamps for internal NLog messages. Default value is: true.
-
-
-
-
- Use InvariantCulture as default culture instead of CurrentCulture. Default value is: false.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Make all targets within this section asynchronous (creates additional threads but the calling thread isn't blocked by any target writes).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Prefix for targets/layout renderers/filters/conditions loaded from this assembly.
-
-
-
-
- Load NLog extensions from the specified file (*.dll)
-
-
-
-
- Load NLog extensions from the specified assembly. Assembly name should be fully qualified.
-
-
-
-
-
-
-
-
-
- Name of the logger. May include '*' character which acts like a wildcard. Allowed forms are: *, Name, *Name, Name* and *Name*
-
-
-
-
- Comma separated list of levels that this rule matches.
-
-
-
-
- Minimum level that this rule matches.
-
-
-
-
- Maximum level that this rule matches.
-
-
-
-
- Level that this rule matches.
-
-
-
-
- Comma separated list of target names.
-
-
-
-
- Ignore further rules if this one matches.
-
-
-
-
- Enable or disable logging rule. Disabled rules are ignored.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the file to be included. You could use * wildcard. The name is relative to the name of the current config file.
-
-
-
-
- Ignore any errors in the include file.
-
-
-
-
-
-
- Variable name.
-
-
-
-
- Variable value.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Number of log events that should be processed in a batch by the lazy writer thread.
-
-
-
-
- Limit of full s to write before yielding into Performance is better when writing many small batches, than writing a single large batch
-
-
-
-
- Action to be taken when the lazy writer thread request queue count exceeds the set limit.
-
-
-
-
- Limit on the number of requests in the lazy writer thread request queue.
-
-
-
-
- Time in milliseconds to sleep between batches.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Delay the flush until the LogEvent has been confirmed as written
-
-
-
-
- Condition expression. Log events who meet this condition will cause a flush on the wrapped target.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Number of log events to be buffered.
-
-
-
-
- Timeout (in milliseconds) after which the contents of buffer will be flushed if there's no write in the specified period of time. Use -1 to disable timed flushes.
-
-
-
-
- Indicates whether to use sliding timeout.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Encoding to be used.
-
-
-
-
- Instance of that is used to format log messages.
-
-
-
-
- End of line value if a newline is appended at the end of log message .
-
-
-
-
- Maximum message size in bytes.
-
-
-
-
- Indicates whether to append newline at the end of log message.
-
-
-
-
- Action that should be taken if the will be more connections than .
-
-
-
-
- Action that should be taken if the message is larger than maxMessageSize.
-
-
-
-
- Maximum current connections. 0 = no maximum.
-
-
-
-
- Indicates whether to keep connection open whenever possible.
-
-
-
-
- Size of the connection cache (number of connections which are kept alive).
-
-
-
-
- Network address.
-
-
-
-
- Maximum queue size.
-
-
-
-
- Indicates whether to include stack contents.
-
-
-
-
- Indicates whether to include source info (file name and line number) in the information sent over the network.
-
-
-
-
- Indicates whether to include NLog-specific extensions to log4j schema.
-
-
-
-
- Indicates whether to include dictionary contents.
-
-
-
-
- Indicates whether to include call site (class and method name) in the information sent over the network.
-
-
-
-
- AppInfo field. By default it's the friendly name of the current AppDomain.
-
-
-
-
- NDC item separator.
-
-
-
-
- Indicates whether to include dictionary contents.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Layout that should be use to calcuate the value for the parameter.
-
-
-
-
- Viewer parameter name.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Text to be rendered.
-
-
-
-
- Header.
-
-
-
-
- Footer.
-
-
-
-
- Indicates whether to use default row highlighting rules.
-
-
-
-
- Indicates whether to auto-check if the console is available. - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App)
-
-
-
-
- The encoding for writing messages to the .
-
-
-
-
- Indicates whether the error stream (stderr) should be used instead of the output stream (stdout).
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Condition that must be met in order to set the specified foreground and background color.
-
-
-
-
- Background color.
-
-
-
-
- Foreground color.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Indicates whether to ignore case when comparing texts.
-
-
-
-
- Regular expression to be matched. You must specify either text or regex.
-
-
-
-
- Text to be matched. You must specify either text or regex.
-
-
-
-
- Indicates whether to match whole words only.
-
-
-
-
- Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used.
-
-
-
-
- Background color.
-
-
-
-
- Foreground color.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Text to be rendered.
-
-
-
-
- Header.
-
-
-
-
- Footer.
-
-
-
-
- Indicates whether to send the log messages to the standard error instead of the standard output.
-
-
-
-
- Indicates whether to auto-check if the console is available - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App)
-
-
-
-
- The encoding for writing messages to the .
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Obsolete - value will be ignored! The logging code always runs outside of transaction. Gets or sets a value indicating whether to use database transactions. Some data providers require this.
-
-
-
-
- Database user name. If the ConnectionString is not provided this value will be used to construct the "User ID=" part of the connection string.
-
-
-
-
- Name of the database provider.
-
-
-
-
- Database password. If the ConnectionString is not provided this value will be used to construct the "Password=" part of the connection string.
-
-
-
-
- Indicates whether to keep the database connection open between the log events.
-
-
-
-
- Database name. If the ConnectionString is not provided this value will be used to construct the "Database=" part of the connection string.
-
-
-
-
- Name of the connection string (as specified in <connectionStrings> configuration section.
-
-
-
-
- Connection string. When provided, it overrides the values specified in DBHost, DBUserName, DBPassword, DBDatabase.
-
-
-
-
- Database host name. If the ConnectionString is not provided this value will be used to construct the "Server=" part of the connection string.
-
-
-
-
- Connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
- Text of the SQL command to be run on each log level.
-
-
-
-
- Type of the SQL command to be run on each log level.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Type of the command.
-
-
-
-
- Connection string to run the command against. If not provided, connection string from the target is used.
-
-
-
-
- Indicates whether to ignore failures.
-
-
-
-
- Command text.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Layout that should be use to calcuate the value for the parameter.
-
-
-
-
- Database parameter name.
-
-
-
-
- Database parameter precision.
-
-
-
-
- Database parameter scale.
-
-
-
-
- Database parameter size.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Text to be rendered.
-
-
-
-
- Header.
-
-
-
-
- Footer.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Layout used to format log messages.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Layout used to format log messages.
-
-
-
-
- Layout that renders event Category.
-
-
-
-
- Layout that renders event ID.
-
-
-
-
- Name of the Event Log to write to. This can be System, Application or any user-defined name.
-
-
-
-
- Name of the machine on which Event Log service is running.
-
-
-
-
- Value to be used as the event Source.
-
-
-
-
- Action to take if the message is larger than the option.
-
-
-
-
- Optional entrytype. When not set, or when not convertable to then determined by
-
-
-
-
- Maximum Event log size in kilobytes. If null, the value won't be set. Default is 512 Kilobytes as specified by Eventlog API
-
-
-
-
- Message length limit to write to the Event Log.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Indicates whether to return to the first target after any successful write.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Text to be rendered.
-
-
-
-
- Header.
-
-
-
-
- Footer.
-
-
-
-
- File encoding.
-
-
-
-
- Line ending mode.
-
-
-
-
- Way file archives are numbered.
-
-
-
-
- Name of the file to be used for an archive.
-
-
-
-
- Indicates whether to automatically archive log files every time the specified time passes.
-
-
-
-
- Size in bytes above which log files will be automatically archived. Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. Choose:
-
-
-
-
- Indicates whether to compress archive files into the zip archive format.
-
-
-
-
- Maximum number of archive files that should be kept.
-
-
-
-
- Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation.
-
-
-
-
- Is the an absolute or relative path?
-
-
-
-
- Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. If set to false, nothing gets written when the filename is wrong.
-
-
-
-
- Whether or not this target should just discard all data that its asked to write. Mostly used for when testing NLog Stack except final write
-
-
-
-
- Is the an absolute or relative path?
-
-
-
-
- Value indicationg whether file creation calls should be synchronized by a system global mutex.
-
-
-
-
- Maximum number of log filenames that should be stored as existing.
-
-
-
-
- Indicates whether the footer should be written only when the file is archived.
-
-
-
-
- Name of the file to write to.
-
-
-
-
- Value specifying the date format to use when archiving files.
-
-
-
-
- Indicates whether to archive old log file on startup.
-
-
-
-
- Indicates whether to create directories if they do not exist.
-
-
-
-
- File attributes (Windows only).
-
-
-
-
- Indicates whether to delete old log file on startup.
-
-
-
-
- Indicates whether to replace file contents on each write instead of appending log message at the end.
-
-
-
-
- Indicates whether to enable log file(s) to be deleted.
-
-
-
-
- Number of times the write is appended on the file before NLog discards the log message.
-
-
-
-
- Indicates whether concurrent writes to the log file by multiple processes on the same host.
-
-
-
-
- Indicates whether to keep log file open instead of opening and closing it on each logging event.
-
-
-
-
- Indicates whether concurrent writes to the log file by multiple processes on different network hosts.
-
-
-
-
- Number of files to be kept open. Setting this to a higher value may improve performance in a situation where a single File target is writing to many files (such as splitting by level or by logger).
-
-
-
-
- Maximum number of seconds that files are kept open. If this number is negative the files are not automatically closed after a period of inactivity.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
- Log file buffer size in bytes.
-
-
-
-
- Indicates whether to automatically flush the file buffers after each log message.
-
-
-
-
- Delay in milliseconds to wait before attempting to write to the file again.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Condition expression. Log events who meet this condition will be forwarded to the wrapped target.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Windows domain name to change context to.
-
-
-
-
- Required impersonation level.
-
-
-
-
- Type of the logon provider.
-
-
-
-
- Logon Type.
-
-
-
-
- User account password.
-
-
-
-
- Indicates whether to revert to the credentials of the process instead of impersonating another user.
-
-
-
-
- Username to change context to.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Interval in which messages will be written up to the number of messages.
-
-
-
-
- Maximum allowed number of messages written per .
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Endpoint address.
-
-
-
-
- Name of the endpoint configuration in WCF configuration file.
-
-
-
-
- Indicates whether to use a WCF service contract that is one way (fire and forget) or two way (request-reply)
-
-
-
-
- Client ID.
-
-
-
-
- Indicates whether to include per-event properties in the payload sent to the server.
-
-
-
-
- Indicates whether to use binary message encoding.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Layout that should be use to calculate the value for the parameter.
-
-
-
-
- Name of the parameter.
-
-
-
-
- Type of the parameter.
-
-
-
-
- Type of the parameter. Obsolete alias for
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Text to be rendered.
-
-
-
-
- Header.
-
-
-
-
- Footer.
-
-
-
-
- Indicates whether to send message as HTML instead of plain text.
-
-
-
-
- Encoding to be used for sending e-mail.
-
-
-
-
- Indicates whether to add new lines between log entries.
-
-
-
-
- CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).
-
-
-
-
- Recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).
-
-
-
-
- BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).
-
-
-
-
- Mail message body (repeated for each log message send in one mail).
-
-
-
-
- Mail subject.
-
-
-
-
- Sender's email address (e.g. joe@domain.com).
-
-
-
-
- Indicates the SMTP client timeout.
-
-
-
-
- Priority used for sending mails.
-
-
-
-
- Indicates whether NewLine characters in the body should be replaced with tags.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
- SMTP Server to be used for sending.
-
-
-
-
- SMTP Authentication mode.
-
-
-
-
- Username used to connect to SMTP server (used when SmtpAuthentication is set to "basic").
-
-
-
-
- Password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic").
-
-
-
-
- Indicates whether SSL (secure sockets layer) should be used when communicating with SMTP server.
-
-
-
-
- Port number that SMTP Server is listening on.
-
-
-
-
- Indicates whether the default Settings from System.Net.MailSettings should be used.
-
-
-
-
- Folder where applications save mail messages to be processed by the local SMTP server.
-
-
-
-
- Specifies how outgoing email messages will be handled.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Layout used to format log messages.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Layout used to format log messages.
-
-
-
-
- Encoding to be used when writing text to the queue.
-
-
-
-
- Indicates whether to use the XML format when serializing message. This will also disable creating queues.
-
-
-
-
- Indicates whether to check if a queue exists before writing to it.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
- Indicates whether to create the queue if it doesn't exists.
-
-
-
-
- Label to associate with each message.
-
-
-
-
- Name of the queue to write to.
-
-
-
-
- Indicates whether to use recoverable messages (with guaranteed delivery).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Class name.
-
-
-
-
- Method name. The method must be public and static. Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx e.g.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Layout used to format log messages.
-
-
-
-
- Encoding to be used.
-
-
-
-
- End of line value if a newline is appended at the end of log message .
-
-
-
-
- Maximum message size in bytes.
-
-
-
-
- Indicates whether to append newline at the end of log message.
-
-
-
-
- Action that should be taken if the will be more connections than .
-
-
-
-
- Action that should be taken if the message is larger than maxMessageSize.
-
-
-
-
- Network address.
-
-
-
-
- Size of the connection cache (number of connections which are kept alive).
-
-
-
-
- Indicates whether to keep connection open whenever possible.
-
-
-
-
- Maximum current connections. 0 = no maximum.
-
-
-
-
- Maximum queue size.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Encoding to be used.
-
-
-
-
- Instance of that is used to format log messages.
-
-
-
-
- End of line value if a newline is appended at the end of log message .
-
-
-
-
- Maximum message size in bytes.
-
-
-
-
- Indicates whether to append newline at the end of log message.
-
-
-
-
- Action that should be taken if the will be more connections than .
-
-
-
-
- Action that should be taken if the message is larger than maxMessageSize.
-
-
-
-
- Maximum current connections. 0 = no maximum.
-
-
-
-
- Indicates whether to keep connection open whenever possible.
-
-
-
-
- Size of the connection cache (number of connections which are kept alive).
-
-
-
-
- Network address.
-
-
-
-
- Maximum queue size.
-
-
-
-
- Indicates whether to include stack contents.
-
-
-
-
- Indicates whether to include source info (file name and line number) in the information sent over the network.
-
-
-
-
- Indicates whether to include NLog-specific extensions to log4j schema.
-
-
-
-
- Indicates whether to include dictionary contents.
-
-
-
-
- Indicates whether to include call site (class and method name) in the information sent over the network.
-
-
-
-
- AppInfo field. By default it's the friendly name of the current AppDomain.
-
-
-
-
- NDC item separator.
-
-
-
-
- Indicates whether to include dictionary contents.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Layout used to format log messages.
-
-
-
-
- Indicates whether to perform layout calculation.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Layout used to format log messages.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Indicates whether performance counter should be automatically created.
-
-
-
-
- Name of the performance counter category.
-
-
-
-
- Counter help text.
-
-
-
-
- Name of the performance counter.
-
-
-
-
- Performance counter type.
-
-
-
-
- The value by which to increment the counter.
-
-
-
-
- Performance counter instance name.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Default filter to be applied when no specific rule matches.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
- Condition to be tested.
-
-
-
-
- Resulting filter to be applied when the condition matches.
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
- Number of times to repeat each log message.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
- Number of retries that should be attempted on the wrapped target in case of a failure.
-
-
-
-
- Time to wait between retries in milliseconds.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Layout used to format log messages.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the target.
-
-
-
-
- Should we include the BOM (Byte-order-mark) for UTF? Influences the property. This will only work for UTF-8.
-
-
-
-
- Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
-
-
-
-
- Encoding.
-
-
-
-
- Value whether escaping be done according to the old NLog style (Very non-standard)
-
-
-
-
- Value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs)
-
-
-
-
- Web service method name. Only used with Soap.
-
-
-
-
- Web service namespace. Only used with Soap.
-
-
-
-
- Indicates whether to pre-authenticate the HttpWebRequest (Requires 'Authorization' in parameters)
-
-
-
-
- Protocol to be used when calling web service.
-
-
-
-
- Web service URL.
-
-
-
-
- Name of the root XML element, if POST of XML document chosen. If so, this property must not be null. (see and ).
-
-
-
-
- (optional) root namespace of the XML document, if POST of XML document chosen. (see and ).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Footer layout.
-
-
-
-
- Header layout.
-
-
-
-
- Body layout (can be repeated multiple times).
-
-
-
-
- Custom column delimiter value (valid when ColumnDelimiter is set to 'Custom').
-
-
-
-
- Column delimiter.
-
-
-
-
- Quote Character.
-
-
-
-
- Quoting mode.
-
-
-
-
- Indicates whether CVS should include header.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Layout of the column.
-
-
-
-
- Name of the column.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- List of property names to exclude when is true
-
-
-
-
- Option to include all properties from the log events
-
-
-
-
- Indicates whether to include contents of the dictionary.
-
-
-
-
- Option to render the empty object value {}
-
-
-
-
- Option to suppress the extra spaces in the output json
-
-
-
-
- Indicates whether to include contents of the dictionary.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Determines wether or not this attribute will be Json encoded.
-
-
-
-
- Indicates whether to escape non-ascii characters
-
-
-
-
- Layout that will be rendered as the attribute's value.
-
-
-
-
- Name of the attribute.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Footer layout.
-
-
-
-
- Header layout.
-
-
-
-
- Body layout (can be repeated multiple times).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Option to include all properties from the log events
-
-
-
-
- Indicates whether to include contents of the dictionary.
-
-
-
-
- Indicates whether to include contents of the dictionary.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Layout text.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Action to be taken when filter matches.
-
-
-
-
- Condition expression.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Action to be taken when filter matches.
-
-
-
-
- Indicates whether to ignore case when comparing strings.
-
-
-
-
- Layout to be used to filter log messages.
-
-
-
-
- Substring to be matched.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Action to be taken when filter matches.
-
-
-
-
- String to compare the layout to.
-
-
-
-
- Indicates whether to ignore case when comparing strings.
-
-
-
-
- Layout to be used to filter log messages.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Action to be taken when filter matches.
-
-
-
-
- Indicates whether to ignore case when comparing strings.
-
-
-
-
- Layout to be used to filter log messages.
-
-
-
-
- Substring to be matched.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Action to be taken when filter matches.
-
-
-
-
- String to compare the layout to.
-
-
-
-
- Indicates whether to ignore case when comparing strings.
-
-
-
-
- Layout to be used to filter log messages.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Action to be taken when filter matches.
-
-
-
-
- Layout to be used to filter log messages.
-
-
-
-
- Default number of unique filter values to expect, will automatically increase if needed
-
-
-
-
- Append FilterCount to the when an event is no longer filtered
-
-
-
-
- Insert FilterCount value into when an event is no longer filtered
-
-
-
-
- Max number of unique filter values to expect simultaneously
-
-
-
-
- Max length of filter values, will truncate if above limit
-
-
-
-
- Default buffer size for the internal buffers
-
-
-
-
- Reuse internal buffers, and doesn't have to constantly allocate new buffers
-
-
-
-
- How long before a filter expires, and logging is accepted again
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file