@bit.rhplus/ui.grid 0.0.3 → 0.0.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.
package/ColumnBuilder.jsx CHANGED
@@ -1,51 +1,39 @@
1
- class ColumnBuilder {
2
- constructor() {
3
- this.columns = [];
4
- }
5
-
6
- addTextColumnWithObject({headerName, field, width}) {
7
- return this.addTextColumn(headerName, field, width);
8
- }
9
-
10
- addTextColumn(headerName, field, width = 150) {
11
- this.columns.push({ headerName, field, width });
12
- return this;
13
- }
1
+ import {prepareColDef} from './utils';
14
2
 
15
- addValueGetterColumn(headerName, valueGetter, width) {
16
- this.columns.push({headerName, valueGetter, width});
17
- return this;
3
+ class ColumnBuilder {
4
+ #addPreparedColumn(props) {
5
+ this.columns.push(prepareColDef(this.intl, props));
18
6
  }
19
7
 
20
- addNumberColumnWithObject({headerName, field, width}) {
21
- return this.addNumberColumn(headerName, field, width);
8
+ constructor(intl) {
9
+ this.columns = [];
10
+ this.intl = intl;
22
11
  }
23
12
 
24
- addNumberColumn(headerName, field, width = 150) {
25
- this.columns.push({ headerName, field, width });
13
+ addColumn(props) {
14
+ this.#addPreparedColumn(props);
26
15
  return this;
27
16
  }
28
17
 
29
- addDateColumnWithObject({headerName, field, width}) {
30
- return this.addDateColumn(headerName, field, width);
31
- }
32
-
33
- addDateColumn(headerName, field, width = 150) {
34
- this.columns.push({ headerName, field, width });
18
+ addDateColumn({dateFormat = "dd.MM.yyyy", ...restProps}) {
19
+ this.#addPreparedColumn({ dateRenderer: dateFormat, ...restProps });
35
20
  return this;
36
21
  }
37
22
 
38
- addObjectColumnWithObject({headerName, field, width, contentTooltip, tooltipField, tooltipInteraction, tooltipShowDelay}) {
39
- return this.addObjectColumn(headerName, field, width, contentTooltip, tooltipField, tooltipInteraction, tooltipShowDelay)
40
- }
41
-
42
- addObjectColumn(headerName, field, width = 150, contentTooltip, tooltipField, tooltipInteraction = true, tooltipShowDelay = 100) {
43
- this.columns.push({ headerName, field, width, contentTooltip, tooltipField, tooltipInteraction, tooltipShowDelay})
23
+ addObjectColumn({contentTooltip, tooltipField, tooltipInteraction, tooltipShowDelay = 100, ...restProps}) {
24
+ this.#addPreparedColumn({ contentTooltip, tooltipField, tooltipInteraction, tooltipShowDelay, ...restProps });
44
25
  return this;
45
26
  }
46
27
 
47
- addColumn(params) {
48
- this.columns.push(params);
28
+ addBooleanColumn({visibleFalse = true, visibleTrue = true, cellAlign, visibleGetter = () => true, ...restProps}) {
29
+ const booleanRendererParams = {
30
+ cellAlign,
31
+ visibleFalse,
32
+ visibleTrue,
33
+ visibleGetter
34
+ }
35
+ this.#addPreparedColumn({ booleanRenderer: true, booleanRendererParams, ...restProps });
36
+
49
37
  return this;
50
38
  }
51
39
 
@@ -1,35 +1,27 @@
1
1
  export default ColumnBuilder;
2
2
  declare class ColumnBuilder {
3
+ constructor(intl: any);
3
4
  columns: any[];
4
- addTextColumnWithObject({ headerName, field, width }: {
5
- headerName: any;
6
- field: any;
7
- width: any;
5
+ intl: any;
6
+ addColumn(props: any): this;
7
+ addDateColumn({ dateFormat, ...restProps }: {
8
+ [x: string]: any;
9
+ dateFormat?: string | undefined;
8
10
  }): this;
9
- addTextColumn(headerName: any, field: any, width?: number): this;
10
- addValueGetterColumn(headerName: any, valueGetter: any, width: any): this;
11
- addNumberColumnWithObject({ headerName, field, width }: {
12
- headerName: any;
13
- field: any;
14
- width: any;
15
- }): this;
16
- addNumberColumn(headerName: any, field: any, width?: number): this;
17
- addDateColumnWithObject({ headerName, field, width }: {
18
- headerName: any;
19
- field: any;
20
- width: any;
21
- }): this;
22
- addDateColumn(headerName: any, field: any, width?: number): this;
23
- addObjectColumnWithObject({ headerName, field, width, contentTooltip, tooltipField, tooltipInteraction, tooltipShowDelay }: {
24
- headerName: any;
25
- field: any;
26
- width: any;
11
+ addObjectColumn({ contentTooltip, tooltipField, tooltipInteraction, tooltipShowDelay, ...restProps }: {
12
+ [x: string]: any;
27
13
  contentTooltip: any;
28
14
  tooltipField: any;
29
15
  tooltipInteraction: any;
30
- tooltipShowDelay: any;
16
+ tooltipShowDelay?: number | undefined;
17
+ }): this;
18
+ addBooleanColumn({ visibleFalse, visibleTrue, cellAlign, visibleGetter, ...restProps }: {
19
+ [x: string]: any;
20
+ visibleFalse?: boolean | undefined;
21
+ visibleTrue?: boolean | undefined;
22
+ cellAlign: any;
23
+ visibleGetter?: (() => boolean) | undefined;
31
24
  }): this;
32
- addObjectColumn(headerName: any, field: any, width: number | undefined, contentTooltip: any, tooltipField: any, tooltipInteraction?: boolean, tooltipShowDelay?: number): this;
33
- addColumn(params: any): this;
34
25
  build(): any[];
26
+ #private;
35
27
  }
@@ -1,46 +1,44 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _ColumnBuilder_instances, _ColumnBuilder_addPreparedColumn;
7
+ import { prepareColDef } from './utils';
1
8
  class ColumnBuilder {
2
- constructor() {
9
+ constructor(intl) {
10
+ _ColumnBuilder_instances.add(this);
3
11
  this.columns = [];
12
+ this.intl = intl;
4
13
  }
5
- addTextColumnWithObject({ headerName, field, width }) {
6
- return this.addTextColumn(headerName, field, width);
7
- }
8
- addTextColumn(headerName, field, width = 150) {
9
- this.columns.push({ headerName, field, width });
10
- return this;
11
- }
12
- addValueGetterColumn(headerName, valueGetter, width) {
13
- this.columns.push({ headerName, valueGetter, width });
14
- return this;
15
- }
16
- addNumberColumnWithObject({ headerName, field, width }) {
17
- return this.addNumberColumn(headerName, field, width);
18
- }
19
- addNumberColumn(headerName, field, width = 150) {
20
- this.columns.push({ headerName, field, width });
14
+ addColumn(props) {
15
+ __classPrivateFieldGet(this, _ColumnBuilder_instances, "m", _ColumnBuilder_addPreparedColumn).call(this, props);
21
16
  return this;
22
17
  }
23
- addDateColumnWithObject({ headerName, field, width }) {
24
- return this.addDateColumn(headerName, field, width);
25
- }
26
- addDateColumn(headerName, field, width = 150) {
27
- this.columns.push({ headerName, field, width });
18
+ addDateColumn({ dateFormat = "dd.MM.yyyy", ...restProps }) {
19
+ __classPrivateFieldGet(this, _ColumnBuilder_instances, "m", _ColumnBuilder_addPreparedColumn).call(this, { dateRenderer: dateFormat, ...restProps });
28
20
  return this;
29
21
  }
30
- addObjectColumnWithObject({ headerName, field, width, contentTooltip, tooltipField, tooltipInteraction, tooltipShowDelay }) {
31
- return this.addObjectColumn(headerName, field, width, contentTooltip, tooltipField, tooltipInteraction, tooltipShowDelay);
32
- }
33
- addObjectColumn(headerName, field, width = 150, contentTooltip, tooltipField, tooltipInteraction = true, tooltipShowDelay = 100) {
34
- this.columns.push({ headerName, field, width, contentTooltip, tooltipField, tooltipInteraction, tooltipShowDelay });
22
+ addObjectColumn({ contentTooltip, tooltipField, tooltipInteraction, tooltipShowDelay = 100, ...restProps }) {
23
+ __classPrivateFieldGet(this, _ColumnBuilder_instances, "m", _ColumnBuilder_addPreparedColumn).call(this, { contentTooltip, tooltipField, tooltipInteraction, tooltipShowDelay, ...restProps });
35
24
  return this;
36
25
  }
37
- addColumn(params) {
38
- this.columns.push(params);
26
+ addBooleanColumn({ visibleFalse = true, visibleTrue = true, cellAlign, visibleGetter = () => true, ...restProps }) {
27
+ const booleanRendererParams = {
28
+ cellAlign,
29
+ visibleFalse,
30
+ visibleTrue,
31
+ visibleGetter
32
+ };
33
+ __classPrivateFieldGet(this, _ColumnBuilder_instances, "m", _ColumnBuilder_addPreparedColumn).call(this, { booleanRenderer: true, booleanRendererParams, ...restProps });
39
34
  return this;
40
35
  }
41
36
  build() {
42
37
  return this.columns;
43
38
  }
44
39
  }
40
+ _ColumnBuilder_instances = new WeakSet(), _ColumnBuilder_addPreparedColumn = function _ColumnBuilder_addPreparedColumn(props) {
41
+ this.columns.push(prepareColDef(this.intl, props));
42
+ };
45
43
  export default ColumnBuilder;
46
44
  //# sourceMappingURL=ColumnBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnBuilder.js","sourceRoot":"","sources":["../ColumnBuilder.jsx"],"names":[],"mappings":"AAAA,MAAM,aAAa;IACjB;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,uBAAuB,CAAC,EAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAC;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG;QAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK;QACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,WAAW,EAAE,KAAK,EAAC,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAyB,CAAC,EAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAC;QAClD,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,eAAe,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB,CAAC,EAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAC;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG;QAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAyB,CAAC,EAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAC;QACtH,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAA;IAC3H,CAAC;IAED,eAAe,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,GAAG,IAAI,EAAE,gBAAgB,GAAG,GAAG;QAC7H,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAC,CAAC,CAAA;QAClH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,MAAM;QACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ColumnBuilder.js","sourceRoot":"","sources":["../ColumnBuilder.jsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAEtC,MAAM,aAAa;IAKjB,YAAY,IAAI;;QACd,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,SAAS,CAAC,KAAK;QACb,uBAAA,IAAI,kEAAmB,MAAvB,IAAI,EAAoB,KAAK,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,EAAC,UAAU,GAAG,YAAY,EAAE,GAAG,SAAS,EAAC;QACrD,uBAAA,IAAI,kEAAmB,MAAvB,IAAI,EAAoB,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,EAAC,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,GAAG,GAAG,EAAE,GAAG,SAAS,EAAC;QACtG,uBAAA,IAAI,kEAAmB,MAAvB,IAAI,EAAoB,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QAC9G,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,EAAC,YAAY,GAAG,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,SAAS,EAAE,aAAa,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,SAAS,EAAC;QAC7G,MAAM,qBAAqB,GAAG;YAC5B,SAAS;YACT,YAAY;YACZ,WAAW;YACX,aAAa;SACd,CAAA;QACD,uBAAA,IAAI,kEAAmB,MAAvB,IAAI,EAAoB,EAAE,eAAe,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QAExF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;uHAvCoB,KAAK;IACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACrD,CAAC;AAuCH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ export function prepareColDef(intl: any, { cellAlign, intlId, headerName, ...restColDef }: {
2
+ [x: string]: any;
3
+ cellAlign: any;
4
+ intlId: any;
5
+ headerName: any;
6
+ }): {
7
+ headerName: any;
8
+ cellStyle?: {} | undefined;
9
+ };
package/dist/utils.js ADDED
@@ -0,0 +1,26 @@
1
+ export const prepareColDef = (intl, { cellAlign, intlId, headerName, ...restColDef }) => {
2
+ let cellStyle = {};
3
+ switch (cellAlign) {
4
+ case "left":
5
+ cellStyle = { textAlign: "left" };
6
+ break;
7
+ case "center":
8
+ cellStyle = { textAlign: "center" };
9
+ break;
10
+ case "right":
11
+ cellStyle = { textAlign: "right" };
12
+ break;
13
+ default:
14
+ break;
15
+ }
16
+ let intlName = null;
17
+ if (intl && !headerName && intlId) {
18
+ intlName = intl.formatMessage({ id: intlId });
19
+ }
20
+ return {
21
+ ...restColDef,
22
+ ...(Object.keys(cellStyle).length > 0 && { cellStyle }),
23
+ headerName: headerName || intlName,
24
+ };
25
+ };
26
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../utils.js"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACtF,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,SAAS,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YAClC,MAAM;QACR,KAAK,QAAQ;YACX,SAAS,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;YACpC,MAAM;QACR,KAAK,OAAO;YACV,SAAS,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YACnC,MAAM;QACR;YACE,MAAM;IACV,CAAC;IAED,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE,CAAC;QAClC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,EAAC,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO;QACL,GAAG,UAAU;QACb,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;QACvD,UAAU,EAAE,UAAU,IAAI,QAAQ;KACnC,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@bit.rhplus/ui.grid",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "homepage": "https://bit.cloud/remote-scope/ui/grid",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "remote-scope",
8
8
  "name": "ui/grid",
9
- "version": "0.0.3"
9
+ "version": "0.0.5"
10
10
  },
11
11
  "dependencies": {
12
12
  "classnames": "^2.5.1",
13
- "@bit.rhplus/ag-grid": "0.0.12"
13
+ "@bit.rhplus/ag-grid": "0.0.13"
14
14
  },
15
15
  "devDependencies": {
16
16
  "@teambit/react.react-env": "1.0.98"
package/utils.js ADDED
@@ -0,0 +1,29 @@
1
+
2
+ export const prepareColDef = (intl, { cellAlign, intlId, headerName, ...restColDef }) => {
3
+ let cellStyle = {};
4
+
5
+ switch (cellAlign) {
6
+ case "left":
7
+ cellStyle = { textAlign: "left" };
8
+ break;
9
+ case "center":
10
+ cellStyle = { textAlign: "center" };
11
+ break;
12
+ case "right":
13
+ cellStyle = { textAlign: "right" };
14
+ break;
15
+ default:
16
+ break;
17
+ }
18
+
19
+ let intlName = null;
20
+ if (intl && !headerName && intlId) {
21
+ intlName = intl.formatMessage({ id: intlId})
22
+ }
23
+
24
+ return {
25
+ ...restColDef,
26
+ ...(Object.keys(cellStyle).length > 0 && { cellStyle }),
27
+ headerName: headerName || intlName,
28
+ };
29
+ };