@wavemaker/app-ng-runtime 12.0.0-next.44005 → 12.0.0-next.45002

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 (105) hide show
  1. app-ng-runtime/build-task/advanced/custom-widget-container/custom-widget-container.build.d.ts +2 -0
  2. app-ng-runtime/build-task/advanced/custom-widget-prop/custom-widget-prop.build.d.ts +2 -0
  3. app-ng-runtime/build-task/advanced/custom-widget-wrapper/custom-widget-wrapper.build.d.ts +2 -0
  4. app-ng-runtime/build-task/bundles/index.umd.js +477 -404
  5. app-ng-runtime/build-task/esm2022/advanced/custom-widget-container/custom-widget-container.build.mjs +15 -0
  6. app-ng-runtime/build-task/esm2022/advanced/custom-widget-prop/custom-widget-prop.build.mjs +10 -0
  7. app-ng-runtime/build-task/esm2022/advanced/custom-widget-wrapper/custom-widget-wrapper.build.mjs +26 -0
  8. app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +3 -2
  9. app-ng-runtime/build-task/esm2022/navigation/menu/menu.build.mjs +14 -2
  10. app-ng-runtime/build-task/esm2022/public_api.mjs +4 -1
  11. app-ng-runtime/build-task/fesm2022/index.mjs +479 -405
  12. app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
  13. app-ng-runtime/build-task/public_api.d.ts +3 -0
  14. app-ng-runtime/components/advanced/custom/bundles/index.umd.js +275 -0
  15. app-ng-runtime/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +14 -0
  16. app-ng-runtime/components/advanced/custom/custom-widget-container/custom-widget.props.d.ts +1 -0
  17. app-ng-runtime/components/advanced/custom/custom-widget-container-prop/custom-widget-container-prop.directive.d.ts +20 -0
  18. app-ng-runtime/components/advanced/custom/custom-widget-prop.d.ts +1 -0
  19. app-ng-runtime/components/advanced/custom/custom-widget.directive.d.ts +19 -0
  20. app-ng-runtime/components/advanced/custom/custom-widget.module.d.ts +11 -0
  21. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +73 -0
  22. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-container/custom-widget.props.mjs +9 -0
  23. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-container-prop/custom-widget-container-prop.directive.mjs +70 -0
  24. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-prop.mjs +8 -0
  25. app-ng-runtime/components/advanced/custom/esm2022/custom-widget.directive.mjs +68 -0
  26. app-ng-runtime/components/advanced/custom/esm2022/custom-widget.module.mjs +39 -0
  27. app-ng-runtime/components/advanced/custom/esm2022/index.mjs +5 -0
  28. app-ng-runtime/components/advanced/custom/esm2022/public_api.mjs +5 -0
  29. app-ng-runtime/components/advanced/custom/fesm2022/index.mjs +256 -0
  30. app-ng-runtime/components/advanced/custom/fesm2022/index.mjs.map +1 -0
  31. app-ng-runtime/components/advanced/custom/index.d.ts +5 -0
  32. app-ng-runtime/components/advanced/custom/package.json +23 -0
  33. app-ng-runtime/components/advanced/custom/public_api.d.ts +4 -0
  34. app-ng-runtime/components/base/bundles/index.umd.js +65 -9
  35. app-ng-runtime/components/base/components.module.d.ts +12 -11
  36. app-ng-runtime/components/base/esm2022/components.module.mjs +5 -1
  37. app-ng-runtime/components/base/esm2022/public_api.mjs +2 -1
  38. app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +28 -10
  39. app-ng-runtime/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +39 -0
  40. app-ng-runtime/components/base/fesm2022/index.mjs +65 -10
  41. app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
  42. app-ng-runtime/components/base/public_api.d.ts +1 -0
  43. app-ng-runtime/components/base/widgets/common/base/base.component.d.ts +9 -3
  44. app-ng-runtime/components/base/widgets/common/base/custom-widget-container.directive.d.ts +14 -0
  45. app-ng-runtime/components/basic/default/audio/audio.component.d.ts +1 -0
  46. app-ng-runtime/components/basic/default/bundles/index.umd.js +5 -4
  47. app-ng-runtime/components/basic/default/esm2022/audio/audio.component.mjs +6 -5
  48. app-ng-runtime/components/basic/default/fesm2022/index.mjs +5 -4
  49. app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
  50. app-ng-runtime/components/basic/progress/bundles/index.umd.js +3 -2
  51. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +4 -3
  52. app-ng-runtime/components/basic/progress/fesm2022/index.mjs +3 -2
  53. app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
  54. app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +1 -0
  55. app-ng-runtime/components/data/form/bundles/index.umd.js +4 -3
  56. app-ng-runtime/components/data/form/esm2022/form-field/form-field.directive.mjs +1 -2
  57. app-ng-runtime/components/data/form/esm2022/live-form/live-form.directive.mjs +5 -3
  58. app-ng-runtime/components/data/form/fesm2022/index.mjs +4 -3
  59. app-ng-runtime/components/data/form/fesm2022/index.mjs.map +1 -1
  60. app-ng-runtime/components/input/default/bundles/index.umd.js +46 -53
  61. app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +2 -3
  62. app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +44 -53
  63. app-ng-runtime/components/input/default/esm2022/text/base/base-input.mjs +4 -1
  64. app-ng-runtime/components/input/default/fesm2022/index.mjs +47 -54
  65. app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
  66. app-ng-runtime/components/input/default/select/select.component.d.ts +1 -2
  67. app-ng-runtime/components/input/epoch/bundles/index.umd.js +19 -7
  68. app-ng-runtime/components/input/epoch/date/date.component.d.ts +1 -0
  69. app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +9 -3
  70. app-ng-runtime/components/input/epoch/esm2022/date/imaskUtil.mjs +8 -2
  71. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +3 -3
  72. app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +3 -3
  73. app-ng-runtime/components/input/epoch/fesm2022/index.mjs +19 -7
  74. app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
  75. app-ng-runtime/core/bundles/index.umd.js +10 -0
  76. app-ng-runtime/core/enums/enums.d.ts +2 -1
  77. app-ng-runtime/core/esm2022/enums/enums.mjs +2 -1
  78. app-ng-runtime/core/esm2022/types/types.mjs +4 -1
  79. app-ng-runtime/core/esm2022/utils/build-utils.mjs +6 -1
  80. app-ng-runtime/core/fesm2022/index.mjs +10 -1
  81. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  82. app-ng-runtime/core/types/types.d.ts +5 -1
  83. app-ng-runtime/package.json +1 -1
  84. app-ng-runtime/runtime/base/bundles/index.umd.js +254 -4
  85. app-ng-runtime/runtime/base/components/base-custom-widget.component.d.ts +71 -0
  86. app-ng-runtime/runtime/base/esm2022/components/base-custom-widget.component.mjs +253 -0
  87. app-ng-runtime/runtime/base/esm2022/public_api.mjs +2 -1
  88. app-ng-runtime/runtime/base/esm2022/runtime-base.module.mjs +6 -1
  89. app-ng-runtime/runtime/base/esm2022/types/types.mjs +2 -1
  90. app-ng-runtime/runtime/base/fesm2022/index.mjs +251 -1
  91. app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
  92. app-ng-runtime/runtime/base/public_api.d.ts +1 -0
  93. app-ng-runtime/runtime/base/runtime-base.module.d.ts +9 -8
  94. app-ng-runtime/runtime/base/types/types.d.ts +2 -1
  95. app-ng-runtime/runtime/dynamic/bundles/index.umd.js +26 -9
  96. app-ng-runtime/runtime/dynamic/esm2022/app/app.module.mjs +5 -2
  97. app-ng-runtime/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +22 -7
  98. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs +25 -7
  99. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  100. app-ng-runtime/scripts/datatable/datatable.js +1 -0
  101. app-ng-runtime/transpiler/bundles/index.umd.js +5 -0
  102. app-ng-runtime/transpiler/esm2022/build.mjs +4 -1
  103. app-ng-runtime/transpiler/esm2022/imports.mjs +3 -1
  104. app-ng-runtime/transpiler/fesm2022/index.mjs +5 -0
  105. app-ng-runtime/transpiler/fesm2022/index.mjs.map +1 -1
@@ -1,7 +1,8 @@
1
1
  export declare enum ComponentType {
2
2
  PAGE = 0,
3
3
  PREFAB = 1,
4
- PARTIAL = 2
4
+ PARTIAL = 2,
5
+ WIDGET = 3
5
6
  }
6
7
  export declare class IDataSource {
7
8
  execute: (operation: Operation, options?: any) => boolean | string | Promise<any>;
@@ -196,4 +197,7 @@ export declare abstract class DynamicComponentRefProvider {
196
197
  export declare abstract class PartialRefProvider {
197
198
  abstract getComponentFactoryRef(partialName: string, componentType: ComponentType, options?: any): Promise<any>;
198
199
  }
200
+ export declare abstract class CustomWidgetRefProvider {
201
+ abstract getComponentFactoryRef(customWidgetName: string, componentType: ComponentType, options?: any): Promise<any>;
202
+ }
199
203
  export {};
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-ng-runtime",
3
- "version": "12.0.0-next.44005",
3
+ "version": "12.0.0-next.45002",
4
4
  "description": "All modules required for a wavemaker application.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/router'), require('@angular/common'), require('@wm/core'), require('@wm/security'), require('@wm/variables'), require('@wm/components/page'), require('rxjs'), require('@wm/components/base'), require('tslib'), require('@wm/components/prefab'), require('@angular/common/http'), require('@angular/platform-browser'), require('@angular/forms'), require('ngx-toastr'), require('@wm/components/dialogs'), require('@wm/components/dialogs/confirm-dialog'), require('@wm/components/dialogs/design-dialog'), require('@wm/mobile/runtime'), require('@wm/http'), require('@wm/oAuth'), require('ngx-bootstrap/chronos'), require('ngx-bootstrap/datepicker'), require('ngx-bootstrap/utils'), require('@wm/components/dialogs/alert-dialog'), require('rxjs/operators'), require('@wm/transpiler'), require('@wm/build-task'), require('@wm/components/page/footer'), require('@wm/components/page/header'), require('@wm/components/page/left-panel'), require('@wm/components/page/right-panel'), require('@wm/components/page/top-nav'), require('@wm/components/basic'), require('@wm/components/basic/progress'), require('@wm/components/basic/rich-text-editor'), require('@wm/components/basic/search'), require('@wm/components/basic/tree'), require('@wm/components/input/calendar'), require('@wm/components/input/chips'), require('@wm/components/input/color-picker'), require('@wm/components/input/currency'), require('@wm/components/input/epoch'), require('@wm/components/input/file-upload'), require('@wm/components/input'), require('@wm/components/input/rating'), require('@wm/components/input/slider'), require('@wm/components/data/card'), require('@wm/components/data/form'), require('@wm/components/data/list'), require('@wm/components/data/live-table'), require('@wm/components/data/pagination'), require('@wm/components/data/table'), require('@wm/components/chart'), require('@wm/components/containers/accordion'), require('@wm/components/containers/linear-layout'), require('@wm/components/containers/layout-grid'), require('@wm/components/containers/panel'), require('@wm/components/containers/tabs'), require('@wm/components/containers/tile'), require('@wm/components/containers/wizard'), require('@wm/components/dialogs/iframe-dialog'), require('@wm/components/dialogs/login-dialog'), require('@wm/components/dialogs/partial-dialog'), require('@wm/components/navigation/breadcrumb'), require('@wm/components/navigation/menu'), require('@wm/components/navigation/navbar'), require('@wm/components/navigation/popover'), require('@wm/components/advanced/carousel'), require('@wm/components/advanced/login'), require('@wm/components/advanced/marquee'), require('ngx-bootstrap/timepicker'), require('ngx-bootstrap/dropdown'), require('ngx-bootstrap/pagination'), require('ngx-bootstrap/typeahead'), require('ngx-bootstrap/progressbar'), require('ngx-bootstrap/carousel'), require('ngx-bootstrap/popover'), require('ng-circle-progress'), require('ngx-bootstrap/tooltip')) :
3
- typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/router', '@angular/common', '@wm/core', '@wm/security', '@wm/variables', '@wm/components/page', 'rxjs', '@wm/components/base', 'tslib', '@wm/components/prefab', '@angular/common/http', '@angular/platform-browser', '@angular/forms', 'ngx-toastr', '@wm/components/dialogs', '@wm/components/dialogs/confirm-dialog', '@wm/components/dialogs/design-dialog', '@wm/mobile/runtime', '@wm/http', '@wm/oAuth', 'ngx-bootstrap/chronos', 'ngx-bootstrap/datepicker', 'ngx-bootstrap/utils', '@wm/components/dialogs/alert-dialog', 'rxjs/operators', '@wm/transpiler', '@wm/build-task', '@wm/components/page/footer', '@wm/components/page/header', '@wm/components/page/left-panel', '@wm/components/page/right-panel', '@wm/components/page/top-nav', '@wm/components/basic', '@wm/components/basic/progress', '@wm/components/basic/rich-text-editor', '@wm/components/basic/search', '@wm/components/basic/tree', '@wm/components/input/calendar', '@wm/components/input/chips', '@wm/components/input/color-picker', '@wm/components/input/currency', '@wm/components/input/epoch', '@wm/components/input/file-upload', '@wm/components/input', '@wm/components/input/rating', '@wm/components/input/slider', '@wm/components/data/card', '@wm/components/data/form', '@wm/components/data/list', '@wm/components/data/live-table', '@wm/components/data/pagination', '@wm/components/data/table', '@wm/components/chart', '@wm/components/containers/accordion', '@wm/components/containers/linear-layout', '@wm/components/containers/layout-grid', '@wm/components/containers/panel', '@wm/components/containers/tabs', '@wm/components/containers/tile', '@wm/components/containers/wizard', '@wm/components/dialogs/iframe-dialog', '@wm/components/dialogs/login-dialog', '@wm/components/dialogs/partial-dialog', '@wm/components/navigation/breadcrumb', '@wm/components/navigation/menu', '@wm/components/navigation/navbar', '@wm/components/navigation/popover', '@wm/components/advanced/carousel', '@wm/components/advanced/login', '@wm/components/advanced/marquee', 'ngx-bootstrap/timepicker', 'ngx-bootstrap/dropdown', 'ngx-bootstrap/pagination', 'ngx-bootstrap/typeahead', 'ngx-bootstrap/progressbar', 'ngx-bootstrap/carousel', 'ngx-bootstrap/popover', 'ng-circle-progress', 'ngx-bootstrap/tooltip'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.runtime = global.wm.runtime || {}, global.wm.runtime.base = {}), global.ng.core, global.ng.router, global.ng.common, global.wm.core, global.wm.security, global.wm.variables, global.wm.components.page, global.rxjs, global.wm.components.base, global.tslib, global.wm.components.prefab, global.ng.common.http, global.ng.platformBrowser, global.ng.forms, global.ngxToastr, global.wm.components.dialogs, global.wm.components.dialogs.confirmdialog, global.wm.components.dialogs.designdialog, global.wm.mobile.runtime, global.wm.http, global.wm.oAuth, global.chronos, global.datepicker, global.utils, global.wm.components.dialogs.alertdialog, global.rxjs.operators, global.wm.transpiler, global.wm.buildTask, global.wm.components.page.footer, global.wm.components.page.header, global.wm.components.page.leftpanel, global.wm.components.page.rightpanel, global.wm.components.page.topnav, global.wm.components.basic, global.wm.components.basic.progress, global.wm.components.basic.richtexteditor, global.wm.components.basic.search, global.wm.components.basic.tree, global.wm.components.input.calendar, global.wm.components.input.chips, global.wm.components.input.colorpicker, global.wm.components.input.currency, global.wm.components.input.epoch, global.wm.components.input.fileupload, global.wm.components.input, global.wm.components.input.rating, global.wm.components.input.slider, global.wm.components.data.card, global.wm.components.data.form, global.wm.components.data.list, global.wm.components.data.livetable, global.wm.components.data.pagination, global.wm.components.data.table, global.wm.components.chart, global.wm.components.containers.accordion, global.wm.components.containers.linearlayout, global.wm.components.containers.layoutgrid, global.wm.components.containers.panel, global.wm.components.containers.tabs, global.wm.components.containers.tile, global.wm.components.containers.wizard, global.wm.components.dialogs.iframedialog, global.wm.components.dialogs.logindialog, global.wm.components.dialogs.partialdialog, global.wm.components.navigation.breadcrumb, global.wm.components.navigation.menu, global.wm.components.navigation.navbar, global.wm.components.navigation.popover, global.wm.components.advanced.carousel, global.wm.components.advanced.login, global.wm.components.advanced.marquee, global.timepicker, global.dropdown, global.pagination, global.typeahead, global.progressbar, global.carousel, global.popover, global.ngCircleProgress, global.tooltip));
5
- })(this, (function (exports, i0, i1$1, i1$2, i1, i2, i4, page, rxjs, i3, tslib, i2$3, i1$5, i1$4, forms, i1$3, dialogs, i9, i10, i1$6, http, i2$2, chronos, i2$1, utils, i11, operators, transpiler, buildTask, footer, header, leftPanel, rightPanel, topNav, basic, progress, richTextEditor, search, tree, calendar, chips, colorPicker, currency, epoch, fileUpload, input, rating, slider, card, form, list, liveTable, pagination$1, table, chart, accordion, linearLayout, layoutGrid, panel, tabs, tile, wizard, iframeDialog, loginDialog, partialDialog, breadcrumb, menu, navbar, popover$1, carousel$1, login, marquee, timepicker, dropdown, pagination, typeahead, progressbar, carousel, popover, ngCircleProgress, tooltip) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/router'), require('@angular/common'), require('@wm/core'), require('@wm/security'), require('@wm/variables'), require('@wm/components/page'), require('rxjs'), require('@wm/components/base'), require('tslib'), require('@wm/components/prefab'), require('@angular/common/http'), require('@angular/platform-browser'), require('@angular/forms'), require('ngx-toastr'), require('@wm/components/dialogs'), require('@wm/components/dialogs/confirm-dialog'), require('@wm/components/dialogs/design-dialog'), require('@wm/mobile/runtime'), require('@wm/http'), require('@wm/oAuth'), require('ngx-bootstrap/chronos'), require('ngx-bootstrap/datepicker'), require('ngx-bootstrap/utils'), require('@wm/components/dialogs/alert-dialog'), require('rxjs/operators'), require('@wm/transpiler'), require('@wm/build-task'), require('@wm/components/page/footer'), require('@wm/components/page/header'), require('@wm/components/page/left-panel'), require('@wm/components/page/right-panel'), require('@wm/components/page/top-nav'), require('@wm/components/basic'), require('@wm/components/basic/progress'), require('@wm/components/basic/rich-text-editor'), require('@wm/components/basic/search'), require('@wm/components/basic/tree'), require('@wm/components/input/calendar'), require('@wm/components/input/chips'), require('@wm/components/input/color-picker'), require('@wm/components/input/currency'), require('@wm/components/input/epoch'), require('@wm/components/input/file-upload'), require('@wm/components/input'), require('@wm/components/input/rating'), require('@wm/components/input/slider'), require('@wm/components/data/card'), require('@wm/components/data/form'), require('@wm/components/data/list'), require('@wm/components/data/live-table'), require('@wm/components/data/pagination'), require('@wm/components/data/table'), require('@wm/components/chart'), require('@wm/components/containers/accordion'), require('@wm/components/containers/linear-layout'), require('@wm/components/containers/layout-grid'), require('@wm/components/containers/panel'), require('@wm/components/containers/tabs'), require('@wm/components/containers/tile'), require('@wm/components/containers/wizard'), require('@wm/components/dialogs/iframe-dialog'), require('@wm/components/dialogs/login-dialog'), require('@wm/components/dialogs/partial-dialog'), require('@wm/components/navigation/breadcrumb'), require('@wm/components/navigation/menu'), require('@wm/components/navigation/navbar'), require('@wm/components/navigation/popover'), require('@wm/components/advanced/carousel'), require('@wm/components/advanced/login'), require('@wm/components/advanced/marquee'), require('@wm/components/advanced/custom'), require('ngx-bootstrap/timepicker'), require('ngx-bootstrap/dropdown'), require('ngx-bootstrap/pagination'), require('ngx-bootstrap/typeahead'), require('ngx-bootstrap/progressbar'), require('ngx-bootstrap/carousel'), require('ngx-bootstrap/popover'), require('ng-circle-progress'), require('ngx-bootstrap/tooltip')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/router', '@angular/common', '@wm/core', '@wm/security', '@wm/variables', '@wm/components/page', 'rxjs', '@wm/components/base', 'tslib', '@wm/components/prefab', '@angular/common/http', '@angular/platform-browser', '@angular/forms', 'ngx-toastr', '@wm/components/dialogs', '@wm/components/dialogs/confirm-dialog', '@wm/components/dialogs/design-dialog', '@wm/mobile/runtime', '@wm/http', '@wm/oAuth', 'ngx-bootstrap/chronos', 'ngx-bootstrap/datepicker', 'ngx-bootstrap/utils', '@wm/components/dialogs/alert-dialog', 'rxjs/operators', '@wm/transpiler', '@wm/build-task', '@wm/components/page/footer', '@wm/components/page/header', '@wm/components/page/left-panel', '@wm/components/page/right-panel', '@wm/components/page/top-nav', '@wm/components/basic', '@wm/components/basic/progress', '@wm/components/basic/rich-text-editor', '@wm/components/basic/search', '@wm/components/basic/tree', '@wm/components/input/calendar', '@wm/components/input/chips', '@wm/components/input/color-picker', '@wm/components/input/currency', '@wm/components/input/epoch', '@wm/components/input/file-upload', '@wm/components/input', '@wm/components/input/rating', '@wm/components/input/slider', '@wm/components/data/card', '@wm/components/data/form', '@wm/components/data/list', '@wm/components/data/live-table', '@wm/components/data/pagination', '@wm/components/data/table', '@wm/components/chart', '@wm/components/containers/accordion', '@wm/components/containers/linear-layout', '@wm/components/containers/layout-grid', '@wm/components/containers/panel', '@wm/components/containers/tabs', '@wm/components/containers/tile', '@wm/components/containers/wizard', '@wm/components/dialogs/iframe-dialog', '@wm/components/dialogs/login-dialog', '@wm/components/dialogs/partial-dialog', '@wm/components/navigation/breadcrumb', '@wm/components/navigation/menu', '@wm/components/navigation/navbar', '@wm/components/navigation/popover', '@wm/components/advanced/carousel', '@wm/components/advanced/login', '@wm/components/advanced/marquee', '@wm/components/advanced/custom', 'ngx-bootstrap/timepicker', 'ngx-bootstrap/dropdown', 'ngx-bootstrap/pagination', 'ngx-bootstrap/typeahead', 'ngx-bootstrap/progressbar', 'ngx-bootstrap/carousel', 'ngx-bootstrap/popover', 'ng-circle-progress', 'ngx-bootstrap/tooltip'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.runtime = global.wm.runtime || {}, global.wm.runtime.base = {}), global.ng.core, global.ng.router, global.ng.common, global.wm.core, global.wm.security, global.wm.variables, global.wm.components.page, global.rxjs, global.wm.components.base, global.tslib, global.wm.components.prefab, global.ng.common.http, global.ng.platformBrowser, global.ng.forms, global.ngxToastr, global.wm.components.dialogs, global.wm.components.dialogs.confirmdialog, global.wm.components.dialogs.designdialog, global.wm.mobile.runtime, global.wm.http, global.wm.oAuth, global.chronos, global.datepicker, global.utils, global.wm.components.dialogs.alertdialog, global.rxjs.operators, global.wm.transpiler, global.wm.buildTask, global.wm.components.page.footer, global.wm.components.page.header, global.wm.components.page.leftpanel, global.wm.components.page.rightpanel, global.wm.components.page.topnav, global.wm.components.basic, global.wm.components.basic.progress, global.wm.components.basic.richtexteditor, global.wm.components.basic.search, global.wm.components.basic.tree, global.wm.components.input.calendar, global.wm.components.input.chips, global.wm.components.input.colorpicker, global.wm.components.input.currency, global.wm.components.input.epoch, global.wm.components.input.fileupload, global.wm.components.input, global.wm.components.input.rating, global.wm.components.input.slider, global.wm.components.data.card, global.wm.components.data.form, global.wm.components.data.list, global.wm.components.data.livetable, global.wm.components.data.pagination, global.wm.components.data.table, global.wm.components.chart, global.wm.components.containers.accordion, global.wm.components.containers.linearlayout, global.wm.components.containers.layoutgrid, global.wm.components.containers.panel, global.wm.components.containers.tabs, global.wm.components.containers.tile, global.wm.components.containers.wizard, global.wm.components.dialogs.iframedialog, global.wm.components.dialogs.logindialog, global.wm.components.dialogs.partialdialog, global.wm.components.navigation.breadcrumb, global.wm.components.navigation.menu, global.wm.components.navigation.navbar, global.wm.components.navigation.popover, global.wm.components.advanced.carousel, global.wm.components.advanced.login, global.wm.components.advanced.marquee, global.wm.components.advanced.custom, global.timepicker, global.dropdown, global.pagination, global.typeahead, global.progressbar, global.carousel, global.popover, global.ngCircleProgress, global.tooltip));
5
+ })(this, (function (exports, i0, i1$1, i1$2, i1, i2, i4, page, rxjs, i3, tslib, i2$3, i1$5, i1$4, forms, i1$3, dialogs, i9, i10, i1$6, http, i2$2, chronos, i2$1, utils, i11, operators, transpiler, buildTask, footer, header, leftPanel, rightPanel, topNav, basic, progress, richTextEditor, search, tree, calendar, chips, colorPicker, currency, epoch, fileUpload, input, rating, slider, card, form, list, liveTable, pagination$1, table, chart, accordion, linearLayout, layoutGrid, panel, tabs, tile, wizard, iframeDialog, loginDialog, partialDialog, breadcrumb, menu, navbar, popover$1, carousel$1, login, marquee, custom, timepicker, dropdown, pagination, typeahead, progressbar, carousel, popover, ngCircleProgress, tooltip) { 'use strict';
6
6
 
7
7
  function _interopNamespaceDefault(e) {
8
8
  var n = Object.create(null);
@@ -44,6 +44,7 @@
44
44
  ComponentType[ComponentType["PAGE"] = 0] = "PAGE";
45
45
  ComponentType[ComponentType["PREFAB"] = 1] = "PREFAB";
46
46
  ComponentType[ComponentType["PARTIAL"] = 2] = "PARTIAL";
47
+ ComponentType[ComponentType["WIDGET"] = 3] = "WIDGET";
47
48
  })(exports.ComponentType || (exports.ComponentType = {}));
48
49
  class ComponentRefProvider {
49
50
  clearComponentFactoryRefCache() { }
@@ -1383,6 +1384,250 @@
1383
1384
  args: ['window:beforeunload']
1384
1385
  }] }); })();
1385
1386
 
1387
+ // export const commonPartialWidgets = {};
1388
+ class BaseCustomWidgetComponent extends FragmentMonitor {
1389
+ constructor() {
1390
+ super(...arguments);
1391
+ this.BaseWidget = {};
1392
+ this.compileContent = false;
1393
+ this.destroy$ = new rxjs.Subject();
1394
+ this.viewInit$ = new rxjs.Subject();
1395
+ this.invokeEvent = (eventName) => {
1396
+ this.events[eventName]();
1397
+ };
1398
+ }
1399
+ getContainerWidgetInjector() {
1400
+ return this.containerWidget.inj || this.containerWidget.injector;
1401
+ }
1402
+ init() {
1403
+ let resolveFn;
1404
+ const promise = new Promise((res) => resolveFn = res);
1405
+ this.App = this.injector ? this.injector.get(i1.App) : i0.inject(i1.App);
1406
+ //making the code compatible in both the JIT and AOT modes
1407
+ this.containerWidget = this.injector ? this.injector.get(i3.WidgetRef) : i0.inject(i3.WidgetRef);
1408
+ this.i18nService = this.injector ? this.injector.get(i1.AbstractI18nService) : i0.inject(i1.AbstractI18nService);
1409
+ this.scriptLoaderService = this.injector ? this.injector.get(i1.ScriptLoaderService) : i0.inject(i1.ScriptLoaderService);
1410
+ this.Viewport = this.injector ? this.injector.get(i1.Viewport) : i0.inject(i1.Viewport);
1411
+ // this.viewContainerRef = this.getContainerWidgetInjector().get(ViewContainerRef);
1412
+ // Replacing this.getContainerWidgetInjector().view.component as viewParent
1413
+ // this.viewParent = (this.viewContainerRef as any).parentInjector._lView[8];
1414
+ this.viewParent = this.containerWidget.viewParent;
1415
+ if (this.viewParent.registerFragment) {
1416
+ this.viewParent.registerFragment();
1417
+ }
1418
+ // register functions for binding evaluation
1419
+ this.registerExpressions();
1420
+ this.initUserScript();
1421
+ this.registerProps(resolveFn);
1422
+ // Using promise to make sure the props are registered in the container widget before registering events, Otherwise no events will be registered
1423
+ promise.then(() => this.registerEvents());
1424
+ this.registerWidgets();
1425
+ this.initVariables();
1426
+ this.activePageName = this.App.activePageName; // Todo: remove this
1427
+ this.registerPageParams();
1428
+ this.defineI18nProps();
1429
+ this.viewInit$.subscribe(i1.noop, i1.noop, () => {
1430
+ this.pageParams = this.containerWidget.props;
1431
+ });
1432
+ if (this.spa) {
1433
+ this.pageDirective = this.injector ? this.injector.get(page.SpaPageDirective) : i0.inject(page.SpaPageDirective);
1434
+ }
1435
+ else {
1436
+ this.pageDirective = this.injector ? this.injector.get(page.PageDirective) : i0.inject(page.PageDirective);
1437
+ }
1438
+ if (this.pageDirective) {
1439
+ this.registerDestroyListener(this.pageDirective.subscribe('attach', data => this.ngOnAttach(data.refreshData)));
1440
+ this.registerDestroyListener(this.pageDirective.subscribe('detach', () => this.ngOnDetach()));
1441
+ }
1442
+ super.init();
1443
+ }
1444
+ registerWidgets() {
1445
+ // common partial widgets should be accessible from page
1446
+ this.Widgets = Object.create(commonPartialWidgets);
1447
+ // expose current page widgets on app
1448
+ this.App.Widgets = Object.create(this.Widgets);
1449
+ }
1450
+ registerBaseWidget() {
1451
+ for (let widget in this.Widgets) {
1452
+ let widgetInstance = this.Widgets[widget];
1453
+ if (widgetInstance.widget.$attrs.has('base-widget')) {
1454
+ this.BaseWidget = widgetInstance;
1455
+ break;
1456
+ }
1457
+ }
1458
+ }
1459
+ registerEvents() {
1460
+ this.events = {};
1461
+ this.containerWidget.eventHandlers.forEach((callback, key) => {
1462
+ this.events[key] = (...args) => {
1463
+ this.containerWidget.invokeEventCallback(key, { $event: args[0], $data: args[1] });
1464
+ };
1465
+ });
1466
+ }
1467
+ registerDestroyListener(fn) {
1468
+ this.destroy$.subscribe(i1.noop, i1.noop, () => fn());
1469
+ }
1470
+ registerChangeListeners() {
1471
+ this.containerWidget.registerPropertyChangeListener(this.onPropertyChange);
1472
+ this.containerWidget.registerStyleChangeListener(this.onPropertyChange);
1473
+ }
1474
+ initUserScript() {
1475
+ try {
1476
+ // partials inside prefab should have access to Prefab properties and events
1477
+ if (this.viewParent.prefabName) {
1478
+ // for partial within partial within prefabs, just assign the parent partial's prefab object
1479
+ if (this.viewParent.Prefab) {
1480
+ this.Prefab = this.viewParent.Prefab;
1481
+ }
1482
+ else {
1483
+ this.Prefab = this.viewParent;
1484
+ }
1485
+ }
1486
+ this.evalUserScript(this, this.App, this.injector ? this.injector.get(i1.UtilsService) : i0.inject(i1.UtilsService));
1487
+ }
1488
+ catch (e) {
1489
+ console.error(`Error in evaluating partial (${this.customWidgetName}) script\n`, e);
1490
+ }
1491
+ }
1492
+ initVariables() {
1493
+ const variablesService = this.injector ? this.injector.get(i4.VariablesService) : i0.inject(i4.VariablesService);
1494
+ // get variables and actions instances for the page
1495
+ const variableCollection = variablesService.register(this.customWidgetName, this.getVariables(), this);
1496
+ // create namespace for Variables nad Actions on page/partial, which inherits the Variables and Actions from App instance
1497
+ this.Variables = Object.create(this.App.Variables);
1498
+ this.Actions = Object.create(this.App.Actions);
1499
+ this.containerWidget.Variables = this.Variables;
1500
+ this.containerWidget.Actions = this.Actions;
1501
+ // assign all the page variables to the pageInstance
1502
+ Object.entries(variableCollection.Variables).forEach(([name, variable]) => this.Variables[name] = variable);
1503
+ Object.entries(variableCollection.Actions).forEach(([name, action]) => this.Actions[name] = action);
1504
+ this.viewInit$.subscribe(i1.noop, i1.noop, () => {
1505
+ // TEMP: triggering watchers so variables watching over params are updated
1506
+ i1.$invokeWatchers(true, true);
1507
+ variableCollection.callback(variableCollection.Variables).catch(i1.noop);
1508
+ variableCollection.callback(variableCollection.Actions);
1509
+ });
1510
+ }
1511
+ /**
1512
+ * function to register bind expressions generated in this partial instance
1513
+ * getExpressions function is defined in the generated page.comp.ts file
1514
+ * @param expressions, map of bind expression vs generated function
1515
+ */
1516
+ registerExpressions() {
1517
+ const expressions = this.getExpressions();
1518
+ _.each(expressions, (fn, expr) => {
1519
+ i1.registerFnByExpr(expr, fn[0], fn[1]);
1520
+ });
1521
+ }
1522
+ registerPageParams() {
1523
+ this.pageParams = this.containerWidget.props;
1524
+ }
1525
+ defineI18nProps() {
1526
+ this.appLocale = this.i18nService.getAppLocale();
1527
+ }
1528
+ invokeOnReady() {
1529
+ let params;
1530
+ if (this.containerWidget.userComponentParams) {
1531
+ params = this.containerWidget.userComponentParams;
1532
+ }
1533
+ this.onReady(params);
1534
+ if (this.viewParent.resolveFragment) {
1535
+ this.viewParent.resolveFragment();
1536
+ }
1537
+ }
1538
+ loadScripts() {
1539
+ // return new Promise<void>((resolve) => {
1540
+ // const scriptsRequired = this.partialDirective.$element.attr('scripts-to-load');
1541
+ // if (scriptsRequired) {
1542
+ // this.scriptLoaderService
1543
+ // .load(...scriptsRequired.split(','))
1544
+ // .then(resolve);
1545
+ // } else {
1546
+ // resolve();
1547
+ // }
1548
+ // });
1549
+ }
1550
+ registerProps(resolveFn) {
1551
+ window['resourceCache'].get(`./custom-widgets/${this.customWidgetName}/page.min.json`).then(({ config }) => {
1552
+ if (config) {
1553
+ Object.entries((config.properties || {})).forEach(([key, prop]) => {
1554
+ let expr;
1555
+ const value = _.trim(prop.value);
1556
+ if (_.startsWith(value, 'bind:')) {
1557
+ expr = value.replace('bind:', '');
1558
+ }
1559
+ Object.defineProperty(this, key, {
1560
+ get: () => this.containerWidget[key],
1561
+ set: nv => this.containerWidget.widget[key] = nv
1562
+ });
1563
+ if (expr) {
1564
+ //[Todo-CSP]: expr will be generated with prefab.comp.expr.ts
1565
+ this.registerDestroyListener(i1.$watch(expr, this, {}, nv => this.containerWidget.widget[key] = nv));
1566
+ }
1567
+ });
1568
+ }
1569
+ this.containerWidget.setProps(config, resolveFn);
1570
+ // Reassigning the proxy handler for prefab inbound properties as we
1571
+ // will get them only after the prefab config call.
1572
+ if (i1.isIE()) {
1573
+ this.containerWidget.widget = this.containerWidget.createProxy();
1574
+ }
1575
+ });
1576
+ }
1577
+ mute() {
1578
+ const m = o => { o && o.mute && o.mute(); };
1579
+ _.each(this.Widgets, m);
1580
+ _.each(this.Variables, m);
1581
+ _.each(this.Actions, m);
1582
+ }
1583
+ unmute() {
1584
+ const um = o => { o && o.unmute && o.unmute(); };
1585
+ _.each(this.Widgets, um);
1586
+ _.each(this.Variables, um);
1587
+ _.each(this.Actions, um);
1588
+ }
1589
+ // ngOnInit() {
1590
+ // this.init();
1591
+ // }
1592
+ ngAfterViewInit() {
1593
+ // this.loadScripts().then(() => {
1594
+ // this.compileContent = true;
1595
+ // setTimeout(() => {
1596
+ // this.viewInit$.complete();
1597
+ // this.fragmentsLoaded$.subscribe(noop, noop, () => this.invokeOnReady());
1598
+ // }, 100);
1599
+ // });
1600
+ this.registerChangeListeners();
1601
+ this.registerBaseWidget();
1602
+ this.invokeOnReady();
1603
+ }
1604
+ ngOnDestroy() {
1605
+ this.destroy$.complete();
1606
+ }
1607
+ ngOnAttach(refreshData) {
1608
+ this.unmute();
1609
+ if (refreshData) {
1610
+ const refresh = v => { v && v.startUpdate && v.invoke && v.invoke(); };
1611
+ _.each(this.Variables, refresh);
1612
+ _.each(this.Actions, refresh);
1613
+ }
1614
+ _.each(this.Widgets, w => w && w.ngOnAttach && w.ngOnAttach());
1615
+ }
1616
+ ngOnDetach() {
1617
+ this.mute();
1618
+ _.each(this.Widgets, w => w && w.ngOnDetach && w.ngOnDetach());
1619
+ }
1620
+ // user overrides this
1621
+ onPropertyChange() { }
1622
+ onReady(params) {
1623
+ }
1624
+ static { this.ɵfac = /*@__PURE__*/ function () { let ɵBaseCustomWidgetComponent_BaseFactory; return function BaseCustomWidgetComponent_Factory(t) { return (ɵBaseCustomWidgetComponent_BaseFactory || (ɵBaseCustomWidgetComponent_BaseFactory = i0__namespace.ɵɵgetInheritedFactory(BaseCustomWidgetComponent)))(t || BaseCustomWidgetComponent); }; }(); }
1625
+ static { this.ɵdir = /*@__PURE__*/ i0__namespace.ɵɵdefineDirective({ type: BaseCustomWidgetComponent, features: [i0__namespace.ɵɵInheritDefinitionFeature] }); }
1626
+ }
1627
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(BaseCustomWidgetComponent, [{
1628
+ type: i0.Directive
1629
+ }], null, null); })();
1630
+
1386
1631
  class BasePrefabComponent extends FragmentMonitor {
1387
1632
  constructor() {
1388
1633
  super(...arguments);
@@ -4647,6 +4892,7 @@
4647
4892
  carousel$1.CarouselModule,
4648
4893
  login.LoginModule,
4649
4894
  marquee.MarqueeModule,
4895
+ custom.CustomModule,
4650
4896
  page.PageModule,
4651
4897
  footer.FooterModule,
4652
4898
  header.HeaderModule,
@@ -4841,6 +5087,7 @@
4841
5087
  carousel$1.CarouselModule,
4842
5088
  login.LoginModule,
4843
5089
  marquee.MarqueeModule,
5090
+ custom.CustomModule,
4844
5091
  page.PageModule,
4845
5092
  footer.FooterModule,
4846
5093
  header.HeaderModule,
@@ -4971,6 +5218,7 @@
4971
5218
  carousel$1.CarouselModule,
4972
5219
  login.LoginModule,
4973
5220
  marquee.MarqueeModule,
5221
+ custom.CustomModule,
4974
5222
  page.PageModule,
4975
5223
  footer.FooterModule,
4976
5224
  header.HeaderModule,
@@ -5055,6 +5303,7 @@
5055
5303
  carousel$1.CarouselModule,
5056
5304
  login.LoginModule,
5057
5305
  marquee.MarqueeModule,
5306
+ custom.CustomModule,
5058
5307
  page.PageModule,
5059
5308
  footer.FooterModule,
5060
5309
  header.HeaderModule,
@@ -5152,6 +5401,7 @@
5152
5401
  exports.AppVariablesProvider = AppVariablesProvider;
5153
5402
  exports.AppVariablesResolve = AppVariablesResolve;
5154
5403
  exports.AuthGuard = AuthGuard;
5404
+ exports.BaseCustomWidgetComponent = BaseCustomWidgetComponent;
5155
5405
  exports.BaseLayoutComponent = BaseLayoutComponent;
5156
5406
  exports.BasePageComponent = BasePageComponent;
5157
5407
  exports.BasePartialComponent = BasePartialComponent;
@@ -0,0 +1,71 @@
1
+ import { AfterViewInit, Injector, OnDestroy } from '@angular/core';
2
+ import { ActivatedRoute, Router } from '@angular/router';
3
+ import { Subject } from 'rxjs';
4
+ import { AbstractI18nService, AbstractNavigationService, App, Viewport, ScriptLoaderService } from '@wm/core';
5
+ import { PageDirective, SpaPageDirective } from '@wm/components/page';
6
+ import { PrefabDirective } from '@wm/components/prefab';
7
+ import { FragmentMonitor } from '../util/fragment-monitor';
8
+ import { AppManagerService } from '../services/app.manager.service';
9
+ import * as i0 from "@angular/core";
10
+ export declare abstract class BaseCustomWidgetComponent extends FragmentMonitor implements AfterViewInit, OnDestroy {
11
+ Widgets: any;
12
+ BaseWidget: any;
13
+ Variables: any;
14
+ Actions: any;
15
+ App: App;
16
+ injector: Injector;
17
+ customWidgetName: string;
18
+ activePageName: string;
19
+ route: ActivatedRoute;
20
+ appManager: AppManagerService;
21
+ navigationService: AbstractNavigationService;
22
+ router: Router;
23
+ pageParams: any;
24
+ containerWidget: any;
25
+ i18nService: AbstractI18nService;
26
+ appLocale: any;
27
+ pageDirective: PageDirective | SpaPageDirective;
28
+ Prefab: PrefabDirective;
29
+ scriptLoaderService: ScriptLoaderService;
30
+ Viewport: Viewport;
31
+ compileContent: boolean;
32
+ spa: boolean;
33
+ events: any;
34
+ destroy$: Subject<unknown>;
35
+ viewInit$: Subject<unknown>;
36
+ private viewParent;
37
+ abstract evalUserScript(prefabContext: any, appContext: any, utils: any): any;
38
+ abstract getVariables(): any;
39
+ abstract getExpressions(): any;
40
+ getContainerWidgetInjector(): any;
41
+ init(): void;
42
+ registerWidgets(): void;
43
+ registerBaseWidget(): void;
44
+ invokeEvent: (eventName: string) => void;
45
+ registerEvents(): void;
46
+ registerDestroyListener(fn: Function): void;
47
+ registerChangeListeners(): void;
48
+ initUserScript(): void;
49
+ initVariables(): void;
50
+ /**
51
+ * function to register bind expressions generated in this partial instance
52
+ * getExpressions function is defined in the generated page.comp.ts file
53
+ * @param expressions, map of bind expression vs generated function
54
+ */
55
+ registerExpressions(): void;
56
+ registerPageParams(): void;
57
+ defineI18nProps(): void;
58
+ invokeOnReady(): void;
59
+ private loadScripts;
60
+ registerProps(resolveFn: Function): void;
61
+ mute(): void;
62
+ unmute(): void;
63
+ ngAfterViewInit(): void;
64
+ ngOnDestroy(): void;
65
+ ngOnAttach(refreshData: any): void;
66
+ ngOnDetach(): void;
67
+ onPropertyChange(): void;
68
+ onReady(params?: any): void;
69
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseCustomWidgetComponent, never>;
70
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseCustomWidgetComponent, never, never, {}, {}, never, never, false, never>;
71
+ }