x4js 1.5.31 → 1.5.32

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/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 (!this.m_props.attrs) {
2184
- return void 0;
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.createEvent(e, h);
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.createEvent(type, listener);
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
- createEvent(name, handler) {
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 (passiveEvents[name]) {
2648
- x4document.addEventListener(name, _Component._dispatchEvent, { passive: false, capture: true });
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") {
@@ -4794,7 +4799,7 @@ var MenuItem = class extends Component {
4794
4799
  }
4795
4800
  this.setTag("a");
4796
4801
  this.setContent([
4797
- icon < 0 ? null : new Icon({ icon }),
4802
+ icon ? null : new Icon({ icon }),
4798
4803
  new Label({ flex: 1, text }),
4799
4804
  popIco
4800
4805
  ]);
@@ -5517,13 +5522,14 @@ var Input = class extends Component {
5517
5522
  return this.getValue();
5518
5523
  }
5519
5524
  getValue() {
5525
+ const dom = this.dom;
5520
5526
  if (this.dom) {
5521
- this.m_props.value = this.dom.value;
5527
+ this.m_props.value = dom.value;
5522
5528
  }
5523
5529
  if (this.m_props.uppercase) {
5524
5530
  let upper = this.m_props.value.toUpperCase();
5525
- if (this.dom && upper != this.m_props.value) {
5526
- this.dom.value = upper;
5531
+ if (dom && upper != this.m_props.value) {
5532
+ dom.value = upper;
5527
5533
  }
5528
5534
  this.m_props.value = upper;
5529
5535
  }
@@ -5550,7 +5556,8 @@ var Input = class extends Component {
5550
5556
  if (type) {
5551
5557
  type = type.toLowerCase();
5552
5558
  }
5553
- let value, dom = this.dom;
5559
+ let value;
5560
+ const dom = this.dom;
5554
5561
  if (type === "file") {
5555
5562
  value = [];
5556
5563
  let files = dom.files;
@@ -5569,6 +5576,11 @@ var Input = class extends Component {
5569
5576
  }
5570
5577
  } else if (type === "date") {
5571
5578
  debugger;
5579
+ } else if (type == "number") {
5580
+ value = this.value;
5581
+ if (value.indexOf(",") >= 0) {
5582
+ value = value.replace(",", ".");
5583
+ }
5572
5584
  } else {
5573
5585
  value = this.value;
5574
5586
  }
@@ -5977,7 +5989,7 @@ var Calendar = class extends VLayout {
5977
5989
  } else if (type == "year") {
5978
5990
  let min = this.m_props.minDate?.getFullYear() ?? 1900;
5979
5991
  let max = this.m_props.maxDate?.getFullYear() ?? 2037;
5980
- for (let m = min; m < max; m++) {
5992
+ for (let m = max; m >= min; m--) {
5981
5993
  items.push(new MenuItem({
5982
5994
  text: "" + m,
5983
5995
  click: () => {
@@ -8103,32 +8115,23 @@ var DataProxy = class extends BaseComponent {
8103
8115
  constructor(props) {
8104
8116
  super(props);
8105
8117
  }
8106
- load(url) {
8118
+ async load(url) {
8107
8119
  if (url) {
8108
8120
  this.m_props.url = url;
8121
+ } else {
8122
+ url = this.m_props.url;
8109
8123
  }
8110
- this._refresh();
8111
- }
8112
- _refresh(delay = 0) {
8113
- const load = /* @__PURE__ */ __name(async () => {
8114
- let url = this.m_props.url;
8115
- if (this.m_props.params) {
8116
- url += "?" + this.m_props.params.join("&");
8117
- }
8118
- const r = await fetch(url);
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));
8124
+ if (this.m_props.params) {
8125
+ url += "?" + this.m_props.params.join("&");
8126
+ }
8127
+ const r = await fetch(url);
8128
+ if (r.ok) {
8129
+ const raw = await r.json();
8130
+ let json = raw;
8131
+ if (this.m_props.solver) {
8132
+ json = this.m_props.solver(json);
8126
8133
  }
8127
- }, "load");
8128
- if (delay) {
8129
- setTimeout(load, delay);
8130
- } else {
8131
- load();
8134
+ this.emit("change", EvChange(json, raw));
8132
8135
  }
8133
8136
  }
8134
8137
  };
@@ -8156,18 +8159,20 @@ var DataStore = class extends EventSource {
8156
8159
  this.setData(ev.value);
8157
8160
  } }
8158
8161
  });
8159
- this.m_proxy.load();
8162
+ if (props.autoload != false) {
8163
+ this.m_proxy.load();
8164
+ }
8160
8165
  }
8161
8166
  }
8162
8167
  /**
8163
8168
  *
8164
8169
  * @param records
8165
8170
  */
8166
- load(url) {
8167
- this.m_proxy.load(url);
8171
+ async load(url) {
8172
+ return this.m_proxy.load(url);
8168
8173
  }
8169
- reload() {
8170
- this.m_proxy.load();
8174
+ async reload() {
8175
+ return this.m_proxy.load();
8171
8176
  }
8172
8177
  /**
8173
8178
  * convert raw objects to real records from model
@@ -8621,7 +8626,6 @@ var DataView = class extends BaseComponent {
8621
8626
  *
8622
8627
  */
8623
8628
  forEach(cb) {
8624
- debugger;
8625
8629
  this.m_index.some((index) => {
8626
8630
  let rec = this.m_store.getByIndex(index);
8627
8631
  if (rec) {
@@ -14397,7 +14401,10 @@ var SideBarView = class extends CardView {
14397
14401
  this.m_sidebar.setContent(new VLayout({
14398
14402
  flex: 1,
14399
14403
  cls: "content",
14400
- content: tabs
14404
+ content: [
14405
+ this.m_props.logo,
14406
+ ...tabs
14407
+ ]
14401
14408
  }));
14402
14409
  this.setContent([
14403
14410
  this.m_sidebar,
@@ -14508,7 +14515,7 @@ var SVGItem = class {
14508
14515
  style(name, value) {
14509
14516
  if (value === void 0 || value === "" || value === void 0) {
14510
14517
  this.m_style.delete(name);
14511
- return;
14518
+ return this;
14512
14519
  }
14513
14520
  if (!_x4_unitless[name] && (isNumber(value) || reNumber2.test(value))) {
14514
14521
  value = value + "px";
@@ -14569,18 +14576,22 @@ var SVGItem = class {
14569
14576
  */
14570
14577
  transform(tr) {
14571
14578
  this.attr("transform", tr);
14579
+ return this;
14572
14580
  }
14573
14581
  /**
14574
14582
  *
14575
14583
  */
14576
14584
  rotate(deg, cx, cy) {
14577
14585
  this.transform(`rotate( ${deg} ${cx} ${cy} )`);
14586
+ return this;
14578
14587
  }
14579
14588
  translate(dx, dy) {
14580
14589
  this.transform(`translate( ${dx} ${dy} )`);
14590
+ return this;
14581
14591
  }
14582
14592
  scale(x) {
14583
14593
  this.transform(`scale( ${x} )`);
14594
+ return this;
14584
14595
  }
14585
14596
  };
14586
14597
  __name(SVGItem, "SVGItem");
@@ -14772,6 +14783,11 @@ var SVGGroup = class extends SVGItem {
14772
14783
  this.m_items.push(shape);
14773
14784
  return shape;
14774
14785
  }
14786
+ group() {
14787
+ const group = new SVGGroup();
14788
+ this.m_items.push(group);
14789
+ return group;
14790
+ }
14775
14791
  /**
14776
14792
  *
14777
14793
  * example
@@ -15688,7 +15704,7 @@ function setupWSMessaging(closeCB) {
15688
15704
  __name(setupWSMessaging, "setupWSMessaging");
15689
15705
 
15690
15706
  // src/version.ts
15691
- var x4js_version = "1.5.31";
15707
+ var x4js_version = "1.5.32";
15692
15708
  export {
15693
15709
  AbsLayout,
15694
15710
  Application,