cat-qw-lib 1.0.0 → 1.0.2
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/fesm2022/cat-qw-lib.mjs +6152 -0
- package/fesm2022/cat-qw-lib.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/admin/action-admin/action-admin.module.d.ts +15 -0
- package/lib/admin/action-admin/components/admin-action-form/admin-action-form.component.d.ts +31 -0
- package/lib/admin/action-admin/components/admin-action-list/admin-action-list.component.d.ts +18 -0
- package/lib/admin/action-admin/models/admin-action.model.d.ts +12 -0
- package/lib/admin/action-admin/state/admin-action.service.d.ts +16 -0
- package/lib/admin/action-admin/state/admin-action.store.d.ts +8 -0
- package/lib/admin/api-admin/api-admin.module.d.ts +18 -0
- package/lib/admin/api-admin/components/api-admin-form/api-admin-form.component.d.ts +36 -0
- package/lib/admin/api-admin/components/api-admin-list/api-admin-list.component.d.ts +18 -0
- package/lib/admin/api-admin/models/api-config.model.d.ts +13 -0
- package/lib/admin/api-admin/state/api-admin.service.d.ts +19 -0
- package/lib/admin/api-admin/state/api-admin.store.d.ts +8 -0
- package/lib/admin/dd-admin/components/dd-admin-form/dd-admin-form.component.d.ts +40 -0
- package/lib/admin/dd-admin/components/dd-admin-item-form/dd-admin-item-form.component.d.ts +35 -0
- package/lib/admin/dd-admin/components/dd-admin-list/dd-admin-list.component.d.ts +16 -0
- package/lib/admin/dd-admin/dd-admin.module.d.ts +20 -0
- package/lib/admin/dd-admin/models/api-property.model.d.ts +6 -0
- package/lib/admin/dd-admin/models/dd-attribute-sidebar-view.model.d.ts +4 -0
- package/lib/admin/dd-admin/models/dictionary.model.d.ts +14 -0
- package/lib/admin/dd-admin/state/dictionary.query.d.ts +20 -0
- package/lib/admin/dd-admin/state/dictionary.service.d.ts +17 -0
- package/lib/admin/dd-admin/state/dictionary.store.d.ts +14 -0
- package/lib/admin/queue-admin/components/queue-admin-form/queue-admin-form.component.d.ts +42 -0
- package/lib/admin/queue-admin/components/queue-admin-list/queue-admin-list.component.d.ts +18 -0
- package/lib/admin/queue-admin/components/queue-application-list/queue-application-list.component.d.ts +28 -0
- package/lib/admin/queue-admin/models/queue.model.d.ts +14 -0
- package/lib/admin/queue-admin/queue-admin-routing.module.d.ts +7 -0
- package/lib/admin/queue-admin/queue-admin.module.d.ts +16 -0
- package/lib/admin/queue-admin/state/queue.query.d.ts +10 -0
- package/lib/admin/queue-admin/state/queue.service.d.ts +16 -0
- package/{src/lib/admin/queue-admin/state/queue.state.ts → lib/admin/queue-admin/state/queue.state.d.ts} +6 -14
- package/lib/admin/queue-admin/state/queue.store.d.ts +8 -0
- package/lib/admin/template-admin/components/template-admin-form/template-admin-form.component.d.ts +34 -0
- package/lib/admin/template-admin/components/template-admin-list/template-admin-list.component.d.ts +18 -0
- package/lib/admin/template-admin/models/template.model.d.ts +11 -0
- package/lib/admin/template-admin/state/template-admin.query.d.ts +13 -0
- package/lib/admin/template-admin/state/template-admin.service.d.ts +17 -0
- package/lib/admin/template-admin/state/template-admin.store.d.ts +11 -0
- package/lib/admin/template-admin/template-admin.module.d.ts +17 -0
- package/lib/admin/widget-admin/components/widget-admin-form/widget-admin-form.component.d.ts +43 -0
- package/lib/admin/widget-admin/components/widget-admin-list/widget-admin-list.component.d.ts +17 -0
- package/lib/admin/widget-admin/models/widget.model.d.ts +31 -0
- package/lib/admin/widget-admin/state/widget-admin.query.d.ts +13 -0
- package/lib/admin/widget-admin/state/widget-admin.service.d.ts +23 -0
- package/lib/admin/widget-admin/state/widget-admin.store.d.ts +11 -0
- package/lib/admin/widget-admin/widget-admin.module.d.ts +20 -0
- package/lib/queue/components/queue-container/queue-container.component.d.ts +97 -0
- package/lib/queue/components/queue-item/queue-item.component.d.ts +25 -0
- package/lib/queue/components/queue-list/queue-list.component.d.ts +9 -0
- package/lib/queue/components/queue-record-table/queue-record-table.component.d.ts +80 -0
- package/lib/queue/components/queue-search/queue-search.component.d.ts +40 -0
- package/lib/queue/models/queue.model.d.ts +10 -0
- package/lib/queue/queue-routing.module.d.ts +7 -0
- package/lib/queue/queue.module.d.ts +23 -0
- package/lib/queue/services/application-assignment.service.d.ts +18 -0
- package/lib/queue/services/queue-record-table-builder.service.d.ts +10 -0
- package/lib/queue/state/queue.service.d.ts +45 -0
- package/lib/queue/state/queue.state.d.ts +4 -0
- package/lib/queue/state/queue.store.d.ts +8 -0
- package/lib/shared/_base/base-container/base-container.component.d.ts +10 -0
- package/lib/shared/_base/base-control/base-control.component.d.ts +34 -0
- package/lib/shared/_base/base-form/base-form.component.d.ts +48 -0
- package/lib/shared/_base/base-list/base-list.component.d.ts +26 -0
- package/lib/shared/components/form-container/form-container.component.d.ts +28 -0
- package/lib/shared/components/list/block-list.component.d.ts +16 -0
- package/lib/shared/components/queue-search-customer/queue-search-customer.component.d.ts +10 -0
- package/lib/shared/components/sidebar/sidebar.component.d.ts +13 -0
- package/lib/shared/constant/CSS.d.ts +11 -0
- package/lib/shared/constant/DATASOURCES.d.ts +18 -0
- package/lib/shared/constant/ERROR.d.ts +17 -0
- package/lib/shared/constant/HEADERS.d.ts +4 -0
- package/lib/shared/constant/LIST-CONFIG.d.ts +7 -0
- package/lib/shared/constant/LOOKUPS.d.ts +3 -0
- package/lib/shared/constant/MESSAGES.d.ts +7 -0
- package/lib/shared/constant/PERMISSION.d.ts +16 -0
- package/lib/shared/constant/ROUTES.d.ts +16 -0
- package/lib/shared/constant/SHARED.d.ts +261 -0
- package/lib/shared/constant/URLS.d.ts +6 -0
- package/lib/shared/controls/button/button.component.d.ts +6 -0
- package/lib/shared/controls/check-box/check-box.component.d.ts +9 -0
- package/lib/shared/controls/date/date.component.d.ts +14 -0
- package/lib/shared/controls/dropdown/dropdown.component.d.ts +24 -0
- package/lib/shared/controls/file-upload/file-upload.component.d.ts +7 -0
- package/lib/shared/controls/password/password.component.d.ts +11 -0
- package/lib/shared/controls/text-area/text-area.component.d.ts +8 -0
- package/lib/shared/controls/text-box/text-box.component.d.ts +7 -0
- package/lib/shared/controls/username/username.component.d.ts +6 -0
- package/lib/shared/directives/permission.directive.d.ts +14 -0
- package/{src/lib/shared/index.ts → lib/shared/index.d.ts} +34 -39
- package/lib/shared/models/attribute.model.d.ts +43 -0
- package/lib/shared/models/base.model.d.ts +4 -0
- package/{src/lib/shared/models/custom-widget.model.ts → lib/shared/models/custom-widget.model.d.ts} +13 -14
- package/lib/shared/models/list.model.d.ts +11 -0
- package/lib/shared/models/meta-data.model.d.ts +6 -0
- package/lib/shared/pipe/capitalize-words.pipe.d.ts +7 -0
- package/lib/shared/services/app-config.service.d.ts +19 -0
- package/lib/shared/services/auth/auth.guard.d.ts +12 -0
- package/lib/shared/services/custom-widget.service.d.ts +10 -0
- package/lib/shared/services/data-transformer.service.d.ts +8 -0
- package/lib/shared/services/date-parser.service.d.ts +7 -0
- package/lib/shared/services/form-state.service.d.ts +17 -0
- package/lib/shared/services/list.service.d.ts +13 -0
- package/lib/shared/services/session.service.d.ts +14 -0
- package/lib/shared/services/style-builder.service.d.ts +14 -0
- package/lib/shared/services/table.builder.d.ts +14 -0
- package/lib/shared/services/validator.service.d.ts +7 -0
- package/lib/shared/shared.module.d.ts +36 -0
- package/lib/shared/state/base.query.d.ts +29 -0
- package/lib/shared/state/base.service.d.ts +29 -0
- package/{src/lib/shared/state/base.state.ts → lib/shared/state/base.state.d.ts} +10 -10
- package/lib/shared/state/base.store.d.ts +36 -0
- package/lib/shared/table-primary/components/table-primary.component.d.ts +60 -0
- package/lib/shared/table-primary/models/table-primary-header.model.d.ts +6 -0
- package/lib/shared/table-primary/models/table-primary.model.d.ts +10 -0
- package/lib/shared/table-secondary/components/table-secondary.component.d.ts +132 -0
- package/lib/shared/table-secondary/models/table-secondary-header.model.d.ts +6 -0
- package/lib/shared/table-secondary/models/table-secondary.model.d.ts +17 -0
- package/lib/widget/components/custom-widget/custom-widget.component.d.ts +13 -0
- package/lib/widget/components/widget-body/widget-body.component.d.ts +17 -0
- package/lib/widget/components/widget-container/widget-container.component.d.ts +26 -0
- package/lib/widget/components/widget-footer/widget-footer.component.d.ts +16 -0
- package/lib/widget/components/widget-header/widget-header.component.d.ts +22 -0
- package/lib/widget/components/widget-item/widget-item.component.d.ts +56 -0
- package/lib/widget/components/widget-main/widget-main.component.d.ts +22 -0
- package/lib/widget/components/widget-menu/widget-menu.component.d.ts +36 -0
- package/lib/widget/components/widget-menu-body/widget-menu-body.component.d.ts +7 -0
- package/lib/widget/components/widget-menu-container/widget-menu-container.component.d.ts +48 -0
- package/lib/widget/components/widget-menu-header/widget-menu-header.component.d.ts +9 -0
- package/lib/widget/components/widget-menu-item/widget-menu-item.component.d.ts +23 -0
- package/lib/widget/components/widget-row-tile/widget-row-tile.component.d.ts +24 -0
- package/{src/lib/widget/models/custom-widget.model.ts → lib/widget/models/custom-widget.model.d.ts} +13 -14
- package/lib/widget/models/progress-chart.model.d.ts +9 -0
- package/lib/widget/models/widget.model.d.ts +47 -0
- package/lib/widget/state/widget.query.d.ts +22 -0
- package/lib/widget/state/widget.service.d.ts +20 -0
- package/lib/widget/state/widget.store.d.ts +25 -0
- package/lib/widget/widget.module.d.ts +27 -0
- package/package.json +25 -16
- package/{src/public-api.ts → public-api.d.ts} +26 -36
- package/ng-package.json +0 -10
- package/src/lib/admin/action-admin/action-admin.module.ts +0 -25
- package/src/lib/admin/action-admin/components/admin-action-form/admin-action-form.component.html +0 -113
- package/src/lib/admin/action-admin/components/admin-action-form/admin-action-form.component.scss +0 -4
- package/src/lib/admin/action-admin/components/admin-action-form/admin-action-form.component.spec.ts +0 -119
- package/src/lib/admin/action-admin/components/admin-action-form/admin-action-form.component.ts +0 -79
- package/src/lib/admin/action-admin/components/admin-action-list/admin-action-list.component.html +0 -5
- package/src/lib/admin/action-admin/components/admin-action-list/admin-action-list.component.scss +0 -0
- package/src/lib/admin/action-admin/components/admin-action-list/admin-action-list.component.spec.ts +0 -36
- package/src/lib/admin/action-admin/components/admin-action-list/admin-action-list.component.ts +0 -33
- package/src/lib/admin/action-admin/models/admin-action.model.ts +0 -14
- package/src/lib/admin/action-admin/state/admin-action.query.ts +0 -11
- package/src/lib/admin/action-admin/state/admin-action.service.spec.ts +0 -66
- package/src/lib/admin/action-admin/state/admin-action.service.ts +0 -29
- package/src/lib/admin/action-admin/state/admin-action.state.ts +0 -14
- package/src/lib/admin/action-admin/state/admin-action.store.ts +0 -14
- package/src/lib/admin/admin.module.ts +0 -22
- package/src/lib/admin/api-admin/api-admin.module.ts +0 -37
- package/src/lib/admin/api-admin/components/api-admin-form/api-admin-form.component.html +0 -157
- package/src/lib/admin/api-admin/components/api-admin-form/api-admin-form.component.scss +0 -12
- package/src/lib/admin/api-admin/components/api-admin-form/api-admin-form.component.spec.ts +0 -134
- package/src/lib/admin/api-admin/components/api-admin-form/api-admin-form.component.ts +0 -110
- package/src/lib/admin/api-admin/components/api-admin-list/api-admin-list.component.html +0 -5
- package/src/lib/admin/api-admin/components/api-admin-list/api-admin-list.component.scss +0 -0
- package/src/lib/admin/api-admin/components/api-admin-list/api-admin-list.component.spec.ts +0 -38
- package/src/lib/admin/api-admin/components/api-admin-list/api-admin-list.component.ts +0 -28
- package/src/lib/admin/api-admin/models/api-config.model.ts +0 -14
- package/src/lib/admin/api-admin/state/api-admin.query.ts +0 -16
- package/src/lib/admin/api-admin/state/api-admin.service.ts +0 -34
- package/src/lib/admin/api-admin/state/api-admin.state.ts +0 -14
- package/src/lib/admin/api-admin/state/api-admin.store.ts +0 -13
- package/src/lib/admin/dd-admin/components/dd-admin-form/dd-admin-form.component.html +0 -115
- package/src/lib/admin/dd-admin/components/dd-admin-form/dd-admin-form.component.scss +0 -4
- package/src/lib/admin/dd-admin/components/dd-admin-form/dd-admin-form.component.spec.ts +0 -100
- package/src/lib/admin/dd-admin/components/dd-admin-form/dd-admin-form.component.ts +0 -105
- package/src/lib/admin/dd-admin/components/dd-admin-item-form/dd-admin-item-form.component.html +0 -64
- package/src/lib/admin/dd-admin/components/dd-admin-item-form/dd-admin-item-form.component.scss +0 -0
- package/src/lib/admin/dd-admin/components/dd-admin-item-form/dd-admin-item-form.component.spec.ts +0 -108
- package/src/lib/admin/dd-admin/components/dd-admin-item-form/dd-admin-item-form.component.ts +0 -96
- package/src/lib/admin/dd-admin/components/dd-admin-list/dd-admin-list.component.html +0 -5
- package/src/lib/admin/dd-admin/components/dd-admin-list/dd-admin-list.component.scss +0 -0
- package/src/lib/admin/dd-admin/components/dd-admin-list/dd-admin-list.component.spec.ts +0 -34
- package/src/lib/admin/dd-admin/components/dd-admin-list/dd-admin-list.component.ts +0 -27
- package/src/lib/admin/dd-admin/dd-admin.module.ts +0 -34
- package/src/lib/admin/dd-admin/models/api-property.model.ts +0 -7
- package/src/lib/admin/dd-admin/models/dd-attribute-sidebar-view.model.ts +0 -6
- package/src/lib/admin/dd-admin/models/dictionary.model.ts +0 -16
- package/src/lib/admin/dd-admin/state/dictionary.query.ts +0 -30
- package/src/lib/admin/dd-admin/state/dictionary.service.ts +0 -37
- package/src/lib/admin/dd-admin/state/dictionary.state.ts +0 -30
- package/src/lib/admin/dd-admin/state/dictionary.store.ts +0 -22
- package/src/lib/admin/queue-admin/components/queue-admin-form/queue-admin-form.component.html +0 -115
- package/src/lib/admin/queue-admin/components/queue-admin-form/queue-admin-form.component.scss +0 -71
- package/src/lib/admin/queue-admin/components/queue-admin-form/queue-admin-form.component.spec.ts +0 -22
- package/src/lib/admin/queue-admin/components/queue-admin-form/queue-admin-form.component.ts +0 -185
- package/src/lib/admin/queue-admin/components/queue-admin-list/queue-admin-list.component.html +0 -24
- package/src/lib/admin/queue-admin/components/queue-admin-list/queue-admin-list.component.scss +0 -33
- package/src/lib/admin/queue-admin/components/queue-admin-list/queue-admin-list.component.spec.ts +0 -23
- package/src/lib/admin/queue-admin/components/queue-admin-list/queue-admin-list.component.ts +0 -46
- package/src/lib/admin/queue-admin/components/queue-application-list/queue-application-list.component.html +0 -69
- package/src/lib/admin/queue-admin/components/queue-application-list/queue-application-list.component.scss +0 -84
- package/src/lib/admin/queue-admin/components/queue-application-list/queue-application-list.component.spec.ts +0 -21
- package/src/lib/admin/queue-admin/components/queue-application-list/queue-application-list.component.ts +0 -93
- package/src/lib/admin/queue-admin/models/queue.model.ts +0 -15
- package/src/lib/admin/queue-admin/queue-admin-routing.module.ts +0 -17
- package/src/lib/admin/queue-admin/queue-admin.module.ts +0 -26
- package/src/lib/admin/queue-admin/state/queue.query.ts +0 -11
- package/src/lib/admin/queue-admin/state/queue.service.ts +0 -34
- package/src/lib/admin/queue-admin/state/queue.store.ts +0 -13
- package/src/lib/admin/template-admin/components/template-admin-form/template-admin-form.component.html +0 -99
- package/src/lib/admin/template-admin/components/template-admin-form/template-admin-form.component.scss +0 -3
- package/src/lib/admin/template-admin/components/template-admin-form/template-admin-form.component.spec.ts +0 -23
- package/src/lib/admin/template-admin/components/template-admin-form/template-admin-form.component.ts +0 -82
- package/src/lib/admin/template-admin/components/template-admin-list/template-admin-list.component.html +0 -41
- package/src/lib/admin/template-admin/components/template-admin-list/template-admin-list.component.scss +0 -30
- package/src/lib/admin/template-admin/components/template-admin-list/template-admin-list.component.spec.ts +0 -23
- package/src/lib/admin/template-admin/components/template-admin-list/template-admin-list.component.ts +0 -34
- package/src/lib/admin/template-admin/models/template.model.ts +0 -12
- package/src/lib/admin/template-admin/state/template-admin.query.ts +0 -17
- package/src/lib/admin/template-admin/state/template-admin.service.ts +0 -45
- package/src/lib/admin/template-admin/state/template-admin.state.ts +0 -14
- package/src/lib/admin/template-admin/state/template-admin.store.ts +0 -15
- package/src/lib/admin/template-admin/template-admin.module.ts +0 -40
- package/src/lib/admin/widget-admin/components/widget-admin-form/widget-admin-form.component.html +0 -170
- package/src/lib/admin/widget-admin/components/widget-admin-form/widget-admin-form.component.scss +0 -4
- package/src/lib/admin/widget-admin/components/widget-admin-form/widget-admin-form.component.spec.ts +0 -23
- package/src/lib/admin/widget-admin/components/widget-admin-form/widget-admin-form.component.ts +0 -139
- package/src/lib/admin/widget-admin/components/widget-admin-list/widget-admin-list.component.html +0 -5
- package/src/lib/admin/widget-admin/components/widget-admin-list/widget-admin-list.component.scss +0 -0
- package/src/lib/admin/widget-admin/components/widget-admin-list/widget-admin-list.component.spec.ts +0 -23
- package/src/lib/admin/widget-admin/components/widget-admin-list/widget-admin-list.component.ts +0 -28
- package/src/lib/admin/widget-admin/models/widget.model.ts +0 -35
- package/src/lib/admin/widget-admin/state/widget-admin.query.ts +0 -17
- package/src/lib/admin/widget-admin/state/widget-admin.service.ts +0 -72
- package/src/lib/admin/widget-admin/state/widget-admin.state.ts +0 -14
- package/src/lib/admin/widget-admin/state/widget-admin.store.ts +0 -15
- package/src/lib/admin/widget-admin/widget-admin.module.ts +0 -30
- package/src/lib/queue/ASSIGNMENT_FUNCTIONALITY.md +0 -114
- package/src/lib/queue/CHECKBOX_SELECTION_EXAMPLE.md +0 -240
- package/src/lib/queue/CONTENT_PROJECTION_GUIDE.md +0 -163
- package/src/lib/queue/components/queue-container/queue-container.component.html +0 -37
- package/src/lib/queue/components/queue-container/queue-container.component.scss +0 -7
- package/src/lib/queue/components/queue-container/queue-container.component.ts +0 -155
- package/src/lib/queue/components/queue-item/queue-item.component.html +0 -37
- package/src/lib/queue/components/queue-item/queue-item.component.scss +0 -105
- package/src/lib/queue/components/queue-item/queue-item.component.spec.ts +0 -104
- package/src/lib/queue/components/queue-item/queue-item.component.ts +0 -67
- package/src/lib/queue/components/queue-list/queue-list.component.html +0 -4
- package/src/lib/queue/components/queue-list/queue-list.component.scss +0 -0
- package/src/lib/queue/components/queue-list/queue-list.component.spec.ts +0 -46
- package/src/lib/queue/components/queue-list/queue-list.component.ts +0 -18
- package/src/lib/queue/components/queue-record-table/queue-record-table.component.html +0 -14
- package/src/lib/queue/components/queue-record-table/queue-record-table.component.scss +0 -1
- package/src/lib/queue/components/queue-record-table/queue-record-table.component.ts +0 -241
- package/src/lib/queue/components/queue-search/queue-search.component.html +0 -11
- package/src/lib/queue/components/queue-search/queue-search.component.scss +0 -36
- package/src/lib/queue/components/queue-search/queue-search.component.spec.ts +0 -121
- package/src/lib/queue/components/queue-search/queue-search.component.ts +0 -77
- package/src/lib/queue/models/queue.model.ts +0 -11
- package/src/lib/queue/queue-routing.module.ts +0 -21
- package/src/lib/queue/queue.module.ts +0 -48
- package/src/lib/queue/services/application-assignment.service.ts +0 -27
- package/src/lib/queue/services/queue-record-table-builder.service.ts +0 -66
- package/src/lib/queue/state/queue.service.ts +0 -85
- package/src/lib/queue/state/queue.state.ts +0 -13
- package/src/lib/queue/state/queue.store.ts +0 -14
- package/src/lib/shared/_base/base-container/base-container.component.html +0 -1
- package/src/lib/shared/_base/base-container/base-container.component.scss +0 -0
- package/src/lib/shared/_base/base-container/base-container.component.spec.ts +0 -21
- package/src/lib/shared/_base/base-container/base-container.component.ts +0 -19
- package/src/lib/shared/_base/base-control/base-control.component.html +0 -1
- package/src/lib/shared/_base/base-control/base-control.component.scss +0 -0
- package/src/lib/shared/_base/base-control/base-control.component.spec.ts +0 -21
- package/src/lib/shared/_base/base-control/base-control.component.ts +0 -91
- package/src/lib/shared/_base/base-form/base-form.component.html +0 -1
- package/src/lib/shared/_base/base-form/base-form.component.scss +0 -0
- package/src/lib/shared/_base/base-form/base-form.component.spec.ts +0 -133
- package/src/lib/shared/_base/base-form/base-form.component.ts +0 -203
- package/src/lib/shared/_base/base-list/base-list.component.html +0 -1
- package/src/lib/shared/_base/base-list/base-list.component.scss +0 -0
- package/src/lib/shared/_base/base-list/base-list.component.spec.ts +0 -21
- package/src/lib/shared/_base/base-list/base-list.component.ts +0 -47
- package/src/lib/shared/components/form-container/form-container.component.html +0 -54
- package/src/lib/shared/components/form-container/form-container.component.scss +0 -94
- package/src/lib/shared/components/form-container/form-container.component.spec.ts +0 -21
- package/src/lib/shared/components/form-container/form-container.component.ts +0 -75
- package/src/lib/shared/components/list/block-list.component.html +0 -44
- package/src/lib/shared/components/list/block-list.component.scss +0 -46
- package/src/lib/shared/components/list/block-list.component.spec.ts +0 -21
- package/src/lib/shared/components/list/block-list.component.ts +0 -57
- package/src/lib/shared/components/queue-search-customer/queue-search-customer.component.html +0 -24
- package/src/lib/shared/components/queue-search-customer/queue-search-customer.component.scss +0 -36
- package/src/lib/shared/components/queue-search-customer/queue-search-customer.component.spec.ts +0 -21
- package/src/lib/shared/components/queue-search-customer/queue-search-customer.component.ts +0 -25
- package/src/lib/shared/components/sidebar/sidebar.component.html +0 -13
- package/src/lib/shared/components/sidebar/sidebar.component.scss +0 -42
- package/src/lib/shared/components/sidebar/sidebar.component.spec.ts +0 -24
- package/src/lib/shared/components/sidebar/sidebar.component.ts +0 -26
- package/src/lib/shared/constant/CSS.ts +0 -9
- package/src/lib/shared/constant/DATASOURCES.ts +0 -19
- package/src/lib/shared/constant/ERROR.ts +0 -17
- package/src/lib/shared/constant/HEADERS.ts +0 -4
- package/src/lib/shared/constant/LIST-CONFIG.ts +0 -28
- package/src/lib/shared/constant/LOOKUPS.ts +0 -3
- package/src/lib/shared/constant/MESSAGES.ts +0 -7
- package/src/lib/shared/constant/PERMISSION.ts +0 -16
- package/src/lib/shared/constant/ROUTES.ts +0 -16
- package/src/lib/shared/constant/SHARED.ts +0 -420
- package/src/lib/shared/constant/URLS.ts +0 -7
- package/src/lib/shared/controls/button/button.component.html +0 -25
- package/src/lib/shared/controls/button/button.component.scss +0 -0
- package/src/lib/shared/controls/button/button.component.spec.ts +0 -21
- package/src/lib/shared/controls/button/button.component.ts +0 -15
- package/src/lib/shared/controls/check-box/check-box.component.html +0 -22
- package/src/lib/shared/controls/check-box/check-box.component.scss +0 -32
- package/src/lib/shared/controls/check-box/check-box.component.spec.ts +0 -26
- package/src/lib/shared/controls/check-box/check-box.component.ts +0 -19
- package/src/lib/shared/controls/date/date.component.html +0 -43
- package/src/lib/shared/controls/date/date.component.scss +0 -0
- package/src/lib/shared/controls/date/date.component.spec.ts +0 -21
- package/src/lib/shared/controls/date/date.component.ts +0 -44
- package/src/lib/shared/controls/dropdown/dropdown.component.html +0 -32
- package/src/lib/shared/controls/dropdown/dropdown.component.scss +0 -12
- package/src/lib/shared/controls/dropdown/dropdown.component.ts +0 -79
- package/src/lib/shared/controls/file-upload/file-upload.component.html +0 -18
- package/src/lib/shared/controls/file-upload/file-upload.component.scss +0 -0
- package/src/lib/shared/controls/file-upload/file-upload.component.spec.ts +0 -21
- package/src/lib/shared/controls/file-upload/file-upload.component.ts +0 -19
- package/src/lib/shared/controls/number-feild/number-feild.component.html +0 -39
- package/src/lib/shared/controls/number-feild/number-feild.component.scss +0 -13
- package/src/lib/shared/controls/number-feild/number-feild.component.spec.ts +0 -21
- package/src/lib/shared/controls/number-feild/number-feild.component.ts +0 -35
- package/src/lib/shared/controls/password/password.component.html +0 -25
- package/src/lib/shared/controls/password/password.component.scss +0 -0
- package/src/lib/shared/controls/password/password.component.spec.ts +0 -28
- package/src/lib/shared/controls/password/password.component.ts +0 -26
- package/src/lib/shared/controls/text-area/text-area.component.html +0 -38
- package/src/lib/shared/controls/text-area/text-area.component.scss +0 -22
- package/src/lib/shared/controls/text-area/text-area.component.spec.ts +0 -23
- package/src/lib/shared/controls/text-area/text-area.component.ts +0 -25
- package/src/lib/shared/controls/text-box/text-box.component.html +0 -39
- package/src/lib/shared/controls/text-box/text-box.component.scss +0 -25
- package/src/lib/shared/controls/text-box/text-box.component.spec.ts +0 -30
- package/src/lib/shared/controls/text-box/text-box.component.ts +0 -26
- package/src/lib/shared/controls/username/username.component.html +0 -20
- package/src/lib/shared/controls/username/username.component.scss +0 -0
- package/src/lib/shared/controls/username/username.component.spec.ts +0 -29
- package/src/lib/shared/controls/username/username.component.ts +0 -17
- package/src/lib/shared/directives/permission.directive.spec.ts +0 -60
- package/src/lib/shared/directives/permission.directive.ts +0 -39
- package/src/lib/shared/models/attribute.model.ts +0 -44
- package/src/lib/shared/models/base.model.ts +0 -4
- package/src/lib/shared/models/list.model.ts +0 -27
- package/src/lib/shared/models/message.model.ts +0 -4
- package/src/lib/shared/models/meta-data.model.ts +0 -6
- package/src/lib/shared/pipe/capitalize-words.pipe.spec.ts +0 -8
- package/src/lib/shared/pipe/capitalize-words.pipe.ts +0 -17
- package/src/lib/shared/services/app-config.service.spec.ts +0 -16
- package/src/lib/shared/services/app-config.service.ts +0 -56
- package/src/lib/shared/services/auth/auth.guard.spec.ts +0 -47
- package/src/lib/shared/services/auth/auth.guard.ts +0 -25
- package/src/lib/shared/services/custom-widget.service.ts +0 -29
- package/src/lib/shared/services/data-transformer.service.spec.ts +0 -16
- package/src/lib/shared/services/data-transformer.service.ts +0 -41
- package/src/lib/shared/services/date-parser.service.spec.ts +0 -16
- package/src/lib/shared/services/date-parser.service.ts +0 -54
- package/src/lib/shared/services/form-state.service.spec.ts +0 -16
- package/src/lib/shared/services/form-state.service.ts +0 -50
- package/src/lib/shared/services/list.service.spec.ts +0 -16
- package/src/lib/shared/services/list.service.ts +0 -54
- package/src/lib/shared/services/session.service.spec.ts +0 -16
- package/src/lib/shared/services/session.service.ts +0 -44
- package/src/lib/shared/services/style-builder.service.spec.ts +0 -16
- package/src/lib/shared/services/style-builder.service.ts +0 -61
- package/src/lib/shared/services/table.builder.ts +0 -43
- package/src/lib/shared/services/validator.service.spec.ts +0 -16
- package/src/lib/shared/services/validator.service.ts +0 -13
- package/src/lib/shared/shared.module.ts +0 -68
- package/src/lib/shared/state/base.query.ts +0 -73
- package/src/lib/shared/state/base.service.ts +0 -104
- package/src/lib/shared/state/base.store.ts +0 -89
- package/src/lib/shared/table-primary/components/table-primary.component.html +0 -99
- package/src/lib/shared/table-primary/components/table-primary.component.scss +0 -226
- package/src/lib/shared/table-primary/components/table-primary.component.spec.ts +0 -21
- package/src/lib/shared/table-primary/components/table-primary.component.ts +0 -191
- package/src/lib/shared/table-primary/models/table-primary-header.model.ts +0 -7
- package/src/lib/shared/table-primary/models/table-primary.model.ts +0 -13
- package/src/lib/shared/table-secondary/components/table-secondary.component.html +0 -162
- package/src/lib/shared/table-secondary/components/table-secondary.component.scss +0 -406
- package/src/lib/shared/table-secondary/components/table-secondary.component.spec.ts +0 -95
- package/src/lib/shared/table-secondary/components/table-secondary.component.ts +0 -235
- package/src/lib/shared/table-secondary/index.ts +0 -3
- package/src/lib/shared/table-secondary/models/table-secondary-form.model.ts +0 -12
- package/src/lib/shared/table-secondary/models/table-secondary-header.model.ts +0 -7
- package/src/lib/shared/table-secondary/models/table-secondary.model.ts +0 -20
- package/src/lib/widget/components/custom-widget/custom-widget.component.html +0 -71
- package/src/lib/widget/components/custom-widget/custom-widget.component.scss +0 -43
- package/src/lib/widget/components/custom-widget/custom-widget.component.spec.ts +0 -23
- package/src/lib/widget/components/custom-widget/custom-widget.component.ts +0 -27
- package/src/lib/widget/components/widget-body/widget-body.component.html +0 -14
- package/src/lib/widget/components/widget-body/widget-body.component.scss +0 -16
- package/src/lib/widget/components/widget-body/widget-body.component.spec.ts +0 -23
- package/src/lib/widget/components/widget-body/widget-body.component.ts +0 -39
- package/src/lib/widget/components/widget-container/widget-container.component.html +0 -21
- package/src/lib/widget/components/widget-container/widget-container.component.scss +0 -86
- package/src/lib/widget/components/widget-container/widget-container.component.spec.ts +0 -56
- package/src/lib/widget/components/widget-container/widget-container.component.ts +0 -47
- package/src/lib/widget/components/widget-footer/widget-footer.component.html +0 -10
- package/src/lib/widget/components/widget-footer/widget-footer.component.scss +0 -0
- package/src/lib/widget/components/widget-footer/widget-footer.component.spec.ts +0 -23
- package/src/lib/widget/components/widget-footer/widget-footer.component.ts +0 -25
- package/src/lib/widget/components/widget-header/widget-header.component.html +0 -13
- package/src/lib/widget/components/widget-header/widget-header.component.scss +0 -25
- package/src/lib/widget/components/widget-header/widget-header.component.spec.ts +0 -108
- package/src/lib/widget/components/widget-header/widget-header.component.ts +0 -31
- package/src/lib/widget/components/widget-item/widget-item.component.html +0 -60
- package/src/lib/widget/components/widget-item/widget-item.component.scss +0 -83
- package/src/lib/widget/components/widget-item/widget-item.component.spec.ts +0 -159
- package/src/lib/widget/components/widget-item/widget-item.component.ts +0 -119
- package/src/lib/widget/components/widget-main/widget-main.component.html +0 -9
- package/src/lib/widget/components/widget-main/widget-main.component.scss +0 -0
- package/src/lib/widget/components/widget-main/widget-main.component.spec.ts +0 -60
- package/src/lib/widget/components/widget-main/widget-main.component.ts +0 -30
- package/src/lib/widget/components/widget-menu/widget-menu.component.html +0 -28
- package/src/lib/widget/components/widget-menu/widget-menu.component.scss +0 -0
- package/src/lib/widget/components/widget-menu/widget-menu.component.spec.ts +0 -251
- package/src/lib/widget/components/widget-menu/widget-menu.component.ts +0 -139
- package/src/lib/widget/components/widget-menu-body/widget-menu-body.component.html +0 -15
- package/src/lib/widget/components/widget-menu-body/widget-menu-body.component.scss +0 -11
- package/src/lib/widget/components/widget-menu-body/widget-menu-body.component.spec.ts +0 -23
- package/src/lib/widget/components/widget-menu-body/widget-menu-body.component.ts +0 -12
- package/src/lib/widget/components/widget-menu-container/widget-menu-container.component.html +0 -28
- package/src/lib/widget/components/widget-menu-container/widget-menu-container.component.scss +0 -66
- package/src/lib/widget/components/widget-menu-container/widget-menu-container.component.spec.ts +0 -23
- package/src/lib/widget/components/widget-menu-container/widget-menu-container.component.ts +0 -172
- package/src/lib/widget/components/widget-menu-header/widget-menu-header.component.html +0 -24
- package/src/lib/widget/components/widget-menu-header/widget-menu-header.component.scss +0 -19
- package/src/lib/widget/components/widget-menu-header/widget-menu-header.component.spec.ts +0 -23
- package/src/lib/widget/components/widget-menu-header/widget-menu-header.component.ts +0 -14
- package/src/lib/widget/components/widget-menu-item/widget-menu-item.component.html +0 -30
- package/src/lib/widget/components/widget-menu-item/widget-menu-item.component.scss +0 -32
- package/src/lib/widget/components/widget-menu-item/widget-menu-item.component.spec.ts +0 -23
- package/src/lib/widget/components/widget-menu-item/widget-menu-item.component.ts +0 -69
- package/src/lib/widget/components/widget-row-tile/widget-row-tile.component.html +0 -22
- package/src/lib/widget/components/widget-row-tile/widget-row-tile.component.scss +0 -0
- package/src/lib/widget/components/widget-row-tile/widget-row-tile.component.spec.ts +0 -69
- package/src/lib/widget/components/widget-row-tile/widget-row-tile.component.ts +0 -54
- package/src/lib/widget/models/progress-chart.model.ts +0 -11
- package/src/lib/widget/models/widget.model.ts +0 -51
- package/src/lib/widget/state/widget.query.ts +0 -45
- package/src/lib/widget/state/widget.service.ts +0 -46
- package/src/lib/widget/state/widget.state.ts +0 -18
- package/src/lib/widget/state/widget.store.ts +0 -59
- package/src/lib/widget/widget.module.ts +0 -39
- package/tsconfig.lib.json +0 -15
- package/tsconfig.lib.prod.json +0 -11
- package/tsconfig.spec.json +0 -15
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
# Application Assignment Functionality
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
This module provides functionality to assign applications from the queue to users (underwriters). Users can select multiple applications from the queue table and assign them to a specific user through a dropdown interface.
|
|
5
|
-
|
|
6
|
-
## Components
|
|
7
|
-
|
|
8
|
-
### UserDropdownComponent
|
|
9
|
-
- **Location**: `src/app/queue/components/user-dropdown/`
|
|
10
|
-
- **Purpose**: Provides a dropdown interface for selecting users and assigning applications
|
|
11
|
-
- **Features**:
|
|
12
|
-
- Search users by name
|
|
13
|
-
- Display user initials as avatars
|
|
14
|
-
- Handle multiple application assignments
|
|
15
|
-
- Loading states for better UX
|
|
16
|
-
|
|
17
|
-
### ApplicationAssignmentService
|
|
18
|
-
- **Location**: `src/app/queue/services/application-assignment.service.ts`
|
|
19
|
-
- **Purpose**: Handles API calls for application assignment
|
|
20
|
-
- **API Endpoint**: `POST http://localhost:3300/api/ApplicationAssignments/assignApplication/:applicationId/:underWriterId`
|
|
21
|
-
|
|
22
|
-
## Usage
|
|
23
|
-
|
|
24
|
-
### Input Properties
|
|
25
|
-
- `selectedRows`: Array of selected table rows (applications) to assign
|
|
26
|
-
- `disabled`: Boolean to disable the assign button
|
|
27
|
-
|
|
28
|
-
### Output Events
|
|
29
|
-
- `userAssigned`: Emitted when a user is selected (before API call)
|
|
30
|
-
- `assignmentComplete`: Emitted after assignment API call completes
|
|
31
|
-
|
|
32
|
-
### Example Usage
|
|
33
|
-
```html
|
|
34
|
-
<app-user-dropdown
|
|
35
|
-
[selectedRows]="selectedRows"
|
|
36
|
-
[disabled]="!isAssignButtonEnabled()"
|
|
37
|
-
(userAssigned)="onUserAssigned($event)"
|
|
38
|
-
(assignmentComplete)="onAssignmentComplete($event)">
|
|
39
|
-
</app-user-dropdown>
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## API Integration
|
|
43
|
-
|
|
44
|
-
### Assignment API
|
|
45
|
-
- **Method**: POST
|
|
46
|
-
- **URL**: `http://localhost:3300/api/ApplicationAssignments/assignApplication/:applicationId/:underWriterId`
|
|
47
|
-
- **Parameters**:
|
|
48
|
-
- `applicationId`: The `_id` of the application to assign
|
|
49
|
-
- `underWriterId`: The `_id` of the user to assign the application to
|
|
50
|
-
|
|
51
|
-
### User Search API
|
|
52
|
-
- **Method**: GET
|
|
53
|
-
- **URL**: `http://localhost:3300/api/Applications/getAllUsers?searchKey=:searchKey`
|
|
54
|
-
- **Parameters**:
|
|
55
|
-
- `searchKey`: Search term for filtering users
|
|
56
|
-
|
|
57
|
-
## User Feedback
|
|
58
|
-
|
|
59
|
-
### Toast Notifications
|
|
60
|
-
- **Success**: Green toast with assignment confirmation
|
|
61
|
-
- **Error**: Red toast with error message and retry suggestion
|
|
62
|
-
|
|
63
|
-
### Loading States
|
|
64
|
-
- **Button**: Shows spinner and "Assigning..." text during assignment
|
|
65
|
-
- **Dropdown**: Disabled during assignment process
|
|
66
|
-
- **Search**: Disabled during assignment process
|
|
67
|
-
|
|
68
|
-
## Error Handling
|
|
69
|
-
|
|
70
|
-
### Common Error Scenarios
|
|
71
|
-
1. **No Application ID**: When selected row doesn't have a valid `_id`
|
|
72
|
-
2. **API Failure**: When the assignment API call fails
|
|
73
|
-
3. **Network Issues**: When there are connectivity problems
|
|
74
|
-
|
|
75
|
-
### Error Recovery
|
|
76
|
-
- Users can retry the assignment operation
|
|
77
|
-
- Clear error messages are displayed
|
|
78
|
-
- Application state is preserved for retry
|
|
79
|
-
|
|
80
|
-
## State Management
|
|
81
|
-
|
|
82
|
-
### Queue Refresh
|
|
83
|
-
After successful assignment, the queue data is automatically refreshed to reflect the changes in the UI.
|
|
84
|
-
|
|
85
|
-
### Selection Clearing
|
|
86
|
-
The table selection is cleared after successful assignment to prevent duplicate assignments.
|
|
87
|
-
|
|
88
|
-
## Dependencies
|
|
89
|
-
|
|
90
|
-
### PrimeNG Components
|
|
91
|
-
- `ButtonModule`: For the assign button
|
|
92
|
-
- `ToastModule`: For success/error notifications
|
|
93
|
-
|
|
94
|
-
### Angular Modules
|
|
95
|
-
- `FormsModule`: For search input binding
|
|
96
|
-
- `CommonModule`: For common directives
|
|
97
|
-
- `HttpClientModule`: For API calls
|
|
98
|
-
|
|
99
|
-
## Testing
|
|
100
|
-
|
|
101
|
-
### Manual Testing Steps
|
|
102
|
-
1. Select one or more applications from the queue table
|
|
103
|
-
2. Click the "Assign" button
|
|
104
|
-
3. Search for a user in the dropdown
|
|
105
|
-
4. Click on a user to assign the applications
|
|
106
|
-
5. Verify success/error toast messages
|
|
107
|
-
6. Check that queue data refreshes after successful assignment
|
|
108
|
-
|
|
109
|
-
### Key Test Cases
|
|
110
|
-
- Single application assignment
|
|
111
|
-
- Multiple application assignment
|
|
112
|
-
- User search functionality
|
|
113
|
-
- Error handling scenarios
|
|
114
|
-
- Loading state verification
|
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
# Checkbox Selection Events Example
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
This document shows how the checkbox selection events work in the queue table and how gb-ng can handle them for assignment logic.
|
|
5
|
-
|
|
6
|
-
## Event Flow
|
|
7
|
-
|
|
8
|
-
### 1. User clicks checkbox in table row
|
|
9
|
-
|
|
10
|
-
```typescript
|
|
11
|
-
// When user clicks checkbox on a row with data:
|
|
12
|
-
{
|
|
13
|
-
_id: "app_123",
|
|
14
|
-
applicationNumber: "APP-2024-001",
|
|
15
|
-
applicationType: "Loan",
|
|
16
|
-
status: "Pending",
|
|
17
|
-
customerName: "John Doe",
|
|
18
|
-
// ... other row data
|
|
19
|
-
}
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
### 2. Events emitted in sequence
|
|
23
|
-
|
|
24
|
-
#### Event 1: `rowSelected`
|
|
25
|
-
```typescript
|
|
26
|
-
// Emitted immediately when checkbox is clicked
|
|
27
|
-
{
|
|
28
|
-
row: {
|
|
29
|
-
_id: "app_123",
|
|
30
|
-
applicationNumber: "APP-2024-001",
|
|
31
|
-
applicationType: "Loan",
|
|
32
|
-
status: "Pending",
|
|
33
|
-
customerName: "John Doe"
|
|
34
|
-
},
|
|
35
|
-
isSelected: true // or false if deselected
|
|
36
|
-
}
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
#### Event 2: `selectedRowsData`
|
|
40
|
-
```typescript
|
|
41
|
-
// Emitted after selection state is updated
|
|
42
|
-
[
|
|
43
|
-
{
|
|
44
|
-
_id: "app_123",
|
|
45
|
-
applicationNumber: "APP-2024-001",
|
|
46
|
-
applicationType: "Loan",
|
|
47
|
-
status: "Pending",
|
|
48
|
-
customerName: "John Doe"
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
_id: "app_124",
|
|
52
|
-
applicationNumber: "APP-2024-001",
|
|
53
|
-
applicationType: "Credit Card",
|
|
54
|
-
status: "Pending",
|
|
55
|
-
customerName: "Jane Smith"
|
|
56
|
-
}
|
|
57
|
-
// ... all currently selected rows
|
|
58
|
-
]
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
#### Event 3: `assignmentDataReady`
|
|
62
|
-
```typescript
|
|
63
|
-
// Emitted with complete context for assignment
|
|
64
|
-
{
|
|
65
|
-
selectedRows: [
|
|
66
|
-
{
|
|
67
|
-
_id: "app_123",
|
|
68
|
-
applicationNumber: "APP-2024-001",
|
|
69
|
-
applicationType: "Loan",
|
|
70
|
-
status: "Pending",
|
|
71
|
-
customerName: "John Doe"
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
_id: "app_124",
|
|
75
|
-
applicationNumber: "APP-2024-001",
|
|
76
|
-
applicationType: "Credit Card",
|
|
77
|
-
status: "Pending",
|
|
78
|
-
customerName: "Jane Smith"
|
|
79
|
-
}
|
|
80
|
-
],
|
|
81
|
-
queueData: {
|
|
82
|
-
_id: "queue_456",
|
|
83
|
-
name: "Loan Applications",
|
|
84
|
-
apiConfig: {
|
|
85
|
-
// ... queue configuration
|
|
86
|
-
},
|
|
87
|
-
// ... other queue data
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## Implementation in gb-ng
|
|
93
|
-
|
|
94
|
-
```typescript
|
|
95
|
-
export class QueueAssignmentComponent {
|
|
96
|
-
selectedRows: any[] = [];
|
|
97
|
-
currentQueueData: any;
|
|
98
|
-
assignmentReady = false;
|
|
99
|
-
|
|
100
|
-
// Handle individual row selection
|
|
101
|
-
handleRowSelected(event: { row: any, isSelected: boolean }) {
|
|
102
|
-
console.log(`${event.isSelected ? 'Selected' : 'Deselected'}:`, event.row);
|
|
103
|
-
|
|
104
|
-
// You can perform immediate actions based on individual selections
|
|
105
|
-
if (event.isSelected) {
|
|
106
|
-
// Row was selected - maybe show a quick action
|
|
107
|
-
this.showQuickAssignButton(event.row);
|
|
108
|
-
} else {
|
|
109
|
-
// Row was deselected - maybe hide quick action
|
|
110
|
-
this.hideQuickAssignButton(event.row);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
// Handle selection change
|
|
115
|
-
handleSelectedRowsData(selectedRows: any[]) {
|
|
116
|
-
this.selectedRows = selectedRows;
|
|
117
|
-
console.log(`Total selected: ${selectedRows.length} rows`);
|
|
118
|
-
|
|
119
|
-
// Update UI based on selection count
|
|
120
|
-
this.updateAssignButtonState();
|
|
121
|
-
|
|
122
|
-
// Maybe show selection summary
|
|
123
|
-
if (selectedRows.length > 0) {
|
|
124
|
-
this.showSelectionSummary(selectedRows);
|
|
125
|
-
} else {
|
|
126
|
-
this.hideSelectionSummary();
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
// Handle assignment data ready
|
|
131
|
-
handleAssignmentDataReady(event: { selectedRows: any[], queueData: any }) {
|
|
132
|
-
this.selectedRows = event.selectedRows;
|
|
133
|
-
this.currentQueueData = event.queueData;
|
|
134
|
-
this.assignmentReady = true;
|
|
135
|
-
|
|
136
|
-
console.log('Assignment data ready!');
|
|
137
|
-
console.log(`- Queue: ${event.queueData.name}`);
|
|
138
|
-
console.log(`- Selected applications: ${event.selectedRows.length}`);
|
|
139
|
-
|
|
140
|
-
// This is the perfect place to prepare your assignment logic
|
|
141
|
-
this.prepareAssignmentLogic();
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
// Example assignment logic preparation
|
|
145
|
-
private prepareAssignmentLogic() {
|
|
146
|
-
if (this.selectedRows.length === 0) {
|
|
147
|
-
this.disableAssignButton();
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
// Check if all selected applications are assignable
|
|
152
|
-
const assignableApps = this.selectedRows.filter(row =>
|
|
153
|
-
row.status === 'Pending' || row.status === 'Under Review'
|
|
154
|
-
);
|
|
155
|
-
|
|
156
|
-
if (assignableApps.length !== this.selectedRows.length) {
|
|
157
|
-
this.showWarning('Some applications cannot be assigned');
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
// Enable assign button
|
|
161
|
-
this.enableAssignButton();
|
|
162
|
-
|
|
163
|
-
// Prepare assignment data
|
|
164
|
-
const assignmentData = {
|
|
165
|
-
applicationIds: this.selectedRows.map(row => row._id),
|
|
166
|
-
queueId: this.currentQueueData._id,
|
|
167
|
-
totalApplications: this.selectedRows.length
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
// Pass to your user dropdown component
|
|
171
|
-
this.updateUserDropdownData(assignmentData);
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
// Example methods (implement as needed)
|
|
175
|
-
private showQuickAssignButton(row: any) {
|
|
176
|
-
// Show quick assign button for individual row
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
private hideQuickAssignButton(row: any) {
|
|
180
|
-
// Hide quick assign button for individual row
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
private updateAssignButtonState() {
|
|
184
|
-
// Update assign button enabled/disabled state
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
private showSelectionSummary(rows: any[]) {
|
|
188
|
-
// Show summary of selected applications
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
private hideSelectionSummary() {
|
|
192
|
-
// Hide selection summary
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
private disableAssignButton() {
|
|
196
|
-
// Disable assign button
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
private enableAssignButton() {
|
|
200
|
-
// Enable assign button
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
private showWarning(message: string) {
|
|
204
|
-
// Show warning message
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
private updateUserDropdownData(data: any) {
|
|
208
|
-
// Update user dropdown with assignment data
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
## Key Benefits
|
|
214
|
-
|
|
215
|
-
1. **Real-time Feedback**: Get immediate notification when rows are selected/deselected
|
|
216
|
-
2. **Complete Context**: Have access to both selected rows and queue data for assignment logic
|
|
217
|
-
3. **Flexible UI Updates**: Can update UI elements based on selection state
|
|
218
|
-
4. **Rich Data**: Full row data available for assignment operations
|
|
219
|
-
5. **Queue Context**: Know which queue the assignments are for
|
|
220
|
-
|
|
221
|
-
## Usage in Template
|
|
222
|
-
|
|
223
|
-
```html
|
|
224
|
-
<app-queue-container
|
|
225
|
-
(rowSelected)="handleRowSelected($event)"
|
|
226
|
-
(selectedRowsData)="handleSelectedRowsData($event)"
|
|
227
|
-
(assignmentDataReady)="handleAssignmentDataReady($event)">
|
|
228
|
-
|
|
229
|
-
<div user-dropdown>
|
|
230
|
-
<app-user-dropdown
|
|
231
|
-
[selectedRows]="selectedRows"
|
|
232
|
-
[disabled]="!assignmentReady || selectedRows.length === 0"
|
|
233
|
-
[assignmentData]="assignmentData">
|
|
234
|
-
</app-user-dropdown>
|
|
235
|
-
</div>
|
|
236
|
-
|
|
237
|
-
</app-queue-container>
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
This approach provides gb-ng with comprehensive data about checkbox selections, enabling rich assignment logic while keeping the core queue functionality in cat-qw-ng.
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
# Content Projection Guide for Queue Container
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
The `QueueContainerComponent` now uses content projection to allow the user-dropdown component to be provided by the consuming application (gb-ng). This separation allows the queue logic to remain in cat-qw-ng while the project-specific user assignment logic stays in gb-ng.
|
|
5
|
-
|
|
6
|
-
## How to Use Content Projection
|
|
7
|
-
|
|
8
|
-
### 1. In the gb-ng project, use the queue-container like this:
|
|
9
|
-
|
|
10
|
-
```html
|
|
11
|
-
<app-queue-container
|
|
12
|
-
(assignmentComplete)="handleAssignmentComplete($event)"
|
|
13
|
-
(userAssigned)="handleUserAssigned($event)"
|
|
14
|
-
(rowSelected)="handleRowSelected($event)"
|
|
15
|
-
(selectedRowsData)="handleSelectedRowsData($event)"
|
|
16
|
-
(assignmentDataReady)="handleAssignmentDataReady($event)">
|
|
17
|
-
|
|
18
|
-
<!-- Content projection slot for user dropdown -->
|
|
19
|
-
<div user-dropdown>
|
|
20
|
-
<app-user-dropdown
|
|
21
|
-
[selectedRows]="selectedRows"
|
|
22
|
-
[disabled]="!isAssignButtonEnabled()"
|
|
23
|
-
(assignmentComplete)="onAssignmentComplete($event)"
|
|
24
|
-
(userAssigned)="onUserAssigned($event)">
|
|
25
|
-
</app-user-dropdown>
|
|
26
|
-
</div>
|
|
27
|
-
|
|
28
|
-
</app-queue-container>
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
### 2. Available Input Properties
|
|
32
|
-
|
|
33
|
-
The queue-container exposes these properties for the projected content:
|
|
34
|
-
|
|
35
|
-
- `selectedRowsInput`: Array of selected rows from the queue table
|
|
36
|
-
- `isAssignButtonEnabled()`: Method to check if assignment button should be enabled
|
|
37
|
-
|
|
38
|
-
### 3. Available Output Events
|
|
39
|
-
|
|
40
|
-
The queue-container emits these events:
|
|
41
|
-
|
|
42
|
-
- `assignmentComplete`: Emitted when assignment operation completes
|
|
43
|
-
```typescript
|
|
44
|
-
{ success: boolean, message: string }
|
|
45
|
-
```
|
|
46
|
-
- `userAssigned`: Emitted when a user is assigned
|
|
47
|
-
```typescript
|
|
48
|
-
{ user: any, selectedRows: any[] }
|
|
49
|
-
```
|
|
50
|
-
- `rowSelected`: Emitted when individual rows are selected/deselected via checkbox
|
|
51
|
-
```typescript
|
|
52
|
-
{ row: any, isSelected: boolean }
|
|
53
|
-
```
|
|
54
|
-
- `selectedRowsData`: Emitted when the selection changes (array of selected rows)
|
|
55
|
-
```typescript
|
|
56
|
-
any[] // Array of selected row data
|
|
57
|
-
```
|
|
58
|
-
- `assignmentDataReady`: Emitted when assignment data is ready (contains both selected rows and queue data)
|
|
59
|
-
```typescript
|
|
60
|
-
{ selectedRows: any[], queueData: QueueModel }
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### 4. Implementation in gb-ng
|
|
64
|
-
|
|
65
|
-
In your gb-ng component that uses the queue-container:
|
|
66
|
-
|
|
67
|
-
```typescript
|
|
68
|
-
export class YourGbNgComponent {
|
|
69
|
-
selectedRows: any[] = [];
|
|
70
|
-
currentQueueData: any;
|
|
71
|
-
|
|
72
|
-
handleAssignmentComplete(event: { success: boolean, message: string }) {
|
|
73
|
-
if (event.success) {
|
|
74
|
-
// Handle successful assignment
|
|
75
|
-
console.log(event.message);
|
|
76
|
-
// Refresh data if needed
|
|
77
|
-
} else {
|
|
78
|
-
// Handle assignment failure
|
|
79
|
-
console.error(event.message);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
handleUserAssigned(event: { user: any, selectedRows: any[] }) {
|
|
84
|
-
// Handle user assignment event
|
|
85
|
-
console.log(`User ${event.user.fullName} assigned to ${event.selectedRows.length} applications`);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
handleRowSelected(event: { row: any, isSelected: boolean }) {
|
|
89
|
-
// Handle individual row selection
|
|
90
|
-
if (event.isSelected) {
|
|
91
|
-
console.log(`Row selected:`, event.row);
|
|
92
|
-
// You can access the full row data here for assignment logic
|
|
93
|
-
// event.row contains: _id, applicationNumber, applicationType, etc.
|
|
94
|
-
} else {
|
|
95
|
-
console.log(`Row deselected:`, event.row);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
handleSelectedRowsData(selectedRows: any[]) {
|
|
100
|
-
// Handle selection change
|
|
101
|
-
this.selectedRows = selectedRows;
|
|
102
|
-
console.log(`Total selected rows: ${selectedRows.length}`);
|
|
103
|
-
|
|
104
|
-
// Update your user dropdown component with the selected rows
|
|
105
|
-
// This is perfect for enabling/disabling the assign button
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
handleAssignmentDataReady(event: { selectedRows: any[], queueData: any }) {
|
|
109
|
-
// Handle assignment data ready event
|
|
110
|
-
this.selectedRows = event.selectedRows;
|
|
111
|
-
this.currentQueueData = event.queueData;
|
|
112
|
-
|
|
113
|
-
console.log(`Assignment data ready:`);
|
|
114
|
-
console.log(`- Selected rows: ${event.selectedRows.length}`);
|
|
115
|
-
console.log(`- Queue data:`, event.queueData);
|
|
116
|
-
|
|
117
|
-
// This is the perfect place to prepare your assignment logic
|
|
118
|
-
// You have both the selected rows and the queue context
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
isAssignButtonEnabled(): boolean {
|
|
122
|
-
return this.selectedRows && this.selectedRows.length > 0;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
onAssignmentComplete(event: { success: boolean, message: string }) {
|
|
126
|
-
// Forward the event to the queue-container
|
|
127
|
-
this.handleAssignmentComplete(event);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
onUserAssigned(event: { user: any, selectedRows: any[] }) {
|
|
131
|
-
// Forward the event to the queue-container
|
|
132
|
-
this.handleUserAssigned(event);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
### 5. Checkbox Selection Flow
|
|
138
|
-
|
|
139
|
-
When a user clicks on a checkbox in the table:
|
|
140
|
-
|
|
141
|
-
1. **Individual Row Selection**: `rowSelected` event is emitted with the row data and selection state
|
|
142
|
-
2. **Selection Change**: `selectedRowsData` event is emitted with the updated array of selected rows
|
|
143
|
-
3. **Assignment Data Ready**: `assignmentDataReady` event is emitted with both selected rows and queue context
|
|
144
|
-
|
|
145
|
-
This flow allows gb-ng to:
|
|
146
|
-
- Track individual row selections for detailed assignment logic
|
|
147
|
-
- Maintain the current selection state
|
|
148
|
-
- Have access to both selected rows and queue context for assignment operations
|
|
149
|
-
|
|
150
|
-
## Benefits of This Approach
|
|
151
|
-
|
|
152
|
-
1. **Separation of Concerns**: Queue logic stays in cat-qw-ng, project-specific logic stays in gb-ng
|
|
153
|
-
2. **Reusability**: The queue-container can be used in different projects with different user assignment implementations
|
|
154
|
-
3. **Flexibility**: Each project can implement its own user dropdown with project-specific requirements
|
|
155
|
-
4. **Maintainability**: Changes to user assignment logic in gb-ng don't affect the core queue functionality
|
|
156
|
-
5. **Rich Data Flow**: gb-ng receives comprehensive data about selections and queue context for assignment logic
|
|
157
|
-
|
|
158
|
-
## Migration Notes
|
|
159
|
-
|
|
160
|
-
- The `UserDropdownComponent` has been removed from cat-qw-ng
|
|
161
|
-
- The `ApplicationAssignmentService` remains in cat-qw-ng as it's part of the core queue functionality
|
|
162
|
-
- All user assignment logic should be moved to gb-ng
|
|
163
|
-
- The content projection slot uses the selector `[user-dropdown]` for easy identification
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
<div class="container grid m-0 h-full">
|
|
2
|
-
<div class="col-12 xl:col-2 md:col-12 py-0 h-full">
|
|
3
|
-
<app-queue-list
|
|
4
|
-
[queueData]="queueList"
|
|
5
|
-
(queueDataById)="handleQueueId($event)"
|
|
6
|
-
></app-queue-list>
|
|
7
|
-
</div>
|
|
8
|
-
<div class="col-12 xl:col-10 md:col-12 py-0 h-full">
|
|
9
|
-
|
|
10
|
-
@if(selectedQueue){
|
|
11
|
-
<div class="flex justify-content-between align-items-center mb-3">
|
|
12
|
-
<div class="col-6 p-0">
|
|
13
|
-
<div class="searchbar-wrapper">
|
|
14
|
-
<queue-search (queueFilteredData)="onQueueFiltered($event)"></queue-search>
|
|
15
|
-
</div>
|
|
16
|
-
</div>
|
|
17
|
-
<div class="d-flex justify-content-end">
|
|
18
|
-
<ng-content select="[user-dropdown]"></ng-content>
|
|
19
|
-
</div>
|
|
20
|
-
</div>
|
|
21
|
-
|
|
22
|
-
<div class="animation-duration-500 associated-list h-full card mb-0 p-0">
|
|
23
|
-
<app-queue-record-table
|
|
24
|
-
[queueData]="selectedQueue"
|
|
25
|
-
[filteredSearchResult]="filteredResult"
|
|
26
|
-
(selectionChange)="onSelectionChange($event)"
|
|
27
|
-
(rowSelected)="onRowSelected($event)"
|
|
28
|
-
(selectedRowsData)="onSelectedRowsData($event)"
|
|
29
|
-
(assignmentDataReady)="onAssignmentDataReady($event)"
|
|
30
|
-
(rowClick)="onRowClick($event)">
|
|
31
|
-
</app-queue-record-table>
|
|
32
|
-
</div>
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
</div>
|
|
36
|
-
|
|
37
|
-
</div>
|