x4js 1.4.2 → 1.4.5

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.
Files changed (63) hide show
  1. package/lib/application.js +10 -6
  2. package/lib/base64.js +5 -1
  3. package/lib/base_component.js +7 -3
  4. package/lib/button.js +24 -18
  5. package/lib/calendar.js +44 -39
  6. package/lib/canvas.js +9 -5
  7. package/lib/cardview.js +11 -7
  8. package/lib/checkbox.js +12 -8
  9. package/lib/color.js +7 -3
  10. package/lib/colorpicker.js +86 -80
  11. package/lib/combobox.js +26 -22
  12. package/lib/component.js +65 -48
  13. package/lib/datastore.js +29 -20
  14. package/lib/dialog.js +41 -36
  15. package/lib/dom_events.js +2 -1
  16. package/lib/drag_manager.js +4 -1
  17. package/lib/drawtext.js +9 -5
  18. package/lib/fileupload.js +19 -12
  19. package/lib/form.js +29 -25
  20. package/lib/formatters.js +19 -10
  21. package/lib/gridview.js +40 -35
  22. package/lib/hosts/host.js +7 -3
  23. package/lib/i18n.js +11 -5
  24. package/lib/icon.js +16 -11
  25. package/lib/image.js +7 -3
  26. package/lib/index.d.ts +55 -0
  27. package/lib/index.js +71 -1
  28. package/lib/input.js +6 -2
  29. package/lib/label.js +15 -11
  30. package/lib/layout.js +23 -13
  31. package/lib/link.js +9 -5
  32. package/lib/listview.js +34 -27
  33. package/lib/md5.js +5 -1
  34. package/lib/menu.js +27 -19
  35. package/lib/messagebox.js +22 -17
  36. package/lib/panel.js +13 -9
  37. package/lib/popup.js +25 -20
  38. package/lib/property_editor.js +20 -16
  39. package/lib/radiobtn.js +13 -9
  40. package/lib/rating.js +13 -9
  41. package/lib/request.js +16 -9
  42. package/lib/router.d.ts +1 -8
  43. package/lib/router.js +4 -0
  44. package/lib/settings.js +8 -4
  45. package/lib/sidebarview.js +12 -8
  46. package/lib/smartedit.js +16 -11
  47. package/lib/spreadsheet.js +35 -31
  48. package/lib/styles.js +15 -9
  49. package/lib/svgcomponent.js +8 -3
  50. package/lib/tabbar.js +10 -6
  51. package/lib/tabview.js +10 -6
  52. package/lib/textarea.js +10 -6
  53. package/lib/textedit.js +39 -35
  54. package/lib/texthiliter.js +8 -4
  55. package/lib/toaster.js +8 -4
  56. package/lib/tools.js +97 -51
  57. package/lib/tooltips.js +14 -9
  58. package/lib/treeview.js +30 -26
  59. package/lib/x4_events.js +21 -9
  60. package/package.json +2 -1
  61. package/src/index.ts +55 -0
  62. package/src/router.ts +1 -1
  63. package/tsconfig.json +2 -1
package/lib/popup.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * ___ ___ __
3
4
  * \ \_/ / / _
@@ -22,17 +23,20 @@
22
23
  *
23
24
  * You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
24
25
  **/
25
- import { Container, flyWrap, SizerOverlay, Component, EvSize } from './component';
26
- import { Size, getMousePos } from './tools';
27
- import { BasicEvent } from './x4_events';
28
- import { Application } from './application';
29
- export function EvMove(pos) {
30
- return BasicEvent({ pos });
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.Popup = exports.EvMove = void 0;
28
+ const component_1 = require("./component");
29
+ const tools_1 = require("./tools");
30
+ const x4_events_1 = require("./x4_events");
31
+ const application_1 = require("./application");
32
+ function EvMove(pos) {
33
+ return (0, x4_events_1.BasicEvent)({ pos });
31
34
  }
35
+ exports.EvMove = EvMove;
32
36
  /**
33
37
  * base class for all popup elements
34
38
  */
35
- export class Popup extends Container {
39
+ class Popup extends component_1.Container {
36
40
  m_ui_mask;
37
41
  m_hasMask = true;
38
42
  static modal_stack = [];
@@ -62,7 +66,7 @@ export class Popup extends Container {
62
66
  this.m_ui_mask = document.body.lastChild;
63
67
  while (this.m_ui_mask) {
64
68
  if (this.m_ui_mask.nodeType == 1) { // only element nodes
65
- let elUI = flyWrap(this.m_ui_mask);
69
+ let elUI = (0, component_1.flyWrap)(this.m_ui_mask);
66
70
  if (elUI.hasClass('@menu') || elUI.hasClass('@non-maskable')) {
67
71
  /* avoid circular dependencies instanceof Menu*/
68
72
  /* avoid nonmaskable elements tobe masked */
@@ -80,11 +84,11 @@ export class Popup extends Container {
80
84
  this.m_ui_mask = this.m_ui_mask.previousSibling;
81
85
  }
82
86
  if (this.m_ui_mask) {
83
- flyWrap(this.m_ui_mask).addClass('@mask');
87
+ (0, component_1.flyWrap)(this.m_ui_mask).addClass('@mask');
84
88
  }
85
89
  }
86
90
  if (modal) {
87
- Application.instance().enterModal(true);
91
+ application_1.Application.instance().enterModal(true);
88
92
  }
89
93
  // to avoid body growing because of appendChild
90
94
  this.setStyle({
@@ -174,8 +178,8 @@ export class Popup extends Container {
174
178
  close() {
175
179
  this.hide();
176
180
  if (this.m_hasMask && this.m_ui_mask) {
177
- flyWrap(this.m_ui_mask).removeClass('@mask');
178
- const app = Application.instance();
181
+ (0, component_1.flyWrap)(this.m_ui_mask).removeClass('@mask');
182
+ const app = application_1.Application.instance();
179
183
  app.enterModal(false);
180
184
  }
181
185
  let index = Popup.modal_stack.indexOf(this.dom);
@@ -189,7 +193,7 @@ export class Popup extends Container {
189
193
  this.addClass('@size-all');
190
194
  let els = ['top', 'right', 'bottom', 'left', 'topleft', 'topright', 'bottomleft', 'bottomright'];
191
195
  for (let sens of els) {
192
- new SizerOverlay({
196
+ new component_1.SizerOverlay({
193
197
  target: this,
194
198
  sens: sens,
195
199
  events: { rawresize: (e) => this._mouseResize(e) }
@@ -207,7 +211,7 @@ export class Popup extends Container {
207
211
  let ev = event.ui_event;
208
212
  let tm = st.parse('marginTop'), lm = st.parse('marginLeft'), rm = st.parse('marginRight'), bm = st.parse('marginBottom');
209
213
  let ix = 0, iy = 0;
210
- let mp = getMousePos(ev, true);
214
+ let mp = (0, tools_1.getMousePos)(ev, true);
211
215
  // horz
212
216
  switch (event.sens) {
213
217
  case 'topright':
@@ -240,7 +244,7 @@ export class Popup extends Container {
240
244
  irc.top -= tm;
241
245
  //console.log( 'capture' );
242
246
  let sens = event.sens;
243
- Component.setCapture(this, (ne) => {
247
+ component_1.Component.setCapture(this, (ne) => {
244
248
  //console.log( ne );
245
249
  let __move = (ex, ey) => {
246
250
  let left = irc.left, top = irc.top, width = irc.width, height = irc.height;
@@ -282,12 +286,12 @@ export class Popup extends Container {
282
286
  top -= dy;
283
287
  break;
284
288
  }
285
- let newsize = new Size(width, height);
289
+ let newsize = new tools_1.Size(width, height);
286
290
  this.setStyle({ left, top, width: newsize.width, height: newsize.height });
287
- this.emit('size', EvSize(newsize));
291
+ this.emit('size', (0, component_1.EvSize)(newsize));
288
292
  };
289
293
  if (ne.type == 'mouseup' || ne.type == 'touchend') {
290
- Component.releaseCapture();
294
+ component_1.Component.releaseCapture();
291
295
  }
292
296
  else if (ne.type == 'mousemove') {
293
297
  let me = ne;
@@ -300,6 +304,7 @@ export class Popup extends Container {
300
304
  });
301
305
  }
302
306
  }
307
+ exports.Popup = Popup;
303
308
  /**
304
309
  * handle tab key
305
310
  */
@@ -309,7 +314,7 @@ function x4handleKeyDown(e) {
309
314
  if (target.tagName == 'TEXTAREA') {
310
315
  return;
311
316
  }
312
- const el = Component.getElement(target);
317
+ const el = component_1.Component.getElement(target);
313
318
  if (el && (el.hasAttribute('wants-tab') || el.hasAttribute('wants-enter'))) {
314
319
  return;
315
320
  }
@@ -331,7 +336,7 @@ function _nextTab(root, el, prev) {
331
336
  if (!root.contains(focusEl)) {
332
337
  return;
333
338
  }
334
- let comp = Component.getElement(el);
339
+ let comp = component_1.Component.getElement(el);
335
340
  // get a list of elements with tab index, this way we should abble to
336
341
  // cycle on them (not on browser address nor under dialog elements)
337
342
  let tabbable = root.querySelectorAll('[tabindex]');
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * ___ ___ __
3
4
  * \ \_/ / / _
@@ -22,14 +23,16 @@
22
23
  *
23
24
  * You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
24
25
  **/
25
- import { Component } from './component';
26
- import { EvChange } from './x4_events';
27
- import { Input } from './input';
28
- import { TextEdit } from './textedit';
29
- import { CheckBox } from './checkbox';
30
- import { Spreadsheet } from './spreadsheet';
31
- import { _tr } from './i18n';
32
- export class PropertyEditor extends Component {
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.PropertyEditor = void 0;
28
+ const component_1 = require("./component");
29
+ const x4_events_1 = require("./x4_events");
30
+ const input_1 = require("./input");
31
+ const textedit_1 = require("./textedit");
32
+ const checkbox_1 = require("./checkbox");
33
+ const spreadsheet_1 = require("./spreadsheet");
34
+ const i18n_1 = require("./i18n");
35
+ class PropertyEditor extends component_1.Component {
33
36
  m_fields;
34
37
  m_record;
35
38
  m_sheet;
@@ -42,16 +45,16 @@ export class PropertyEditor extends Component {
42
45
  this.m_record = props.record;
43
46
  this.m_fields = props.fields ?? [];
44
47
  this.m_label_w = props.labelWidth;
45
- this.m_sheet = new Spreadsheet({
48
+ this.m_sheet = new spreadsheet_1.Spreadsheet({
46
49
  cls: '@fit',
47
50
  columns: [
48
51
  {
49
- title: _tr.global.property,
52
+ title: i18n_1._tr.global.property,
50
53
  width: this.m_label_w > 0 ? this.m_label_w : -1,
51
54
  cls: 'property'
52
55
  },
53
56
  {
54
- title: _tr.global.value,
57
+ title: i18n_1._tr.global.value,
55
58
  width: -1,
56
59
  createEditor: (...a) => this._editCell(...a),
57
60
  renderer: (...a) => this._renderCell(...a)
@@ -138,7 +141,7 @@ export class PropertyEditor extends Component {
138
141
  else {
139
142
  fld.value = text;
140
143
  }
141
- this.emit('change', EvChange(text, fld));
144
+ this.emit('change', (0, x4_events_1.EvChange)(text, fld));
142
145
  }
143
146
  _renderCell(text, rec) {
144
147
  let fld = this.m_fields[rec.row];
@@ -186,21 +189,21 @@ export class PropertyEditor extends Component {
186
189
  switch (fld.type) {
187
190
  default:
188
191
  case 'string': {
189
- editor = new TextEdit(props);
192
+ editor = new textedit_1.TextEdit(props);
190
193
  break;
191
194
  }
192
195
  case 'number': {
193
- editor = new TextEdit(props);
196
+ editor = new textedit_1.TextEdit(props);
194
197
  break;
195
198
  }
196
199
  case 'password': {
197
200
  props.type = 'password';
198
201
  props.value = this.m_record.getField(fld.id);
199
- editor = new Input(props);
202
+ editor = new input_1.Input(props);
200
203
  break;
201
204
  }
202
205
  case 'boolean': {
203
- editor = new CheckBox(props);
206
+ editor = new checkbox_1.CheckBox(props);
204
207
  break;
205
208
  }
206
209
  case 'choice': {
@@ -245,3 +248,4 @@ export class PropertyEditor extends Component {
245
248
  return choices;
246
249
  }
247
250
  }
251
+ exports.PropertyEditor = PropertyEditor;
package/lib/radiobtn.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * ___ ___ __
3
4
  * \ \_/ / / _
@@ -22,14 +23,16 @@
22
23
  *
23
24
  * You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
24
25
  **/
25
- import { Component } from './component';
26
- import { EvChange } from './x4_events';
27
- import { Input } from './input';
28
- import { Label } from './label';
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.RadioBtn = void 0;
28
+ const component_1 = require("./component");
29
+ const x4_events_1 = require("./x4_events");
30
+ const input_1 = require("./input");
31
+ const label_1 = require("./label");
29
32
  /**
30
33
  * Standard RadioBtn
31
34
  */
32
- export class RadioBtn extends Component {
35
+ class RadioBtn extends component_1.Component {
33
36
  m_ui_input; // todo: remove that / use ref
34
37
  constructor(props) {
35
38
  super(props);
@@ -52,7 +55,7 @@ export class RadioBtn extends Component {
52
55
  this.addClass('checked');
53
56
  }
54
57
  this.setContent([
55
- this.m_ui_input = new Input({
58
+ this.m_ui_input = new input_1.Input({
56
59
  type: 'radio',
57
60
  name: name,
58
61
  tabIndex: props.tabIndex,
@@ -65,7 +68,7 @@ export class RadioBtn extends Component {
65
68
  focus: () => this.m_ui_input.focus(),
66
69
  }
67
70
  }),
68
- new Label({
71
+ new label_1.Label({
69
72
  ref: 'label',
70
73
  icon: icon,
71
74
  text: text,
@@ -85,12 +88,12 @@ export class RadioBtn extends Component {
85
88
  let query = '.x-input[name=' + props.name + ']';
86
89
  let nlist = document.querySelectorAll(query); //todo: document ?
87
90
  nlist.forEach((dom) => {
88
- let radio = Component.getElement(dom, RadioBtn);
91
+ let radio = component_1.Component.getElement(dom, RadioBtn);
89
92
  radio.removeClass('checked');
90
93
  });
91
94
  let dom = this.m_ui_input.dom;
92
95
  this.setClass('checked', dom.checked);
93
- this.emit('change', EvChange(true));
96
+ this.emit('change', (0, x4_events_1.EvChange)(true));
94
97
  }
95
98
  /**
96
99
  * @return the checked value
@@ -129,3 +132,4 @@ export class RadioBtn extends Component {
129
132
  this.itemWithRef('label').text = text;
130
133
  }
131
134
  }
135
+ exports.RadioBtn = RadioBtn;
package/lib/rating.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * ___ ___ __
3
4
  * \ \_/ / / _
@@ -22,11 +23,13 @@
22
23
  *
23
24
  * You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
24
25
  **/
25
- import { Component } from './component';
26
- import { HLayout } from './layout';
27
- import { Input } from './input';
28
- import { EvChange } from './x4_events';
29
- export class Rating extends HLayout {
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.Rating = void 0;
28
+ const component_1 = require("./component");
29
+ const layout_1 = require("./layout");
30
+ const input_1 = require("./input");
31
+ const x4_events_1 = require("./x4_events");
32
+ class Rating extends layout_1.HLayout {
30
33
  m_els;
31
34
  m_input;
32
35
  constructor(props) {
@@ -36,7 +39,7 @@ export class Rating extends HLayout {
36
39
  render(props) {
37
40
  let shape = props.shape ?? 'star';
38
41
  let value = props.value ?? 0;
39
- this.m_input = new Input({
42
+ this.m_input = new input_1.Input({
40
43
  cls: '@hidden',
41
44
  name: props.name,
42
45
  value: '' + value
@@ -49,7 +52,7 @@ export class Rating extends HLayout {
49
52
  if (i + 1 <= value) {
50
53
  cls += ' checked';
51
54
  }
52
- let c = new Component({
55
+ let c = new component_1.Component({
53
56
  tag: 'option',
54
57
  cls,
55
58
  data: { value: i + 1 }
@@ -81,13 +84,14 @@ export class Rating extends HLayout {
81
84
  _onclick(ev) {
82
85
  let on = true;
83
86
  for (let el = this.dom.firstChild; el; el = el.nextSibling) {
84
- let comp = Component.getElement(el);
87
+ let comp = component_1.Component.getElement(el);
85
88
  comp.setClass('checked', on);
86
89
  if (el == ev.target) {
87
90
  this.m_input.value = comp.getData('value');
88
91
  on = false;
89
92
  }
90
93
  }
91
- this.emit('change', EvChange(this.m_props.value));
94
+ this.emit('change', (0, x4_events_1.EvChange)(this.m_props.value));
92
95
  }
93
96
  }
97
+ exports.Rating = Rating;
package/lib/request.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * ___ ___ __
3
4
  * \ \_/ / / _
@@ -22,6 +23,8 @@
22
23
  *
23
24
  * You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
24
25
  **/
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.ajax = exports.ajaxAsText = exports.ajaxAsJSON = exports.ajaxRequest = void 0;
25
28
  /**
26
29
  * TODO: use fetch api
27
30
  *
@@ -41,9 +44,9 @@ function dump( resp ) {
41
44
  getToto( dump );
42
45
 
43
46
  */
44
- import { isArray, isLiteralObject, isString, NetworkError } from './tools';
47
+ const tools_1 = require("./tools");
45
48
  const DEFAULT_TIMEOUT = 10000;
46
- export function ajaxRequest(cfg) {
49
+ function ajaxRequest(cfg) {
47
50
  let params, url = cfg.url, method = cfg.method || 'GET', formdata = false;
48
51
  if (cfg.params instanceof FormData) {
49
52
  params = cfg.params;
@@ -138,6 +141,7 @@ export function ajaxRequest(cfg) {
138
141
  xhr.abort();
139
142
  };
140
143
  }
144
+ exports.ajaxRequest = ajaxRequest;
141
145
  function buildQuery(params, getMethod) {
142
146
  if (!params) {
143
147
  return '';
@@ -146,7 +150,7 @@ function buildQuery(params, getMethod) {
146
150
  for (let key in params) {
147
151
  let param = params[key];
148
152
  // array
149
- if (isArray(param)) {
153
+ if ((0, tools_1.isArray)(param)) {
150
154
  for (let i = 0, n = param.length; i < n; i++) {
151
155
  query.push(encodeURIComponent(key) + '[]=' + encodeURIComponent('' + param[i]));
152
156
  }
@@ -167,18 +171,20 @@ function buildQuery(params, getMethod) {
167
171
  return result;
168
172
  }
169
173
  }
170
- export async function ajaxAsJSON(url, init) {
174
+ async function ajaxAsJSON(url, init) {
171
175
  let response = await ajax(url, init, 'application/json');
172
176
  return response.json();
173
177
  }
174
- export async function ajaxAsText(url, init) {
178
+ exports.ajaxAsJSON = ajaxAsJSON;
179
+ async function ajaxAsText(url, init) {
175
180
  let response = await ajax(url, init, 'text/plain');
176
181
  return response.text();
177
182
  }
183
+ exports.ajaxAsText = ajaxAsText;
178
184
  /**
179
185
  * use encodeURIComponent for elements in url
180
186
  */
181
- export async function ajax(url, init, type) {
187
+ async function ajax(url, init, type) {
182
188
  let options = {
183
189
  method: 'GET',
184
190
  headers: {
@@ -190,9 +196,9 @@ export async function ajax(url, init, type) {
190
196
  }
191
197
  if (init) {
192
198
  options = { ...options, ...init };
193
- if (init.body && !isString(init.body)) {
199
+ if (init.body && !(0, tools_1.isString)(init.body)) {
194
200
  let cvt = false;
195
- if (isLiteralObject(init.body)) {
201
+ if ((0, tools_1.isLiteralObject)(init.body)) {
196
202
  cvt = true;
197
203
  }
198
204
  else if (!(init.body instanceof Blob) && !(init.body instanceof ArrayBuffer) && !(init.body instanceof FormData) &&
@@ -213,8 +219,9 @@ export async function ajax(url, init, type) {
213
219
  }
214
220
  else {
215
221
  if (!response.ok) {
216
- throw new NetworkError(response);
222
+ throw new tools_1.NetworkError(response);
217
223
  }
218
224
  return response;
219
225
  }
220
226
  }
227
+ exports.ajax = ajax;
package/lib/router.d.ts CHANGED
@@ -1,11 +1,4 @@
1
- declare type Callback = (request: {
2
- path: string;
3
- }) => void;
4
- interface Route {
5
- uri: string;
6
- callback: Callback;
7
- }
8
- declare class Router {
1
+ export declare class Router {
9
2
  private routes;
10
3
  constructor();
11
4
  get(uri: any, callback: any): void;
package/lib/router.js CHANGED
@@ -1,3 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Router = void 0;
1
4
  class Router {
2
5
  routes;
3
6
  constructor() {
@@ -25,3 +28,4 @@ class Router {
25
28
  });
26
29
  }
27
30
  }
31
+ exports.Router = Router;
package/lib/settings.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * ___ ___ __
3
4
  * \ \_/ / / _
@@ -22,8 +23,10 @@
22
23
  *
23
24
  * You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
24
25
  **/
25
- import { host } from './hosts/host';
26
- export class Settings {
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.Settings = void 0;
28
+ const host_1 = require("./hosts/host");
29
+ class Settings {
27
30
  m_data;
28
31
  m_name;
29
32
  constructor(name) {
@@ -41,14 +44,14 @@ export class Settings {
41
44
  }
42
45
  _save() {
43
46
  let data = JSON.stringify(this.m_data);
44
- host.writeLocalStorage(this.m_name, data);
47
+ host_1.host.writeLocalStorage(this.m_name, data);
45
48
  }
46
49
  _load() {
47
50
  if (this.m_data) {
48
51
  return;
49
52
  }
50
53
  this.m_data = {};
51
- let data = host.readLocalStorage(this.m_name);
54
+ let data = host_1.host.readLocalStorage(this.m_name);
52
55
  if (data !== null) {
53
56
  data = JSON.parse(data);
54
57
  if (data) {
@@ -61,3 +64,4 @@ export class Settings {
61
64
  // console.info('There was an error attempting to read your settings.');
62
65
  }
63
66
  }
67
+ exports.Settings = Settings;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * ___ ___ __
3
4
  * \ \_/ / / _
@@ -22,23 +23,25 @@
22
23
  *
23
24
  * You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
24
25
  **/
25
- import { HLayout, VLayout } from './layout';
26
- import { Button } from './button';
27
- import { CardView } from './cardview';
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.SideBarView = void 0;
28
+ const layout_1 = require("./layout");
29
+ const button_1 = require("./button");
30
+ const cardview_1 = require("./cardview");
28
31
  /**
29
32
  *
30
33
  */
31
- export class SideBarView extends CardView {
34
+ class SideBarView extends cardview_1.CardView {
32
35
  m_sidebar;
33
36
  m_content;
34
37
  constructor(props) {
35
38
  super(props);
36
39
  this.addClass('@hlayout');
37
- this.m_sidebar = new VLayout({
40
+ this.m_sidebar = new layout_1.VLayout({
38
41
  cls: '@side-bar',
39
42
  sizable: props.bar_sizable ? 'right' : undefined,
40
43
  });
41
- this.m_content = new HLayout({ flex: 1, cls: '@tab-container' });
44
+ this.m_content = new layout_1.HLayout({ flex: 1, cls: '@tab-container' });
42
45
  }
43
46
  /** @ignore */
44
47
  render() {
@@ -46,7 +49,7 @@ export class SideBarView extends CardView {
46
49
  this.m_cards.forEach((p) => {
47
50
  tabs.push(p.selector);
48
51
  });
49
- this.m_sidebar.setContent(new VLayout({
52
+ this.m_sidebar.setContent(new layout_1.VLayout({
50
53
  flex: 1,
51
54
  cls: 'content',
52
55
  content: tabs
@@ -57,7 +60,7 @@ export class SideBarView extends CardView {
57
60
  ]);
58
61
  }
59
62
  _prepareSelector(card) {
60
- return new Button({
63
+ return new button_1.Button({
61
64
  text: card.title,
62
65
  icon: card.icon,
63
66
  tooltip: card.title,
@@ -71,3 +74,4 @@ export class SideBarView extends CardView {
71
74
  }
72
75
  }
73
76
  }
77
+ exports.SideBarView = SideBarView;
package/lib/smartedit.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * ___ ___ __
3
4
  * \ \_/ / / _
@@ -22,11 +23,13 @@
22
23
  *
23
24
  * You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
24
25
  **/
25
- import { TextEdit } from './textedit';
26
- import { Popup } from './popup';
27
- import { Component } from './component';
28
- import { EvClick } from './x4_events';
29
- export class SmartEdit extends TextEdit {
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.PopupTable = exports.SmartEdit = void 0;
28
+ const textedit_1 = require("./textedit");
29
+ const popup_1 = require("./popup");
30
+ const component_1 = require("./component");
31
+ const x4_events_1 = require("./x4_events");
32
+ class SmartEdit extends textedit_1.TextEdit {
30
33
  m_popup;
31
34
  m_dataview;
32
35
  m_field;
@@ -199,7 +202,7 @@ export class SmartEdit extends TextEdit {
199
202
  let { row, text } = ev.context;
200
203
  if (!this._callTool(row)) {
201
204
  this.value = text;
202
- this.emit('click', EvClick());
205
+ this.emit('click', (0, x4_events_1.EvClick)());
203
206
  }
204
207
  });
205
208
  let i;
@@ -239,7 +242,8 @@ export class SmartEdit extends TextEdit {
239
242
  }
240
243
  }
241
244
  }
242
- export class PopupTable extends Popup {
245
+ exports.SmartEdit = SmartEdit;
246
+ class PopupTable extends popup_1.Popup {
243
247
  m_rows;
244
248
  m_cols;
245
249
  m_cells;
@@ -262,11 +266,11 @@ export class PopupTable extends Popup {
262
266
  });
263
267
  this.setDomEvent('mousedown', (e) => {
264
268
  e.preventDefault();
265
- let el = Component.getElement(e.target);
269
+ let el = component_1.Component.getElement(e.target);
266
270
  let row = el.getData('row');
267
271
  this.m_sel = row;
268
272
  this.update();
269
- this.emit('click', EvClick({ row, text: this.getCell(row, 0).text }));
273
+ this.emit('click', (0, x4_events_1.EvClick)({ row, text: this.getCell(row, 0).text }));
270
274
  });
271
275
  }
272
276
  setRowData(row, data) {
@@ -303,7 +307,7 @@ export class PopupTable extends Popup {
303
307
  let data = { row: r };
304
308
  for (let c = 0; c < this.m_cols; c++) {
305
309
  let cell = this.getCell(r, c);
306
- let col = new Component({
310
+ let col = new component_1.Component({
307
311
  tag: 'td',
308
312
  content: cell.text,
309
313
  cls: cell.cls,
@@ -315,7 +319,7 @@ export class PopupTable extends Popup {
315
319
  if (r === this.m_sel) {
316
320
  cls = '@selected';
317
321
  }
318
- let row = new Component({
322
+ let row = new component_1.Component({
319
323
  tag: 'tr',
320
324
  cls,
321
325
  content: cols,
@@ -376,6 +380,7 @@ export class PopupTable extends Popup {
376
380
  return this.m_sel;
377
381
  }
378
382
  }
383
+ exports.PopupTable = PopupTable;
379
384
  function _cid(row, col) {
380
385
  return row * 1000 + col;
381
386
  }