You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* The result is that jsxLoader can not be used from both node and webpack without side effects. Originally jsxLoader was intended only for browser use and it would always check if polyfills or babel standalone were needed based on the browser environment. Now this can be turned off.
20
+
* The result is that jsxLoader can not be used from both node and webpack without side effects. Originally jsxLoader was intended only for browser use and it would always check if polyfills or babel standalone were needed based on the browser environment. Now this can be turned off.
21
21
22
22
### Release Overview
23
23
24
-
* Many updates have been made for overall improvement of DataFormsJS Web Components
24
+
***Many updates have been made for overall improvement of DataFormsJS Web Components**
25
25
* The updates are significant and make using the Web Components much easier for complex apps and sites; and provide for wider browser support.
26
26
* The new features make for an easier to use API for customizing content on page after data is displayed. Previously the places demo required a lot of custom JavaScript on the page in order to display flag icons, format table data, and additional items.
27
27
* Added ability to polyfill Web Components for older browsers using the standard Framework that gets loaded from a single file and then that file `polyfill.js` loads additional framework files as needed.
@@ -44,7 +44,7 @@ Overall the core Framework files and API are expected to remain stable however t
44
44
* Added ability to define custom `<template>` for table `<tr>` in `<data-table>`
45
45
* Improvements for `<json-data>`
46
46
* Added option for formatting text from (date, time, number, custom functions, etc)
47
-
* Added ability to use new attribute `click-selector` for search forms similar to the main Framework.
47
+
* Added ability to use new attribute `click-selector` for search forms similar to the main Framework.
48
48
* Added `data-show="js-expression"` to show or hide items. It works similar to Vue `v-show`.
49
49
* Added ability to include global variables from window scope using `{variable}` syntax
50
50
*`<json-data url="{rootApiUrl}/web-service">`
@@ -55,12 +55,12 @@ Overall the core Framework files and API are expected to remain stable however t
55
55
* A similar update has been made for the main DataFormsJS Framework `app.buildUrl()`.
56
56
* Added new attribute `[transform-data]` that allows for a JavaScript function to be specified and used to transform the downloaded data before it is passed to other elements.
57
57
* Added new Web Component `<nav is="spa-links">`. Previously SPA Nav Links were handled from custom JavaScript code on the page. Now this functionality is much easier for a site to include as only HTML is needed.
58
-
*`<url-router>` and `<url-hash-router>` are now combined into one component `<url-router>` and `<url-hash-router>` has been removed.
58
+
*`<url-router>` and `<url-hash-router>` are now combined into one component `<url-router>` and `<url-hash-router>` has been removed.
59
59
*`<url-router>` now has the ability to lazy load scripts (CSS and JavaScript) per route in a similar manner to the main framework using the new `window.lazyLoad` option and related HTML Attributes.
60
60
* New Class `WebComponentService` which can be used to define "service" Web Components
61
61
* The term "service" is used here because the intended use is that components created with this class do not render content but rather provide a service that updates other elements on the page based on HTML attributes element class names, etc. and that the service needs to run when content on the page changes from SPA routes or JSON Services.
62
62
* This is a similar concept to the DataFormsJS Framework Plugins feature allowing for custom functionality to be defined easily and with little API code outside of standard DOM and JavaScript.
63
-
* This will be used by all DataFormsJS Web Components that end with "service" in the component name.
63
+
* This will be used by all DataFormsJS Web Components that end with "service" in the component name.
64
64
* Added new Web Component `<data-view>` and related Framework JavaScript Control for viewing data from `<json-data>` or other web components.
65
65
* Added new Web Component `<keydown-action-service>`. Based on Framework Plugin `js/plugins/keydownAction.js`
66
66
* Added new Web Component `<html-import-service>`. Based on standard framework features for `[data-template-url]` and `[data-template-id]`.
@@ -72,10 +72,11 @@ Overall the core Framework files and API are expected to remain stable however t
72
72
*`js\web-components\data-list.js`
73
73
* Added HTML attribute `root-attr` which allows for any attribute to be set on the root element. Previously only the `class` could be set from `root-class`. The attribute `root-class` is still supported.
74
74
* For `<url-router>` and DataFormsJS Framework when using HTMl5 History Mode (pushState, popstate) the Mac `Command` Key is now supported so users can open SPA links in a separate tab. Previously the only the `{Control}` key worked which is used on Windows for new tags and on Mac for a context menu (right-click menu).
75
-
*`jsxLoader` Updates
75
+
76
+
***DataFormsJS React Components and jsxLoader Updates**
76
77
* Minor bug fix where empty data props were not parsed correctly in a specific condition if this previous prop was not empty; this was found when updating Web Components for full React Support.
77
78
* Added Node Support
78
-
* Added ability for jsxLoader to run from webpack (or in a browser) without any side effects if only the compiler is needed.
79
+
* Added ability for jsxLoader to run from webpack (or in a browser) without any side effects if only the compiler is needed. Documentation will be updated after npm release on how this can be handled.
79
80
* Previously `jsxLoader` only worked in a browser.
80
81
* jsxLoader is now available as a node API and it works in the browser.
81
82
* Added new compiler settings and options:
@@ -97,7 +98,22 @@ Overall the core Framework files and API are expected to remain stable however t
97
98
~~~
98
99
* Updated the CDN version of Babel Standalone used for old browsers from `7.10.4` to `7.12.6`
99
100
* Added improved error message for compile errors where the number of opening tags did not match the number of closing tags. Previously some of these errors were only caught at runtime and not compile time.
100
-
* Enhancements for DataFormsJS Framework files:
101
+
* Updated `.eslintrc.js` for improved syntax validation when using VS Code with `*.jsx` example and test files
102
+
* When calling `jsxLoader.usePreact` a global `React` variable pointing to `preact` will be assigned to `window` by default if not already set and Preact is loaded.
103
+
* ES6 `*.min.js` Components can now be loaded in a web browser using `[type="module"]`. Previously only the ES5 min files could be loaded in a browser.
***Enhancements for DataFormsJS Framework files and general updates:**
101
117
* Added `app.updateTemplatesForIE(rootElement)`. IE 11 considers `<template>` elements as valid elements so it applies `querySelector()` and related methods to elements under `<templates>`'s so replace with them `<script type="text/x-template">`. This avoids issues of `<template>` elements that contain embedded content. Previously this was only handled once per page load but now is handled (for IE only) when views are rendered.
102
118
* Added features in `js/plugins/dataBind.js` based on the Web Components version.
103
119
* New file `js/extensions/format.js` which is used with the Web Components Polyfill
@@ -135,12 +151,35 @@ Overall the core Framework files and API are expected to remain stable however t
135
151
*`@babel/standalone` updated from `7.7.7` to `7.12.6`, used to build es5 version of React Components
136
152
*`uglify-js` updated from `3.7.3` to `3.11.6`
137
153
*`eslint` updated from `7.3.1` to `7.13.0`
138
-
* Updated `.eslintrc.js`for improved syntax validation when using VS Code with`*.jsx` example and test files
139
154
140
155
### Breaking Changes
141
156
142
157
For the standard Framework most breaking changes are minor and only expected to affect internal API's and examples. Several Framework "JavaScript Controls" were updated to match behavior of the Web Components in order to provide more features and so they can be used with the new Web Components Polyfill. If you developed a site or app with any of the breaking changes they are quick to update and if you need help please open an issue.
143
158
159
+
For React Components one component `LeafletMap` and one class `I18n` that would not be commonly used in most apps have been droped from the core ES5 build file `js/react/es5/DataFormsJS.js`. However new options exist so they (along with all other components and classes) have improved options for loading.
160
+
~~~html
161
+
<!-- Previous Release included [I18n, LeafletMap] and was ES5 sytnax only for CDN -->
The Web Components have the most complex breaking changes related to API usage however due to the complexity of the earlier API it's unlikely to affect any site. If a site did use the earlier API it is generally quick to update as well.
0 commit comments