Found 9 packages
Is simple cache for dotnet with feature update element in foreground.
This library provides UI components, such as XAML extensions, helpers, converters and more. It is a part of the Windows Community Toolkit. AdvancedCollectionView: It's a collection view implementation that support filtering, sorting and incremental loading. It's meant to be used in a viewmodel. CacheBase: Provides methods and tools to cache files in a folder. Converters: Commonly used converters that allow the data to be modified as it passes through the binding engine. Extensions: - ApplicationViewExtensions: Provides attached properties for interacting with the ApplicationView on a window (app view). - FrameworkElementExtensions: Provides attached dependency properties for the FrameworkElement. - ListViewExtensions: Provides attached dependency properties for the ListViewBase - LogicalTree: Defines a collection of extensions methods for UI. - MatrixExtensions: Provides a set of extensions to the Matrix struct. - MatrixHelperEx: Static helper methods for Matrix. - Mouse: Helper class for easily changing the mouseover cursor type. - NullableBool: Custom MarkupExtension which can provide nullable bool values. - RotateTransformExtensions: Extension methods for RotateTransform. - ScaleTransformExtensions: Extension methods for ScaleTransform. - ScrollViewerExtensions: Provides attached dependency properties for the ListViewBase - SkewTransformExtensions: Extension methods for SkewTransform. - SurfaceDialTextbox: Helper class that provides attached properties to enable any TextBox with the Surface Dial. - TextBoxMask: TextBox mask property allows a user to more easily enter fixed width text in TextBox control. - TextBoxRegex: TextBoxRegex allows text validation using a regular expression. - TitleBarExtensions: Provides attached dependency properties for interacting with the ApplicationViewTitleBar on a window (app view). - TranslateTransformExtensions: Extension methods for TranslateTransform. - VisualExtensions: Extension methods and attached properties for Visual objects - VisualTree: Defines a collection of extensions methods for UI. Helpers: - BindableValueHolder: Holds the value. Can be used to change several objects' properties at a time. - DependencyPropertyWatcher: Used to Track Changes of a Dependency Property - ThemeListener: Class which listens for changes to Application Theme or High Contrast Modes and Signals an Event when they occur.
This library provides various common UI helpers. It is a part of the Windows Community Toolkit. AdvancedCollectionView: It's a collection view implementation that support filtering, sorting and incremental loading. It's meant to be used in a viewmodel. CacheBase: Provides methods and tools to cache files in a folder. Converters: Commonly used converters that allow the data to be modified as it passes through the binding engine. Extensions: - ApplicationViewExtensions: Provides attached properties for interacting with the ApplicationView on a window (app view). - AttachedDropShadow: Provides a composition based shadow effect which supports masking. - FrameworkElementExtensions: Provides attached dependency properties for the FrameworkElement. - ListViewExtensions: Provides attached dependency properties for the ListViewBase - LogicalTree: Defines a collection of extensions methods for UI. - MatrixExtensions: Provides a set of extensions to the Matrix struct. - MatrixHelperEx: Static helper methods for Matrix. - Mouse: Helper class for easily changing the mouseover cursor type. - NullableBool: Custom MarkupExtension which can provide nullable bool values. - RotateTransformExtensions: Extension methods for RotateTransform. - ScaleTransformExtensions: Extension methods for ScaleTransform. - ScrollViewerExtensions: Provides attached dependency properties for the ListViewBase - SkewTransformExtensions: Extension methods for SkewTransform. - SurfaceDialTextbox: Helper class that provides attached properties to enable any TextBox with the Surface Dial. - TextBoxMask: TextBox mask property allows a user to more easily enter fixed width text in TextBox control. - TextBoxRegex: TextBoxRegex allows text validation using a regular expression. - TitleBarExtensions: Provides attached dependency properties for interacting with the ApplicationViewTitleBar on a window (app view). - TranslateTransformExtensions: Extension methods for TranslateTransform. - VisualExtensions: Extension methods and attached properties for Visual objects - VisualTree: Defines a collection of extensions methods for UI. Helpers: - BindableValueHolder: Holds the value. Can be used to change several objects' properties at a time. - DependencyPropertyWatcher: Used to Track Changes of a Dependency Property - ThemeListener: Class which listens for changes to Application Theme or High Contrast Modes and Signals an Event when they occur. Triggers: Various Visual State Triggers to help trigger VisualStates in a wide variety of scenarios.
This library provides XAML templated controls. It is a part of the Windows Community Toolkit. Controls: - CameraPreview: Easily preview video from camera sources and get realtime frames from the selected source. - DropShadowPanel: DropShadowPanel control allows the creation of a DropShadow for any Xaml FrameworkElement in markup. - ImageEx: Images are downloaded asynchronously showing a load indicator and can be stored in a local cache. - InAppNotification: Show local notifications in your application. - Loading: Helps to show content with animation to the user while the app is doing some calculation. - MetadataControl: Control for organizing text based categories with a separator, supports commands. - RadialProgressBar: Displays progress as a circle getting filled. - RotatorTile: Rotates through a set of items one-by-one like a live-tile. - TabbedCommandBar: A command bar that organizes features of an application into a series of tabs. - TextToolbar: A Toolbar for Editing Text attached to a RichEditBox. It can format RTF, Markdown, or use a Custom Formatter. - TileControl: A ContentControl that show an image repeated many times.
This library provides XAML templated controls. It is a part of the Windows Community Toolkit. Controls: - CameraPreview: Easily preview video from camera sources and get realtime frames from the selected source. - DropShadowPanel: DropShadowPanel control allows the creation of a DropShadow for any Xaml FrameworkElement in markup. - ImageEx: Images are downloaded asynchronously showing a load indicator and can be stored in a local cache. - InAppNotification: Show local notifications in your application. - Loading: Helps to show content with animation to the user while the app is doing some calculation. - RadialProgressBar: Displays progress as a circle getting filled. - RotatorTile: Rotates through a set of items one-by-one like a live-tile. - TabbedCommandBar: A command bar that organizes features of an application into a series of tabs. - TextToolbar: A Toolbar for Editing Text attached to a RichEditBox. It can format RTF, Markdown, or use a Custom Formatter. - TileControl: A ContentControl that show an image repeated many times.
Requires Sitecore 10.3 Requires .NET Framework 4.8 Constellation is a collection of utilities for .NET CMS implementers. The Foundation.SitemapXml namespace contains Http Handlers which intercept the request before it hits Sitecore. Robots.TXT Handler: Returns a basic document that automatically applies to all search engine agents. The stock configuration has disallows for /sitecore urls to prevent the login page from being indexed. Additional default or site specific rules can be added through the supplied configuration file. See instructions within the config file. Assuming a given Site's robots.txt does not deny the root of a site, the robots.txt file will include a link to the site's sitemap.xml file. Sitemap.XML Handler: Returns an on-the-fly document (there are cache options available) for each configured Site in your installation. The document is created by having one or more "crawlers" inspect the Content Tree generating the necessary Item facts and URLs required to produce the Sitemap. You can specify a set of default crawlers for your installation, as well as override the crawler list on a site-by-site basis. There are also provisions for excluding sites from returning a sitemap.xml document if it is not appropriate. Default Functionality: The system will function on a basic level "out of the box". There is a default Content Tree crawler that will start at the root of the current Site and include Items that have presentation details. The crawlers operate in the extranet\anonymous role and thus security can be used to "hide" Items or branches from the crawler. Crawler output has extensive support for "validating" whether an Item should be included in the sitemap or not. Facts available through the API include: - Does the Item have presentation? - Does the Item have explicit rules to prevent Search Indexing? - Does the Item represent a "Page"? It is up to the developer to supply meaningful decisions behind these facts, but answering "no" to any of them will result in the Item not being included. This library outputs substantial amounts of troubleshooting warnings to the Sitecore log file. If you're having trouble, search for Constellation.Foundation.SitemapXml in your log file. Multi-Language Support: For every "site" definition element in your Sitecore configs, add a "supportedLanguages" attribute that is a comma-delimited list of all languages available on your site (example: supportedLanguages="en-US,fr-FR,pt-PT") Doing this will force the sitemap.xml file to include "alternate" links for each language the site supports. Installation Warning: Your web.config must have a system.webServer/handlers section, and that section must have at least one handler in it (an "add" element) in order to install this package successfully. If you're using the default Sitecore web.config this won't be an issue. The handlers provided in this package must be inserted at the top of the stack of handlers.
ExpressWalker provides a generic way to examine and change any object graph in fashion similar to "Visitor Pattern". You can build generic hierarchy composition (visitor) that can visit and change any object's property, basing on configuration. Relies on expression trees while visiting objects (uses reflection only once while building a visitor). That's why IT IS WAY FASTER than custom solutions built with reflection. It is protected from circular references so you can avoid exceptions. Provides fluent API which increases code readability in terms of guessing the hierarchy being built from the code. Some of functionalities: visiting properties by matching owner type, property name and type (or only property type), visiting collecitons and dictionary items, specifying depth, custom expression for changing property value, cloning etc. //example 1 - IVisitor that visits properties by ownner type and property names and/or types (start from TypeWalker class): var typeVisitor = TypeWalker<Parent>.Create() .ForProperty<Parent, string>(p => p.TestString1, (old, met) => old + met) .ForProperty<Child, DateTime>(p => p.TestDate1, (old, met) => old.AddYears(10)) .ForProperty<CommonType>((old, met) => new CommonType { CommonString = "..." }) .Build(depth:10, guard:new PropertyGuard(), supportsCloning: true); //guard is protection against type-wise circular references. supportsCloning = false improves build time. var parentClone = new Parent(); var propertyValues = new HashSet<PropertyValue>() typeVisitor.Visit(parentObject, parentClone, depth:10, guard:new InstanceGuard(), values:propertyValues); //guard is protection against instance-wise circular references. values will hold flat list of new/old values. //example 2 - IVisitor that visits properties by explicit configuration (start from ManualWalker class): var manualVisitor = ManualWalker.Create<A1>() .Property<A1, DateTime>(a1 => a1.A1Date, (va1, met) => va1.AddYears(10)) .Element<A1, B1>(a1 => a1.B1, b1 => b1.Property<B1, string>(x => x.B1Name, (vb1, met) => vb1 + "Test2")) .Collection<A1, B2>(a1 => a1.B2List, b2 => b2 .Property<B2, DateTime>(x => x.B2Date, (vb2, met) => vb2.AddYears(10))) .Build(); manualVisitor.Visit(parentObject, blueprint:null, depth:10, guard:new InstanceGuard(), values:null); //Paremeter 'met' in expressions above is optional metadata object set in design-time. //It can be set by [VisitorMetadata] property attribute in visited class. //e.g. in example above, there is [VisitorMetadata("AnyString")] on property Parent.TestString1. //example 3 - IVisitor built and cached using the IVisitorsFactory: //scenario for visitors of same settings built for different types: var factory = new VisitorsFactory().WithSettings("name1", depth:5, usePropertyGuard:false, supportsCloning:false) .ForProperty<int>((val, met) => 2) .WithSettings("name6") .ForProperty<Parent, string>( x => x.Name, (val, met) => "t"); var visitor1 = factory.GetVisitor("name1", typeof(Class1)); var visitor1a = factory.GetVisitor("name1", typeof(Class1)); var visitor2 = factory.GetVisitor("name1", typeof(Class2)); var visitor6 = factory.GetVisitor("name6", typeof(Class6)); //visitor1 == visitor1a --true //visitor1 == visitor2 --false Many thanks to Francisco José Rey Gozalo for contributing with ideas and solutions. Read more on https://github.com/kopalite/ExpressWalker
Sort faster than Array.Sort(). MiceSort() : Single-task. A little faster. Most reliable in this library. BothSidesNowSort() : Multi-task. Time is less than half on intel i5 note(2 core 4 threads). 1. Usage var sort = new SortEnvironment<T>() { // T -> element (class or value type) Data = {IList<T>}, // Name of T[], List<T> or other class based on IList<T> Compare = {Comparison<T>}, // Compare function // InverseOrder = true, // true = Descending // AlmostSorted = true, // true = Time may be shortened when data is almost sorted. Otherwise, time is late. // Partial = 0, // Partial sort setting. Number larger than 0 = The specified amount of high-order elements are sorted. CoreCacheAmount = 256, // Data amount within each core cache. 2^N. You need to set eligible value for your sortings and CPU. 256 is initial value when omitted. (Experimental value in my PC) // Below are only for 'BothSidesNowSort' // TaskAmount = 4, // Parallel task amount. Thread amount of CPU is initial value when omitted. // RedZone = true, // true = Full throttle. Faster but danger. false = Under limiter. More safety. // MakeWayFor = false // true = Idle cores make way for non-sort task. Time becomes slow. }; sort.BothSidesNowSort(); // Or sort.MiceSort(); Or call Array<T>.Sort() compatible shape below. Replace * to BothSidesNowSort or MiceSort ArraySort<T>.*(T[]); ArraySort<T>.*(T[], IComparer<T> or Comparison<T>); ListSort<T>.*(List<T>); ListSort<T>.*(List<T>, IComparer<T> or Comparison<T>); 2. Character Method : In-place merge sort. Bottom-up approach. Stable : Yes Memory : Stack [log2(N/M) * 3 * int size * task amount]. (N is Data length. M is CoreCacheAmount.) : Instead of log2(N/M) calculation, 100 is used. [I think it sufficient safety size and present PC don't mind it.] : And BothSidesNowSort() multi-core control uses additional array [N/M * int size]. Time : Comparison: O(NlogN) : Move: O(NlogN^2) when N is small, O(NlogN) when N is large. [My persume. Not decision] 3. Notice - Exclusive use of challengers and human sacrifices to brand new technology This is good tool for confirming your PC CPU core/thread true ability. I can't assure this library stands up to actual purpose. You must prepare your own risk. Reliability : "Mice sort" > "Both sides now sort(RedZone = false)" > "Both sides now sort(RedZone = true)". - When comparison function is time consuming, it is faster than Array.Sort(). But when comparison function is subtraction only like common sort benchmark, slower than Array.Sort(). - This function is available to IList<T> interface implemented array structure class. (T[], List<T>) It can't sort LinkedList<T> because the class has no link patch function. (C# LinkedList<T> originally has no sort function. Array shape or LinQ(not In-place) may be standard in C# sorting.) 4. Algorithm Below article includes almost theory I am using but the list includes many bugs. https://www.codeproject.com/Articles/5275988/Fastest-Sort-Algorithm
ExpressWalker provides a generic way to examine and change any object graph in fashion similar to "Visitor Pattern". You can build generic hierarchy composition (visitor) that can visit and change any object's property, basing on configuration. Relies on expression trees while visiting objects (uses reflection only once while building a visitor). That's why IT IS WAY FASTER than custom solutions built with reflection. It is protected from circular references so you can avoid exceptions. Provides fluent API which increases code readability in terms of guessing the hierarchy being built from the code. Some of functionalities: visiting properties by matching owner type, property name and type (or only property type), visiting collecitons and dictionary items, specifying depth, custom expression for changing property value, cloning etc. //example 1 - IVisitor that visits properties by ownner type and property names and/or types (start from TypeWalker class): var typeVisitor = TypeWalker<Parent>.Create() .ForProperty<Parent, string>(p => p.TestString1, (old, met) => old + met) .ForProperty<Child, DateTime>(p => p.TestDate1, (old, met) => old.AddYears(10)) .ForProperty<CommonType>((old, met) => new CommonType { CommonString = "..." }) .Build(depth:10, guard:new PropertyGuard(), supportsCloning: true); //guard is protection against type-wise circular references. supportsCloning = false improves build time. var parentClone = new Parent(); var propertyValues = new HashSet<PropertyValue>() typeVisitor.Visit(parentObject, parentClone, depth:10, guard:new InstanceGuard(), values:propertyValues); //guard is protection against instance-wise circular references. values will hold flat list of new/old values. //example 2 - IVisitor that visits properties by explicit configuration (start from ManualWalker class): var manualVisitor = ManualWalker.Create<A1>() .Property<A1, DateTime>(a1 => a1.A1Date, (va1, met) => va1.AddYears(10)) .Element<A1, B1>(a1 => a1.B1, b1 => b1.Property<B1, string>(x => x.B1Name, (vb1, met) => vb1 + "Test2")) .Collection<A1, B2>(a1 => a1.B2List, b2 => b2 .Property<B2, DateTime>(x => x.B2Date, (vb2, met) => vb2.AddYears(10))) .Build(); manualVisitor.Visit(parentObject, blueprint:null, depth:10, guard:new InstanceGuard(), values:null); //Paremeter 'met' in expressions above is optional metadata object set in design-time. //It can be set by [VisitorMetadata] property attribute in visited class. //e.g. in example above, there is [VisitorMetadata("AnyString")] on property Parent.TestString1. //example 3 - IVisitor built and cached using the IVisitorsFactory: //scenario for visitors of same settings built for different types: var factory = new VisitorsFactory().WithSettings("name1", depth:5, usePropertyGuard:false, supportsCloning:false) .ForProperty<int>((val, met) => 2) .WithSettings("name6") .ForProperty<Parent, string>( x => x.Name, (val, met) => "t"); var visitor1 = factory.GetVisitor("name1", typeof(Class1)); var visitor1a = factory.GetVisitor("name1", typeof(Class1)); var visitor2 = factory.GetVisitor("name1", typeof(Class2)); var visitor6 = factory.GetVisitor("name6", typeof(Class6)); //visitor1 == visitor1a --true //visitor1 == visitor2 --false Many thanks to Francisco José Rey Gozalo for contributing with ideas and solutions. Read more on https://github.com/kopalite/ExpressWalker.Core