x4js 1.5.31 → 1.5.33
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/cjs/index.js +9 -9
- package/lib/cjs/index.js.map +3 -3
- package/lib/esm/index.mjs +81 -52
- package/lib/esm/index.mjs.map +2 -2
- package/lib/src/calendar.ts +1 -1
- package/lib/src/combobox.ts +1 -1
- package/lib/src/component.ts +27 -15
- package/lib/src/datastore.ts +48 -60
- package/lib/src/icon.ts +19 -0
- package/lib/src/input.ts +13 -5
- package/lib/src/menu.ts +1 -1
- package/lib/src/sidebarview.ts +6 -1
- package/lib/src/svgcomponent.ts +22 -12
- package/lib/src/version.ts +1 -1
- package/lib/types/component.d.ts +2 -2
- package/lib/types/datastore.d.ts +29 -29
- package/lib/types/icon.d.ts +7 -0
- package/lib/types/sidebarview.d.ts +2 -0
- package/lib/types/svgcomponent.d.ts +11 -10
- package/lib/types/version.d.ts +1 -1
- package/package.json +1 -1
package/lib/esm/index.mjs
CHANGED
|
@@ -1921,7 +1921,8 @@ var _Component = class extends BaseComponent {
|
|
|
1921
1921
|
classes: {},
|
|
1922
1922
|
dom_events: {},
|
|
1923
1923
|
uid: _Component.__comp_guid++,
|
|
1924
|
-
inrender: false
|
|
1924
|
+
inrender: false,
|
|
1925
|
+
created: false
|
|
1925
1926
|
};
|
|
1926
1927
|
if (this.m_props.cls) {
|
|
1927
1928
|
this.addClass(this.m_props.cls);
|
|
@@ -2180,10 +2181,10 @@ var _Component = class extends BaseComponent {
|
|
|
2180
2181
|
if (this.m_dom) {
|
|
2181
2182
|
return this.m_dom.getAttribute(name);
|
|
2182
2183
|
} else {
|
|
2183
|
-
if (
|
|
2184
|
-
return
|
|
2184
|
+
if (name == "id") {
|
|
2185
|
+
return this.m_props.id;
|
|
2185
2186
|
}
|
|
2186
|
-
return this.m_props.attrs[name];
|
|
2187
|
+
return this.m_props.attrs ? this.m_props.attrs[name] : void 0;
|
|
2187
2188
|
}
|
|
2188
2189
|
}
|
|
2189
2190
|
/**
|
|
@@ -2414,7 +2415,7 @@ var _Component = class extends BaseComponent {
|
|
|
2414
2415
|
for (let e in evt) {
|
|
2415
2416
|
let handlers = evt[e];
|
|
2416
2417
|
for (let h of handlers) {
|
|
2417
|
-
this.
|
|
2418
|
+
this._createEvent(e, h.listener, h.passive);
|
|
2418
2419
|
}
|
|
2419
2420
|
}
|
|
2420
2421
|
}
|
|
@@ -2590,22 +2591,22 @@ var _Component = class extends BaseComponent {
|
|
|
2590
2591
|
* this.setDomEvent( 'drag drop', this._handleDrag, this );
|
|
2591
2592
|
* this.setDomEvent( 'dblclick', this._handleDblClick, this );
|
|
2592
2593
|
*/
|
|
2593
|
-
setDomEvent(type, listener) {
|
|
2594
|
+
setDomEvent(type, listener, passive) {
|
|
2594
2595
|
let _listener = listener;
|
|
2595
|
-
this._setDomEvent(type, _listener);
|
|
2596
|
+
this._setDomEvent(type, _listener, passive);
|
|
2596
2597
|
}
|
|
2597
|
-
_setDomEvent(type, listener) {
|
|
2598
|
+
_setDomEvent(type, listener, passive) {
|
|
2598
2599
|
if (!this.m_iprops.dom_events) {
|
|
2599
2600
|
this.m_iprops.dom_events = {};
|
|
2600
2601
|
}
|
|
2601
2602
|
let listeners = this.m_iprops.dom_events[type];
|
|
2602
2603
|
if (!listeners) {
|
|
2603
|
-
listeners = this.m_iprops.dom_events[type] = [listener];
|
|
2604
|
+
listeners = this.m_iprops.dom_events[type] = [{ listener, passive }];
|
|
2604
2605
|
} else {
|
|
2605
|
-
listeners.push(listener);
|
|
2606
|
+
listeners.push({ listener, passive });
|
|
2606
2607
|
}
|
|
2607
2608
|
if (this.m_dom) {
|
|
2608
|
-
this.
|
|
2609
|
+
this._createEvent(type, listener, passive);
|
|
2609
2610
|
}
|
|
2610
2611
|
}
|
|
2611
2612
|
/**
|
|
@@ -2629,7 +2630,7 @@ var _Component = class extends BaseComponent {
|
|
|
2629
2630
|
* @param name
|
|
2630
2631
|
* @param handler
|
|
2631
2632
|
*/
|
|
2632
|
-
|
|
2633
|
+
_createEvent(name, handler, passive) {
|
|
2633
2634
|
let _dom = this.m_dom;
|
|
2634
2635
|
let store = _dom[_x4_el_store];
|
|
2635
2636
|
if (!store) {
|
|
@@ -2644,10 +2645,14 @@ var _Component = class extends BaseComponent {
|
|
|
2644
2645
|
_dom["on" + name] = _Component._dispatchUnbubbleEvent;
|
|
2645
2646
|
} else if (!_Component.__privateEvents[name]) {
|
|
2646
2647
|
_Component.__privateEvents[name] = true;
|
|
2647
|
-
if (
|
|
2648
|
-
|
|
2648
|
+
if (passive === void 0) {
|
|
2649
|
+
if (passiveEvents[name]) {
|
|
2650
|
+
x4document.addEventListener(name, _Component._dispatchEvent, { passive: false, capture: true });
|
|
2651
|
+
} else {
|
|
2652
|
+
x4document.addEventListener(name, _Component._dispatchEvent, true);
|
|
2653
|
+
}
|
|
2649
2654
|
} else {
|
|
2650
|
-
x4document.addEventListener(name, _Component._dispatchEvent, true);
|
|
2655
|
+
x4document.addEventListener(name, _Component._dispatchEvent, { passive, capture: passive ? true : false });
|
|
2651
2656
|
}
|
|
2652
2657
|
}
|
|
2653
2658
|
if (name === "sizechange") {
|
|
@@ -4483,6 +4488,13 @@ var _Icon = class extends Component {
|
|
|
4483
4488
|
url = url.replaceAll("\\", "");
|
|
4484
4489
|
this._setSVG(url);
|
|
4485
4490
|
return;
|
|
4491
|
+
}
|
|
4492
|
+
const reChar = /\s*font-char\s*\(\s*(.+)\s*\)\s*/gi;
|
|
4493
|
+
let match_char = reChar.exec(icon);
|
|
4494
|
+
if (match_char) {
|
|
4495
|
+
this.removeClass("@svg-icon");
|
|
4496
|
+
this.setContent(match_char[1], false);
|
|
4497
|
+
return;
|
|
4486
4498
|
} else {
|
|
4487
4499
|
console.error("deprecation error: invalid icon name");
|
|
4488
4500
|
name = icon;
|
|
@@ -4794,7 +4806,7 @@ var MenuItem = class extends Component {
|
|
|
4794
4806
|
}
|
|
4795
4807
|
this.setTag("a");
|
|
4796
4808
|
this.setContent([
|
|
4797
|
-
icon
|
|
4809
|
+
icon ? null : new Icon({ icon }),
|
|
4798
4810
|
new Label({ flex: 1, text }),
|
|
4799
4811
|
popIco
|
|
4800
4812
|
]);
|
|
@@ -5517,13 +5529,14 @@ var Input = class extends Component {
|
|
|
5517
5529
|
return this.getValue();
|
|
5518
5530
|
}
|
|
5519
5531
|
getValue() {
|
|
5532
|
+
const dom = this.dom;
|
|
5520
5533
|
if (this.dom) {
|
|
5521
|
-
this.m_props.value =
|
|
5534
|
+
this.m_props.value = dom.value;
|
|
5522
5535
|
}
|
|
5523
5536
|
if (this.m_props.uppercase) {
|
|
5524
5537
|
let upper = this.m_props.value.toUpperCase();
|
|
5525
|
-
if (
|
|
5526
|
-
|
|
5538
|
+
if (dom && upper != this.m_props.value) {
|
|
5539
|
+
dom.value = upper;
|
|
5527
5540
|
}
|
|
5528
5541
|
this.m_props.value = upper;
|
|
5529
5542
|
}
|
|
@@ -5550,7 +5563,8 @@ var Input = class extends Component {
|
|
|
5550
5563
|
if (type) {
|
|
5551
5564
|
type = type.toLowerCase();
|
|
5552
5565
|
}
|
|
5553
|
-
let value
|
|
5566
|
+
let value;
|
|
5567
|
+
const dom = this.dom;
|
|
5554
5568
|
if (type === "file") {
|
|
5555
5569
|
value = [];
|
|
5556
5570
|
let files = dom.files;
|
|
@@ -5569,6 +5583,11 @@ var Input = class extends Component {
|
|
|
5569
5583
|
}
|
|
5570
5584
|
} else if (type === "date") {
|
|
5571
5585
|
debugger;
|
|
5586
|
+
} else if (type == "number") {
|
|
5587
|
+
value = this.value;
|
|
5588
|
+
if (value.indexOf(",") >= 0) {
|
|
5589
|
+
value = value.replace(",", ".");
|
|
5590
|
+
}
|
|
5572
5591
|
} else {
|
|
5573
5592
|
value = this.value;
|
|
5574
5593
|
}
|
|
@@ -5977,7 +5996,7 @@ var Calendar = class extends VLayout {
|
|
|
5977
5996
|
} else if (type == "year") {
|
|
5978
5997
|
let min = this.m_props.minDate?.getFullYear() ?? 1900;
|
|
5979
5998
|
let max = this.m_props.maxDate?.getFullYear() ?? 2037;
|
|
5980
|
-
for (let m =
|
|
5999
|
+
for (let m = max; m >= min; m--) {
|
|
5981
6000
|
items.push(new MenuItem({
|
|
5982
6001
|
text: "" + m,
|
|
5983
6002
|
click: () => {
|
|
@@ -8103,32 +8122,23 @@ var DataProxy = class extends BaseComponent {
|
|
|
8103
8122
|
constructor(props) {
|
|
8104
8123
|
super(props);
|
|
8105
8124
|
}
|
|
8106
|
-
load(url) {
|
|
8125
|
+
async load(url) {
|
|
8107
8126
|
if (url) {
|
|
8108
8127
|
this.m_props.url = url;
|
|
8128
|
+
} else {
|
|
8129
|
+
url = this.m_props.url;
|
|
8109
8130
|
}
|
|
8110
|
-
this.
|
|
8111
|
-
|
|
8112
|
-
|
|
8113
|
-
const
|
|
8114
|
-
|
|
8115
|
-
|
|
8116
|
-
|
|
8117
|
-
|
|
8118
|
-
|
|
8119
|
-
if (r.ok) {
|
|
8120
|
-
const raw = await r.json();
|
|
8121
|
-
let json = raw;
|
|
8122
|
-
if (this.m_props.solver) {
|
|
8123
|
-
json = this.m_props.solver(json);
|
|
8124
|
-
}
|
|
8125
|
-
this.emit("change", EvChange(json, raw));
|
|
8131
|
+
if (this.m_props.params) {
|
|
8132
|
+
url += "?" + this.m_props.params.join("&");
|
|
8133
|
+
}
|
|
8134
|
+
const r = await fetch(url);
|
|
8135
|
+
if (r.ok) {
|
|
8136
|
+
const raw = await r.json();
|
|
8137
|
+
let json = raw;
|
|
8138
|
+
if (this.m_props.solver) {
|
|
8139
|
+
json = this.m_props.solver(json);
|
|
8126
8140
|
}
|
|
8127
|
-
|
|
8128
|
-
if (delay) {
|
|
8129
|
-
setTimeout(load, delay);
|
|
8130
|
-
} else {
|
|
8131
|
-
load();
|
|
8141
|
+
this.emit("change", EvChange(json, raw));
|
|
8132
8142
|
}
|
|
8133
8143
|
}
|
|
8134
8144
|
};
|
|
@@ -8156,18 +8166,20 @@ var DataStore = class extends EventSource {
|
|
|
8156
8166
|
this.setData(ev.value);
|
|
8157
8167
|
} }
|
|
8158
8168
|
});
|
|
8159
|
-
|
|
8169
|
+
if (props.autoload != false) {
|
|
8170
|
+
this.m_proxy.load();
|
|
8171
|
+
}
|
|
8160
8172
|
}
|
|
8161
8173
|
}
|
|
8162
8174
|
/**
|
|
8163
8175
|
*
|
|
8164
8176
|
* @param records
|
|
8165
8177
|
*/
|
|
8166
|
-
load(url) {
|
|
8167
|
-
this.m_proxy.load(url);
|
|
8178
|
+
async load(url) {
|
|
8179
|
+
return this.m_proxy.load(url);
|
|
8168
8180
|
}
|
|
8169
|
-
reload() {
|
|
8170
|
-
this.m_proxy.load();
|
|
8181
|
+
async reload() {
|
|
8182
|
+
return this.m_proxy.load();
|
|
8171
8183
|
}
|
|
8172
8184
|
/**
|
|
8173
8185
|
* convert raw objects to real records from model
|
|
@@ -8621,7 +8633,6 @@ var DataView = class extends BaseComponent {
|
|
|
8621
8633
|
*
|
|
8622
8634
|
*/
|
|
8623
8635
|
forEach(cb) {
|
|
8624
|
-
debugger;
|
|
8625
8636
|
this.m_index.some((index) => {
|
|
8626
8637
|
let rec = this.m_store.getByIndex(index);
|
|
8627
8638
|
if (rec) {
|
|
@@ -14397,7 +14408,10 @@ var SideBarView = class extends CardView {
|
|
|
14397
14408
|
this.m_sidebar.setContent(new VLayout({
|
|
14398
14409
|
flex: 1,
|
|
14399
14410
|
cls: "content",
|
|
14400
|
-
content:
|
|
14411
|
+
content: [
|
|
14412
|
+
this.m_props.logo,
|
|
14413
|
+
...tabs
|
|
14414
|
+
]
|
|
14401
14415
|
}));
|
|
14402
14416
|
this.setContent([
|
|
14403
14417
|
this.m_sidebar,
|
|
@@ -14508,7 +14522,7 @@ var SVGItem = class {
|
|
|
14508
14522
|
style(name, value) {
|
|
14509
14523
|
if (value === void 0 || value === "" || value === void 0) {
|
|
14510
14524
|
this.m_style.delete(name);
|
|
14511
|
-
return;
|
|
14525
|
+
return this;
|
|
14512
14526
|
}
|
|
14513
14527
|
if (!_x4_unitless[name] && (isNumber(value) || reNumber2.test(value))) {
|
|
14514
14528
|
value = value + "px";
|
|
@@ -14569,18 +14583,22 @@ var SVGItem = class {
|
|
|
14569
14583
|
*/
|
|
14570
14584
|
transform(tr) {
|
|
14571
14585
|
this.attr("transform", tr);
|
|
14586
|
+
return this;
|
|
14572
14587
|
}
|
|
14573
14588
|
/**
|
|
14574
14589
|
*
|
|
14575
14590
|
*/
|
|
14576
14591
|
rotate(deg, cx, cy) {
|
|
14577
14592
|
this.transform(`rotate( ${deg} ${cx} ${cy} )`);
|
|
14593
|
+
return this;
|
|
14578
14594
|
}
|
|
14579
14595
|
translate(dx, dy) {
|
|
14580
14596
|
this.transform(`translate( ${dx} ${dy} )`);
|
|
14597
|
+
return this;
|
|
14581
14598
|
}
|
|
14582
14599
|
scale(x) {
|
|
14583
14600
|
this.transform(`scale( ${x} )`);
|
|
14601
|
+
return this;
|
|
14584
14602
|
}
|
|
14585
14603
|
};
|
|
14586
14604
|
__name(SVGItem, "SVGItem");
|
|
@@ -14772,6 +14790,11 @@ var SVGGroup = class extends SVGItem {
|
|
|
14772
14790
|
this.m_items.push(shape);
|
|
14773
14791
|
return shape;
|
|
14774
14792
|
}
|
|
14793
|
+
group() {
|
|
14794
|
+
const group = new SVGGroup();
|
|
14795
|
+
this.m_items.push(group);
|
|
14796
|
+
return group;
|
|
14797
|
+
}
|
|
14775
14798
|
/**
|
|
14776
14799
|
*
|
|
14777
14800
|
* example
|
|
@@ -15688,7 +15711,7 @@ function setupWSMessaging(closeCB) {
|
|
|
15688
15711
|
__name(setupWSMessaging, "setupWSMessaging");
|
|
15689
15712
|
|
|
15690
15713
|
// src/version.ts
|
|
15691
|
-
var x4js_version = "1.5.
|
|
15714
|
+
var x4js_version = "1.5.33";
|
|
15692
15715
|
export {
|
|
15693
15716
|
AbsLayout,
|
|
15694
15717
|
Application,
|
|
@@ -15774,7 +15797,13 @@ export {
|
|
|
15774
15797
|
Rect,
|
|
15775
15798
|
Router,
|
|
15776
15799
|
SVGComponent,
|
|
15800
|
+
SVGGradient,
|
|
15801
|
+
SVGGroup,
|
|
15802
|
+
SVGItem,
|
|
15803
|
+
SVGPath,
|
|
15777
15804
|
SVGPathBuilder,
|
|
15805
|
+
SVGShape,
|
|
15806
|
+
SVGText,
|
|
15778
15807
|
ScrollView,
|
|
15779
15808
|
Separator,
|
|
15780
15809
|
Settings,
|