@idevs/corelib 0.0.97 → 1.0.1

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 (119) hide show
  1. package/CHANGELOG.md +743 -0
  2. package/README.md +221 -24
  3. package/dist/editors/checkboxButtonEditor.d.ts +3 -1
  4. package/dist/editors/checkboxButtonEditor.d.ts.map +1 -0
  5. package/dist/editors/checkboxButtonEditor.js +28 -18
  6. package/dist/editors/checkboxButtonEditor.js.map +1 -1
  7. package/dist/editors/dateMonthEditor.d.ts +3 -1
  8. package/dist/editors/dateMonthEditor.d.ts.map +1 -0
  9. package/dist/editors/dateMonthEditor.js +14 -7
  10. package/dist/editors/dateMonthEditor.js.map +1 -1
  11. package/dist/editors/index.d.ts +2 -1
  12. package/dist/editors/index.d.ts.map +1 -0
  13. package/dist/editors/index.js +18 -2
  14. package/dist/editors/index.js.map +1 -1
  15. package/dist/formatters/formatters.d.ts +2 -1
  16. package/dist/formatters/formatters.d.ts.map +1 -0
  17. package/dist/formatters/formatters.js +35 -23
  18. package/dist/formatters/formatters.js.map +1 -1
  19. package/dist/formatters/index.d.ts +2 -1
  20. package/dist/formatters/index.d.ts.map +1 -0
  21. package/dist/formatters/index.js +17 -1
  22. package/dist/formatters/index.js.map +1 -1
  23. package/dist/globals/index.d.ts +17 -10
  24. package/dist/globals/index.d.ts.map +1 -0
  25. package/dist/globals/index.js +65 -105
  26. package/dist/globals/index.js.map +1 -1
  27. package/dist/helpers/custom-fonts.d.ts +2 -1
  28. package/dist/helpers/custom-fonts.d.ts.map +1 -0
  29. package/dist/helpers/custom-fonts.js +4 -1
  30. package/dist/helpers/custom-fonts.js.map +1 -1
  31. package/dist/helpers/dialogHelper.d.ts +6 -9
  32. package/dist/helpers/dialogHelper.d.ts.map +1 -0
  33. package/dist/helpers/dialogHelper.js +17 -10
  34. package/dist/helpers/dialogHelper.js.map +1 -1
  35. package/dist/helpers/excelExportHelper.d.ts +2 -1
  36. package/dist/helpers/excelExportHelper.d.ts.map +1 -0
  37. package/dist/helpers/excelExportHelper.js +7 -4
  38. package/dist/helpers/excelExportHelper.js.map +1 -1
  39. package/dist/helpers/gridHelper.d.ts +2 -1
  40. package/dist/helpers/gridHelper.d.ts.map +1 -0
  41. package/dist/helpers/gridHelper.js +14 -9
  42. package/dist/helpers/gridHelper.js.map +1 -1
  43. package/dist/helpers/index.d.ts +2 -1
  44. package/dist/helpers/index.d.ts.map +1 -0
  45. package/dist/helpers/index.js +20 -4
  46. package/dist/helpers/index.js.map +1 -1
  47. package/dist/helpers/pdfExportHelper.d.ts +2 -1
  48. package/dist/helpers/pdfExportHelper.d.ts.map +1 -0
  49. package/dist/helpers/pdfExportHelper.js +83 -17
  50. package/dist/helpers/pdfExportHelper.js.map +1 -1
  51. package/dist/index.d.ts +5 -2
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +26 -5
  54. package/dist/index.js.map +1 -1
  55. package/dist/types/common.d.ts +12 -0
  56. package/dist/types/common.d.ts.map +1 -0
  57. package/dist/types/common.js +3 -0
  58. package/dist/types/common.js.map +1 -0
  59. package/dist/types/export.d.ts +50 -0
  60. package/dist/types/export.d.ts.map +1 -0
  61. package/dist/types/export.js +24 -0
  62. package/dist/types/export.js.map +1 -0
  63. package/dist/types/index.d.ts +3 -0
  64. package/dist/types/index.d.ts.map +1 -0
  65. package/dist/types/index.js +19 -0
  66. package/dist/types/index.js.map +1 -0
  67. package/dist/ui/DropdownToolButton.d.ts +2 -1
  68. package/dist/ui/DropdownToolButton.d.ts.map +1 -0
  69. package/dist/ui/DropdownToolButton.js +15 -11
  70. package/dist/ui/DropdownToolButton.js.map +1 -1
  71. package/dist/ui/ToggleToolButton.d.ts +2 -1
  72. package/dist/ui/ToggleToolButton.d.ts.map +1 -0
  73. package/dist/ui/ToggleToolButton.js +7 -3
  74. package/dist/ui/ToggleToolButton.js.map +1 -1
  75. package/dist/ui/index.d.ts +2 -1
  76. package/dist/ui/index.d.ts.map +1 -0
  77. package/dist/ui/index.js +18 -2
  78. package/dist/ui/index.js.map +1 -1
  79. package/dist/utils/date.d.ts +16 -0
  80. package/dist/utils/date.d.ts.map +1 -0
  81. package/dist/utils/date.js +85 -0
  82. package/dist/utils/date.js.map +1 -0
  83. package/dist/utils/dom.d.ts +13 -0
  84. package/dist/utils/dom.d.ts.map +1 -0
  85. package/dist/utils/dom.js +78 -0
  86. package/dist/utils/dom.js.map +1 -0
  87. package/dist/utils/format.d.ts +22 -0
  88. package/dist/utils/format.d.ts.map +1 -0
  89. package/dist/utils/format.js +100 -0
  90. package/dist/utils/format.js.map +1 -0
  91. package/dist/utils/index.d.ts +4 -0
  92. package/dist/utils/index.d.ts.map +1 -0
  93. package/dist/utils/index.js +20 -0
  94. package/dist/utils/index.js.map +1 -0
  95. package/package.json +48 -29
  96. package/dist/ui/ToolDropdownButton.d.ts +0 -49
  97. package/dist/ui/ToolDropdownButton.js +0 -230
  98. package/dist/ui/ToolDropdownButton.js.map +0 -1
  99. package/src/editors/checkboxButtonEditor.ts +0 -184
  100. package/src/editors/dateMonthEditor.ts +0 -47
  101. package/src/editors/index.ts +0 -2
  102. package/src/formatters/formatters.ts +0 -185
  103. package/src/formatters/index.ts +0 -1
  104. package/src/globals/index.ts +0 -385
  105. package/src/helpers/custom-fonts.d.ts +0 -5
  106. package/src/helpers/custom-fonts.ts +0 -18
  107. package/src/helpers/dialogHelper.ts +0 -143
  108. package/src/helpers/excelExportHelper.ts +0 -29
  109. package/src/helpers/gridHelper.ts +0 -107
  110. package/src/helpers/html2pdf.d.ts +0 -19
  111. package/src/helpers/index.ts +0 -4
  112. package/src/helpers/pdfExportHelper.ts +0 -179
  113. package/src/index.ts +0 -5
  114. package/src/tsconfig.json +0 -29
  115. package/src/ui/DropdownToolButton.ts +0 -305
  116. package/src/ui/ToggleToolButton.ts +0 -71
  117. package/src/ui/index.ts +0 -2
  118. /package/{css → dist/css}/idevs.dropdown.css +0 -0
  119. /package/{css → dist/css}/idevs.print.css +0 -0
@@ -0,0 +1,50 @@
1
+ import { DataGrid, ListRequest, ServiceResponse, ToolButton } from '@serenity-is/corelib';
2
+ export declare enum PageSizes {
3
+ A4 = 0,
4
+ A3 = 1
5
+ }
6
+ export declare enum PageOrientations {
7
+ Portrait = 0,
8
+ Landscape = 1
9
+ }
10
+ export type PageSize = {
11
+ Size: PageSizes;
12
+ Orientation: PageOrientations;
13
+ };
14
+ export type PageMargin = {
15
+ MarginLeft: string;
16
+ MarginTop: string;
17
+ MarginRight: string;
18
+ MarginBottom: string;
19
+ };
20
+ export type IdevsExportRequest = ListRequest & {
21
+ viewName?: string;
22
+ companyName?: string;
23
+ reportName?: string;
24
+ selectionRange?: string;
25
+ conditionRange?: string;
26
+ logo?: string;
27
+ pageSize?: PageSize;
28
+ margin?: PageMargin;
29
+ entity?: unknown;
30
+ render?: boolean;
31
+ openPrintDialog?: boolean;
32
+ };
33
+ export type IdevsExportOptions = IdevsExportRequest & {
34
+ grid: DataGrid<any, any>;
35
+ service: string;
36
+ };
37
+ export type ExportOptions = IdevsExportOptions & {
38
+ title?: string;
39
+ hint?: string;
40
+ separator?: boolean;
41
+ exportType: 'PDF' | 'XLSX';
42
+ onClick?: (e: any) => void;
43
+ };
44
+ export type IdevsContentResponse = ServiceResponse & {
45
+ Content: string;
46
+ ContentType: string;
47
+ FileName?: string;
48
+ };
49
+ export declare function createExportToolButton(options: ExportOptions): ToolButton;
50
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/types/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEzF,oBAAY,SAAS;IACnB,EAAE,IAAI;IACN,EAAE,IAAI;CACP;AAED,oBAAY,gBAAgB;IAC1B,QAAQ,IAAI;IACZ,SAAS,IAAI;CACd;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,SAAS,CAAA;IACf,WAAW,EAAE,gBAAgB,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG;IAEpD,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,KAAK,GAAG,MAAM,CAAA;IAE1B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG;IACnD,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,CAQzE"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PageOrientations = exports.PageSizes = void 0;
4
+ exports.createExportToolButton = createExportToolButton;
5
+ var PageSizes;
6
+ (function (PageSizes) {
7
+ PageSizes[PageSizes["A4"] = 0] = "A4";
8
+ PageSizes[PageSizes["A3"] = 1] = "A3";
9
+ })(PageSizes || (exports.PageSizes = PageSizes = {}));
10
+ var PageOrientations;
11
+ (function (PageOrientations) {
12
+ PageOrientations[PageOrientations["Portrait"] = 0] = "Portrait";
13
+ PageOrientations[PageOrientations["Landscape"] = 1] = "Landscape";
14
+ })(PageOrientations || (exports.PageOrientations = PageOrientations = {}));
15
+ function createExportToolButton(options) {
16
+ return {
17
+ hint: options.hint ?? options.exportType,
18
+ title: options.title ?? '',
19
+ cssClass: `export-${options.exportType.toLowerCase()}-button`,
20
+ onClick: options.onClick,
21
+ separator: options.separator,
22
+ };
23
+ }
24
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/types/export.ts"],"names":[],"mappings":";;;AA2DA,wDAQC;AAjED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,qCAAM,CAAA;IACN,qCAAM,CAAA;AACR,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAED,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,+DAAY,CAAA;IACZ,iEAAa,CAAA;AACf,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAiDD,SAAgB,sBAAsB,CAAC,OAAsB;IAC3D,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU;QACxC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,QAAQ,EAAE,UAAU,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS;QAC7D,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './common';
2
+ export * from './export';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./common"), exports);
18
+ __exportStar(require("./export"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,2CAAwB"}
@@ -1,4 +1,4 @@
1
- export type DropdownToolButtonOptions = {
1
+ export type DropdownToolButtonOptions = {
2
2
  title?: string;
3
3
  cssClass?: string;
4
4
  icon?: string;
@@ -46,3 +46,4 @@ export declare class DropdownToolButton {
46
46
  removeSideButtonItem(key: string): void;
47
47
  addSideButtonItem(button: ToolDropdownSideButtonItem, idx?: number): void;
48
48
  }
49
+ //# sourceMappingURL=DropdownToolButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownToolButton.d.ts","sourceRoot":"","sources":["../../src/ui/DropdownToolButton.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,qBAAa,kBAAkB;IACtB,OAAO,EAAE,MAAM,CAAO;IAC7B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,kBAAkB,CAA2C;IACrE,OAAO,CAAC,OAAO,CAA2B;gBAGxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,sBAAsB,EAAE,EACjC,GAAG,CAAC,EAAE,yBAAyB;IAUjC,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,iBAAiB;IAyBlB,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,EAAE;IAQlD,eAAe,CAAC,MAAM,EAAE,sBAAsB,EAAE,GAAG,CAAC,EAAE,MAAM;IAqE5D,cAAc,CAAC,MAAM,EAAE,OAAO;IA8B9B,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAiBpD,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAiBlD,kBAAkB,CAAC,GAAG,EAAE,MAAM;IAK9B,oBAAoB,CAAC,GAAG,EAAE,MAAM;IAKhC,iBAAiB,CAAC,MAAM,EAAE,0BAA0B,EAAE,GAAG,CAAC,EAAE,MAAM;CA0D1E"}
@@ -1,5 +1,8 @@
1
- import { first, isEmptyOrNull, tryFirst } from '@serenity-is/corelib';
2
- export class DropdownToolButton {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DropdownToolButton = void 0;
4
+ const corelib_1 = require("@serenity-is/corelib");
5
+ class DropdownToolButton {
3
6
  constructor(container, buttons, opt) {
4
7
  this.element = null;
5
8
  this.isDisabled = false;
@@ -11,14 +14,14 @@ export class DropdownToolButton {
11
14
  container.append(this.element);
12
15
  }
13
16
  getDisablingStateItem(key) {
14
- if (tryFirst(this.itemDisablingState, x => x.key == key) != null) {
15
- return first(this.itemDisablingState, x => x.key == key).disabled || false;
17
+ if ((0, corelib_1.tryFirst)(this.itemDisablingState, x => x.key == key) != null) {
18
+ return (0, corelib_1.first)(this.itemDisablingState, x => x.key == key).disabled || false;
16
19
  }
17
20
  return false;
18
21
  }
19
22
  setDisablingStateItem(key, value) {
20
- if (tryFirst(this.itemDisablingState, x => x.key == key) != null) {
21
- first(this.itemDisablingState, x => x.key == key).disabled = value || false;
23
+ if ((0, corelib_1.tryFirst)(this.itemDisablingState, x => x.key == key) != null) {
24
+ (0, corelib_1.first)(this.itemDisablingState, x => x.key == key).disabled = value || false;
22
25
  return;
23
26
  }
24
27
  this.itemDisablingState.push({ key: key, disabled: value || false });
@@ -56,7 +59,7 @@ export class DropdownToolButton {
56
59
  }
57
60
  }
58
61
  addDropdownItem(button, idx) {
59
- if (!isEmptyOrNull(button.key)) {
62
+ if (!(0, corelib_1.isEmptyOrNull)(button.key)) {
60
63
  if (this.itemDisablingState.map(x => x.key).indexOf(button.key) > -1) {
61
64
  alert(`Dropdown has existed key: ${button.key}`);
62
65
  return;
@@ -64,7 +67,7 @@ export class DropdownToolButton {
64
67
  this.setDisablingStateItem(button.key, button.disabled || false);
65
68
  }
66
69
  let dropdownItemElement;
67
- if (button.isDropdownHeader && !isEmptyOrNull(button.dropdownHeaderTitle)) {
70
+ if (button.isDropdownHeader && !(0, corelib_1.isEmptyOrNull)(button.dropdownHeaderTitle)) {
68
71
  dropdownItemElement = $(`<li class="dropdown-header ${button.cssClass ?? ''}">${button.dropdownHeaderTitle}</li>`);
69
72
  }
70
73
  else {
@@ -86,7 +89,7 @@ export class DropdownToolButton {
86
89
  return;
87
90
  }
88
91
  let buttonIsDisabled = button.disabled;
89
- if (!isEmptyOrNull(button.key)) {
92
+ if (!(0, corelib_1.isEmptyOrNull)(button.key)) {
90
93
  buttonIsDisabled = this.getDisablingStateItem(button.key);
91
94
  }
92
95
  if (buttonIsDisabled) {
@@ -180,7 +183,7 @@ export class DropdownToolButton {
180
183
  this.removeDisablingStateItem(key);
181
184
  }
182
185
  addSideButtonItem(button, idx) {
183
- if (!isEmptyOrNull(button.key)) {
186
+ if (!(0, corelib_1.isEmptyOrNull)(button.key)) {
184
187
  if (this.itemDisablingState.map(x => x.key).indexOf(button.key) > -1) {
185
188
  alert(`Dropdown has existed key: ${button.key}`);
186
189
  return;
@@ -200,7 +203,7 @@ export class DropdownToolButton {
200
203
  sideButton.on('click', (e) => {
201
204
  e.preventDefault();
202
205
  let buttonIsDisabled = button.disabled;
203
- if (!isEmptyOrNull(button.key)) {
206
+ if (!(0, corelib_1.isEmptyOrNull)(button.key)) {
204
207
  buttonIsDisabled = this.getDisablingStateItem(button.key);
205
208
  }
206
209
  if (buttonIsDisabled) {
@@ -223,4 +226,5 @@ export class DropdownToolButton {
223
226
  this.element.find(`div.tool-button:nth-child(${idx})`).after(sideButton);
224
227
  }
225
228
  }
229
+ exports.DropdownToolButton = DropdownToolButton;
226
230
  //# sourceMappingURL=DropdownToolButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownToolButton.js","sourceRoot":"","sources":["../../src/ui/DropdownToolButton.ts"],"names":[],"mappings":"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","sourcesContent":["import { first, isEmptyOrNull, tryFirst } from '@serenity-is/corelib'\n\nexport type DropdownToolButtonOptions = {\n title?: string\n cssClass?: string\n icon?: string\n disabled?: boolean\n dropdownMenuPosition?: 'right'\n isDropUp?: boolean\n}\n\nexport type DropdownToolButtonItem = {\n key: string\n title?: string\n hint?: string\n cssClass?: string\n icon?: string\n onClick?: (e: Event) => void\n isSeparator?: boolean\n disabled?: boolean\n isDropdownHeader?: boolean\n dropdownHeaderTitle?: string\n}\n\nexport type ToolDropdownSideButtonItem = {\n key: string\n title?: string\n hint?: string\n cssClass?: string\n icon?: string\n onClick?: (e: Event) => void\n disabled?: boolean\n}\n\nexport class DropdownToolButton {\n public element: JQuery = null\n private isDisabled = false\n private itemDisablingState: { key: string; disabled: boolean }[] = []\n private options: DropdownToolButtonOptions\n\n public constructor(container: JQuery, buttons: DropdownToolButtonItem[], opt?: DropdownToolButtonOptions) {\n this.options = opt || {}\n this.isDisabled = this.options.disabled || false\n this.element = this.buildBaseDropdown()\n this.addDropdownItems(buttons)\n\n container.append(this.element)\n }\n\n private getDisablingStateItem(key: string): boolean {\n if (tryFirst(this.itemDisablingState, x => x.key == key) != null) {\n return first(this.itemDisablingState, x => x.key == key).disabled || false\n }\n\n return false\n }\n\n private setDisablingStateItem(key: string, value: boolean) {\n if (tryFirst(this.itemDisablingState, x => x.key == key) != null) {\n first(this.itemDisablingState, x => x.key == key).disabled = value || false\n return\n }\n\n this.itemDisablingState.push({ key: key, disabled: value || false })\n }\n\n private removeDisablingStateItem(key: string) {\n this.itemDisablingState.some((item, idx) => {\n if (item.key == key) {\n this.itemDisablingState.splice(idx, 1)\n\n return true\n }\n })\n }\n\n private buildBaseDropdown(): JQuery {\n const dropdownTemplate = `<div class=\"buttons-inner dropdown\" style=\"overflow: visible\">\n <div class=\"idevs-tool-dropdown-button tool-button icon-tool-button ${this.options.cssClass ?? ''} ${\n this.options.isDropUp ? 'dropup' : ''\n } ${this.isDisabled ? 'disabled' : ''}\" style=\"cursor: unset;\">\n <div class=\"button-outer dropdown-toggle ${this.isDisabled ? 'disabled' : ''}\"\n data-bs-toggle=\"dropdown\"\n style=\"cursor: pointer;\">\n <span class=\"button-inner\">\n <i class=\"${this.options.icon}\"></i>\n ${this.options.title ?? ''}\n </span>\n <i class=\"caret\"></i>\n </div>\n <ul class=\"dropdown-menu ${this.options.dropdownMenuPosition == 'right' ? 'dropdown-menu-right' : ''}\"></ul>\n </div>\n</div>`\n\n return $(dropdownTemplate)\n }\n\n public addDropdownItems(buttons: DropdownToolButtonItem[]) {\n if (buttons && buttons.length > 0) {\n buttons.forEach(button => {\n this.addDropdownItem(button)\n })\n }\n }\n\n public addDropdownItem(button: DropdownToolButtonItem, idx?: number) {\n if (!isEmptyOrNull(button.key)) {\n if (this.itemDisablingState.map(x => x.key).indexOf(button.key) > -1) {\n alert(`Dropdown has existed key: ${button.key}`)\n return\n }\n\n this.setDisablingStateItem(button.key, button.disabled || false)\n }\n\n let dropdownItemElement: JQuery\n\n if (button.isDropdownHeader && !isEmptyOrNull(button.dropdownHeaderTitle)) {\n dropdownItemElement = $(`<li class=\"dropdown-header ${button.cssClass ?? ''}\">${button.dropdownHeaderTitle}</li>`)\n } else {\n if (button.isSeparator) {\n dropdownItemElement = $(`<li class=\"dropdown-divider\"></li>`)\n } else {\n dropdownItemElement = $(`<li class=\"${button.disabled ? 'disabled' : ''}\"\n title=\"${button.hint ?? ''}\"\n data-idevs-key=\"${button.key ?? ''}\">\n <a href=\"#\" class=\"${button.cssClass ?? 'dropdown-item'}\">\n <i class=\"${button.icon ?? ''}\"></i>\n ${button.title}\n </a>\n </li>`)\n\n dropdownItemElement.on('click', (e: Event) => {\n e.preventDefault()\n\n if (this.isDisabled) {\n return\n }\n\n let buttonIsDisabled = button.disabled\n\n if (!isEmptyOrNull(button.key)) {\n buttonIsDisabled = this.getDisablingStateItem(button.key)\n }\n if (buttonIsDisabled) {\n return\n }\n\n button.onClick(e)\n })\n }\n }\n\n if (idx === null || typeof idx === 'undefined') {\n this.element.find('.dropdown-menu').append(dropdownItemElement)\n return\n }\n\n if (idx <= 0) {\n this.element.find('.dropdown-menu').prepend(dropdownItemElement)\n return\n }\n\n const nbrOfButtons = this.element.find(`.dropdown-menu > li`).length\n\n if (idx > nbrOfButtons) {\n idx = nbrOfButtons\n }\n\n this.element.find(`.dropdown-menu > li:nth-child(${idx})`).after(dropdownItemElement)\n }\n\n public enableDropdown(enable: boolean) {\n const drd = this.element.find('.dropdown').first()\n if (drd) {\n if (enable) {\n if (drd.hasClass('disabled')) {\n drd.removeClass('disabled')\n }\n } else {\n if (!drd.hasClass('disabled')) {\n drd.addClass('disabled')\n }\n }\n }\n\n const drdToggle = this.element.find('.dropdown-toggle').first()\n if (drdToggle) {\n if (enable) {\n if (drdToggle.hasClass('disabled')) {\n drd.removeClass('disabled')\n } else {\n if (!drdToggle.hasClass('disabled')) {\n drdToggle.addClass('disabled')\n }\n }\n }\n }\n\n this.isDisabled = !enable\n }\n\n public enableDropdownItemByKey(key: string, enable: boolean) {\n const drdItem = this.element.find(`.dropdown-menu li[data-idevs-key=\"${key}\"]`).first()\n if (drdItem) {\n if (enable) {\n if (drdItem.hasClass('disabled')) {\n drdItem.removeClass('disabled')\n }\n } else {\n if (!drdItem.hasClass('disabled')) {\n drdItem.addClass('disabled')\n }\n }\n }\n\n this.setDisablingStateItem(key, !enable)\n }\n\n public enableSideButtonByKey(key: string, enable: boolean) {\n const tButton = this.element.find(`.tool-button[data-idevs-key=\"${key}\"]`).first()\n if (tButton) {\n if (enable) {\n if (tButton.hasClass('disabled')) {\n tButton.removeClass('disabled')\n }\n } else {\n if (!tButton.hasClass('disabled')) {\n tButton.addClass('disabled')\n }\n }\n }\n\n this.setDisablingStateItem(key, !enable)\n }\n\n public removeDropdownItem(key: string) {\n this.element.find(`.dropdown-menu li[data-idevs-key=\"${key}\"]`).remove()\n this.removeDisablingStateItem(key)\n }\n\n public removeSideButtonItem(key: string) {\n this.element.find(`.tool-button[data-idevs-key=\"${key}\"]`).remove()\n this.removeDisablingStateItem(key)\n }\n\n public addSideButtonItem(button: ToolDropdownSideButtonItem, idx?: number) {\n if (!isEmptyOrNull(button.key)) {\n if (this.itemDisablingState.map(x => x.key).indexOf(button.key) > -1) {\n alert(`Dropdown has existed key: ${button.key}`)\n return\n }\n\n this.setDisablingStateItem(button.key, button.disabled || false)\n }\n\n const sideButtonTemplate = `<div class=\"tool-button add-button icon-tool-button ${button.cssClass ?? ''} ${\n button.disabled ? 'disabled' : ''\n }\"\n data-idevs-key=\"${button.key ?? ''}\"\n title=\"${button.title ?? ''}\">\n <div class=\"button-outer\">\n <span class=\"button-inner\">\n <i class=\"${button.icon ?? ''}\"></i>\n </span>\n </div>\n </div>`\n\n const sideButton = $(sideButtonTemplate)\n\n sideButton.on('click', (e: Event) => {\n e.preventDefault()\n\n let buttonIsDisabled = button.disabled\n\n if (!isEmptyOrNull(button.key)) {\n buttonIsDisabled = this.getDisablingStateItem(button.key)\n }\n\n if (buttonIsDisabled) {\n return\n }\n\n button.onClick(e)\n })\n\n if (idx === null || typeof idx === 'undefined') {\n this.element.append(sideButton)\n return\n }\n\n if (idx <= 0) {\n this.element.prepend(sideButton)\n return\n }\n\n const nbrOfButtons = this.element.find(`div.tool-button`).length\n\n if (idx > nbrOfButtons) {\n idx = nbrOfButtons\n }\n\n this.element.find(`div.tool-button:nth-child(${idx})`).after(sideButton)\n }\n}\n"]}
1
+ {"version":3,"file":"DropdownToolButton.js","sourceRoot":"","sources":["../../src/ui/DropdownToolButton.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type ToggleToolButtonOptions = {
1
+ export type ToggleToolButtonOptions = {
2
2
  title?: string;
3
3
  hint?: string;
4
4
  cssClass?: string;
@@ -15,3 +15,4 @@ export declare class ToggleToolButton {
15
15
  constructor(container: JQuery, opt?: ToggleToolButtonOptions);
16
16
  private buildBaseButton;
17
17
  }
18
+ //# sourceMappingURL=ToggleToolButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleToolButton.d.ts","sourceRoot":"","sources":["../../src/ui/ToggleToolButton.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,KAAK,IAAI,CAAA;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,qBAAa,gBAAgB;IACpB,OAAO,EAAE,MAAM,CAAO;IAC7B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,OAAO,CAAyB;gBAErB,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,uBAAuB;IAwCnE,OAAO,CAAC,eAAe;CAkBxB"}
@@ -1,5 +1,8 @@
1
- import { neededTarget } from '../globals';
2
- export class ToggleToolButton {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ToggleToolButton = void 0;
4
+ const globals_1 = require("../globals");
5
+ class ToggleToolButton {
3
6
  constructor(container, opt) {
4
7
  this.element = null;
5
8
  this.isDisabled = false;
@@ -9,7 +12,7 @@ export class ToggleToolButton {
9
12
  this.element.on('click', e => {
10
13
  if (this.isDisabled)
11
14
  return;
12
- const target = neededTarget(e.target, '.idevs-toggle-button');
15
+ const target = (0, globals_1.neededTarget)(e.target, '.idevs-toggle-button');
13
16
  if (this.options.altIcon) {
14
17
  const icon = target.querySelector(`i`);
15
18
  if (icon.className == this.options.icon) {
@@ -49,4 +52,5 @@ export class ToggleToolButton {
49
52
  return $(buttonTemplate);
50
53
  }
51
54
  }
55
+ exports.ToggleToolButton = ToggleToolButton;
52
56
  //# sourceMappingURL=ToggleToolButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleToolButton.js","sourceRoot":"","sources":["../../src/ui/ToggleToolButton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAazC,MAAM,OAAO,gBAAgB;IAK3B,YAAmB,SAAiB,EAAE,GAA6B;QAJ5D,YAAO,GAAW,IAAI,CAAA;QACrB,eAAU,GAAG,KAAK,CAAA;QAIxB,IAAI,CAAC,OAAO,GAAG,GAAG,IAAI,EAAE,CAAA;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAA;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QAErC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;YAC3B,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAM;YAE3B,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,MAAqB,EAAE,sBAAsB,CAAC,CAAA;YAC5E,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;gBACtC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;gBACvC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;gBACpC,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACtD,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrD,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;gBAC9F,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAC9F,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACzB,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IAEO,eAAe;QACrB,MAAM,cAAc,GAAG;mEACwC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,IACxF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EACjC;mCAC+B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;;;4BAGxC,IAAI,CAAC,OAAO,CAAC,IAAI;kBAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;;;;;OAKnC,CAAA;QAEH,OAAO,CAAC,CAAC,cAAc,CAAC,CAAA;IAC1B,CAAC;CACF","sourcesContent":["import { neededTarget } from '../globals'\n\nexport type ToggleToolButtonOptions = {\n title?: string\n hint?: string\n cssClass?: string\n altCssClass?: string\n icon?: string\n altIcon?: string\n onClick?: (e: JQuery.ClickEvent<HTMLElement, null, HTMLElement, HTMLElement>) => void\n disabled?: boolean\n}\n\nexport class ToggleToolButton {\n public element: JQuery = null\n private isDisabled = false\n private options: ToggleToolButtonOptions\n\n public constructor(container: JQuery, opt?: ToggleToolButtonOptions) {\n this.options = opt || {}\n this.isDisabled = this.options.disabled || false\n this.element = this.buildBaseButton()\n\n this.element.on('click', e => {\n if (this.isDisabled) return\n\n const target = neededTarget(e.target as HTMLElement, '.idevs-toggle-button')\n if (this.options.altIcon) {\n const icon = target.querySelector(`i`)\n if (icon.className == this.options.icon) {\n icon.className = this.options.altIcon\n } else {\n icon.className = this.options.icon\n }\n }\n\n if (this.options.cssClass && this.options.altCssClass) {\n if (target.className.includes(this.options.cssClass)) {\n target.className = target.className.replace(this.options.cssClass, this.options.altCssClass)\n } else {\n target.className = target.className.replace(this.options.altCssClass, this.options.cssClass)\n }\n }\n\n if (this.options.onClick) {\n this.options.onClick(e)\n }\n })\n\n container.append(this.element)\n }\n\n private buildBaseButton(): JQuery {\n const buttonTemplate = `<div class=\"buttons-inner\" style=\"overflow: visible\">\n <div class=\"idevs-toggle-button tool-button icon-tool-button ${this.options.cssClass ?? ''} ${\n this.isDisabled ? 'disabled' : ''\n }\" style=\"cursor: unset;\">\n <div class=\"button-outer ${this.isDisabled ? 'disabled' : ''}\"\n style=\"cursor: pointer;\">\n <span class=\"button-inner\">\n <i class=\"${this.options.icon}\"></i>\n ${this.options.title ?? ''}\n </span>\n <i class=\"caret\"></i>\n </div>\n </div>\n</div>`\n\n return $(buttonTemplate)\n }\n}\n"]}
1
+ {"version":3,"file":"ToggleToolButton.js","sourceRoot":"","sources":["../../src/ui/ToggleToolButton.ts"],"names":[],"mappings":";;;AAAA,wCAAyC;AAazC,MAAa,gBAAgB;IAK3B,YAAmB,SAAiB,EAAE,GAA6B;QAJ5D,YAAO,GAAW,IAAI,CAAA;QACrB,eAAU,GAAG,KAAK,CAAA;QAIxB,IAAI,CAAC,OAAO,GAAG,GAAG,IAAI,EAAE,CAAA;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAA;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QAErC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;YAC3B,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAM;YAE3B,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,CAAC,CAAC,MAAqB,EAAE,sBAAsB,CAAC,CAAA;YAC5E,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;gBACtC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;gBACvC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;gBACpC,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACtD,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrD,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CACzC,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrB,IAAI,CAAC,OAAO,CAAC,WAAW,CACzB,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CACzC,IAAI,CAAC,OAAO,CAAC,WAAW,EACxB,IAAI,CAAC,OAAO,CAAC,QAAQ,CACtB,CAAA;gBACH,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACzB,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IAEO,eAAe;QACrB,MAAM,cAAc,GAAG;mEACwC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,IACxF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EACjC;mCAC+B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;;;4BAGxC,IAAI,CAAC,OAAO,CAAC,IAAI;kBAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;;;;;OAKnC,CAAA;QAEH,OAAO,CAAC,CAAC,cAAc,CAAC,CAAA;IAC1B,CAAC;CACF;AA/DD,4CA+DC"}
@@ -1,2 +1,3 @@
1
- export * from './DropdownToolButton';
1
+ export * from './DropdownToolButton';
2
2
  export * from './ToggleToolButton';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA"}
package/dist/ui/index.js CHANGED
@@ -1,3 +1,19 @@
1
- export * from './DropdownToolButton';
2
- export * from './ToggleToolButton';
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./DropdownToolButton"), exports);
18
+ __exportStar(require("./ToggleToolButton"), exports);
3
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA","sourcesContent":["export * from './DropdownToolButton'\nexport * from './ToggleToolButton'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAoC;AACpC,qDAAkC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Date utility functions
3
+ */
4
+ export declare function dateStringOptions(): Intl.DateTimeFormatOptions;
5
+ export declare function toDateString(date: Date): string;
6
+ export declare function toSqlDateString(date: Date): string;
7
+ export declare function toBeginMonth(date: string): string;
8
+ export declare function toEndMonth(date: string): string;
9
+ export type DateProxyInputOptions = {
10
+ name: string;
11
+ readOnly?: boolean;
12
+ width?: number;
13
+ };
14
+ export declare function addDateProxyInput(options: DateProxyInputOptions): HTMLInputElement;
15
+ export declare function updateDateProxyValue(name: string, dateValue: string | Date | null, locale?: string): void;
16
+ //# sourceMappingURL=date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,wBAAgB,iBAAiB,IAAI,IAAI,CAAC,qBAAqB,CAM9D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE/C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAIlD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ/C;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,gBAAgB,CAiClF;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAC/B,MAAM,SAAU,GACf,IAAI,CAYN"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dateStringOptions = dateStringOptions;
4
+ exports.toDateString = toDateString;
5
+ exports.toSqlDateString = toSqlDateString;
6
+ exports.toBeginMonth = toBeginMonth;
7
+ exports.toEndMonth = toEndMonth;
8
+ exports.addDateProxyInput = addDateProxyInput;
9
+ exports.updateDateProxyValue = updateDateProxyValue;
10
+ const corelib_1 = require("@serenity-is/corelib");
11
+ /**
12
+ * Date utility functions
13
+ */
14
+ function dateStringOptions() {
15
+ return {
16
+ year: 'numeric',
17
+ month: '2-digit',
18
+ day: '2-digit',
19
+ };
20
+ }
21
+ function toDateString(date) {
22
+ return date.toLocaleString('en-GB', dateStringOptions());
23
+ }
24
+ function toSqlDateString(date) {
25
+ const offset = date.getTimezoneOffset();
26
+ const adjustedDate = new Date(date.getTime() - offset * 60 * 1000);
27
+ return adjustedDate.toISOString().split('T')[0];
28
+ }
29
+ function toBeginMonth(date) {
30
+ if ((0, corelib_1.isEmptyOrNull)(date)) {
31
+ return date;
32
+ }
33
+ return `${date.substring(0, 8)}01`;
34
+ }
35
+ function toEndMonth(date) {
36
+ if ((0, corelib_1.isEmptyOrNull)(date)) {
37
+ return date;
38
+ }
39
+ const dateArr = date.split('-');
40
+ const d = new Date(parseInt(dateArr[0]), parseInt(dateArr[1]), 0);
41
+ return `${date.substring(0, 8)}${d.getDate()}`;
42
+ }
43
+ function addDateProxyInput(options) {
44
+ const input = document.querySelector(`input[name="${options.name}"]`);
45
+ const cloneInput = input.cloneNode(true);
46
+ cloneInput.setAttribute('name', `${options.name}-2`);
47
+ cloneInput.setAttribute('id', `${input.getAttribute('id')}-2`);
48
+ cloneInput.setAttribute('readonly', 'readonly');
49
+ // Remove Serenity-specific classes
50
+ const classesToRemove = [
51
+ 'customValidate',
52
+ 's-DateEditor',
53
+ 's-Serenity-DateEditor',
54
+ 'dateQ',
55
+ 'hasDatepicker',
56
+ ];
57
+ classesToRemove.forEach(className => cloneInput.classList.remove(className));
58
+ // Apply styles
59
+ if (options.readOnly) {
60
+ cloneInput.style.backgroundColor = 'rgba(var(--s-bright-rgb), 0.02)';
61
+ }
62
+ else {
63
+ cloneInput.style.backgroundColor = 'white';
64
+ }
65
+ if (options.width) {
66
+ cloneInput.style.width = `${options.width}px`;
67
+ }
68
+ input.parentNode.insertBefore(cloneInput, input.nextSibling);
69
+ input.classList.add('d-none');
70
+ return cloneInput;
71
+ }
72
+ function updateDateProxyValue(name, dateValue, locale = 'en-GB') {
73
+ let target = document.querySelector(`#${name}-2`);
74
+ if (!target) {
75
+ target = document.querySelector(`input[name="${name}-2"]`);
76
+ }
77
+ if ((0, corelib_1.isEmptyOrNull)(dateValue?.toString())) {
78
+ target.value = '';
79
+ }
80
+ else {
81
+ const date = dateValue instanceof Date ? dateValue : new Date(dateValue);
82
+ target.value = date.toLocaleString(locale, dateStringOptions());
83
+ }
84
+ }
85
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * DOM utility functions
3
+ */
4
+ export declare function getElementWidth(element?: HTMLElement): number;
5
+ export declare function getElementHeight(element?: HTMLElement): number;
6
+ export declare function removeChildren(parent?: HTMLElement): void;
7
+ export declare function isOverflow(el: HTMLElement): boolean;
8
+ export declare function isOverflowY(el: HTMLElement): boolean;
9
+ export declare function isOverflowX(el: HTMLElement): boolean;
10
+ export declare function innerDimensions(el: HTMLElement | null): [number, number];
11
+ export declare function findTarget(el: HTMLElement, target: string): HTMLElement;
12
+ export declare function setCookie(name: string, value: string, expires?: number): void;
13
+ //# sourceMappingURL=dom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/utils/dom.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAK7D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAK9D;AAED,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAQzD;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAEnD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAEpD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAEpD;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAaxE;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAWvE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAS7E"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ /**
3
+ * DOM utility functions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getElementWidth = getElementWidth;
7
+ exports.getElementHeight = getElementHeight;
8
+ exports.removeChildren = removeChildren;
9
+ exports.isOverflow = isOverflow;
10
+ exports.isOverflowY = isOverflowY;
11
+ exports.isOverflowX = isOverflowX;
12
+ exports.innerDimensions = innerDimensions;
13
+ exports.findTarget = findTarget;
14
+ exports.setCookie = setCookie;
15
+ function getElementWidth(element) {
16
+ if (element) {
17
+ return element.clientWidth;
18
+ }
19
+ return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
20
+ }
21
+ function getElementHeight(element) {
22
+ if (element) {
23
+ return element.clientHeight;
24
+ }
25
+ return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
26
+ }
27
+ function removeChildren(parent) {
28
+ if (!parent) {
29
+ return;
30
+ }
31
+ while (parent.firstChild) {
32
+ parent.removeChild(parent.firstChild);
33
+ }
34
+ }
35
+ function isOverflow(el) {
36
+ return el.scrollHeight > el.clientHeight || el.scrollWidth > el.clientWidth;
37
+ }
38
+ function isOverflowY(el) {
39
+ return el.scrollHeight > el.clientHeight;
40
+ }
41
+ function isOverflowX(el) {
42
+ return el.scrollWidth > el.clientWidth;
43
+ }
44
+ function innerDimensions(el) {
45
+ if (!el) {
46
+ return [0, 0];
47
+ }
48
+ const style = getComputedStyle(el);
49
+ let width = el.clientWidth;
50
+ let height = el.clientHeight;
51
+ height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom);
52
+ width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);
53
+ return [height, width];
54
+ }
55
+ function findTarget(el, target) {
56
+ if (target.startsWith('.')) {
57
+ if (!el.classList.contains(target.slice(1))) {
58
+ el = el.closest(target);
59
+ }
60
+ }
61
+ else {
62
+ if (el.tagName.toLowerCase() !== target.toLowerCase()) {
63
+ el = el.closest(target);
64
+ }
65
+ }
66
+ return el;
67
+ }
68
+ function setCookie(name, value, expires) {
69
+ let cookie = `${name}=${value}`;
70
+ if (expires) {
71
+ const date = new Date();
72
+ date.setTime(date.getTime() + expires * 24 * 60 * 60 * 1000);
73
+ const exp = `expires=${date.toUTCString()}`;
74
+ cookie = `${cookie}; ${exp}`;
75
+ }
76
+ document.cookie = `${cookie}; path=/`;
77
+ }
78
+ //# sourceMappingURL=dom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/utils/dom.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,0CAKC;AAED,4CAKC;AAED,wCAQC;AAED,gCAEC;AAED,kCAEC;AAED,kCAEC;AAED,0CAaC;AAED,gCAWC;AAED,8BASC;AAzED,SAAgB,eAAe,CAAC,OAAqB;IACnD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC,WAAW,CAAA;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,eAAe,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAA;AAC/F,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAqB;IACpD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC,YAAY,CAAA;IAC7B,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAA;AAClG,CAAC;AAED,SAAgB,cAAc,CAAC,MAAoB;IACjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAM;IACR,CAAC;IAED,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;QACzB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,EAAe;IACxC,OAAO,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAA;AAC7E,CAAC;AAED,SAAgB,WAAW,CAAC,EAAe;IACzC,OAAO,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAA;AAC1C,CAAC;AAED,SAAgB,WAAW,CAAC,EAAe;IACzC,OAAO,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAA;AACxC,CAAC;AAED,SAAgB,eAAe,CAAC,EAAsB;IACpD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACf,CAAC;IAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAA;IAClC,IAAI,KAAK,GAAG,EAAE,CAAC,WAAW,CAAA;IAC1B,IAAI,MAAM,GAAG,EAAE,CAAC,YAAY,CAAA;IAE5B,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IACxE,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAEvE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AACxB,CAAC;AAED,SAAgB,UAAU,CAAC,EAAe,EAAE,MAAc;IACxD,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAgB,CAAA;QACxC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YACtD,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAgB,CAAA;QACxC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAgB,SAAS,CAAC,IAAY,EAAE,KAAa,EAAE,OAAgB;IACrE,IAAI,MAAM,GAAG,GAAG,IAAI,IAAI,KAAK,EAAE,CAAA;IAC/B,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAC5D,MAAM,GAAG,GAAG,WAAW,IAAI,CAAC,WAAW,EAAE,EAAE,CAAA;QAC3C,MAAM,GAAG,GAAG,MAAM,KAAK,GAAG,EAAE,CAAA;IAC9B,CAAC;IACD,QAAQ,CAAC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAA;AACvC,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Formatting utility functions
3
+ */
4
+ export declare function toTimeString(value: number): string;
5
+ export declare function dateToNumber(date: Date): number;
6
+ export declare function toDecimalString(value: number, precision?: number): string;
7
+ export declare function truncateString(str: string, maxLength: number): string;
8
+ export declare function stringToNumber(str: string): number;
9
+ export declare enum RoundingMethod {
10
+ None = 0,
11
+ Quarter25 = 1,
12
+ Quarter50 = 2,
13
+ FloorToWhole = 3,
14
+ CeilQuarter25 = 4,
15
+ CeilQuarter50 = 5,
16
+ CeilToWhole = 6,
17
+ RoundQuarter25 = 7,
18
+ RoundQuarter50 = 8,
19
+ RoundToWhole = 9
20
+ }
21
+ export declare function roundByMethod(value: string | number, method: RoundingMethod): number;
22
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/utils/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAK/C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAI,GAAG,MAAM,CASpE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,oBAAY,cAAc;IACxB,IAAI,IAAI;IACR,SAAS,IAAI;IACb,SAAS,IAAI;IACb,YAAY,IAAI;IAChB,aAAa,IAAI;IACjB,aAAa,IAAI;IACjB,WAAW,IAAI;IACf,cAAc,IAAI;IAClB,cAAc,IAAI;IAClB,YAAY,IAAI;CACjB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,CAkDpF"}