@gisce/ooui 0.15.0 → 0.16.0

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.
@@ -1,8 +1,15 @@
1
1
  import ContainerWidget from "./ContainerWidget";
2
+ import Page from "./Page";
3
+ export declare type TabPosition = "top" | "bottom" | "left" | "right";
2
4
  declare class Notebook extends ContainerWidget {
3
5
  static _defaultColspan: number;
4
6
  static get defaultColspan(): number;
5
7
  static set defaultColspan(value: number);
8
+ _tabPosition: TabPosition;
9
+ get tabPosition(): TabPosition;
10
+ set tabPosition(value: TabPosition);
11
+ _pages: Page[];
12
+ get pages(): Page[];
6
13
  constructor(props: any);
7
14
  }
8
15
  export default Notebook;
package/dist/Notebook.js CHANGED
@@ -16,11 +16,16 @@ var Notebook = /** @class */ (function (_super) {
16
16
  __extends(Notebook, _super);
17
17
  function Notebook(props) {
18
18
  var _this = _super.call(this, props) || this;
19
+ _this._tabPosition = "top";
20
+ _this._pages = [];
19
21
  _this.colspan = Notebook._defaultColspan;
20
22
  if (props) {
21
23
  if (props.colspan) {
22
24
  _this.colspan = props.colspan;
23
25
  }
26
+ if (props.tabpos) {
27
+ _this._tabPosition = props.tabpos;
28
+ }
24
29
  }
25
30
  return _this;
26
31
  }
@@ -34,6 +39,23 @@ var Notebook = /** @class */ (function (_super) {
34
39
  enumerable: false,
35
40
  configurable: true
36
41
  });
42
+ Object.defineProperty(Notebook.prototype, "tabPosition", {
43
+ get: function () {
44
+ return this._tabPosition;
45
+ },
46
+ set: function (value) {
47
+ this._tabPosition = value;
48
+ },
49
+ enumerable: false,
50
+ configurable: true
51
+ });
52
+ Object.defineProperty(Notebook.prototype, "pages", {
53
+ get: function () {
54
+ return this._container.rows.map(function (r) { return r[0]; });
55
+ },
56
+ enumerable: false,
57
+ configurable: true
58
+ });
37
59
  Notebook._defaultColspan = 3;
38
60
  return Notebook;
39
61
  }(ContainerWidget));
@@ -1 +1 @@
1
- {"version":3,"file":"Notebook.js","sourceRoot":"","sources":["../src/Notebook.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD;IAAuB,4BAAe;IASpC,kBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAQb;QAPC,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC;QAExC,IAAI,KAAK,EAAE;YACT,IAAI,KAAK,CAAC,OAAO,EAAE;gBACjB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;aAC9B;SACF;;IACH,CAAC;IAhBD,sBAAW,0BAAc;aAAzB;YACE,OAAO,QAAQ,CAAC,eAAe,CAAC;QAClC,CAAC;aACD,UAA0B,KAAa;YACrC,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC;QACnC,CAAC;;;OAHA;IAHM,wBAAe,GAAW,CAAC,CAAC;IAkBrC,eAAC;CAAA,AAnBD,CAAuB,eAAe,GAmBrC;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Notebook.js","sourceRoot":"","sources":["../src/Notebook.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAKhD;IAAuB,4BAAe;IAsBpC,kBAAY,KAAU;QAAtB,YACE,kBAAM,KAAK,CAAC,SAWb;QAzBD,kBAAY,GAAgB,KAAK,CAAC;QAQlC,YAAM,GAAW,EAAE,CAAC;QAOlB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC;QAExC,IAAI,KAAK,EAAE;YACT,IAAI,KAAK,CAAC,OAAO,EAAE;gBACjB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;aAC9B;YACD,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;aAClC;SACF;;IACH,CAAC;IAhCD,sBAAW,0BAAc;aAAzB;YACE,OAAO,QAAQ,CAAC,eAAe,CAAC;QAClC,CAAC;aACD,UAA0B,KAAa;YACrC,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC;QACnC,CAAC;;;OAHA;IAMD,sBAAI,iCAAW;aAAf;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;aACD,UAAgB,KAAkB;YAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC;;;OAHA;IAMD,sBAAI,2BAAK;aAAT;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,CAAC,EAAJ,CAAI,CAAW,CAAC;QACvD,CAAC;;;OAAA;IAnBM,wBAAe,GAAW,CAAC,CAAC;IAkCrC,eAAC;CAAA,AAnCD,CAAuB,eAAe,GAmCrC;AAED,eAAe,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gisce/ooui",
3
- "version": "0.15.0",
3
+ "version": "0.16.0",
4
4
  "dependencies": {
5
5
  "moment": "^2.29.3"
6
6
  },
package/src/Notebook.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  import ContainerWidget from "./ContainerWidget";
2
+ import Page from "./Page";
3
+
4
+ export type TabPosition = "top" | "bottom" | "left" | "right";
2
5
 
3
6
  class Notebook extends ContainerWidget {
4
7
  static _defaultColspan: number = 3;
@@ -9,6 +12,19 @@ class Notebook extends ContainerWidget {
9
12
  Notebook._defaultColspan = value;
10
13
  }
11
14
 
15
+ _tabPosition: TabPosition = "top";
16
+ get tabPosition(): TabPosition {
17
+ return this._tabPosition;
18
+ }
19
+ set tabPosition(value: TabPosition) {
20
+ this._tabPosition = value;
21
+ }
22
+
23
+ _pages: Page[] = [];
24
+ get pages(): Page[] {
25
+ return this._container.rows.map(r => r[0]) as Page[];
26
+ }
27
+
12
28
  constructor(props: any) {
13
29
  super(props);
14
30
  this.colspan = Notebook._defaultColspan;
@@ -17,6 +33,9 @@ class Notebook extends ContainerWidget {
17
33
  if (props.colspan) {
18
34
  this.colspan = props.colspan;
19
35
  }
36
+ if (props.tabpos) {
37
+ this._tabPosition = props.tabpos;
38
+ }
20
39
  }
21
40
  }
22
41
  }
@@ -250,6 +250,10 @@ describe("A Form", () => {
250
250
  <page string="Page1" col="8">
251
251
  <field colspan="16" name="char1" />
252
252
  </page>
253
+ <page string="Page2">
254
+ </page>
255
+ <page string="Page3">
256
+ </page>
253
257
  </notebook>
254
258
  </form>`;
255
259
  const form = new Form(fields);
@@ -259,6 +263,7 @@ describe("A Form", () => {
259
263
  expect(notebook).toBeInstanceOf(Notebook);
260
264
  const page = notebook.container.rows[0][0] as Page;
261
265
  expect(page).toBeInstanceOf(Page);
266
+ expect(notebook.pages).toHaveLength(3);
262
267
  const labelField = page.container.rows[0][0];
263
268
  expect(labelField).toBeInstanceOf(Label);
264
269
  const charField = page.container.rows[0][1];
@@ -0,0 +1,25 @@
1
+ import WidgetFactory from "../WidgetFactory";
2
+
3
+ describe("A Notebook", () => {
4
+ it("should have tabs position default to top", () => {
5
+ const widgetFactory = new WidgetFactory();
6
+ const props = {
7
+ string: "Page 1",
8
+ };
9
+
10
+ const widget = widgetFactory.createWidget("notebook", props);
11
+ expect(widget.tabPosition).toBe("top")
12
+ });
13
+ it("should allow position to bottom, left, right", () => {
14
+ const widgetFactory = new WidgetFactory();
15
+ ["bottom", "left", "rigth"].map(pos => {
16
+ const props = {
17
+ string: "Page 1",
18
+ tabpos: pos
19
+ };
20
+
21
+ const widget = widgetFactory.createWidget("notebook", props);
22
+ expect(widget.tabPosition).toBe(pos)
23
+ })
24
+ });
25
+ });