x4js 1.5.0 → 1.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/README.md +19 -0
- package/lib/changelog.txt +5 -0
- package/lib/cjs/application.js +6 -6
- package/lib/cjs/icon.js +5 -0
- package/lib/cjs/md5.js +7 -7
- package/lib/cjs/tools.js +8 -5
- package/lib/cjs/version.js +1 -1
- package/lib/esm/icon.js +5 -0
- package/lib/esm/tools.js +8 -5
- package/lib/esm/version.js +1 -1
- package/lib/license.md +21 -0
- package/lib/{ts_src → src}/MIT-license.md +0 -0
- package/lib/{ts_src → src}/action.ts +0 -0
- package/lib/{ts_src → src}/alpha.jpg +0 -0
- package/lib/{ts_src → src}/application.ts +0 -0
- package/lib/{ts_src → src}/autocomplete.ts +0 -0
- package/lib/{ts_src → src}/base64.ts +0 -0
- package/lib/{ts_src → src}/base_component.ts +0 -0
- package/lib/{ts_src → src}/button.ts +0 -0
- package/lib/{ts_src → src}/calendar.ts +0 -0
- package/lib/{ts_src → src}/canvas.ts +0 -0
- package/lib/{ts_src → src}/cardview.ts +0 -0
- package/lib/{ts_src → src}/checkbox.ts +0 -0
- package/lib/{ts_src → src}/color.ts +0 -0
- package/lib/{ts_src → src}/colorpicker.ts +0 -0
- package/lib/{ts_src → src}/combobox.ts +0 -0
- package/lib/{ts_src → src}/component.ts +0 -0
- package/lib/{ts_src → src}/datastore.ts +0 -0
- package/lib/{ts_src → src}/dialog.ts +0 -0
- package/lib/{ts_src → src}/dom_events.ts +0 -0
- package/lib/{ts_src → src}/drag_manager.ts +0 -0
- package/lib/{ts_src → src}/drawtext.ts +0 -0
- package/lib/{ts_src → src}/fileupload.ts +0 -0
- package/lib/{ts_src → src}/form.ts +0 -0
- package/lib/{ts_src → src}/formatters.ts +0 -0
- package/lib/{ts_src → src}/gridview.ts +0 -0
- package/lib/{ts_src → src}/i18n.ts +0 -0
- package/lib/{ts_src → src}/icon.ts +6 -0
- package/lib/{ts_src → src}/image.ts +0 -0
- package/lib/{ts_src → src}/index.ts +0 -0
- package/lib/{ts_src → src}/input.ts +0 -0
- package/lib/{ts_src → src}/label.ts +0 -0
- package/lib/{ts_src → src}/layout.ts +0 -0
- package/lib/{ts_src → src}/link.ts +0 -0
- package/lib/{ts_src → src}/listview.ts +0 -0
- package/lib/{ts_src → src}/md5.ts +0 -0
- package/lib/{ts_src → src}/menu.ts +0 -0
- package/lib/{ts_src → src}/messagebox.ts +0 -0
- package/lib/{ts_src → src}/panel.ts +0 -0
- package/lib/{ts_src → src}/popup.ts +0 -0
- package/lib/{ts_src → src}/property_editor.ts +0 -0
- package/lib/{ts_src → src}/radiobtn.ts +0 -0
- package/lib/{ts_src → src}/rating.ts +0 -0
- package/lib/{ts_src → src}/request.ts +0 -0
- package/lib/{ts_src → src}/router.ts +0 -0
- package/lib/{ts_src → src}/settings.ts +0 -0
- package/lib/{ts_src → src}/sidebarview.ts +0 -0
- package/lib/{ts_src → src}/spreadsheet.ts +0 -0
- package/lib/{ts_src → src}/styles.ts +0 -0
- package/lib/{ts_src → src}/svgcomponent.ts +0 -0
- package/lib/{ts_src → src}/tabbar.ts +0 -0
- package/lib/{ts_src → src}/tabview.ts +0 -0
- package/lib/{ts_src → src}/textarea.ts +0 -0
- package/lib/{ts_src → src}/textedit.ts +0 -0
- package/lib/{ts_src → src}/toaster.ts +0 -0
- package/lib/{ts_src → src}/tools.ts +12 -7
- package/lib/{ts_src → src}/tooltips.ts +0 -0
- package/lib/{ts_src → src}/treeview.ts +0 -0
- package/lib/{ts_src → src}/version.ts +1 -1
- package/lib/{ts_src → src}/x4.less +5 -3
- package/lib/{ts_src → src}/x4dom.ts +0 -0
- package/lib/{ts_src → src}/x4events.ts +0 -0
- package/lib/{ts_src → src}/x4react.ts +0 -0
- package/lib/styles/x4.css +5 -3
- package/lib/styles/x4.less +5 -3
- package/lib/{cjs → types}/action.d.ts +0 -0
- package/lib/{cjs → types}/application.d.ts +0 -0
- package/lib/{cjs → types}/autocomplete.d.ts +0 -0
- package/lib/{cjs → types}/base_component.d.ts +0 -0
- package/lib/{cjs/types → types}/button.d.ts +1 -1
- package/lib/{cjs → types}/calendar.d.ts +0 -0
- package/lib/{cjs → types}/canvas.d.ts +1 -1
- package/lib/{cjs/types → types}/cardview.d.ts +1 -1
- package/lib/{cjs → types}/checkbox.d.ts +0 -0
- package/lib/{cjs → types}/color.d.ts +0 -0
- package/lib/{cjs → types}/colorpicker.d.ts +0 -0
- package/lib/{cjs → types}/combobox.d.ts +0 -0
- package/lib/{cjs → types}/component.d.ts +6 -6
- package/lib/{cjs/types → types}/datastore.d.ts +5 -5
- package/lib/{cjs/types → types}/dialog.d.ts +1 -1
- package/lib/{cjs → types}/dom_events.d.ts +0 -0
- package/lib/{esm → types}/drag_manager.d.ts +2 -2
- package/lib/{cjs → types}/drawtext.d.ts +0 -0
- package/lib/{cjs → types}/fileupload.d.ts +0 -0
- package/lib/{cjs → types}/form.d.ts +2 -2
- package/lib/{cjs → types}/formatters.d.ts +1 -1
- package/lib/{cjs → types}/gridview.d.ts +4 -4
- package/lib/{cjs → types}/i18n.d.ts +0 -0
- package/lib/{cjs → types}/icon.d.ts +1 -1
- package/lib/{cjs → types}/image.d.ts +0 -0
- package/lib/{cjs → types}/index.d.ts +0 -0
- package/lib/{cjs/types → types}/input.d.ts +1 -1
- package/lib/{cjs → types}/label.d.ts +0 -0
- package/lib/{cjs → types}/layout.d.ts +0 -0
- package/lib/{cjs → types}/link.d.ts +0 -0
- package/lib/{cjs → types}/listview.d.ts +0 -0
- package/lib/{cjs → types}/md5.d.ts +0 -0
- package/lib/{esm → types}/menu.d.ts +1 -1
- package/lib/{cjs → types}/messagebox.d.ts +0 -0
- package/lib/{cjs → types}/panel.d.ts +0 -0
- package/lib/{cjs → types}/popup.d.ts +0 -0
- package/lib/{esm → types}/property_editor.d.ts +1 -1
- package/lib/{cjs → types}/radiobtn.d.ts +0 -0
- package/lib/{cjs → types}/rating.d.ts +0 -0
- package/lib/{cjs → types}/request.d.ts +0 -0
- package/lib/{cjs/types → types}/router.d.ts +1 -1
- package/lib/{cjs → types}/settings.d.ts +0 -0
- package/lib/{cjs → types}/sidebarview.d.ts +0 -0
- package/lib/{cjs → types}/spreadsheet.d.ts +0 -0
- package/lib/{cjs → types}/styles.d.ts +0 -0
- package/lib/{cjs → types}/svgcomponent.d.ts +0 -0
- package/lib/{cjs → types}/tabbar.d.ts +0 -0
- package/lib/{cjs → types}/tabview.d.ts +0 -0
- package/lib/{cjs → types}/textarea.d.ts +0 -0
- package/lib/{esm → types}/textedit.d.ts +1 -1
- package/lib/{cjs → types}/toaster.d.ts +0 -0
- package/lib/{cjs → types}/tools.d.ts +1 -1
- package/lib/{esm → types}/tooltips.d.ts +1 -1
- package/lib/{cjs → types}/treeview.d.ts +0 -0
- package/lib/{esm/types → types}/version.d.ts +1 -1
- package/lib/{cjs/types → types}/x4dom.d.ts +0 -0
- package/lib/{cjs/types → types}/x4events.d.ts +2 -2
- package/lib/{cjs/types → types}/x4react.d.ts +0 -0
- package/lib/x4.css +1780 -0
- package/package.json +11 -12
- package/lib/cjs/button.d.ts +0 -151
- package/lib/cjs/cardview.d.ts +0 -87
- package/lib/cjs/datastore.d.ts +0 -396
- package/lib/cjs/dialog.d.ts +0 -175
- package/lib/cjs/drag_manager.d.ts +0 -54
- package/lib/cjs/input.d.ts +0 -91
- package/lib/cjs/menu.d.ts +0 -130
- package/lib/cjs/property_editor.d.ts +0 -71
- package/lib/cjs/router.d.ts +0 -42
- package/lib/cjs/textedit.d.ts +0 -123
- package/lib/cjs/tooltips.d.ts +0 -46
- package/lib/cjs/types/action.d.ts +0 -57
- package/lib/cjs/types/application.d.ts +0 -104
- package/lib/cjs/types/autocomplete.d.ts +0 -58
- package/lib/cjs/types/base_component.d.ts +0 -88
- package/lib/cjs/types/calendar.d.ts +0 -81
- package/lib/cjs/types/canvas.d.ts +0 -92
- package/lib/cjs/types/checkbox.d.ts +0 -77
- package/lib/cjs/types/color.d.ts +0 -148
- package/lib/cjs/types/colorpicker.d.ts +0 -107
- package/lib/cjs/types/combobox.d.ts +0 -101
- package/lib/cjs/types/component.d.ts +0 -601
- package/lib/cjs/types/dom_events.d.ts +0 -302
- package/lib/cjs/types/drag_manager.d.ts +0 -54
- package/lib/cjs/types/drawtext.d.ts +0 -48
- package/lib/cjs/types/fileupload.d.ts +0 -64
- package/lib/cjs/types/form.d.ts +0 -126
- package/lib/cjs/types/formatters.d.ts +0 -35
- package/lib/cjs/types/gridview.d.ts +0 -175
- package/lib/cjs/types/i18n.d.ts +0 -73
- package/lib/cjs/types/icon.d.ts +0 -64
- package/lib/cjs/types/image.d.ts +0 -55
- package/lib/cjs/types/index.d.ts +0 -83
- package/lib/cjs/types/label.d.ts +0 -58
- package/lib/cjs/types/layout.d.ts +0 -87
- package/lib/cjs/types/link.d.ts +0 -50
- package/lib/cjs/types/listview.d.ts +0 -178
- package/lib/cjs/types/md5.d.ts +0 -61
- package/lib/cjs/types/menu.d.ts +0 -130
- package/lib/cjs/types/messagebox.d.ts +0 -68
- package/lib/cjs/types/panel.d.ts +0 -47
- package/lib/cjs/types/popup.d.ts +0 -75
- package/lib/cjs/types/property_editor.d.ts +0 -71
- package/lib/cjs/types/radiobtn.d.ts +0 -72
- package/lib/cjs/types/rating.d.ts +0 -53
- package/lib/cjs/types/request.d.ts +0 -52
- package/lib/cjs/types/settings.d.ts +0 -37
- package/lib/cjs/types/sidebarview.d.ts +0 -49
- package/lib/cjs/types/spreadsheet.d.ts +0 -218
- package/lib/cjs/types/styles.d.ts +0 -85
- package/lib/cjs/types/svgcomponent.d.ts +0 -191
- package/lib/cjs/types/tabbar.d.ts +0 -58
- package/lib/cjs/types/tabview.d.ts +0 -49
- package/lib/cjs/types/textarea.d.ts +0 -63
- package/lib/cjs/types/textedit.d.ts +0 -123
- package/lib/cjs/types/toaster.d.ts +0 -42
- package/lib/cjs/types/tools.d.ts +0 -394
- package/lib/cjs/types/tooltips.d.ts +0 -46
- package/lib/cjs/types/treeview.d.ts +0 -132
- package/lib/cjs/types/version.d.ts +0 -29
- package/lib/cjs/version.d.ts +0 -29
- package/lib/cjs/x4dom.d.ts +0 -49
- package/lib/cjs/x4events.d.ts +0 -269
- package/lib/cjs/x4react.d.ts +0 -41
- package/lib/esm/action.d.ts +0 -57
- package/lib/esm/application.d.ts +0 -104
- package/lib/esm/autocomplete.d.ts +0 -58
- package/lib/esm/base_component.d.ts +0 -88
- package/lib/esm/button.d.ts +0 -151
- package/lib/esm/calendar.d.ts +0 -81
- package/lib/esm/canvas.d.ts +0 -92
- package/lib/esm/cardview.d.ts +0 -87
- package/lib/esm/checkbox.d.ts +0 -77
- package/lib/esm/color.d.ts +0 -148
- package/lib/esm/colorpicker.d.ts +0 -107
- package/lib/esm/combobox.d.ts +0 -101
- package/lib/esm/component.d.ts +0 -601
- package/lib/esm/datastore.d.ts +0 -396
- package/lib/esm/dialog.d.ts +0 -175
- package/lib/esm/dom_events.d.ts +0 -302
- package/lib/esm/drawtext.d.ts +0 -48
- package/lib/esm/fileupload.d.ts +0 -64
- package/lib/esm/form.d.ts +0 -126
- package/lib/esm/formatters.d.ts +0 -35
- package/lib/esm/gridview.d.ts +0 -175
- package/lib/esm/i18n.d.ts +0 -73
- package/lib/esm/icon.d.ts +0 -64
- package/lib/esm/image.d.ts +0 -55
- package/lib/esm/index.d.ts +0 -83
- package/lib/esm/input.d.ts +0 -91
- package/lib/esm/label.d.ts +0 -58
- package/lib/esm/layout.d.ts +0 -87
- package/lib/esm/link.d.ts +0 -50
- package/lib/esm/listview.d.ts +0 -178
- package/lib/esm/md5.d.ts +0 -61
- package/lib/esm/messagebox.d.ts +0 -68
- package/lib/esm/panel.d.ts +0 -47
- package/lib/esm/popup.d.ts +0 -75
- package/lib/esm/radiobtn.d.ts +0 -72
- package/lib/esm/rating.d.ts +0 -53
- package/lib/esm/request.d.ts +0 -52
- package/lib/esm/router.d.ts +0 -42
- package/lib/esm/settings.d.ts +0 -37
- package/lib/esm/sidebarview.d.ts +0 -49
- package/lib/esm/spreadsheet.d.ts +0 -218
- package/lib/esm/styles.d.ts +0 -85
- package/lib/esm/svgcomponent.d.ts +0 -191
- package/lib/esm/tabbar.d.ts +0 -58
- package/lib/esm/tabview.d.ts +0 -49
- package/lib/esm/textarea.d.ts +0 -63
- package/lib/esm/toaster.d.ts +0 -42
- package/lib/esm/tools.d.ts +0 -394
- package/lib/esm/treeview.d.ts +0 -132
- package/lib/esm/types/action.d.ts +0 -57
- package/lib/esm/types/application.d.ts +0 -104
- package/lib/esm/types/autocomplete.d.ts +0 -58
- package/lib/esm/types/base_component.d.ts +0 -88
- package/lib/esm/types/button.d.ts +0 -151
- package/lib/esm/types/calendar.d.ts +0 -81
- package/lib/esm/types/canvas.d.ts +0 -92
- package/lib/esm/types/cardview.d.ts +0 -87
- package/lib/esm/types/checkbox.d.ts +0 -77
- package/lib/esm/types/color.d.ts +0 -148
- package/lib/esm/types/colorpicker.d.ts +0 -107
- package/lib/esm/types/combobox.d.ts +0 -101
- package/lib/esm/types/component.d.ts +0 -601
- package/lib/esm/types/datastore.d.ts +0 -396
- package/lib/esm/types/dialog.d.ts +0 -175
- package/lib/esm/types/dom_events.d.ts +0 -302
- package/lib/esm/types/drag_manager.d.ts +0 -54
- package/lib/esm/types/drawtext.d.ts +0 -48
- package/lib/esm/types/fileupload.d.ts +0 -64
- package/lib/esm/types/form.d.ts +0 -126
- package/lib/esm/types/formatters.d.ts +0 -35
- package/lib/esm/types/gridview.d.ts +0 -175
- package/lib/esm/types/i18n.d.ts +0 -73
- package/lib/esm/types/icon.d.ts +0 -64
- package/lib/esm/types/image.d.ts +0 -55
- package/lib/esm/types/index.d.ts +0 -83
- package/lib/esm/types/input.d.ts +0 -91
- package/lib/esm/types/label.d.ts +0 -58
- package/lib/esm/types/layout.d.ts +0 -87
- package/lib/esm/types/link.d.ts +0 -50
- package/lib/esm/types/listview.d.ts +0 -178
- package/lib/esm/types/md5.d.ts +0 -61
- package/lib/esm/types/menu.d.ts +0 -130
- package/lib/esm/types/messagebox.d.ts +0 -68
- package/lib/esm/types/panel.d.ts +0 -47
- package/lib/esm/types/popup.d.ts +0 -75
- package/lib/esm/types/property_editor.d.ts +0 -71
- package/lib/esm/types/radiobtn.d.ts +0 -72
- package/lib/esm/types/rating.d.ts +0 -53
- package/lib/esm/types/request.d.ts +0 -52
- package/lib/esm/types/router.d.ts +0 -42
- package/lib/esm/types/settings.d.ts +0 -37
- package/lib/esm/types/sidebarview.d.ts +0 -49
- package/lib/esm/types/spreadsheet.d.ts +0 -218
- package/lib/esm/types/styles.d.ts +0 -85
- package/lib/esm/types/svgcomponent.d.ts +0 -191
- package/lib/esm/types/tabbar.d.ts +0 -58
- package/lib/esm/types/tabview.d.ts +0 -49
- package/lib/esm/types/textarea.d.ts +0 -63
- package/lib/esm/types/textedit.d.ts +0 -123
- package/lib/esm/types/toaster.d.ts +0 -42
- package/lib/esm/types/tools.d.ts +0 -394
- package/lib/esm/types/tooltips.d.ts +0 -46
- package/lib/esm/types/treeview.d.ts +0 -132
- package/lib/esm/types/x4dom.d.ts +0 -49
- package/lib/esm/types/x4events.d.ts +0 -269
- package/lib/esm/types/x4react.d.ts +0 -41
- package/lib/esm/version.d.ts +0 -29
- package/lib/esm/x4dom.d.ts +0 -49
- package/lib/esm/x4events.d.ts +0 -269
- package/lib/esm/x4react.d.ts +0 -41
package/lib/README.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# x4js framework
|
|
2
|
+
|
|
3
|
+
This is the x4 framework repository.
|
|
4
|
+
|
|
5
|
+
X4 is a full typescript framework to develop Web or Desktop applications.
|
|
6
|
+
Included more than 50 controls like grids, charts, etc. Everything needed to push the limits of your creativity.
|
|
7
|
+
If these components are not enough, you can create your in few lines.
|
|
8
|
+
|
|
9
|
+
## Home page
|
|
10
|
+
see [home](https://x4js.org)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Documentation
|
|
14
|
+
see [documentation](https://x4js.org/doc/)
|
|
15
|
+
|
|
16
|
+
## API
|
|
17
|
+
see [API](https://x4js.org/api/)
|
|
18
|
+
|
|
19
|
+
|
package/lib/cjs/application.js
CHANGED
|
@@ -54,6 +54,12 @@ const _x4_touch_time = Symbol();
|
|
|
54
54
|
* }
|
|
55
55
|
*/
|
|
56
56
|
class Application extends base_component_1.BaseComponent {
|
|
57
|
+
/**
|
|
58
|
+
* the application singleton
|
|
59
|
+
*/
|
|
60
|
+
static instance() {
|
|
61
|
+
return Application.self;
|
|
62
|
+
}
|
|
57
63
|
constructor(props) {
|
|
58
64
|
var _a, _b, _c;
|
|
59
65
|
console.assert(Application.self === null, 'application is a singleton');
|
|
@@ -76,12 +82,6 @@ class Application extends base_component_1.BaseComponent {
|
|
|
76
82
|
this.ApplicationCreated();
|
|
77
83
|
}
|
|
78
84
|
}
|
|
79
|
-
/**
|
|
80
|
-
* the application singleton
|
|
81
|
-
*/
|
|
82
|
-
static instance() {
|
|
83
|
-
return Application.self;
|
|
84
|
-
}
|
|
85
85
|
ApplicationCreated() {
|
|
86
86
|
this.setTitle('');
|
|
87
87
|
}
|
package/lib/cjs/icon.js
CHANGED
|
@@ -154,6 +154,11 @@ class Icon extends component_1.Component {
|
|
|
154
154
|
}
|
|
155
155
|
match_var = reVar.exec(icon);
|
|
156
156
|
}
|
|
157
|
+
// <svg ...>
|
|
158
|
+
if (icon.startsWith('<svg')) {
|
|
159
|
+
this._setSVG('data:image/svg+xml;utf8,' + icon);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
157
162
|
// svg( <svg-filename> ) -> svg( "mysvgfile.svg" )
|
|
158
163
|
// <svg-filename>.svg -> "mysvgfile.svg"
|
|
159
164
|
const reSvg = /\s*svg\s*\(\s*(.+)\s*\)\s*/gi;
|
package/lib/cjs/md5.js
CHANGED
|
@@ -57,13 +57,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
|
57
57
|
THE SOFTWARE.
|
|
58
58
|
*/
|
|
59
59
|
class Md5 {
|
|
60
|
-
constructor() {
|
|
61
|
-
this._state = new Int32Array(4);
|
|
62
|
-
this._buffer = new ArrayBuffer(68);
|
|
63
|
-
this._buffer8 = new Uint8Array(this._buffer, 0, 68);
|
|
64
|
-
this._buffer32 = new Uint32Array(this._buffer, 0, 17);
|
|
65
|
-
this.start();
|
|
66
|
-
}
|
|
67
60
|
static hashStr(str, raw = false) {
|
|
68
61
|
return this.onePassHasher
|
|
69
62
|
.start()
|
|
@@ -237,6 +230,13 @@ class Md5 {
|
|
|
237
230
|
x[2] = c + x[2] | 0;
|
|
238
231
|
x[3] = d + x[3] | 0;
|
|
239
232
|
}
|
|
233
|
+
constructor() {
|
|
234
|
+
this._state = new Int32Array(4);
|
|
235
|
+
this._buffer = new ArrayBuffer(68);
|
|
236
|
+
this._buffer8 = new Uint8Array(this._buffer, 0, 68);
|
|
237
|
+
this._buffer32 = new Uint32Array(this._buffer, 0, 17);
|
|
238
|
+
this.start();
|
|
239
|
+
}
|
|
240
240
|
start() {
|
|
241
241
|
this._dataLength = 0;
|
|
242
242
|
this._bufferLength = 0;
|
package/lib/cjs/tools.js
CHANGED
|
@@ -980,13 +980,16 @@ exports.Clipboard = Clipboard;
|
|
|
980
980
|
*/
|
|
981
981
|
function crc32(str) {
|
|
982
982
|
let crc = ~0;
|
|
983
|
-
|
|
984
|
-
|
|
983
|
+
let buf = Buffer.from(str);
|
|
984
|
+
let i = 0, l = buf.length;
|
|
985
|
+
while (i < l) {
|
|
986
|
+
crc = (crc >>> 8) ^ crc32tab[(crc ^ buf[i]) & 0xff];
|
|
987
|
+
i++;
|
|
985
988
|
}
|
|
986
|
-
return
|
|
989
|
+
return (crc ^ -1) >>> 0;
|
|
987
990
|
}
|
|
988
991
|
exports.crc32 = crc32;
|
|
989
|
-
var crc32tab = [
|
|
992
|
+
var crc32tab = new Int32Array([
|
|
990
993
|
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba,
|
|
991
994
|
0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
|
|
992
995
|
0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
|
|
@@ -1051,7 +1054,7 @@ var crc32tab = [
|
|
|
1051
1054
|
0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
|
|
1052
1055
|
0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
|
|
1053
1056
|
0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
|
|
1054
|
-
];
|
|
1057
|
+
]);
|
|
1055
1058
|
// :: MIXINS ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
1056
1059
|
/**
|
|
1057
1060
|
* taken from this excellent article:
|
package/lib/cjs/version.js
CHANGED
package/lib/esm/icon.js
CHANGED
|
@@ -144,6 +144,11 @@ export class Icon extends Component {
|
|
|
144
144
|
}
|
|
145
145
|
match_var = reVar.exec(icon);
|
|
146
146
|
}
|
|
147
|
+
// <svg ...>
|
|
148
|
+
if (icon.startsWith('<svg')) {
|
|
149
|
+
this._setSVG('data:image/svg+xml;utf8,' + icon);
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
147
152
|
// svg( <svg-filename> ) -> svg( "mysvgfile.svg" )
|
|
148
153
|
// <svg-filename>.svg -> "mysvgfile.svg"
|
|
149
154
|
const reSvg = /\s*svg\s*\(\s*(.+)\s*\)\s*/gi;
|
package/lib/esm/tools.js
CHANGED
|
@@ -945,12 +945,15 @@ export class Clipboard {
|
|
|
945
945
|
*/
|
|
946
946
|
export function crc32(str) {
|
|
947
947
|
let crc = ~0;
|
|
948
|
-
|
|
949
|
-
|
|
948
|
+
let buf = Buffer.from(str);
|
|
949
|
+
let i = 0, l = buf.length;
|
|
950
|
+
while (i < l) {
|
|
951
|
+
crc = (crc >>> 8) ^ crc32tab[(crc ^ buf[i]) & 0xff];
|
|
952
|
+
i++;
|
|
950
953
|
}
|
|
951
|
-
return
|
|
954
|
+
return (crc ^ -1) >>> 0;
|
|
952
955
|
}
|
|
953
|
-
var crc32tab = [
|
|
956
|
+
var crc32tab = new Int32Array([
|
|
954
957
|
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba,
|
|
955
958
|
0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
|
|
956
959
|
0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
|
|
@@ -1015,7 +1018,7 @@ var crc32tab = [
|
|
|
1015
1018
|
0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
|
|
1016
1019
|
0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
|
|
1017
1020
|
0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
|
|
1018
|
-
];
|
|
1021
|
+
]);
|
|
1019
1022
|
// :: MIXINS ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
1020
1023
|
/**
|
|
1021
1024
|
* taken from this excellent article:
|
package/lib/esm/version.js
CHANGED
package/lib/license.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 R-Libre ingénierie
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -186,6 +186,12 @@ export class Icon extends Component<IconProps>
|
|
|
186
186
|
|
|
187
187
|
match_var = reVar.exec( icon );
|
|
188
188
|
}
|
|
189
|
+
|
|
190
|
+
// <svg ...>
|
|
191
|
+
if( icon.startsWith('<svg') ) {
|
|
192
|
+
this._setSVG( 'data:image/svg+xml;utf8,'+icon);
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
189
195
|
|
|
190
196
|
// svg( <svg-filename> ) -> svg( "mysvgfile.svg" )
|
|
191
197
|
// <svg-filename>.svg -> "mysvgfile.svg"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1208,15 +1208,20 @@ export class Clipboard {
|
|
|
1208
1208
|
*/
|
|
1209
1209
|
|
|
1210
1210
|
export function crc32(str) {
|
|
1211
|
-
|
|
1212
1211
|
let crc = ~0;
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1212
|
+
let buf = Buffer.from( str );
|
|
1213
|
+
|
|
1214
|
+
let i = 0,
|
|
1215
|
+
l = buf.length;
|
|
1216
|
+
while( i<l ) {
|
|
1217
|
+
crc = (crc >>> 8) ^ crc32tab[(crc ^ buf[i]) & 0xff];
|
|
1218
|
+
i++;
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
return (crc ^ -1)>>>0;
|
|
1217
1222
|
}
|
|
1218
1223
|
|
|
1219
|
-
var crc32tab = [
|
|
1224
|
+
var crc32tab = new Int32Array([
|
|
1220
1225
|
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba,
|
|
1221
1226
|
0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
|
|
1222
1227
|
0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
|
|
@@ -1281,7 +1286,7 @@ var crc32tab = [
|
|
|
1281
1286
|
0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
|
|
1282
1287
|
0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
|
|
1283
1288
|
0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
|
|
1284
|
-
];
|
|
1289
|
+
]);
|
|
1285
1290
|
|
|
1286
1291
|
|
|
1287
1292
|
// :: MIXINS ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
File without changes
|
|
File without changes
|
|
@@ -407,6 +407,7 @@ textarea {
|
|
|
407
407
|
display: flex;
|
|
408
408
|
flex-direction: row;
|
|
409
409
|
align-items: center;
|
|
410
|
+
gap: 4px;
|
|
410
411
|
outline: none;
|
|
411
412
|
cursor: pointer;
|
|
412
413
|
font-family: var( --x4-font );
|
|
@@ -426,8 +427,8 @@ textarea {
|
|
|
426
427
|
}
|
|
427
428
|
|
|
428
429
|
.x-svg-icon {
|
|
429
|
-
width:
|
|
430
|
-
height:
|
|
430
|
+
width: 1rem;
|
|
431
|
+
height: 1rem;
|
|
431
432
|
margin: 0;
|
|
432
433
|
}
|
|
433
434
|
|
|
@@ -585,6 +586,7 @@ textarea {
|
|
|
585
586
|
border-bottom: 1px solid transparent;
|
|
586
587
|
margin-top: 1px; // hack alignement label / edit
|
|
587
588
|
line-height: 1.3em;
|
|
589
|
+
width: 24px; // fix min-content
|
|
588
590
|
|
|
589
591
|
&::placeholder {
|
|
590
592
|
color: var( --gray-800 );
|
|
@@ -613,7 +615,7 @@ textarea {
|
|
|
613
615
|
border: none;
|
|
614
616
|
|
|
615
617
|
margin: 0;
|
|
616
|
-
padding:
|
|
618
|
+
padding: 4px;
|
|
617
619
|
height: 2em;
|
|
618
620
|
margin-top: 1px;
|
|
619
621
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/styles/x4.css
CHANGED
|
@@ -320,6 +320,7 @@ textarea::selection {
|
|
|
320
320
|
display: flex;
|
|
321
321
|
flex-direction: row;
|
|
322
322
|
align-items: center;
|
|
323
|
+
gap: 4px;
|
|
323
324
|
outline: none;
|
|
324
325
|
cursor: pointer;
|
|
325
326
|
font-family: var(--x4-font);
|
|
@@ -336,8 +337,8 @@ textarea::selection {
|
|
|
336
337
|
color: inherit;
|
|
337
338
|
}
|
|
338
339
|
.x-base-button .x-svg-icon {
|
|
339
|
-
width:
|
|
340
|
-
height:
|
|
340
|
+
width: 1rem;
|
|
341
|
+
height: 1rem;
|
|
341
342
|
margin: 0;
|
|
342
343
|
}
|
|
343
344
|
.x-base-button:focus {
|
|
@@ -471,6 +472,7 @@ textarea::selection {
|
|
|
471
472
|
border-bottom: 1px solid transparent;
|
|
472
473
|
margin-top: 1px;
|
|
473
474
|
line-height: 1.3em;
|
|
475
|
+
width: 24px;
|
|
474
476
|
}
|
|
475
477
|
.x-text-edit input::placeholder,
|
|
476
478
|
.x-combo-box input::placeholder,
|
|
@@ -502,7 +504,7 @@ textarea::selection {
|
|
|
502
504
|
color: var(--gray-900);
|
|
503
505
|
border: none;
|
|
504
506
|
margin: 0;
|
|
505
|
-
padding:
|
|
507
|
+
padding: 4px;
|
|
506
508
|
height: 2em;
|
|
507
509
|
margin-top: 1px;
|
|
508
510
|
}
|
package/lib/styles/x4.less
CHANGED
|
@@ -407,6 +407,7 @@ textarea {
|
|
|
407
407
|
display: flex;
|
|
408
408
|
flex-direction: row;
|
|
409
409
|
align-items: center;
|
|
410
|
+
gap: 4px;
|
|
410
411
|
outline: none;
|
|
411
412
|
cursor: pointer;
|
|
412
413
|
font-family: var( --x4-font );
|
|
@@ -426,8 +427,8 @@ textarea {
|
|
|
426
427
|
}
|
|
427
428
|
|
|
428
429
|
.x-svg-icon {
|
|
429
|
-
width:
|
|
430
|
-
height:
|
|
430
|
+
width: 1rem;
|
|
431
|
+
height: 1rem;
|
|
431
432
|
margin: 0;
|
|
432
433
|
}
|
|
433
434
|
|
|
@@ -585,6 +586,7 @@ textarea {
|
|
|
585
586
|
border-bottom: 1px solid transparent;
|
|
586
587
|
margin-top: 1px; // hack alignement label / edit
|
|
587
588
|
line-height: 1.3em;
|
|
589
|
+
width: 24px; // fix min-content
|
|
588
590
|
|
|
589
591
|
&::placeholder {
|
|
590
592
|
color: var( --gray-800 );
|
|
@@ -613,7 +615,7 @@ textarea {
|
|
|
613
615
|
border: none;
|
|
614
616
|
|
|
615
617
|
margin: 0;
|
|
616
|
-
padding:
|
|
618
|
+
padding: 4px;
|
|
617
619
|
height: 2em;
|
|
618
620
|
margin-top: 1px;
|
|
619
621
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -54,7 +54,7 @@ export interface CanvasPainter extends CanvasRenderingContext2D {
|
|
|
54
54
|
setFontSize(fs: number): void;
|
|
55
55
|
circle(x: number, y: number, radius: number): void;
|
|
56
56
|
}
|
|
57
|
-
|
|
57
|
+
type PaintHandler = (ctx: CanvasPainter) => any;
|
|
58
58
|
/**
|
|
59
59
|
*
|
|
60
60
|
*/
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
import { Component, CProps, CEventMap } from './component';
|
|
30
30
|
import { EvChange } from './x4events';
|
|
31
31
|
import { IconID } from './icon';
|
|
32
|
-
export
|
|
32
|
+
export type PageOrCallback = Component | (() => Component);
|
|
33
33
|
export interface ICardViewItem {
|
|
34
34
|
icon?: IconID;
|
|
35
35
|
name: string;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -84,9 +84,9 @@ export declare const _x4_unitless: {
|
|
|
84
84
|
/**
|
|
85
85
|
*
|
|
86
86
|
*/
|
|
87
|
-
export
|
|
88
|
-
export
|
|
89
|
-
export
|
|
87
|
+
export type VoidCallback = () => void;
|
|
88
|
+
export type ComponentOrString = Component | string | HtmlString;
|
|
89
|
+
export type ComponentContent = ComponentOrString | ComponentOrString[];
|
|
90
90
|
interface IMap<T> {
|
|
91
91
|
[key: string]: T;
|
|
92
92
|
}
|
|
@@ -501,7 +501,7 @@ export declare class Space extends Component {
|
|
|
501
501
|
/**
|
|
502
502
|
* sizable separator
|
|
503
503
|
*/
|
|
504
|
-
|
|
504
|
+
type SizeMode = null | 'minimize' | 'maximize' | 'restore';
|
|
505
505
|
export interface EvSize extends BasicEvent {
|
|
506
506
|
readonly size: Size;
|
|
507
507
|
readonly mode: SizeMode;
|
|
@@ -530,7 +530,7 @@ export declare class Separator extends Component<SeparatorProps, SeparatorEventM
|
|
|
530
530
|
/**
|
|
531
531
|
* properties
|
|
532
532
|
*/
|
|
533
|
-
|
|
533
|
+
type SizerOverlaySens = 'left' | 'top' | 'right' | 'bottom' | 'topleft' | 'topright' | 'bottomleft' | 'bottomright';
|
|
534
534
|
export interface EvOverlayResize extends BasicEvent {
|
|
535
535
|
ui_event: UIEvent;
|
|
536
536
|
sens: SizerOverlaySens;
|
|
@@ -598,4 +598,4 @@ export declare class Container<P extends ContainerProps = ContainerProps, E exte
|
|
|
598
598
|
/** @ignore this function is binded */
|
|
599
599
|
private _handleKeydown;
|
|
600
600
|
}
|
|
601
|
-
export
|
|
601
|
+
export type ComponentConstructor<T> = new (props: CProps) => T;
|
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
**/
|
|
29
29
|
import { BasicEvent, EvChange, EventSource, EventMap } from './x4events';
|
|
30
30
|
import { BaseComponent, BaseComponentEventMap, BaseComponentProps } from './base_component';
|
|
31
|
-
export
|
|
32
|
-
export
|
|
33
|
-
export
|
|
34
|
-
export
|
|
31
|
+
export type ChangeCallback = (type: string, id?: any) => void;
|
|
32
|
+
export type CalcCallback = () => string;
|
|
33
|
+
export type FieldType = 'string' | 'int' | 'float' | 'date' | 'bool' | 'array' | 'object' | 'any' | 'calc';
|
|
34
|
+
export type DataIndex = Uint32Array;
|
|
35
35
|
interface EvDataChange extends BasicEvent {
|
|
36
36
|
type: string;
|
|
37
37
|
id: any;
|
|
@@ -328,7 +328,7 @@ interface DataViewProps extends BaseComponentProps<DataViewEventMap> {
|
|
|
328
328
|
filter?: FilterInfo;
|
|
329
329
|
order?: string | SortProp[] | SortProp;
|
|
330
330
|
}
|
|
331
|
-
export
|
|
331
|
+
export type FilterFunc = (rec: Record) => boolean;
|
|
332
332
|
export interface FilterInfo {
|
|
333
333
|
op: '<' | '<=' | '=' | '>=' | '>' | '<>' | 'empty-result' | FilterFunc;
|
|
334
334
|
field?: string;
|
|
@@ -51,7 +51,7 @@ export interface DialogBoxEventMap extends PopupEventMap {
|
|
|
51
51
|
close: EvClose;
|
|
52
52
|
btnClick: EvBtnClick;
|
|
53
53
|
}
|
|
54
|
-
export
|
|
54
|
+
export type InitFormCallback = () => Form;
|
|
55
55
|
export interface DialogProps<E extends DialogBoxEventMap = DialogBoxEventMap> extends PopupProps<E> {
|
|
56
56
|
title?: string;
|
|
57
57
|
icon?: IconID;
|