Data Moving Plug-in 1.2.0
- Now Link, Buttons and Column Buttons may contain custom attributes, and knockoutjs bindings.
- The names of all javascript functions used to handle simple controls on the client side changed, and are now part of the unique mvcct javascript namespace associated to the whole controls suite.
- Now the Single Page Application view engine supports the ko.routing router that may substitute the standard virtual link based routing. Available also new project templates for Single Page Application based on ko.routing, both here and here. Namely: SPA_Mvc4_ko.routing.vsix and SPA_Mvc5_ko.routing.vsix.
- Added .net support for the action and router ko.routing knockout.js bindings.
- Now the SPA View engine loader has also an onViewNotFound callback that is invoked when a SPA module load properly but the required view is not found.
- knockout.js and knockout.mapping.js have been removed from all client based main Data Moving javascript files. This way users may adopt a new version as soon as it is available. All Layout pages installed by all Data Moving components have been updated to reflect this change, and all Data Moving Nuget packages now have a dependency on both the knockout, and the knockout.mapping Nuget packages.
- Now client templates may be cached in memory to avoid the burden of processing and compiling them at each request.
- The new Mvc Controls Toolkit PlaceJavascriptAttribute filter is automatically installed as a global filter in the MySuperPackage file installed by all Nuget packages in the App_Start folder. This filter may be safely removed without breaking the Data Moving control suite correct operation. The PlaceJavascriptAttribute filter operates on all Views(not Partial Views) that produce a text/html mime type. It moves all Javascript snippets contained in the page immediately before the body end tag. All javascript code is enclosed in a (function($){.....})(jQuery) wrapper. This improves browser performance, and discourage the definition of variables in the global scope. In case you need to define a global name you may write window.MyName. However, we encourage you to define some namespaces in your js files, and then to place everything in these namespaces. The wrapper may be removed by setting the NoWrapper filter property to true.
Important: in case a javascript file must be executed after all code snippets contained in the page, you must enclose its code in a $(document).ready(function(){....}) wrapper since the code snippets are always placed after all javascript file references.
In case of compatibility problems the filter may be safely removed without affecting the correct operation of the Data Moving controls suite.
Data Moving Plug-in 1.0.7
First public release