cat-qw-lib 0.0.0-watch
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/README.md +63 -0
- package/fesm2022/cat-qw-lib.mjs +3185 -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 +14 -0
- package/lib/admin/action-admin/components/admin-action-form/admin-action-form.component.d.ts +27 -0
- package/lib/admin/action-admin/components/admin-action-list/admin-action-list.component.d.ts +15 -0
- package/lib/admin/action-admin/models/admin-action.model.d.ts +11 -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 +17 -0
- package/lib/admin/api-admin/components/api-admin-form/api-admin-form.component.d.ts +35 -0
- package/lib/admin/api-admin/components/api-admin-list/api-admin-list.component.d.ts +15 -0
- package/lib/admin/api-admin/models/api-config.model.d.ts +17 -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 +35 -0
- package/lib/admin/dd-admin/components/dd-admin-item-form/dd-admin-item-form.component.d.ts +27 -0
- package/lib/admin/dd-admin/components/dd-admin-list/dd-admin-list.component.d.ts +13 -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 +13 -0
- package/lib/admin/dd-admin/state/dictionary.query.d.ts +16 -0
- package/lib/admin/dd-admin/state/dictionary.service.d.ts +17 -0
- package/lib/admin/dd-admin/state/dictionary.state.d.ts +13 -0
- package/lib/admin/dd-admin/state/dictionary.store.d.ts +10 -0
- package/lib/admin/queue-admin/components/queue-admin-form/queue-admin-form.component.d.ts +33 -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 +13 -0
- package/lib/admin/queue-admin/queue-admin-routing.module.d.ts +7 -0
- package/lib/admin/queue-admin/queue-admin.module.d.ts +15 -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/lib/admin/queue-admin/state/queue.state.d.ts +6 -0
- package/lib/admin/queue-admin/state/queue.store.d.ts +8 -0
- package/lib/admin/widget-admin/components/widget-admin-form/widget-admin-form.component.d.ts +38 -0
- package/lib/admin/widget-admin/components/widget-admin-list/widget-admin-list.component.d.ts +14 -0
- package/lib/admin/widget-admin/models/widget.model.d.ts +27 -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 +17 -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/shared/_base/base-container/base-container.component.d.ts +10 -0
- package/lib/shared/_base/base-control/base-control.component.d.ts +22 -0
- package/lib/shared/_base/base-form/base-form.component.d.ts +34 -0
- package/lib/shared/_base/base-list/base-list.component.d.ts +22 -0
- package/lib/shared/components/form-container/form-container.component.d.ts +21 -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 +15 -0
- package/lib/shared/constant/ERROR.d.ts +15 -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 +6 -0
- package/lib/shared/constant/ROUTES.d.ts +13 -0
- package/lib/shared/constant/SHARED.d.ts +183 -0
- package/lib/shared/constant/URLS.d.ts +7 -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 +12 -0
- package/lib/shared/controls/dropdown/dropdown.component.d.ts +22 -0
- package/lib/shared/controls/file-upload/file-upload.component.d.ts +7 -0
- package/lib/shared/controls/password/password.component.d.ts +9 -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/index.d.ts +31 -0
- package/lib/shared/models/attribute.model.d.ts +43 -0
- package/lib/shared/models/base.model.d.ts +3 -0
- package/lib/shared/models/list.model.d.ts +11 -0
- package/lib/shared/pipe/capitalize-words.pipe.d.ts +7 -0
- package/lib/shared/services/app-config.service.d.ts +18 -0
- package/lib/shared/services/auth/auth.guard.d.ts +12 -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/list.service.d.ts +13 -0
- package/lib/shared/services/session.service.d.ts +13 -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 +35 -0
- package/lib/shared/state/base.query.d.ts +23 -0
- package/lib/shared/state/base.service.d.ts +27 -0
- package/lib/shared/state/base.state.d.ts +4 -0
- package/lib/shared/state/base.store.d.ts +27 -0
- package/lib/shared/table-primary/components/table-primary.component.d.ts +26 -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 +5 -0
- package/lib/widget/components/widget-body/widget-body.component.d.ts +7 -0
- package/lib/widget/components/widget-container/widget-container.component.d.ts +17 -0
- package/lib/widget/components/widget-footer/widget-footer.component.d.ts +11 -0
- package/lib/widget/components/widget-header/widget-header.component.d.ts +7 -0
- package/lib/widget/components/widget-item/widget-item.component.d.ts +7 -0
- package/lib/widget/models/widget.model.d.ts +13 -0
- package/lib/widget/state/widget.query.d.ts +15 -0
- package/lib/widget/state/widget.service.d.ts +18 -0
- package/lib/widget/state/widget.store.d.ts +14 -0
- package/lib/widget/widget.module.d.ts +17 -0
- package/package.json +25 -0
- package/public-api.d.ts +18 -0
- package/src/assets/config/api.config.json +7 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cat-qw-lib.mjs","sources":["../../../projects/cat-qw-lib/src/lib/shared/constant/SHARED.ts","../../../projects/cat-qw-lib/src/lib/shared/components/sidebar/sidebar.component.ts","../../../projects/cat-qw-lib/src/lib/shared/components/sidebar/sidebar.component.html","../../../projects/cat-qw-lib/src/lib/shared/state/base.store.ts","../../../projects/cat-qw-lib/src/lib/shared/state/base.query.ts","../../../projects/cat-qw-lib/src/lib/shared/_base/base-control/base-control.component.ts","../../../projects/cat-qw-lib/src/lib/shared/_base/base-control/base-control.component.html","../../../projects/cat-qw-lib/src/lib/shared/controls/check-box/check-box.component.ts","../../../projects/cat-qw-lib/src/lib/shared/controls/check-box/check-box.component.html","../../../projects/cat-qw-lib/src/lib/shared/controls/button/button.component.ts","../../../projects/cat-qw-lib/src/lib/shared/controls/button/button.component.html","../../../projects/cat-qw-lib/src/lib/shared/controls/text-box/text-box.component.ts","../../../projects/cat-qw-lib/src/lib/shared/controls/text-box/text-box.component.html","../../../projects/cat-qw-lib/src/lib/shared/components/form-container/form-container.component.ts","../../../projects/cat-qw-lib/src/lib/shared/components/form-container/form-container.component.html","../../../projects/cat-qw-lib/src/lib/shared/constant/URLS.ts","../../../projects/cat-qw-lib/src/lib/shared/constant/ERROR.ts","../../../projects/cat-qw-lib/src/lib/shared/services/app-config.service.ts","../../../projects/cat-qw-lib/src/lib/shared/models/list.model.ts","../../../projects/cat-qw-lib/src/lib/shared/services/list.service.ts","../../../projects/cat-qw-lib/src/lib/shared/state/base.service.ts","../../../projects/cat-qw-lib/src/lib/shared/table-primary/models/table-primary.model.ts","../../../projects/cat-qw-lib/src/lib/shared/table-primary/models/table-primary-header.model.ts","../../../projects/cat-qw-lib/src/lib/shared/services/table.builder.ts","../../../projects/cat-qw-lib/src/lib/shared/_base/base-list/base-list.component.ts","../../../projects/cat-qw-lib/src/lib/shared/_base/base-list/base-list.component.html","../../../projects/cat-qw-lib/src/lib/shared/controls/dropdown/dropdown.component.ts","../../../projects/cat-qw-lib/src/lib/shared/controls/dropdown/dropdown.component.html","../../../projects/cat-qw-lib/src/lib/shared/services/validator.service.ts","../../../projects/cat-qw-lib/src/lib/shared/_base/base-form/base-form.component.ts","../../../projects/cat-qw-lib/src/lib/shared/_base/base-form/base-form.component.html","../../../projects/cat-qw-lib/src/lib/shared/services/date-parser.service.ts","../../../projects/cat-qw-lib/src/lib/shared/controls/date/date.component.ts","../../../projects/cat-qw-lib/src/lib/shared/controls/date/date.component.html","../../../projects/cat-qw-lib/src/lib/shared/controls/file-upload/file-upload.component.ts","../../../projects/cat-qw-lib/src/lib/shared/controls/file-upload/file-upload.component.html","../../../projects/cat-qw-lib/src/lib/shared/pipe/capitalize-words.pipe.ts","../../../projects/cat-qw-lib/src/lib/shared/controls/text-area/text-area.component.ts","../../../projects/cat-qw-lib/src/lib/shared/controls/text-area/text-area.component.html","../../../projects/cat-qw-lib/src/lib/shared/components/queue-search-customer/queue-search-customer.component.ts","../../../projects/cat-qw-lib/src/lib/shared/components/queue-search-customer/queue-search-customer.component.html","../../../projects/cat-qw-lib/src/lib/shared/constant/ROUTES.ts","../../../projects/cat-qw-lib/src/lib/shared/components/list/block-list.component.ts","../../../projects/cat-qw-lib/src/lib/shared/components/list/block-list.component.html","../../../projects/cat-qw-lib/src/lib/shared/shared.module.ts","../../../projects/cat-qw-lib/src/lib/shared/constant/DATASOURCES.ts","../../../projects/cat-qw-lib/src/lib/shared/constant/HEADERS.ts","../../../projects/cat-qw-lib/src/lib/shared/controls/username/username.component.ts","../../../projects/cat-qw-lib/src/lib/shared/controls/username/username.component.html","../../../projects/cat-qw-lib/src/lib/shared/controls/password/password.component.ts","../../../projects/cat-qw-lib/src/lib/shared/controls/password/password.component.html","../../../projects/cat-qw-lib/src/lib/shared/constant/CSS.ts","../../../projects/cat-qw-lib/src/lib/shared/models/attribute.model.ts","../../../projects/cat-qw-lib/src/lib/shared/models/base.model.ts","../../../projects/cat-qw-lib/src/lib/shared/services/session.service.ts","../../../projects/cat-qw-lib/src/lib/shared/services/auth/auth.guard.ts","../../../projects/cat-qw-lib/src/lib/shared/_base/base-container/base-container.component.ts","../../../projects/cat-qw-lib/src/lib/shared/_base/base-container/base-container.component.html","../../../projects/cat-qw-lib/src/lib/shared/constant/LOOKUPS.ts","../../../projects/cat-qw-lib/src/lib/shared/table-primary/components/table-primary.component.ts","../../../projects/cat-qw-lib/src/lib/shared/table-primary/components/table-primary.component.html","../../../projects/cat-qw-lib/src/lib/shared/constant/MESSAGES.ts","../../../projects/cat-qw-lib/src/lib/shared/constant/LIST-CONFIG.ts","../../../projects/cat-qw-lib/src/lib/admin/api-admin/state/api-admin.store.ts","../../../projects/cat-qw-lib/src/lib/admin/api-admin/state/api-admin.service.ts","../../../projects/cat-qw-lib/src/lib/admin/api-admin/components/api-admin-form/api-admin-form.component.ts","../../../projects/cat-qw-lib/src/lib/admin/api-admin/components/api-admin-form/api-admin-form.component.html","../../../projects/cat-qw-lib/src/lib/admin/api-admin/components/api-admin-list/api-admin-list.component.ts","../../../projects/cat-qw-lib/src/lib/admin/api-admin/components/api-admin-list/api-admin-list.component.html","../../../projects/cat-qw-lib/src/lib/admin/api-admin/api-admin.module.ts","../../../projects/cat-qw-lib/src/lib/admin/widget-admin/state/widget-admin.store.ts","../../../projects/cat-qw-lib/src/lib/admin/widget-admin/state/widget-admin.service.ts","../../../projects/cat-qw-lib/src/lib/admin/widget-admin/components/widget-admin-list/widget-admin-list.component.ts","../../../projects/cat-qw-lib/src/lib/admin/widget-admin/components/widget-admin-list/widget-admin-list.component.html","../../../projects/cat-qw-lib/src/lib/admin/widget-admin/models/widget.model.ts","../../../projects/cat-qw-lib/src/lib/admin/widget-admin/state/widget-admin.query.ts","../../../projects/cat-qw-lib/src/lib/admin/widget-admin/components/widget-admin-form/widget-admin-form.component.ts","../../../projects/cat-qw-lib/src/lib/admin/widget-admin/components/widget-admin-form/widget-admin-form.component.html","../../../projects/cat-qw-lib/src/lib/admin/widget-admin/widget-admin.module.ts","../../../projects/cat-qw-lib/src/lib/admin/queue-admin/models/queue.model.ts","../../../projects/cat-qw-lib/src/lib/admin/queue-admin/state/queue.store.ts","../../../projects/cat-qw-lib/src/lib/admin/queue-admin/state/queue.query.ts","../../../projects/cat-qw-lib/src/lib/admin/queue-admin/state/queue.service.ts","../../../projects/cat-qw-lib/src/lib/admin/queue-admin/components/queue-admin-form/queue-admin-form.component.ts","../../../projects/cat-qw-lib/src/lib/admin/queue-admin/components/queue-admin-form/queue-admin-form.component.html","../../../projects/cat-qw-lib/src/lib/admin/queue-admin/queue-admin-routing.module.ts","../../../projects/cat-qw-lib/src/lib/shared/services/data-transformer.service.ts","../../../projects/cat-qw-lib/src/lib/admin/queue-admin/components/queue-application-list/queue-application-list.component.ts","../../../projects/cat-qw-lib/src/lib/admin/queue-admin/components/queue-application-list/queue-application-list.component.html","../../../projects/cat-qw-lib/src/lib/admin/queue-admin/components/queue-admin-list/queue-admin-list.component.ts","../../../projects/cat-qw-lib/src/lib/admin/queue-admin/components/queue-admin-list/queue-admin-list.component.html","../../../projects/cat-qw-lib/src/lib/admin/queue-admin/queue-admin.module.ts","../../../projects/cat-qw-lib/src/lib/admin/action-admin/state/admin-action.store.ts","../../../projects/cat-qw-lib/src/lib/admin/action-admin/state/admin-action.service.ts","../../../projects/cat-qw-lib/src/lib/admin/action-admin/components/admin-action-list/admin-action-list.component.ts","../../../projects/cat-qw-lib/src/lib/admin/action-admin/components/admin-action-list/admin-action-list.component.html","../../../projects/cat-qw-lib/src/lib/admin/action-admin/components/admin-action-form/admin-action-form.component.ts","../../../projects/cat-qw-lib/src/lib/admin/action-admin/components/admin-action-form/admin-action-form.component.html","../../../projects/cat-qw-lib/src/lib/admin/action-admin/action-admin.module.ts","../../../projects/cat-qw-lib/src/lib/admin/dd-admin/models/dictionary.model.ts","../../../projects/cat-qw-lib/src/lib/admin/dd-admin/state/dictionary.store.ts","../../../projects/cat-qw-lib/src/lib/admin/dd-admin/state/dictionary.service.ts","../../../projects/cat-qw-lib/src/lib/admin/dd-admin/state/dictionary.query.ts","../../../projects/cat-qw-lib/src/lib/admin/dd-admin/models/dd-attribute-sidebar-view.model.ts","../../../projects/cat-qw-lib/src/lib/admin/dd-admin/components/dd-admin-item-form/dd-admin-item-form.component.ts","../../../projects/cat-qw-lib/src/lib/admin/dd-admin/components/dd-admin-item-form/dd-admin-item-form.component.html","../../../projects/cat-qw-lib/src/lib/admin/dd-admin/components/dd-admin-form/dd-admin-form.component.ts","../../../projects/cat-qw-lib/src/lib/admin/dd-admin/components/dd-admin-form/dd-admin-form.component.html","../../../projects/cat-qw-lib/src/lib/admin/dd-admin/components/dd-admin-list/dd-admin-list.component.ts","../../../projects/cat-qw-lib/src/lib/admin/dd-admin/components/dd-admin-list/dd-admin-list.component.html","../../../projects/cat-qw-lib/src/lib/admin/dd-admin/dd-admin.module.ts","../../../projects/cat-qw-lib/src/lib/widget/state/widget.store.ts","../../../projects/cat-qw-lib/src/lib/widget/state/widget.service.ts","../../../projects/cat-qw-lib/src/lib/widget/state/widget.query.ts","../../../projects/cat-qw-lib/src/lib/widget/components/widget-header/widget-header.component.ts","../../../projects/cat-qw-lib/src/lib/widget/components/widget-header/widget-header.component.html","../../../projects/cat-qw-lib/src/lib/widget/components/widget-footer/widget-footer.component.ts","../../../projects/cat-qw-lib/src/lib/widget/components/widget-footer/widget-footer.component.html","../../../projects/cat-qw-lib/src/lib/widget/components/widget-item/widget-item.component.ts","../../../projects/cat-qw-lib/src/lib/widget/components/widget-item/widget-item.component.html","../../../projects/cat-qw-lib/src/lib/widget/components/widget-body/widget-body.component.ts","../../../projects/cat-qw-lib/src/lib/widget/components/widget-body/widget-body.component.html","../../../projects/cat-qw-lib/src/lib/widget/components/widget-container/widget-container.component.ts","../../../projects/cat-qw-lib/src/lib/widget/components/widget-container/widget-container.component.html","../../../projects/cat-qw-lib/src/lib/widget/widget.module.ts","../../../projects/cat-qw-lib/src/public-api.ts","../../../projects/cat-qw-lib/src/cat-qw-lib.ts"],"sourcesContent":["export class SHARED {\r\n static EMPTY = \"\";\r\n static REQUIRED_ERROR = \"Field Required\";\r\n static EMPTYARRAY = [];\r\n static NULL = \"NULL\";\r\n static HIPHEN = \"-\";\r\n static SLASH = \"/\";\r\n static USERROLE = \"role\"\r\n static SESSIONKEY = \"userData\";\r\n static SUCCESS = \"success\";\r\n static ERROR = \"error\";\r\n static ERROR_MESSAGE = \"Success Message\";\r\n static SUCCESS_MESSAGE = \"Success Message\";\r\n static DICTIONARY = \"Dictionary\";\r\n static TITLE = 'title';\r\n static DICTIONARY_ITEM = 'dictionaryItem';\r\n static DICTIONARY_ITEM_MAPPER = 'dictionaryItemMapper';\r\n static SIDEBAR_MASK = '.p-sidebar-mask';\r\n static CUSTOMSIDEBAROVERLAY = 'custom-sidebar-overlay';\r\n static ID = 'id';\r\n static _ID = '_id';\r\n static DATE_FORMAT = \"DD/MM/YYYY\";\r\n static DATE_FORMAT_TYPE2 = \"DD-MM-YYYY\";\r\n static DATE_FORMAT_TYPE3 = \"YY-MM-DD\";\r\n static DATE_FORMAT_TYPE4 = \"YYYY-MM-DD\";\r\n static INVALIDDATE = \"Invalid Date\";\r\n static __V = '__v';\r\n static CREATEDAT = 'createdAt';\r\n static UPDATEDAT = 'updatedAt';\r\n static ZERO = 0\r\n static TYPE_OBJECT = 'object'\r\n static DICTIONARYITEMS = 'dictionaryItems';\r\n static GET_DATA_MESSAGE = [{ severity: 'info', detail: 'Data has been fetched successfully.', life:1000 }]\r\n static PRIMARY = 'primary';\r\n static mappingInfo = 'mappingInfo';\r\n static YES = 'Yes';\r\n static NO = 'No';\r\n static selectedQueue = 'selectedQueue';\r\n static DASH = \"-\"\r\n static selectedApplication = 'selectedApplication';\r\n static selectedApplicationNumber = 'selectedApplicationNumber';\r\n static GREEN = \"green\"\r\n static RED = \"red\"\r\n static FROM_EMAIL = \"neeraj.kumar@catura.co.uk\";\r\n static to_EMAIL = \"shubham.prajapati@dynamatix.com\";\r\n static EMAIL = 'email';\r\n static token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxOTI2ZjcyN2RkZWI0MDAxMWE2ZDZmNyIsIm5hbWUiOiJKb2huIERvZSIsInJvbGUiOiJ1c2VyIiwiaWF0IjoxNjQyNzQ5MzYyLCJleHAiOjE2NDI4MzU3NjJ9.4fBQqP2_6z0H4Ow7J-R27XEdIgl2MrMoIXCgD_qZFlA';\r\n static null = 'null';\r\n static undefined = 'undefined';\r\n static rationale = 'rationale';\r\n static accepted = 'Accepted';\r\n static application = 'Application';\r\n static INVALID_API_PATH = 'Please enter the API path.';\r\n static WIDTH_AUTO = 'w-auto';\r\n static TRUE = true;\r\n static FALSE = false;\r\n static STRING_TRUE = \"true\";\r\n static STRING_FALSE = \"false\";\r\n static AND = 'AND';\r\n static STRING = 'string';\r\n static OPERATORS = [\"=\", \"<>\", \">\", \"<\", \">=\", \"<=\"];\r\n static STATUS_ACTIVE = 'active';\r\n static TODAY = 'Today';\r\n static YESTERDAY = 'Yesterday';\r\n static ALL = 'All';\r\n static UK = 'UK';\r\n static INTERNATIONAL = 'International';\r\n static QUEUE1 = 'Q1';\r\n static QUEUE2 = 'Q2';\r\n static QUEUE3 = 'Q3';\r\n static SELECTED_QUEUE = 'Selected Queue:';\r\n static QUEUEID = \"queueId\";\r\n static QUESTION_MARK = \"?\";\r\n static EQUALS = \"=\";\r\n static AMPERSAND = \"&\";\r\n static RECORDID = \"recordId\";\r\n static MISSING_QUEUE_ID = \"Missing queueId\";\r\n static MISSING_RECORD_ID = \"Missing recordId\";\r\n static EMPTY_STRING = \" \";\r\n static SELECTED_QUEUE_ID = \"selectedQueueId\";\r\n static ISITEMEXPRESSION = \"isItemExpression\";\r\n}\r\n\r\nexport const MESSAGE_TYPES = ['SMS', 'WhatsApp', 'Email'];\r\n\r\nexport const delimiters = ['|', '/', '-'];\r\n\r\nexport const dictionaryItemList = [];\r\n\r\nexport const dictionaryItemMapperList = [];\r\n\r\nexport const dictionaryApiFieldList = {\r\n title: 'Property data',\r\n data: [ { name: 'First name' },\r\n { name: 'Last name' },\r\n { name: 'Email' },\r\n { name: 'Address' },\r\n { name: 'Gender' },\r\n { name: 'Dob' }\r\n ]\r\n}\r\n\r\nexport const FolderPanel = [\r\n {\r\n _id: 'folder1',\r\n fileCount: 10,\r\n text: 'Documents',\r\n missingFiles: 3,\r\n pendingFiles: 2\r\n },\r\n {\r\n _id: 'folder2',\r\n fileCount: 5,\r\n text: 'Images',\r\n missingFiles: 0,\r\n pendingFiles: 1\r\n },\r\n {\r\n _id: 'folder3',\r\n fileCount: 20,\r\n text: 'Reports',\r\n missingFiles: 5,\r\n pendingFiles: 0\r\n },\r\n {\r\n _id: 'folder4',\r\n fileCount: 8,\r\n text: 'Videos',\r\n missingFiles: 0,\r\n pendingFiles: 0\r\n },\r\n {\r\n _id: 'folder5',\r\n fileCount: 15,\r\n text: 'Archives',\r\n missingFiles: 1,\r\n pendingFiles: 3\r\n }\r\n];\r\n\r\nexport const DocumentList = [\r\n {\r\n id: 1,\r\n fileName: 'Document 1',\r\n status: 'pending',\r\n documentUrl: 'https://vadimdez.github.io/ng2-pdf-viewer/assets/pdf-test.pdf',\r\n },\r\n {\r\n id: 2,\r\n fileName: 'Document 2',\r\n status: 'verified',\r\n documentUrl: 'https://vadimdez.github.io/ng2-pdf-viewer/assets/pdf-test.pdf',\r\n },\r\n {\r\n id: 3,\r\n fileName: 'Document 3',\r\n status: 'sentReminder',\r\n documentUrl: 'https://vadimdez.github.io/ng2-pdf-viewer/assets/pdf-test.pdf',\r\n },\r\n {\r\n id: 4,\r\n fileName: 'Document 4',\r\n status: 'pending',\r\n documentUrl: 'https://vadimdez.github.io/ng2-pdf-viewer/assets/pdf-test.pdf',\r\n },\r\n];\r\n\r\n\r\nexport const widgetLinkList = [\r\n { name: 'https://dummy-url.com/NY', code: 'NY' },\r\n { name: 'https://dummy-url.com/RM', code: 'RM' },\r\n { name: 'https://dummy-url.com/LDN', code: 'LDN' },\r\n { name: 'https://dummy-url.com/IST', code: 'IST' },\r\n { name: 'https://dummy-url.com/PRS', code: 'PRS' }\r\n];\r\n\r\nexport const dictionaryList = [\r\n {\"id\": 1 ,\"Name\": \"John Doe\", \"API\": \"Dynamatix.com/getfinance\" },\r\n {\"id\": 2 ,\"Name\": \"Jane Smith\", \"API\": \"Dynamatix.com/getfinance\" },\r\n {\"id\": 3 ,\"Name\": \"David Lee\", \"API\": \"Dynamatix.com/getfinance\" },\r\n {\"id\": 4 ,\"Name\": \"Emma Wilson\", \"API\": \"Dynamatix.com/getfinance\" },\r\n {\"id\": 5 ,\"Name\": \"Michael Brown\", \"API\": \"Dynamatix.com/getfinance\" }\r\n]\r\n\r\nexport const SEQUENTIAL_MESSAGE = [\r\n \"Your case is under review.\",\r\n \"We have received your application.\",\r\n \"A new update is available for your case.\",\r\n \"Please verify your contact details.\",\r\n \"Your case is pending further action.\",\r\n \"We are processing your request.\",\r\n \"Your case has been escalated.\",\r\n \"Thank you for reaching out.\",\r\n \"Your documents have been received.\",\r\n \"Our team will contact you shortly.\"\r\n];\r\n\r\nexport const apiHiddenHeaderList = ['credentials','createdAt','updatedAt','__v','properties', '_id']\r\n\r\nexport const dictionaryHiddenHeaderList = ['dictionaryItems', '_id', '__v', 'updatedAt', 'createdAt']\r\n\r\nexport const widgetHiddenHeaderList = ['_id','dataItems','__v','createdAt','updatedAt','headerDictionaryID', 'headerDictionaryItemID', 'order', 'subHeaderDictionaryID', 'subHeaderDictionaryItemID']\r\n\r\nexport const hiddenHeaderList = ['status','actions']\r\n\r\nexport const expectedRoutes = ['apiManagement','queue', 'dictionary', 'widget']\r\n\r\nexport const mileList = [\r\n { name: '0.5 Mile', value: 0.5 },\r\n { name: '1 Mile', value: 1 }\r\n];\r\n\r\nexport const messageType = [\r\n { name: 'Email', icon: 'pi pi-envelope' },\r\n { name: 'WhatsApp', icon: 'pi pi-whatsapp' },\r\n { name: 'SMS', icon: 'pi pi-comment' },\r\n]\r\n\r\nexport const propertyDataList = [\r\n {\r\n key: '0',\r\n label: 'Documents',\r\n data: 'Documents Folder',\r\n icon: 'pi pi-fw pi-inbox',\r\n children: [\r\n {\r\n key: '0-0',\r\n label: 'Work',\r\n data: 'Work Folder',\r\n icon: 'pi pi-fw pi-cog',\r\n children: [\r\n { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },\r\n { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }\r\n ]\r\n },\r\n {\r\n key: '0-1',\r\n label: 'Home',\r\n data: 'Home Folder',\r\n icon: 'pi pi-fw pi-home',\r\n children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]\r\n }\r\n ]\r\n },\r\n{\r\n key: '1',\r\n label: 'Events',\r\n data: 'Events Folder',\r\n icon: 'pi pi-fw pi-calendar',\r\n children: [\r\n { key: '1-0', label: 'Meeting', icon: 'pi pi-fw pi-calendar-plus', data: 'Meeting' },\r\n { key: '1-1', label: 'Product Launch', icon: 'pi pi-fw pi-calendar-plus', data: 'Product Launch' },\r\n { key: '1-2', label: 'Report Review', icon: 'pi pi-fw pi-calendar-plus', data: 'Report Review' }\r\n ]\r\n},\r\n{\r\n key: '2',\r\n label: 'Movies',\r\n data: 'Movies Folder',\r\n icon: 'pi pi-fw pi-star-fill',\r\n children: [\r\n {\r\n key: '2-0',\r\n icon: 'pi pi-fw pi-star-fill',\r\n label: 'Al Pacino',\r\n data: 'Pacino Movies',\r\n children: [\r\n { key: '2-0-0', label: 'Scarface', icon: 'pi pi-fw pi-video', data: 'Scarface Movie' },\r\n { key: '2-0-1', label: 'Serpico', icon: 'pi pi-fw pi-video', data: 'Serpico Movie' }\r\n ]\r\n },\r\n {\r\n key: '2-1',\r\n label: 'Robert De Niro',\r\n icon: 'pi pi-fw pi-star-fill',\r\n data: 'De Niro Movies',\r\n children: [\r\n { key: '2-1-0', label: 'Goodfellas', icon: 'pi pi-fw pi-video', data: 'Goodfellas Movie' },\r\n { key: '2-1-1', label: 'Untouchables', icon: 'pi pi-fw pi-video', data: 'Untouchables Movie', selectable: false }\r\n ]\r\n }\r\n ]\r\n}\r\n];\r\n\r\nexport const actionHiddenHeaderList = ['_id', 'createdAt','updatedAt', '__v', 'formFields'];\r\n\r\nexport const actionList = [\r\n { action: 'Valuation Fee', \r\n prompt: `The following conversation includes references to various addresses. Based on the selected form \"Valuation Fee\",\r\n identify and extract the most recent address provided (in descending order of appearance in the text) and map it to the following schema::\r\n {\r\n \"Line1\": string,\r\n \"Line2\": string,\r\n \"town\": string,\r\n \"postcode\": string\r\n }.\r\n \r\n Respond **only** with a valid JSON object matching this schema. Do not include any explanation, additional text, or comments.\r\n \r\n Data:`, queueId: '674f1c645dafa6a66511c8fb', apiEndPoint: 'http://qa-gb.api.dynamatix.com:3100/api/applications', status: 'Enable'\r\n },\r\n { action: 'UK Resident', \r\n prompt: `\r\n The following conversation involves information related to UK residency. Based on the selected form \"UK Resident\",\r\n extract the most recent address mentioned (in descending order of appearance in the text) and map it to the following schema::\r\n {\r\n \"Line1\": string,\r\n \"Line2\": string,\r\n \"town\": string,\r\n \"postcode\": string\r\n }.\r\n \r\n Respond **only** with a valid JSON object matching this schema. Do not include any explanation, additional text, or comments.\r\n \r\n Data:`, queueId: '676e4b27ee779eafc72b11b9', apiEndPoint: 'http://qa-gb.api.dynamatix.com:3100/api/applications', status: 'Disable'\r\n },\r\n { action: 'Address Update', \r\n prompt: `\r\n The following conversation contains updates related to address changes. Based on the selected form \"Address Update\",\r\n identify and extract the most recent address mentioned (in descending order of appearance in the text) and map it to the following schema::\r\n {\r\n \"Line1\": string,\r\n \"Line2\": string,\r\n \"town\": string,\r\n \"postcode\": string\r\n }.\r\n \r\n Respond **only** with a valid JSON object matching this schema. Do not include any explanation, additional text, or comments.\r\n \r\n Data:`, queueId: '67332cf2f9439e97c47a3c43', apiEndPoint: 'http://qa-gb.api.dynamatix.com:3100/api/applications', status: 'Enable'\r\n }\r\n]\r\n\r\nexport const actionTableColumnWidthList = {name: 'w-3', apiConfigID: 'w-3', queueID: 'w-3', prompt: 'w-4', isActive: 'w-2'}","import { Component, EventEmitter, Input, Output, Renderer2 } from '@angular/core';\r\nimport { SHARED } from '../../constant/SHARED';\r\n@Component({\r\n selector: 'sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrl: './sidebar.component.scss',\r\n standalone : false\r\n})\r\nexport class SidebarComponent {\r\n @Input() isSidebarVisible!: boolean;\r\n @Input() title!: string;\r\n @Output() onClose = new EventEmitter<any>();\r\n\r\n constructor(private renderer: Renderer2) {}\r\n\r\n onSidebarShow() {\r\n const overlay = document.querySelector(SHARED.SIDEBAR_MASK);\r\n if (overlay) {\r\n this.renderer.addClass(overlay, SHARED.CUSTOMSIDEBAROVERLAY);\r\n }\r\n }\r\n\r\n handleSidebarClose() {\r\n this.onClose.emit(false);\r\n }\r\n}\r\n","<div *ngIf=\"isSidebarVisible\" class=\"backdrop-shadow\" (click)=\"handleSidebarClose()\"></div>\r\n<div>\r\n<p-sidebar class=\"sidebar-panel-wrapper\" [(visible)]=\"isSidebarVisible\" (onShow)=\"onSidebarShow()\" (onHide)=\"handleSidebarClose()\" [position]=\"'right'\">\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"flex align-items-center\">\r\n <h2 class=\"sidebar-title-wrapper text-color mb-0\">\r\n {{title}}\r\n </h2>\r\n </div>\r\n </ng-template>\r\n <p-divider class=\"sidebar-devider\"></p-divider>\r\n <ng-content></ng-content>\r\n</p-sidebar>","import { Injectable } from '@angular/core';\r\nimport { EntityState, EntityStore, StoreConfig } from '@datorama/akita';\r\nimport { BaseState } from './base.state';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { BaseModel } from '../models/base.model';\r\nexport interface BaseEntityState<T> extends BaseState, EntityState<T> {\r\n \r\n}\r\n\r\n\r\n/**\r\n * BaseStore is a generic class that extends EntityStore from Akita.\r\n */\r\n@StoreConfig({ name: 'base' })\r\n@Injectable({ providedIn: 'root' })\r\nexport class BaseStore<T extends BaseModel> extends EntityStore<BaseEntityState<T>, T> {\r\n static storeName = 'base';\r\n public recordChange$: BehaviorSubject<any>;\r\n public onDocumentAccept$: BehaviorSubject<any>;\r\n public onDailogClose$: BehaviorSubject<any>;\r\n public openDocument$: BehaviorSubject<any>;\r\n public alertMessage$: BehaviorSubject<any>;\r\n\r\n constructor() {\r\n super({ records: [], lists: [] }, { name: BaseStore.storeName }); \r\n this.recordChange$ = new BehaviorSubject<any>([]);\r\n this.onDocumentAccept$ = new BehaviorSubject<any>({});\r\n this.onDailogClose$ = new BehaviorSubject<boolean>(false);\r\n this.openDocument$ = new BehaviorSubject<any>({});\r\n this.alertMessage$ = new BehaviorSubject<string>('');\r\n }\r\n\r\n setList(data: T[]) {\r\n this.update({ lists: data });\r\n }\r\n\r\n setRecordChange(value: any) {\r\n this.recordChange$.next(value);\r\n }\r\n\r\n setOnDocumentAccept(value: any) {\r\n this.onDocumentAccept$.next(value);\r\n }\r\n\r\n setOnDailogClose(value: any) {\r\n this.onDailogClose$.next(value);\r\n }\r\n\r\n setOpenDocument(value: any) {\r\n this.openDocument$.next(value);\r\n }\r\n\r\n setAlertMessage(value: any) {\r\n this.alertMessage$.next(value);\r\n }\r\n \r\n}\r\n","\r\nimport { QueryEntity } from '@datorama/akita';\r\nimport { BaseEntityState, BaseStore } from './base.store';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseModel } from '../models/base.model';\r\n\r\n/**\r\n * BaseQuery is a generic class that extends QueryEntity from Akita.\r\n * It provides methods to interact with the state of entities managed by the BaseStore.\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class BaseQuery<T extends BaseModel> extends QueryEntity<BaseEntityState<T>, T> {\r\n constructor(protected override store: BaseStore<T>) {\r\n super(store);\r\n }\r\n\r\n selectAllEntities() {\r\n return this.selectAll();\r\n }\r\n\r\n selectEntityById(id: string) {\r\n return this.selectEntity(id);\r\n }\r\n\r\n getLists(): Observable<any> {\r\n return this.select(state => state.lists);\r\n }\r\n\r\n getRecordChange() {\r\n return this.store.recordChange$.asObservable();\r\n }\r\n\r\n getOnDocumentAccept() {\r\n return this.store.onDocumentAccept$.asObservable();\r\n }\r\n\r\n getonDailogClose() {\r\n return this.store.onDailogClose$.asObservable();\r\n }\r\n\r\n getOpenDocument() {\r\n return this.store.openDocument$.asObservable();\r\n }\r\n\r\n getAlertMessage() {\r\n return this.store.alertMessage$.asObservable();\r\n }\r\n\r\n \r\n\r\n \r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, Output } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AttributeModel } from '../../models/attribute.model';\r\nimport { BaseQuery } from '../../state/base.query';\r\nimport { BaseStore } from '../../state/base.store';\r\n\r\n@Component({\r\n selector: 'app-base-control',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './base-control.component.html',\r\n styleUrl: './base-control.component.scss',\r\n providers : [BaseStore]\r\n})\r\nexport class BaseControlComponent implements OnChanges {\r\n constructor() {}\r\n @Input() store !: BaseStore<any> | null;\r\n @Input() record: any;\r\n @Input() attributeModel! : AttributeModel;\r\n @Input() error : string = \"\"\r\n @Output() onInput = new EventEmitter();\r\n @Output() onEnterKeydown = new EventEmitter();\r\n @Output() onBtnClick = new EventEmitter();\r\n\r\n query !: BaseQuery<any>\r\n ngOnChanges(){\r\n if(this.store) {\r\n this.query = new BaseQuery(this.store)\r\n }\r\n }\r\n handleModelChange(event:any, valid: boolean|null, val?:any) { \r\n if (this.attributeModel?.name) {\r\n this.record[this.attributeModel?.name] = event;\r\n this.onInput.emit(event);\r\n }\r\n }\r\n\r\n // handleEnterKey(event:any, valid: boolean|null) {\r\n // if (this.attributeModel?.name) {\r\n // this.record[this.attributeModel?.name] = event;\r\n // this.onEnterKeydown.emit(event);\r\n // this.record[this.attributeModel?.name] = SHARED.EMPTY;\r\n // }\r\n // }\r\n\r\n handleButtonClick(event:MouseEvent){\r\n this.onBtnClick.emit(event);\r\n }\r\n\r\n getValue() : string | null | undefined {\r\n return this.record[this.attributeModel.name]\r\n }\r\n \r\n}\r\n","<p>base-control works!</p>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { BaseControlComponent } from '../../_base/base-control/base-control.component';\r\n\r\n/**\r\n * CheckBoxComponent\r\n */\r\n@Component({\r\n selector: 'check-box',\r\n templateUrl: './check-box.component.html',\r\n styleUrl: './check-box.component.scss',\r\n standalone : true,\r\n imports : [CommonModule,FormsModule, CheckboxModule]\r\n})\r\nexport class CheckBoxComponent extends BaseControlComponent {\r\n \r\n}\r\n","<div class=\"checkBoxContainer\">\r\n \r\n <div class=\"checkBox\">\r\n <p-checkbox\r\n [disabled]=\"attributeModel.readonly ?? false\"\r\n [binary]=\"true\"\r\n inputId=\"binary\"\r\n [label]=\"attributeModel.displayText ?? ''\"\r\n class=\"dynamic-checkbox\"\r\n #checkBox=\"ngModel\"\r\n [ngModel]=\"this.record[this.attributeModel.name]\"\r\n [style]=\"{\r\n '--checkbox-size': attributeModel.customColumnWidth || '20px',\r\n '--checkbox-height': attributeModel.customHeight || '20px'\r\n }\"\r\n [required]=\"attributeModel.isRequired ?? false\" \r\n (ngModelChange)=\"handleModelChange($event, checkBox.valid)\"\r\n >\r\n </p-checkbox>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n</div>","import { Component } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BaseControlComponent } from '../../_base/base-control/base-control.component';\r\nimport { ButtonModule } from 'primeng/button';\r\n\r\n@Component({\r\n selector: 'lib-button',\r\n standalone: true,\r\n imports : [CommonModule,InputTextModule, FormsModule, ButtonModule],\r\n templateUrl: './button.component.html',\r\n styleUrl: './button.component.scss',\r\n})\r\nexport class ButtonComponent extends BaseControlComponent{}\r\n","<ng-container>\r\n <div class=\"btn-control\">\r\n <p-button\r\n type=\"button\"\r\n [label]=\"attributeModel.buttonLabel ?? 'Click Me'\"\r\n [disabled]=\"attributeModel.isDisabled ?? false\"\r\n [style]=\"{\r\n width: attributeModel.customButtonWidth\r\n ? attributeModel.customButtonWidth\r\n : 'auto',\r\n padding: attributeModel.customPadding\r\n ? attributeModel.customPadding\r\n : '0.5rem' \r\n }\"\r\n [icon]=\"attributeModel.icon ? attributeModel.icon : ''\"\r\n [iconPos]=\"attributeModel.iconPosition ?? 'left'\" \r\n [ngClass]=\"{\r\n 'p-button-primary': attributeModel.isPrimary ?? true,\r\n 'p-button-secondary': !attributeModel.isPrimary\r\n }\"\r\n (onClick)=\"handleButtonClick($event)\"\r\n></p-button>\r\n\r\n </div>\r\n </ng-container>","\r\nimport { CommonModule } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { BaseControlComponent } from '../../_base/base-control/base-control.component';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\n@Component({\r\n selector: 'text-box',\r\n templateUrl: './text-box.component.html',\r\n styleUrl: './text-box.component.scss',\r\n standalone : true,\r\n imports : [CommonModule,InputTextModule, FormsModule, TooltipModule]\r\n})\r\nexport class TextBoxComponent extends BaseControlComponent {\r\n override getValue() {\r\n if(this.record[this.attributeModel.name] == false){\r\n return typeof this.record[this.attributeModel.name] == \"string\" ? \"\" : \"No\"\r\n }else if( this.record[this.attributeModel.name] == true){\r\n return \"Yes\"\r\n }else{\r\n return this.record[this.attributeModel.name] ?? \"-\"\r\n }\r\n }\r\n}\r\n","<ng-container >\r\n <div class=\"\">\r\n\r\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\r\n <label>{{ attributeModel.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n @if (attributeModel.readonly) {\r\n <div class=\"mb-2\" [ngStyle]=\"{'font-size':'14px', 'color':'#0F1729', 'font-weight':'600' }\">\r\n <label [for]=\"attributeModel.name ?? 'textBox'\" class=\"text-value-wrapper\" [ngStyle]=\"{color: attributeModel.textColorOnReadonly}\">{{ getValue() }}</label>\r\n </div>\r\n } @else {\r\n <div class=\"inputTextBox\">\r\n\r\n <input\r\n pInputText\r\n type=\"text\"\r\n autocomplete=\"off\"\r\n [placeholder]=\"attributeModel.placeholder ?? ''\"\r\n class=\"block p-inputtext w-full\"\r\n [pTooltip]=\"attributeModel.tooltip ?? ''\"\r\n [tooltipPosition]=\"attributeModel.toolTipPosition ?? '' \"\r\n [ngModel]=\"record?.[attributeModel.name] ?? ''\"\r\n [disabled]=\"attributeModel.disable ?? false\" \r\n [name]=\"attributeModel.name ?? 'textBox'\"\r\n [id]=\"attributeModel.name ?? 'textBox'\"\r\n [required]=\"attributeModel.isRequired ?? false\" \r\n [ngStyle]=\"{\r\n width: attributeModel.customColumnWidth\r\n ? attributeModel.customColumnWidth\r\n : '',\r\n padding: attributeModel.customPadding ? attributeModel.customPadding : ''\r\n }\"\r\n #textboxField=\"ngModel\"\r\n (ngModelChange)=\"handleModelChange($event, textboxField.valid)\"\r\n [ngClass]=\"{\r\n 'ng-dirty ng-invalid':\r\n (!textboxField.valid && error)\r\n }\"\r\n />\r\n </div>\r\n }\r\n </div>\r\n \r\n</ng-container>\r\n","import { Component, EventEmitter, input, Input, Output, ViewEncapsulation } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { ConfirmationService, Message, MessageService } from 'primeng/api';\r\nimport { MessageModule } from 'primeng/message';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { ButtonComponent } from '../../controls/button/button.component';\r\nimport { TextBoxComponent } from '../../controls/text-box/text-box.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SHARED } from '../../constant/SHARED';\r\n\r\n@Component({\r\n selector: \"form-container\",\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ButtonModule,\r\n ConfirmDialogModule,\r\n ToastModule,\r\n MessagesModule,\r\n ButtonComponent,\r\n TextBoxComponent,\r\n ],\r\n templateUrl: \"./form-container.component.html\",\r\n styleUrl: \"./form-container.component.scss\",\r\n providers: [MessageService, ConfirmationService],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class FormContainerComponent {\r\n @Input() messages: Message[] = [];\r\n @Input() record: any;\r\n @Input() headerText: string | undefined;\r\n @Input() showSave:boolean = SHARED.FALSE\r\n @Input() disableSaveButton:boolean = SHARED.FALSE\r\n @Output() onSave = new EventEmitter();\r\n @Output() onCancel = new EventEmitter();\r\n\r\n constructor( private router: Router,\r\n private route: ActivatedRoute,){}\r\n \r\n handleSaveClick(){\r\n this.onSave.emit()\r\n }\r\n handleCancelClick(){\r\n this.onCancel.emit()\r\n\r\n }\r\n\r\n handleCreateBtnClick() {}\r\n}\r\n","<div class=\"form-container\">\r\n <div class=\"text-900 font-bold text-xl form-header mt-2\">\r\n <div class=\"form-header-container w-full mr-0\">\r\n <div class=\"form-header-title\"[innerHTML]=\"this.headerText\">\r\n </div>\r\n <div class=\"form-header-messege w-full\">\r\n <p-messages class=\"message-wrapper\" [(value)]=\"messages\" [enableService]=\"false\" />\r\n </div>\r\n </div>\r\n\r\n <div class=\"btn-wrapper\">\r\n <ng-content select=\"[headerButtons]\"></ng-content>\r\n @if(showSave){\r\n <button\r\n pButton\r\n pRipple\r\n label=\"Cancel\"\r\n (click)=\"handleCancelClick()\"\r\n class=\"p-button-outlined mr-2\"\r\n ></button>\r\n\r\n <button\r\n pButton\r\n class=\"p-button-success\"\r\n label=\"Save\"\r\n [disabled]=\"disableSaveButton\"\r\n type=\"button\"\r\n tooltipPosition=\"bottom\"\r\n (click)=\"handleSaveClick()\"\r\n ></button>\r\n }\r\n <ng-content select=\"[headerButtons]\"></ng-content>\r\n </div>\r\n </div>\r\n \r\n \r\n <p-toast></p-toast>\r\n\r\n <div>\r\n <p-confirmDialog>\r\n <ng-template pTemplate=\"message\" let-message>\r\n <div class=\"flex flex-column align-items-center w-full gap-3 border-bottom-1 surface-border\">\r\n <i class=\"pi pi-exclamation-circle text-6xl text-primary-500\"></i>\r\n <p>{{ message.message }}</p>\r\n </div>\r\n </ng-template>\r\n </p-confirmDialog>\r\n </div> \r\n <div class=\"grid mt-3\">\r\n <div class=\"col-12\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n ","\r\n/**\r\n * URLS\r\n */\r\nexport class URLS{\r\n static CONFIGFILEURL = \"assets/config/api.config.json\"\r\n static API_CONFIGURATIONS = \"api-configurations/\";\r\n}","export class ERROR {\r\n static ERROR = \"Error\";\r\n static VALIDATE_API_FAILED = \"API validation failed. Please review the input and try again.\";\r\n static VALIDATE_ACTION_API_FAILED = \"Validation action failed. Please check the configuration or try again later.\";\r\n static API_CONFIG_FAILED = \"Error loading app config:\";\r\n static API_CONFIG_LOADING_FAILED = \"App configuration not loaded. Ensure loadAppConfig() is called before accessing properties.\";\r\n static API_NAME_NOT_SET = \"API name is not set.\";\r\n static ERROR_FETCHING_DATA = \"Error fetching data:\";\r\n static UNABLE_TO_FETCH_QUEUE_LIST = \"Unable to fetch queue list.\";\r\n static NO_QUEUE_FOUND_WITH_ID = \"No queue found with the provided ID.\";\r\n static ERROR_FETCHING_WIDGET_DATA = \"Error fetching record widget data:\";\r\n static ERROR_MISSING_PARAMETERS = \"Required parameters are missing:\";\r\n static INVALID_INDEX = \"Invalid index:\";\r\n static ERROR_DELETE_DICTIONARY_ITEM = \"Failed to delete dictionary item with ID:\";\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { URLS } from '../constant/URLS';\r\nimport { ERROR } from '../constant/ERROR';\r\n\r\n/**\r\n * This service is used to get the app configuration from the config file.\r\n */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppConfigService {\r\n\r\n private appConfig: any;\r\n private isConfigLoaded = false;\r\n\r\n constructor(private http: HttpClient) {}\r\n loadAppConfig(): Promise<void> {\r\n return firstValueFrom(this.http.get(URLS.CONFIGFILEURL))\r\n .then(config => {\r\n this.appConfig = config;\r\n this.isConfigLoaded = true;\r\n })\r\n .catch(err => {\r\n console.error(ERROR.API_CONFIG_FAILED, err);\r\n throw err;\r\n });\r\n }\r\n\r\n private ensureConfigLoaded(): void {\r\n if (!this.isConfigLoaded) {\r\n throw new Error(ERROR.API_CONFIG_LOADING_FAILED);\r\n }\r\n }\r\n\r\n get apiBaseUrl() {\r\n this.ensureConfigLoaded();\r\n return this.appConfig?.catQwUrl;\r\n }\r\n\r\n get visibilityOptions() {\r\n this.ensureConfigLoaded();\r\n return this.appConfig?.visibilityOption;\r\n }\r\n\r\n get swaggerUrl() {\r\n this.ensureConfigLoaded();\r\n return this.appConfig?.swaggerUrl;\r\n }\r\n}\r\n","import { SelectItem } from \"primeng/api\";\r\n\r\nexport class List {\r\n dataSource?: string;\r\n records: any[];\r\n label: string;\r\n value: string;\r\n forProperty!: string;\r\n items: SelectItem[];\r\n allItems: SelectItem[];\r\n\r\n constructor(dataSource: string, records: any[] = [], label: string, value: string, forProperty?: string) {\r\n this.dataSource = dataSource\r\n this.records = records;\r\n this.label = label;\r\n this.value = value;\r\n this.dataSource = dataSource;\r\n this.forProperty = forProperty ?? \"\"\r\n this.items = records?.map((i) => {\r\n return { label: i[this?.label] ? i[this?.label] : 'No label', value: i[this?.value] };\r\n });\r\n this.allItems = this.records?.map((i) => {\r\n return { label: i[this?.label] ? i[this?.label] : 'No label', value: i[this?.value] };\r\n });\r\n }\r\n\r\n}\r\n","import { firstValueFrom } from \"rxjs\";\r\nimport { List } from \"../models/list.model\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { AppConfigService } from \"./app-config.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ListService {\r\n constructor(public http: HttpClient, public configService: AppConfigService) {}\r\n\r\n async getLists(models: any[]) {\r\n const lists: List[] = [];\r\n\r\n for (const model of models) {\r\n if (model.dataSource) {\r\n try {\r\n const response = await firstValueFrom(\r\n this.getbyPathName<{ data: any[] }>(model.dataSource)\r\n );\r\n const listData = response.data || response;\r\n const list = new List(\r\n model.dataSource,\r\n listData as any,\r\n model.listLabelProperty as string,\r\n model.listValueProperty as string,\r\n model.dataSource\r\n );\r\n list.forProperty = model.name;\r\n lists.push(list);\r\n } catch (error) {\r\n console.error(`Error fetching data from ${model.dataSource}:`, error);\r\n }\r\n } \r\n else if (model.options) {\r\n const list = new List(\r\n model.dataSource,\r\n model.options as any[],\r\n model.listLabelProperty as string,\r\n model.listValueProperty as string,\r\n undefined\r\n );\r\n list.forProperty = model.name;\r\n lists.push(list);\r\n }\r\n }\r\n return lists;\r\n }\r\n\r\n getbyPathName<T>(data: string) {\r\n return this.http.get<T>(this.configService.apiBaseUrl + data);\r\n }\r\n}\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { BaseStore } from './base.store';\r\nimport { SHARED } from '../constant/SHARED';\r\nimport { BaseModel } from '../models/base.model';\r\nimport { AppConfigService } from '../services/app-config.service';\r\nimport { ListService } from '../services/list.service';\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class BaseService<T extends BaseModel> {\r\n public _pathName: string = SHARED.EMPTY;\r\n protected lists!:string[];\r\n protected http: HttpClient;\r\n protected list!:[]\r\n constructor(http: HttpClient, private store: BaseStore<T>, private appConfigService: AppConfigService, protected listService : ListService) {\r\n \r\n this.http = http;\r\n }\r\n \r\n\r\n get apiUrl(): string {\r\n return this.appConfigService.apiBaseUrl;\r\n }\r\n\r\n set pathName(value: string) {\r\n this._pathName = value;\r\n }\r\n\r\n async initList() {\r\n let response = await this.listService.getLists(this.list)\r\n if (response && response.length > 0) {\r\n this.store.setList(response as any)\r\n }\r\n \r\n } \r\n\r\n create(entity: T): Observable<T> {\r\n return this.http.post<T>(this.apiUrl + this._pathName, entity).pipe(\r\n tap((newEntity: T) => this.store.add(newEntity))\r\n );\r\n }\r\n\r\n getAll(): Observable<T[]> {\r\n return this.http.get<T[]>(this.apiUrl + this._pathName).pipe(\r\n tap((entities: T[]) => this.store.set(entities))\r\n );\r\n }\r\n\r\n getById(id: string): Observable<T> {\r\n return this.http.get<T>(`${this.apiUrl}${this._pathName}/${id}`).pipe(\r\n tap((entity: T) => this.store.upsert(id, entity))\r\n );\r\n }\r\n\r\n update(id: string, entity: T): Observable<T> {\r\n return this.http.put<T>(`${this.apiUrl}${this._pathName}/${id}`, entity).pipe(\r\n tap((updatedEntity: T) => this.store.update(id, updatedEntity))\r\n );\r\n }\r\n\r\n delete(id: string): Observable<void> {\r\n return this.http.delete<void>(`${this.apiUrl}${this._pathName}/${id}`).pipe(\r\n tap(() => this.store.remove(id))\r\n );\r\n }\r\n \r\n}\r\n","\r\nexport class TablePrimaryModel{\r\n name!: string;\r\n headers!: any[];\r\n records!: any[];\r\n}","import { AttributeModel } from \"../../models/attribute.model\";\r\n\r\nexport class TablePrimaryHeaderModel{\r\n name!: string;\r\n attributes!: AttributeModel;\r\n width!: string;\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { TablePrimaryModel } from \"../table-primary/models/table-primary.model\";\r\nimport { SHARED } from \"../constant/SHARED\";\r\nimport { TablePrimaryHeaderModel } from \"../table-primary/models/table-primary-header.model\";\r\n\r\n\r\n/**\r\n * TableBuilder\r\n */\r\n@Injectable({\r\n providedIn:'root'\r\n})\r\nexport class TableBuilder{\r\n\r\n public hiddenHeaders: string[] = [];\r\n buildTable(records: any[], headerWidths?: { [key: string]: string }): TablePrimaryModel {\r\n const table = new TablePrimaryModel();\r\n table.records = records;\r\n if (records && records.length > 0) {\r\n table.headers = this.buildHeaders(Object.keys(records[0]),headerWidths);\r\n } else {\r\n table.headers = [];\r\n }\r\n return table;\r\n }\r\n \r\n private buildHeaders(keys: string[], headerWidths: { [key: string]: string } | undefined): TablePrimaryHeaderModel[] {\r\n \r\n const headers: TablePrimaryHeaderModel[] = [];\r\n const filteredKeys = keys.filter(\r\n key => key !== SHARED.ID && !this.hiddenHeaders.includes(key) // hide headers\r\n );\r\n for (const key of filteredKeys) {\r\n const header = new TablePrimaryHeaderModel();\r\n header.name = key;\r\n if(headerWidths) header.width = headerWidths[key] || SHARED.WIDTH_AUTO;\r\n headers.push(header);\r\n }\r\n return headers;\r\n }\r\n}","import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BaseModel } from '../../models/base.model';\r\nimport { TableBuilder } from '../../services/table.builder';\r\nimport { BaseService } from '../../state/base.service';\r\nimport { TablePrimaryModel } from '../../table-primary/models/table-primary.model';\r\n\r\n/**\r\n * BaseListComponent is a generic class that provides a base implementation for a list component.\r\n */\r\n@Component({\r\n selector: 'lib-base-list',\r\n templateUrl: './base-list.component.html',\r\n styleUrl: './base-list.component.scss',\r\n})\r\nexport class BaseListComponent<T extends BaseModel> implements OnChanges {\r\n @Input() refreshTable : boolean = false;\r\n table!: TablePrimaryModel;\r\n\r\n constructor(protected service: BaseService<T>, protected builder: TableBuilder){}\r\n\r\n ngOnChanges(){\r\n if(this.refreshTable){\r\n this.handleRefreshTable()\r\n }\r\n }\r\n init(dynamicWidth?:any){\r\n this.service.getAll().subscribe((res:any)=>{\r\n this.table = this.builder.buildTable(res.data, dynamicWidth);\r\n this.afterTableBuild()\r\n });\r\n }\r\n\r\n afterTableBuild(){\r\n\r\n }\r\n\r\n handleRefreshTable(){\r\n this.init()\r\n }\r\n}\r\n","<p>base-list works!</p>\r\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { BaseControlComponent } from '../../_base/base-control/base-control.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SelectItem } from 'primeng/api';\r\nimport { ListService } from '../../services/list.service';\r\nimport { List } from '../../models/list.model';\r\nimport { BaseQuery } from '../../state/base.query';\r\n\r\n/**\r\n * DropdownComponent\r\n */\r\n@Component({\r\n selector: 'dropdown',\r\n standalone: true,\r\n imports: [CommonModule, DropdownModule, FormsModule],\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DropdownComponent extends BaseControlComponent{\r\n options: SelectItem[] | undefined = [];\r\n list!: List | undefined;\r\n childListRecords: any[] = [];\r\n @Input() isStaticDropdown = false;\r\n\r\n constructor(public listService: ListService) {\r\n super();\r\n }\r\n\r\n override ngOnChanges() {\r\n if(this.store) {\r\n this.query = new BaseQuery(this.store);\r\n }\r\n if (this.attributeModel.options) {\r\n this.options = this.attributeModel.options;\r\n }\r\n if (!this.isStaticDropdown) {\r\n this.handleGetAndSetList();\r\n }else{\r\n this.options = this.attributeModel.options?.map((x: any) => {\r\n return { label: x[this.attributeModel?.listLabelProperty || 0], value: x[this.attributeModel?.listValueProperty || 0] };\r\n });\r\n }\r\n }\r\n\r\n handleGetAndSetList() {\r\n try {\r\n this.query.getLists().subscribe((response: List[]) => {\r\n if (response) {\r\n this.mapResponseToOptions(response);\r\n }\r\n });\r\n } catch (error) {\r\n console.error('Error fetching data:', error);\r\n }\r\n }\r\n\r\n private mapResponseToOptions(lists: List[]): SelectItem[] {\r\n if (lists && lists.length > 0) {\r\n const clonedLists = JSON.parse(JSON.stringify(lists));\r\n this.list = clonedLists.find((x: any) => x.forProperty === this.attributeModel.name);\r\n if (this.list) {\r\n this.options = this.list?.items ?? [];\r\n }\r\n }\r\n if (!this.options || this.options.length === 0) {\r\n this.options = this.attributeModel.options ?? [];\r\n }\r\n return this.options;\r\n }\r\n\r\n\r\n override handleModelChange(event: any, valid: boolean | null, val?: any): void {\r\n super.handleModelChange(event, valid);\r\n }\r\n}\r\n","<ng-container>\r\n <div class=\"mb-2\">\r\n <label>{{ attributeModel.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n <div class=\"dropdownbox\">\r\n\r\n <p-dropdown \r\n \r\n [options]=\"options\" \r\n [disabled]=\"attributeModel.readonly ?? false\"\r\n [showClear]=\"true\"\r\n [name]=\"attributeModel.name ?? 'testSingleSelect'\" \r\n [ngModel]=\"record[attributeModel.name]\" \r\n [placeholder]=\"attributeModel.placeholder ?? ''\" \r\n [required]=\"attributeModel.isRequired ?? false\"\r\n filterBy=\"label\" \r\n [filter]=\"attributeModel.filter ?? false\" \r\n class=\"dropdownFeild\"\r\n #dropdown=\"ngModel\"\r\n (ngModelChange)=\"handleModelChange($event, dropdown.valid)\" \r\n [ngClass]=\"!dropdown.valid && error == attributeModel.name ? 'ng-dirty ng-invalid':''\" \r\n appendTo=\"body\" \r\n optionLabel=\"label\" \r\n optionValue=\"value\">\r\n</p-dropdown>\r\n</div>\r\n\r\n</ng-container>\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ValidatorService {\r\n\r\n constructor() { }\r\n\r\n handleValidateRecords(record:any){\r\n return true\r\n }\r\n}\r\n","import { Component, EventEmitter, Output } from '@angular/core';\r\nimport { BehaviorSubject, Subscription } from 'rxjs';\r\nimport { ValidatorService } from '../../services/validator.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SHARED } from '../../constant/SHARED';\r\nimport { AttributeModel } from '../../models/attribute.model';\r\nimport { BaseModel } from '../../models/base.model';\r\nimport { BaseStore } from '../../state/base.store';\r\nimport { BaseService } from '../../state/base.service';\r\n\r\n/**\r\n * BaseFormComponent \r\n */\r\n@Component({\r\n selector: 'base-form',\r\n templateUrl: './base-form.component.html',\r\n styleUrls: ['./base-form.component.scss'],\r\n providers : [ValidatorService]\r\n})\r\nexport class BaseFormComponent<T extends BaseModel> {\r\n protected subscriptions: Subscription[];\r\n record!: T;\r\n public recordChange = new BehaviorSubject<any>({});\r\n @Output() onSave = new EventEmitter<any>();\r\n @Output() onCancel = new EventEmitter<any>();\r\n\r\n\r\n constructor(protected service: BaseService<T>, protected validatorService?:ValidatorService, protected router?: Router, protected activatedRoute?: ActivatedRoute, protected baseStore?: BaseStore<T>\r\n ) {\r\n this.subscriptions = [];\r\n this.record = {} as T;\r\n }\r\n\r\n message:any[] = []\r\n attributeMode!:AttributeModel;\r\n\r\n init(): void {\r\n this.service.initList();\r\n this.baseStore?.setRecordChange(SHARED.EMPTY);\r\n let id = this.activatedRoute ? this.activatedRoute.snapshot.params[SHARED.ID] : '';\r\n if((id !== SHARED.ZERO.toString()) && id) {\r\n this.service.getById(id).subscribe((res:any) => {\r\n // To make the object immutable\r\n this.record = JSON.parse(JSON.stringify(res));\r\n this.baseStore?.setRecordChange(res);\r\n this.recordChange.next(res);\r\n })\r\n }\r\n }\r\n\r\n handleSubmit() {\r\n let validateRecords = this.validatorService ? this.validatorService.handleValidateRecords(this.record) : true\r\n if (validateRecords) {\r\n if(this.record._id){\r\n this.handleUpdateRecord();\r\n } else {\r\n this.handleAddRecord();\r\n }\r\n }\r\n }\r\n\r\n handleUpdateRecord(){\r\n this.service.update(this.record._id, this.record).subscribe({\r\n next: (response: T) => {\r\n console.log('Record updated:', response);\r\n this.onSave.emit();\r\n },\r\n error: (error) => {\r\n console.error('Error updating record:', error);\r\n }\r\n })\r\n }\r\n\r\n handleAddRecord(){\r\n this.service.create(this.record).subscribe({\r\n next: (response: T) => {\r\n console.log('Record created:', response);\r\n this.onSave.emit();\r\n },\r\n error: (error) => {\r\n console.error('Error creating record:', error);\r\n }\r\n })\r\n }\r\n\r\n handleCancel(){\r\n this.onCancel.emit();\r\n }\r\n \r\n}\r\n","<p>base-form works!</p>\r\n","import { Injectable } from '@angular/core';\r\nimport moment from 'moment';\r\nimport { SHARED } from '../constant/SHARED';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DateParserService {\r\n\r\n constructor() { }\r\n\r\n parseDate(date:any) {\r\n\r\n\t\tif (\r\n\t\t\tmoment(date, SHARED.DATE_FORMAT_TYPE2, true).isValid()\r\n\t\t) {\r\n\t\t\tconst date1 = date.toString().split(SHARED.HIPHEN)[0];\r\n\t\t\tconst month = date.toString().split(SHARED.HIPHEN)[1];\r\n\t\t\tconst year = date.toString().split(SHARED.HIPHEN)[2];\r\n\t\t\treturn moment.utc(`${year}-${month}-${date1}`).toDate();\r\n\t\t}\r\n\t\telse if (\r\n\t\t\tmoment(date, SHARED.DATE_FORMAT, true).isValid()\r\n\t\t) {\r\n\t\t\tconst date1 = date.toString().split(SHARED.SLASH)[0];\r\n\t\t\tconst month = date.toString().split(SHARED.SLASH)[1];\r\n\t\t\tconst year = date.toString().split(SHARED.SLASH)[2];\r\n\t\t\treturn moment.utc(`${year}-${month}-${date1}`).toDate();\r\n\t\t}\r\n\t\telse if (moment(date, SHARED.DATE_FORMAT_TYPE3, true).isValid()) {\r\n\t\t\tconst dateParts = date.toString().split(SHARED.HIPHEN);\r\n\t\t\tconst year = dateParts[0];\r\n\t\t\tconst month = dateParts[1];\r\n\t\t\tconst day = dateParts[2];\r\n\t\t\treturn moment.utc(`${year}-${month}-${day}`).toDate();\r\n\t\t}\r\n else if (\r\n \r\n\t\t\tdate instanceof Date ||\r\n\t\t\tnew Date(date).toString() != SHARED.INVALIDDATE\r\n\t\t) {\r\n\r\n\t\t\tconst result = new Date(date);\r\n\t\t\tresult.setHours(0, 0, 0, 0);\r\n\t\t\treturn moment.utc(`${result.getFullYear()}-${result.getMonth()+1}-${result.getDate()}`).toDate();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthrow new Error(SHARED.INVALIDDATE);\r\n\t\t}\r\n\r\n\t\treturn SHARED.INVALIDDATE\r\n\t}\r\n\r\n}\r\n","import { Component, OnChanges } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BaseControlComponent } from '../../_base/base-control/base-control.component';\r\nimport { DateParserService } from '../../services/date-parser.service';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SHARED } from '../../constant/SHARED';\r\nimport moment from 'moment';\r\n\r\n@Component({\r\n selector: 'date',\r\n standalone: true,\r\n imports: [CommonModule, CalendarModule, FormsModule],\r\n templateUrl: './date.component.html',\r\n styleUrl: './date.component.scss',\r\n})\r\nexport class DateComponent extends BaseControlComponent implements OnChanges{\r\n constructor(public dateService : DateParserService){\r\n super()\r\n }\r\n override ngOnChanges(): void {\r\n if(this.attributeModel.readonly){\r\n this.getValue()\r\n }else{\r\n\r\n this.record[this.attributeModel.name] = this.dateService.parseDate(this.record[this.attributeModel?.name]) ??\r\n new Date();\r\n }\r\n }\r\n override getValue() {\r\n if (this.record[this.attributeModel.name]) {\r\n const formattedDate = moment(this.record[this.attributeModel.name]).format('DD/MM/YYYY');\r\n if(formattedDate == \"Invalid date\"){\r\n return SHARED.HIPHEN\r\n }else{\r\n return formattedDate\r\n }\r\n }\r\n return SHARED.EMPTY\r\n }\r\n \r\n}\r\n","@if (attributeModel && record) {\r\n<div class=\"\">\r\n <div class=\"mb-2\">\r\n <label>{{\r\n attributeModel?.displayText\r\n ? attributeModel?.displayText\r\n : attributeModel?.name\r\n }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n @if (attributeModel.readonly) {\r\n <div class=\"mb-2\" [ngStyle]=\"{ 'font-size': '14px', color: '#0F1729', 'font-weight':'600' }\">\r\n <label>{{ getValue() }}</label>\r\n </div>\r\n } @else {\r\n <div>\r\n <p-calendar\r\n [showIcon]=\"attributeModel.showCalenderIcon ?? true\"\r\n inputId=\"icon\"\r\n [disabled]=\"attributeModel?.readonly ?? false\"\r\n [required]=\"attributeModel?.isRequired ?? false\"\r\n [name]=\"attributeModel?.name ? attributeModel?.name : 'testDatePicker'\"\r\n [placeholder]=\"\r\n attributeModel.placeholder ? attributeModel.placeholder : ''\r\n \"\r\n [yearRange]=\"attributeModel.yearRange ?? '1950 : 2050'\"\r\n [title]=\"attributeModel.title ? attributeModel.title : ''\"\r\n [(ngModel)]=\"record[attributeModel?.name]\"\r\n #dateField=\"ngModel\"\r\n [dateFormat]=\"'dd/mm/yy'\"\r\n appendTo=\"body\"\r\n (ngModelChange)=\"handleModelChange($event, dateField.valid)\"\r\n [ngClass]=\"{\r\n 'ng-dirty ng-invalid': !dateField.valid && error == attributeModel?.name\r\n }\"\r\n [hourFormat]=\"attributeModel?.hourFormat ? '24' : ''\"\r\n >\r\n </p-calendar>\r\n </div>\r\n }\r\n</div>\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BaseControlComponent } from '../../_base/base-control/base-control.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\n\r\n@Component({\r\n selector: 'file-upload',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, FileUploadModule],\r\n templateUrl: './file-upload.component.html',\r\n styleUrl: './file-upload.component.scss',\r\n})\r\nexport class FileUploadComponent extends BaseControlComponent {\r\n\r\n handleSingleUpload(event:any){\r\n console.log(event)\r\n }\r\n}\r\n","<ng-container class=\"documentContainer\">\r\n @if(!attributeModel.hideLabelOnForm){\r\n <div class=\"mb-2\">\r\n <label class=\"form-header-label\">{{ attributeModel?.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n }\r\n<div class=\"card flex justify-content-center\">\r\n <p-fileUpload \r\n mode=\"basic\" \r\n [chooseLabel]=\"record[attributeModel.name] ? attributeModel.displayText : 'No Files'\"\r\n chooseIcon=\"pi pi-plus\"\r\n [name]=\"attributeModel?.name\"\r\n accept=\"image/*,application/pdf\" \r\n [maxFileSize]=\"209715200\" class=\"fileUploader\"\r\n (onSelect)=\"handleSingleUpload($event)\" />\r\n</div>\r\n</ng-container>","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'capitalizeWords',\r\n standalone: true,\r\n})\r\nexport class CapitalizeWordsPipe implements PipeTransform {\r\n transform(value: string): string {\r\n if (!value) return value;\r\n return value\r\n .split(' ')\r\n .map(word => \r\n word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()\r\n )\r\n .join(' ');\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { BaseControlComponent } from '../../_base/base-control/base-control.component';\r\n\r\n@Component({\r\n selector: 'text-area',\r\n templateUrl: './text-area.component.html',\r\n styleUrl: './text-area.component.scss',\r\n standalone : true,\r\n imports : [CommonModule ,InputTextareaModule, FormsModule]\r\n})\r\nexport class TextAreaComponent extends BaseControlComponent {\r\n @Input() rowspan : number = 0\r\n override getValue() {\r\n if(this.record[this.attributeModel.name] == false){\r\n return typeof this.record[this.attributeModel.name] == \"string\" ? \"\" : \"No\"\r\n }else if( this.record[this.attributeModel.name] == true){\r\n return \"Yes\"\r\n }else{\r\n return this.record[this.attributeModel.name] ?? \"-\"\r\n }\r\n}\r\n}\r\n","<ng-container class=\"textAreaContainer\">\r\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\r\n <label>{{ attributeModel.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n @if (attributeModel.readonly) {\r\n <div class=\"mb-2\" [ngStyle]=\"{'font-size':'14px', 'color':'#0F1729', 'font-weight':'600' }\">\r\n <label class=\"text-value-wrapper\" [ngStyle]=\"{color: attributeModel.textColorOnReadonly}\">{{ getValue() }}</label>\r\n </div>\r\n } @else {\r\n <div class=\"textAreaControl\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"rowspan ?? 3\"\r\n cols=\"30\"\r\n [disabled]=\"attributeModel?.readonly ?? false\"\r\n [ngModel]=\"record[attributeModel.name]\"\r\n [name]=\"attributeModel.name ?? 'textArea'\"\r\n [required]=\"attributeModel?.isRequired ?? false\"\r\n [ngStyle]=\"{\r\n width: attributeModel.customColumnWidth\r\n ? attributeModel.customColumnWidth\r\n : ''\r\n }\"\r\n #textArea=\"ngModel\"\r\n (ngModelChange)=\"handleModelChange($event, textArea.valid)\"\r\n [ngClass]=\"{\r\n 'ng-dirty ng-invalid':\r\n (!textArea.valid && error == attributeModel?.name)\r\n \r\n }\"\r\n ></textarea>\r\n \r\n </div>\r\n }\r\n</ng-container>\r\n","import { Component } from '@angular/core';\r\nimport { SHARED } from '../../constant/SHARED';\r\n\r\n@Component({\r\n selector: 'queue-search-customer',\r\n standalone: false,\r\n templateUrl: './queue-search-customer.component.html',\r\n styleUrl: './queue-search-customer.component.scss',\r\n})\r\nexport class QueueSearchCustomerComponent {\r\n\r\n constructor() {}\r\n\r\n queues: any[] = [\r\n { name: SHARED.ALL, code: SHARED.QUEUE1 },\r\n { name: SHARED.UK, code: SHARED.QUEUE2 },\r\n { name: SHARED.INTERNATIONAL, code: SHARED.QUEUE3 }\r\n ];\r\n queueData :any[]=[]\r\n selectedQueue: any;\r\n\r\n onSearch() {\r\n console.log(SHARED.SELECTED_QUEUE, this.selectedQueue);\r\n }\r\n}\r\n","<div class=\"flex mt-5 xl:mt-0 xl:justify-content-between xl:align-items-center vh-100\">\r\n <div class=\"p-field m-0 p-0 w-full bg-white border-round\">\r\n <div class=\"p-inputgroup border-round-left bg-white\">\r\n <span class=\"p-inputgroup-addon bg-white\">\r\n <i class=\"pi pi-search\"></i>\r\n </span>\r\n <input type=\"text\" class=\"border-none h-44 border-noround-right bg-white\" pInputText placeholder=\"Search with Applicaiton no., Name or Address\" />\r\n </div>\r\n </div>\r\n <div class=\"p-field m-0 p-0 py-2 border-round-right border-noround-left\">\r\n <p-dropdown \r\n [styleClass]=\"'bg-white font-bold'\"\r\n [options]=\"queues\" \r\n [(ngModel)]=\"selectedQueue\" \r\n placeholder=\"All queue\"\r\n optionLabel=\"name\"\r\n class=\"left-arrow-dropdown\"\r\n ></p-dropdown>\r\n </div>\r\n <div class=\"p-field p-0 m-0 ml-3\">\r\n <button class=\"py-3 border-none\" pButton type=\"button\" label=\"Search\" (click)=\"onSearch()\"></button>\r\n </div>\r\n </div>\r\n ","export class ROUTES {\r\n static QUEUE_FORM = \"/queue/\";\r\n static DICTIONARY_CREATE_FORM = '/dictionary/create';\r\n static DICTIONARY = '/dictionary/';\r\n static APIMANAGEMENT = '/apiManagement/';\r\n static APICONFIG = 'apiConfig';\r\n static VALIDATEAPI = 'api-configurations/validateApi';\r\n static APPLICATION = \"application/\";\r\n static APIPROPERTIES = \"api-configurations/get-parent\";\r\n static APPLICATION_WIDGET = \"widgets/evaluate\";\r\n static DOCUMENTALERT = \"alerts/documentId\";\r\n static VALIDATE_ACTIONS = 'actions/validate';\r\n}","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RippleModule } from 'primeng/ripple';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { Router, RouterModule } from '@angular/router';\r\nimport { ROUTES } from '../../constant/ROUTES';\r\nimport { SHARED } from '../../constant/SHARED';\r\nimport { BadgeModule } from 'primeng/badge';\r\n\r\n@Component({\r\n selector: 'block-list',\r\n standalone: true,\r\n imports: [CommonModule, RippleModule, ButtonModule, RouterModule, BadgeModule],\r\n templateUrl: './block-list.component.html',\r\n styleUrls: ['./block-list.component.scss'], // Fixed the typo: styleUrl -> styleUrls\r\n})\r\nexport class BlockListComponent {\r\n // @Input() list!: any;\r\n @Input() queueData!: any[];\r\n @Input() showQueueDataForm : boolean = true\r\n @Output() queueDataById: EventEmitter<any> =\r\n new EventEmitter<any>();\r\n\r\n selectedQueueId: any;\r\n constructor(public router : Router){}\r\n\r\n ngOnChanges(){\r\n this.queueData = this.queueData.map((queue) => {\r\n if (queue.name === SHARED.UK) {\r\n return { ...queue, itemCount: 5 };\r\n } else if (queue.name === SHARED.INTERNATIONAL) {\r\n return { ...queue, itemCount: 2 }; \r\n }\r\n return queue;\r\n });\r\n this.queueDataById.emit(this.queueData[0]?._id)\r\n this.selectedQueueId=this.queueData[0]?._id;\r\n // this.handleQueueClick(this.list[0]._id, this.showQueueDataForm);\r\n }\r\n\r\n\r\n\r\n insertQueue(){\r\n this.router.navigate([ROUTES.QUEUE_FORM + SHARED.ZERO])\r\n }\r\n\r\n\r\n handleQueueClick(queueId:any, showQueueDataForm:any){\r\n this.selectedQueueId=queueId;\r\n if(showQueueDataForm){\r\n this.router.navigateByUrl(ROUTES.QUEUE_FORM+queueId);\r\n localStorage.setItem(SHARED.SELECTED_QUEUE_ID, queueId);\r\n }else{\r\n this.queueDataById.emit(queueId)\r\n }\r\n }\r\n}\r\n","<div class=\"card p-4 pr-3 mb-0\">\r\n <!-- <div class=\"px-4 w-full flex\">\r\n <button pButton pRipple label=\"Add New Queue\" routerLinkActive=\"router-link-active\" icon=\"pi pi-plus font-semibold\" class=\"py-3 justify-content-center font-semibold w-full border-round\" (click)=\"insertQueue()\"></button>\r\n </div> -->\r\n <div class=\"queues overflow-y-scroll scrollable\">\r\n\r\n @for(queue of queueData; let i = $index; track queue){\r\n <div class=\"flex flex-column gap-5 overflow-y-auto scrollable kanban-list\" [ngClass]=\"i !== 0 ? 'mt-2 pt-1' : ''\" #listEl style=\"min-height:2rem\" (click)=\"handleQueueClick(queue._id, false)\" >\r\n <div class=\"flex flex-column py-4 px-3 cursor-pointer queue-list-wrapper\" [ngClass]=\"{'active-queue-wrapper': queue._id === this.selectedQueueId}\">\r\n <div class=\"flex text-center justify-content-between flex align-items-center\">\r\n <!-- <button class=\"btn-edit\" type=\"button\" pButton pRipple icon=\"pi pi-pencil\" -->\r\n <!-- (click)=\"handleQueueClick(queue._id, true)\"></button> -->\r\n <span class=\"text-color queue-name font-semibold\"\r\n [ngClass]=\"{'active-title-wrapper': queue._id === this.selectedQueueId}\"\r\n >{{queue.name}}</span>\r\n <p-badge [value]=\"queue.itemCount\" severity=\"primary\" />\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n <div class=\"flex flex-column gap-5 overflow-y-auto mt-2 pt-1 scrollable kanban-list\" #listEl style=\"min-height:2rem\" >\r\n <div class=\"flex flex-column py-4 px-3 p-3 cursor-pointer queue-list-wrapper\">\r\n <div class=\"flex text-center justify-content-between flex align-items-center\">\r\n <!-- <button class=\"btn-edit\" type=\"button\" pButton pRipple icon=\"pi pi-pencil\" -->\r\n <!-- (click)=\"handleQueueClick(queue._id, true)\"></button> -->\r\n <span class=\"text-color queue-name font-semibold\"\r\n >Total Loss</span>\r\n <p-badge [value]=\"11\" severity=\"primary\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex flex-column gap-5 overflow-y-auto mt-2 pt-1 scrollable kanban-list\" #listEl style=\"min-height:2rem\" >\r\n <div class=\"flex flex-column py-4 px-3 p-3 cursor-pointer queue-list-wrapper\">\r\n <div class=\"flex text-center justify-content-between flex align-items-center\">\r\n <!-- <button class=\"btn-edit\" type=\"button\" pButton pRipple icon=\"pi pi-pencil\" -->\r\n <!-- (click)=\"handleQueueClick(queue._id, true)\"></button> -->\r\n <span class=\"text-color queue-name font-semibold\"\r\n >Repair</span>\r\n <p-badge [value]=\"7\" severity=\"primary\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div> ","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { InputGroupModule } from 'primeng/inputgroup';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CardModule } from 'primeng/card';\r\nimport { SidebarModule } from 'primeng/sidebar';\r\nimport { SidebarComponent } from './components/sidebar/sidebar.component';\r\nimport { CheckBoxComponent } from './controls/check-box/check-box.component';\r\nimport { DragDropModule } from 'primeng/dragdrop';\r\nimport { FormContainerComponent } from './components/form-container/form-container.component';\r\nimport { BaseListComponent } from './_base/base-list/base-list.component';\r\nimport { DropdownComponent } from './controls/dropdown/dropdown.component'\r\nimport { BaseFormComponent } from './_base/base-form/base-form.component';\r\nimport { TextBoxComponent } from './controls/text-box/text-box.component';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { DividerModule } from 'primeng/divider';\r\nimport { DateComponent } from './controls/date/date.component';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { TimelineModule } from 'primeng/timeline';\r\nimport { ListboxModule } from 'primeng/listbox';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { FileUploadComponent } from './controls/file-upload/file-upload.component';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { CapitalizeWordsPipe } from './pipe/capitalize-words.pipe';\r\nimport { TextAreaComponent } from './controls/text-area/text-area.component';\r\nimport { QueueSearchCustomerComponent } from './components/queue-search-customer/queue-search-customer.component';\r\nimport { BlockListComponent } from './components/list/block-list.component';\r\n\r\n@NgModule({\r\n \r\n declarations: [ SidebarComponent, QueueSearchCustomerComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n InputTextModule,\r\n ButtonModule,\r\n DropdownModule,\r\n InputGroupModule,\r\n CardModule,\r\n SidebarModule,\r\n CheckBoxComponent,\r\n DragDropModule,\r\n FormContainerComponent,\r\n BaseListComponent,\r\n DropdownComponent,\r\n BaseListComponent,\r\n TextBoxComponent,\r\n InputTextareaModule,\r\n DividerModule,\r\n DateComponent,\r\n DialogModule,\r\n TimelineModule,\r\n ListboxModule,\r\n CheckboxModule,\r\n FileUploadComponent,\r\n FileUploadModule,\r\n CapitalizeWordsPipe,\r\n TextAreaComponent,\r\n BaseFormComponent,\r\n BlockListComponent\r\n ],\r\n exports: [ CapitalizeWordsPipe,TextBoxComponent,FormsModule,ListboxModule,DialogModule, CheckboxModule,DropdownComponent,FormContainerComponent, BaseListComponent, SidebarComponent, DividerModule, CardModule, QueueSearchCustomerComponent, BlockListComponent]\r\n})\r\nexport class SharedModule { }\r\n","\r\n/**\r\n * This class is used to store the API Paths for the application\r\n */\r\nexport class DATASOURCES{\r\n static QUEUES = \"queues\"\r\n static DICTIONARY = \"data-dictionaries\"\r\n static ACTIONS = \"actions\"\r\n static WIDGET = \"widgets\"\r\n static APIMANAGEMENT = \"api-configurations\"\r\n static APPLICATION = \"applications\"\r\n static DOCUMETS = \"documents\"\r\n static RATIONALE = \"rationale\"\r\n static QUEUESAPICONFIG = \"api-configurations/get-queues-apiconfig\"\r\n static DELETEDICTIONARYITEM = \"data-dictionaries/dictionaryItems\"\r\n}","export class HEADERS{\r\n static API_MANAGEMENT = \"Api Management\";\r\n static DICTIONARY_FORM = \"Dictionary Form\";\r\n}","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BaseControlComponent } from '../../_base/base-control/base-control.component';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\n\r\n@Component({\r\n selector: 'username',\r\n standalone: true,\r\n imports: [CommonModule, InputTextModule,FormsModule],\r\n templateUrl: './username.component.html',\r\n styleUrls: ['./username.component.scss'],\r\n})\r\nexport class UsernameComponent extends BaseControlComponent {\r\n\r\n \r\n}\r\n","<ng-container>\r\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\r\n <label>{{ attributeModel.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n <div class=\"username-control\">\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-envelope\"></i>\r\n <input pInputText type=\"text\"\r\n autocomplete=\"off\"\r\n [placeholder]=\"attributeModel.placeholder ?? ''\" \r\n [ngModel]=\"record[attributeModel.name]\"\r\n [required]=\"attributeModel.isRequired ?? false\" \r\n [disabled]=\"attributeModel.readonly ?? false\"\r\n #usernameField=\"ngModel\"\r\n (ngModelChange)=\"handleModelChange($event, usernameField.valid)\" \r\n />\r\n </span>\r\n </div>\r\n </ng-container>","import { Component , OnInit} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BaseControlComponent } from '../../_base/base-control/base-control.component';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'password',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule],\r\n templateUrl: './password.component.html',\r\n styleUrl: './password.component.scss',\r\n})\r\nexport class PasswordComponent extends BaseControlComponent {\r\n invalidPasswordErrorMsg: string | undefined\r\n \r\n constructor(){\r\n super()\r\n }\r\n\r\n ngOninit():void{\r\n this.invalidPasswordErrorMsg = \"Invalid Password\";\r\n }\r\n\r\n}\r\n","<ng-container>\r\n <div *ngIf=\"attributeModel.displayText\" class=\"mb-2\">\r\n <label>{{ attributeModel.displayText }}</label>\r\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\r\n </div>\r\n <div class=\"password-control\">\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-key\"></i>\r\n <input type=\"password\" autocomplete=\"off\" pInputText [placeholder]=\"attributeModel.placeholder ?? ''\"\r\n [ngModel]=\"record[attributeModel.name]\" [required]=\"attributeModel.isRequired ?? false\" #passwordField=\"ngModel\"\r\n (ngModelChange)=\"handleModelChange($event, passwordField.valid)\" [ngClass]=\"{\r\n 'ng-dirty ng-invalid': !passwordField.valid && error == attributeModel.name\r\n }\" class=\"block p-inputtext\" />\r\n\r\n </span>\r\n </div>\r\n @if (!passwordField.valid && passwordField.dirty) {\r\n <div>\r\n <small id=\"password-help\" class=\"p-error\">{{\r\n invalidPasswordErrorMsg\r\n }}</small>\r\n </div>\r\n }\r\n\r\n</ng-container>","export class CSS {\r\n static DIALOGUE_BREAKPOINTS = {\r\n '960px': '75vw',\r\n '640px': '90vw'\r\n }\r\n static DIALOGUE_OVERFLOW = { overflow: 'auto' }\r\n static DIALOGUE_WIDTH = '100vw'\r\n static DIALOGUE_HIGHT = '100vh'\r\n}","import { SelectItem } from \"primeng/api\";\r\n\r\nexport class AttributeModel {\r\n displayText ?: string;\r\n readonly ?: boolean;\r\n name ?: any;\r\n isRequired?: boolean;\r\n placeholder?: string;\r\n maxLength?: number;\r\n infoText?: string;\r\n buttonLabel?: string;\r\n isDisabled?: boolean;\r\n customButtonWidth?: string;\r\n isPrimary?: number;\r\n title?: string;\r\n customColumnWidth?: string;\r\n customHeight?: string;\r\n icon?: string;\r\n iconPosition?: 'left' | 'right';\r\n customPadding?: string;\r\n dataSource?: string;\r\n listValueProperty?: string;\r\n listLabelProperty?: string;\r\n options?: SelectItem[];\r\n childListName?: any;\r\n childListKey?:any;\r\n inputId?:string;\r\n allowFraction?:string = 'Y'\r\n numberMode?:string;\r\n currency?:string;\r\n locale ?: 'en-GB';\r\n tooltip?:string;\r\n toolTipPosition?:string\r\n hourFormat?:string\r\n yearRange?:string\r\n showCalenderIcon ?: boolean\r\n additionalFilterList?:string\r\n additionalFilterKey?:string\r\n lookupName?:any\r\n textColorOnReadonly ?: any\r\n hideLabelOnForm?:boolean = false;\r\n disable ?: boolean = false;\r\n filter ?: boolean = false\r\n}","export class BaseModel{\r\n _id ?: any\r\n}","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SHARED } from '../constant/SHARED';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SessionService {\r\n\r\n constructor(public router : Router) {\r\n\r\n }\r\n\r\n getUserRole() {\r\n const role = sessionStorage.getItem('role');\r\n return role;\r\n }\r\n\r\n setUserSession(data: any): void {\r\n sessionStorage.setItem(SHARED.SESSIONKEY, JSON.stringify(data));\r\n }\r\n\r\n getUserSession(): any {\r\n const sessionData = sessionStorage.getItem(SHARED.SESSIONKEY);\r\n return sessionData ? JSON.parse(sessionData) : null;\r\n }\r\n\r\n\r\n getSessionID(){\r\n return 1;\r\n }\r\n\r\n clearSession(): void {\r\n sessionStorage.clear();\r\n localStorage.clear();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { SessionService } from '../session.service';\r\nimport { map, Observable, of, tap } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n constructor(public _sessionService : SessionService,private _router: Router) {}\r\n\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): Observable<boolean> {\r\n return of(this._sessionService.getSessionID()).pipe(\r\n tap((sessionID) => {\r\n if (!sessionID) {\r\n this._router.navigateByUrl(\"auth/login\" + \"?returnUrl=\" + state.url);\r\n }\r\n }),\r\n map((sessionID) => !!sessionID)\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BaseService } from '../../state/base.service';\r\nimport { BaseModel } from '../../models/base.model';\r\n\r\n@Component({\r\n selector: 'lib-base-container',\r\n templateUrl: './base-container.component.html',\r\n styleUrl: './base-container.component.scss',\r\n})\r\nexport class BaseContainerComponent<T extends BaseModel>{\r\n constructor(protected service : BaseService<T>){\r\n\r\n }\r\n init(){\r\n this.service.initList()\r\n }\r\n\r\n}\r\n","<p>base-container works!</p>\r\n","export class LOOKUPS{\r\n static DOCUMENTTYPE = 'DocumentType'\r\n}","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TableModule } from 'primeng/table';\r\nimport { TablePrimaryModel } from '../models/table-primary.model';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { ToggleButtonModule } from 'primeng/togglebutton';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { Router } from '@angular/router';\r\nimport { SHARED } from '../../constant/SHARED';\r\n\r\n@Component({\r\n selector: 'lib-table-primary',\r\n standalone: true,\r\n imports: [CommonModule, TableModule, ButtonModule, ToggleButtonModule, FormsModule, InputSwitchModule, InputTextModule, TooltipModule],\r\n templateUrl: './table-primary.component.html',\r\n styleUrl: './table-primary.component.scss',\r\n})\r\nexport class TablePrimaryComponent implements OnInit {\r\n @Input() table!: TablePrimaryModel;\r\n @Input() title!: string;\r\n \r\n @Input() showStatus = true;\r\n @Input() showActions = true;\r\n @Input() showSearchBar = true;\r\n @Input() showNewRecordButton = true;\r\n @Input() showRefreshButton = true;\r\n\r\n globalFilter: string = SHARED.EMPTY;\r\n\r\n constructor(private _router: Router) {}\r\n\r\nngOnInit(): void {\r\n // Ensure that table headers are not empty\r\n if (this.table.headers.length === 0) {\r\n console.error('Table headers are missing.');\r\n }\r\n}\r\n\r\n clearSearch(table: any) {\r\n this.globalFilter = SHARED.EMPTY;\r\n table.clear(); \r\n }\r\n\r\n refreshTable() {\r\n }\r\n\r\n handleCreate() {\r\n const currentRouteURL = this._router.url;\r\n this._router.navigate([currentRouteURL + SHARED.SLASH + SHARED.ZERO])\r\n }\r\n\r\n handleEditClick(id: number) {\r\n const currentRouteURL = this._router.url;\r\n this._router.navigate([currentRouteURL + SHARED.SLASH + id])\r\n }\r\n\r\n editRow(rowData: any) {\r\n console.log('Edit Row:', rowData);\r\n }\r\n\r\n deleteRow(rowData: any) {\r\n console.log('Delete Row:', rowData);\r\n }\r\n\r\n viewRow(rowData: any) {\r\n console.log('Delete Row:', rowData);\r\n }\r\n}\r\n","<p-table #dt2 [columns]=\"table.headers\" class=\"table-primary-container\" [value]=\"table.records\">\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"table-header-wrapper flex align-items-center justify-content-between\">\r\n <h3 class=\"text-color table-title-wrapper text-color m-0\">{{title}}</h3>\r\n <div class=\"flex align-items-center justify-content-between w-full\">\r\n <div class=\"flex justify-content-end w-full\" *ngIf=\"showSearchBar\">\r\n <input pInputText type=\"text\" [(ngModel)]=\"globalFilter\" (input)=\"dt2.filterGlobal($event, 'contains')\"\r\n [placeholder]=\"'Search ...'\" class=\"search-input-wrapper w-4\" />\r\n <p-button icon=\"pi pi-cog\" class=\"setting-icon-wrapper ml-3\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- Header Template -->\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr *ngIf=\"table.headers.length > 0\">\r\n <th *ngFor=\"let col of table.headers\" class=\"p-4\" [pSortableColumn]=\"col.name\" [ngClass]=\"col.width ? col.width : 'w-full'\">\r\n <h4 class=\"flex align-items-center table-header-title capitalize text-color font-semibold m-0\">\r\n {{ col.name }}\r\n <p-sortIcon [field]=\"col.name\" />\r\n </h4>\r\n </th>\r\n <th *ngIf=\"showActions\" class=\"table-action-title p-4\" [ngClass]=\"table.headers[0]?.width ? 'w-2' : 'w-full'\">\r\n <h4 class=\"text-color font-semibold table-header-title capitalize m-0\">Actions</h4></th>\r\n </tr>\r\n </ng-template>\r\n\r\n <!-- Table Body -->\r\n <ng-template pTemplate=\"body\" let-rowData>\r\n <tr *ngIf=\"table.headers.length > 0\" class=\"table-row-wrapper relative table-group-wrapper\">\r\n <td class=\"text-left p-4\" *ngFor=\"let col of table.headers\">\r\n <div class=\"table-text-wrapper p-0\" \r\n [ngClass]=\"{\r\n 'enable-badge-wrapper': col.name.toLowerCase() === 'status' && rowData[col.name] === 'Enable',\r\n 'disable-badge-wrapper': col.name.toLowerCase() === 'status' && rowData[col.name] === 'Disable',\r\n 'w-8': col.name.toLowerCase() === 'status',\r\n 'text-primary font-semibold': col.name.toLowerCase() === 'action' || col.name.toLowerCase() === 'name'\r\n }\"\r\n >\r\n {{ rowData[col.name] }}\r\n <p *ngIf=\"col.name.toLowerCase() === 'action'\" class=\"text-color font-normal\">{{rowData['apiEndPoint']}}</p>\r\n </div>\r\n </td>\r\n\r\n <!-- Actions -->\r\n <td *ngIf=\"showActions\" class=\"action-data-wrapper text-left p-4\">\r\n <div class=\"flex align-items-center\">\r\n <p-button icon=\"pi pi-pencil\" (click)=\"handleEditClick(rowData._id)\" class=\"edit-icon-wrapper mr-3\"></p-button>\r\n <p-button icon=\"pi pi-trash\" (click)=\"deleteRow(rowData)\" class=\"delete-icon-wrapper mr-3\"></p-button>\r\n </div>\r\n </td>\r\n <p-button icon=\"pi pi-eye\" (click)=\"viewRow(rowData)\" class=\"view-icon-wrapper icon-position-wrapper table-group-wrapper-hover:visible\"></p-button>\r\n </tr>\r\n </ng-template>\r\n</p-table>","export class MESSAGE {\r\n static VALIDATE_SUCCESS_MESSAGE = \"API validation completed successfully! Your API is now ready for use.\";\r\n static VALIDATE_ACTION_SUCCESS_MESSAGE = \"Validation action was successful. The configuration is valid.\"\r\n static QUERY_CHANGE_EVENT = \"Query Change Event:\";\r\n static DELETE_DICTIONARY_ITEM_SUCCESS = \"Dictionary item deleted successfully.\";\r\n}","export class LISTCONFIG {\r\n private static createConfig(name: string, dataSource: string): object {\r\n return {\r\n name: name,\r\n dataSource: dataSource,\r\n listValueProperty: \"_id\",\r\n listLabelProperty: \"name\"\r\n };\r\n }\r\n \r\n static APICONFIG = [\r\n LISTCONFIG.createConfig(\"parentApiConfigID\", \"api-configurations\")\r\n ];\r\n \r\n static QUEUECONFIG = [\r\n LISTCONFIG.createConfig(\"queueID\", \"queues\")\r\n ];\r\n \r\n static ACTIONAPICONFIG = [\r\n LISTCONFIG.createConfig(\"apiConfigID\", \"api-configurations\")\r\n ];\r\n\r\n static QUEUEAPICONFIG = [\r\n LISTCONFIG.createConfig(\"apiConfigId\", \"api-configurations\")\r\n ];\r\n }","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { BaseStore } from '../../../shared';\r\nimport { ApiConfigModel } from '../models/api-config.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig({ name: 'apiManagementStore' })\r\n\r\nexport class ApiAdminStore extends BaseStore<ApiConfigModel> {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ApiAdminStore } from './api-admin.store';\r\nimport { Observable, tap } from 'rxjs';\r\nimport { AppConfigService, BaseService, DATASOURCES } from '../../../shared';\r\nimport { ListService } from '../../../shared/services/list.service';\r\nimport { ApiConfigModel } from '../models/api-config.model';\r\nimport { LISTCONFIG } from '../../../shared/constant/LIST-CONFIG';\r\n\r\n/**\r\n * Service for managing API configurations.\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class ApiAdminService extends BaseService<ApiConfigModel> {\r\n\r\n constructor(\r\n http: HttpClient,\r\n protected apiManagementStore: ApiAdminStore,\r\n private configService: AppConfigService,\r\n listService: ListService\r\n ) {\r\n super(http, apiManagementStore, configService, listService);\r\n this._pathName = DATASOURCES.APIMANAGEMENT;\r\n }\r\n\r\n protected override list : any= LISTCONFIG.APICONFIG\r\n\r\n checkApiByPathName(name:string, record:any): Observable<ApiConfigModel[]> {\r\n return this.http.post<ApiConfigModel[]>(this.apiUrl+name, record).pipe(\r\n tap((entities: ApiConfigModel[]) => this.apiManagementStore.set(entities))\r\n );\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Message, SelectItem } from 'primeng/api';\r\nimport { BaseFormComponent, ERROR, SHARED } from '../../../../shared';\r\nimport { ValidatorService } from '../../../../shared/services/validator.service';\r\nimport { ROUTES } from '../../../../shared/constant/ROUTES';\r\nimport { ApiAdminService } from '../../state/api-admin.service';\r\nimport { ApiAdminStore } from '../../state/api-admin.store';\r\nimport { ApiConfigModel } from '../../models/api-config.model';\r\nimport { Subscription } from 'rxjs';\r\nimport { MESSAGE } from '../../../../shared/constant/MESSAGES';\r\n\r\n\r\n/**\r\n * Form component for creating and updating API configurations.\r\n */\r\n@Component({\r\n selector: 'lib-api-admin-form',\r\n templateUrl: './api-admin-form.component.html',\r\n styleUrl: './api-admin-form.component.scss',\r\n standalone: false,\r\n encapsulation:ViewEncapsulation.None\r\n})\r\nexport class ApiAdminFormComponent extends BaseFormComponent<ApiConfigModel> implements OnInit , OnDestroy{\r\n isDisable:boolean = SHARED.TRUE;\r\n messages: Message[] = SHARED.EMPTYARRAY;\r\n name: string = SHARED.EMPTY;\r\n selectedParentId!: string;\r\n filteredRecords: string[] = SHARED.EMPTYARRAY;\r\n dropdownOptions: any[] = SHARED.EMPTYARRAY;\r\n apiPropertyList!: SelectItem[];\r\n private recordChangeSubscription: Subscription | null = null;\r\n\r\n\r\n constructor(public apiAdminService: ApiAdminService, override validatorService: ValidatorService, override router: Router, override activatedRoute: ActivatedRoute, public apiAdminStore: ApiAdminStore) {\r\n super(apiAdminService, validatorService, router, activatedRoute)\r\n this.record.isActive = true;\r\n }\r\n\r\n ngOnInit() {\r\n this.init()\r\n }\r\n\r\n hanldeValidateApi() {\r\n const payload = {\r\n path: this.record.path,\r\n getByIDPath : this.record.getByIDPath,\r\n idProperty : this.record.idProperty\r\n }\r\n if (this.record.path) {\r\n this.apiAdminService.checkApiByPathName(ROUTES.VALIDATEAPI, payload).subscribe({\r\n next: (res: any) => {\r\n if (res && res.isValid) {\r\n this.handleErrorAndSuccess(res.isValid, res.message)\r\n }else{\r\n this.handleErrorAndSuccess(res.isValid, SHARED.EMPTY)\r\n }\r\n },\r\n error: (error: any) => {\r\n this.handleErrorAndSuccess(false, error.message)\r\n },\r\n });\r\n } else {\r\n this.handleErrorAndSuccess(false, ERROR.VALIDATE_API_FAILED)\r\n }\r\n }\r\n\r\n handleModelChange(event: string) {\r\n if (event) {\r\n this.apiAdminService.getById(event).subscribe((res: any) => {\r\n this.apiPropertyList = res.properties.map((property: string) => ({\r\n label: property,\r\n value: property\r\n }));\r\n })\r\n } else {\r\n this.record.parentKey = SHARED.EMPTY;\r\n this.apiPropertyList = SHARED.EMPTYARRAY;\r\n }\r\n }\r\n\r\n handleErrorAndSuccess(isValid:boolean, error:any){\r\n if(isValid){\r\n this.messages = [{ severity: SHARED.SUCCESS, detail: MESSAGE.VALIDATE_SUCCESS_MESSAGE }];\r\n setTimeout(() => {\r\n this.messages = SHARED.EMPTYARRAY;\r\n }, 3000);\r\n this.isDisable = SHARED.FALSE\r\n\r\n }else{\r\n this.messages = [{ severity: SHARED.ERROR, detail: error }];\r\n setTimeout(() => {\r\n this.messages = SHARED.EMPTYARRAY;\r\n }, 3000);\r\n this.isDisable = SHARED.TRUE\r\n }\r\n }\r\n ngOnDestroy(): void {\r\n if (this.recordChangeSubscription) {\r\n this.recordChangeSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n\r\n","<form-container\r\n [headerText]=\"'Api Management Form'\"\r\n [messages]=\"messages\"\r\n (onSave)=\"handleSubmit()\"\r\n [showSave]=\"true\" \r\n [disableSaveButton]=\"isDisable\"\r\n (onCancel)=\"handleCancel()\"\r\n>\r\n <div class=\"card p-fluid p-formgrid grid \">\r\n <h4 class=\"font-bold col-12 md:col-12\">Api Config Form</h4>\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'name',\r\n isRequired: true,\r\n displayText: 'Name',\r\n placeholder: 'Enter Name'\r\n }\"\r\n ></text-box>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'path',\r\n isRequired: true,\r\n displayText: 'Path',\r\n placeholder: 'Enter Path'\r\n }\"\r\n ></text-box>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'getByIDPath',\r\n isRequired: false,\r\n displayText: 'Get By ID Path',\r\n placeholder: 'Enter getByID Path'\r\n }\"\r\n ></text-box>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'idProperty',\r\n isRequired: false,\r\n displayText: 'Id Property',\r\n placeholder: 'Enter Id Property'\r\n }\"\r\n ></text-box>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-2\">\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n label=\"Validate\"\r\n (click)=\"hanldeValidateApi()\"\r\n class=\"p-button-raised\"\r\n ></button>\r\n </div>\r\n </div>\r\n <div class=\"card p-fluid p-formgrid grid \">\r\n <h4 class=\"font-bold\">Other Details</h4>\r\n <div class=\"col-12 md:col-12 p-0 m-0 flex align-items-center\">\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'authHeaderName',\r\n isRequired: false,\r\n displayText: 'Auth Header',\r\n placeholder: 'Enter Auth Header'\r\n }\"\r\n ></text-box>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'authToken',\r\n isRequired: false,\r\n displayText: 'Token',\r\n placeholder: 'Enter token'\r\n }\"\r\n ></text-box>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n name: 'parentApiConfigID',\r\n dataSource: 'api-configurations',\r\n listLabelProperty: 'name',\r\n listValueProperty: '_id', \r\n displayText: 'Select Parent',\r\n placeholder: 'Select Parent API',\r\n childListName: 'parentKey',\r\n childListKey: 'name'\r\n }\"\r\n (onInput)=\"handleModelChange($event)\"\r\n ></dropdown>\r\n\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n name:'parentKey',\r\n displayText : 'Property',\r\n placeholder: 'Select Property',\r\n options: apiPropertyList\r\n }\"></dropdown>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12\">\r\n <text-area\r\n [store]=\"apiAdminStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'description',\r\n isRequired: false,\r\n displayText: 'Description',\r\n placeholder: 'Enter Description'\r\n }\"\r\n ></text-area>\r\n </div>\r\n </div>\r\n</form-container>","import { Component, OnInit } from '@angular/core';\r\nimport { BaseListComponent, TableBuilder, apiHiddenHeaderList } from '../../../../shared';\r\nimport { ApiConfigModel } from '../../models/api-config.model';\r\nimport { ApiAdminService } from '../../state/api-admin.service';\r\n\r\n/**\r\n * ApiAdminListComponent\r\n */\r\n@Component({\r\n selector: 'lib-api-admin-list',\r\n templateUrl: './api-admin-list.component.html',\r\n styleUrl: './api-admin-list.component.scss',\r\n standalone : false\r\n})\r\nexport class ApiAdminListComponent extends BaseListComponent<ApiConfigModel> implements OnInit {\r\n constructor(apiAdminService : ApiAdminService, private tableBuilder : TableBuilder ){\r\n super(apiAdminService, tableBuilder)\r\n this.tableBuilder.hiddenHeaders = apiHiddenHeaderList;\r\n }\r\n ngOnInit() {\r\n this.init()\r\n }\r\n}","\r\n@if(table){\r\n <lib-table-primary [table]=\"table\">\r\n \r\n </lib-table-primary>\r\n}","import { APP_INITIALIZER, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ApiAdminFormComponent } from './components/api-admin-form/api-admin-form.component';\r\nimport { ApiAdminListComponent } from './components/api-admin-list/api-admin-list.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AppConfigService, PasswordComponent, SharedModule, TablePrimaryComponent, UsernameComponent } from '../../shared';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { TextAreaComponent } from '../../shared/controls/text-area/text-area.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [ApiAdminFormComponent ,ApiAdminListComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n SharedModule,\r\n HttpClientModule,\r\n ButtonModule,\r\n UsernameComponent,\r\n PasswordComponent,\r\n TextAreaComponent,\r\n TablePrimaryComponent\r\n \r\n\r\n ],\r\n exports : [ApiAdminFormComponent, ApiAdminListComponent],\r\n providers: [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: (configService: AppConfigService) => () =>\r\n configService.loadAppConfig(),\r\n deps: [AppConfigService],\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class ApiAdminModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { BaseStore } from '../../../shared';\r\nimport { WidgetModel } from '../models/widget.model';\r\n\r\n/**\r\n * Widget Admin Store\r\n */\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig({ name: 'widgetStore' })\r\nexport class WidgetAdminStore extends BaseStore<WidgetModel> {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, tap } from 'rxjs';\r\nimport { AppConfigService, BaseService, DATASOURCES } from '../../../shared';\r\nimport { ListService } from '../../../shared/services/list.service';\r\nimport { LISTCONFIG } from '../../../shared/constant/LIST-CONFIG';\r\nimport { WidgetAdminStore } from './widget-admin.store';\r\nimport { WidgetModel } from '../models/widget.model';\r\n\r\n/**\r\n * Service for managing widget configurations.\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class WidgetAdminService extends BaseService<WidgetModel> {\r\n\r\n constructor(\r\n http: HttpClient,\r\n protected apiManagementStore: WidgetAdminStore,\r\n private configService: AppConfigService,\r\n listService: ListService\r\n ) {\r\n super(http, apiManagementStore, configService, listService);\r\n this._pathName = DATASOURCES.WIDGET;\r\n }\r\n\r\n protected override list: any = [\r\n {\r\n name: \"queueID\",\r\n dataSource: DATASOURCES.QUEUES,\r\n listValueProperty: \"_id\",\r\n listLabelProperty: \"name\",\r\n },\r\n {\r\n name: \"dictionaryID\",\r\n dataSource: DATASOURCES.DICTIONARY,\r\n listValueProperty: \"_id\",\r\n listLabelProperty: \"name\",\r\n },\r\n {\r\n name: \"dictionaryItemID\",\r\n dataSource: \"data-dictionaries/dictionaryItems\",\r\n listValueProperty: \"_id\",\r\n listLabelProperty: \"key\",\r\n },\r\n {\r\n name: \"linkedWidgetID\",\r\n dataSource: DATASOURCES.WIDGET,\r\n listValueProperty: \"_id\",\r\n listLabelProperty: \"widgetName\",\r\n },\r\n\r\n ]\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { BaseListComponent, TableBuilder, widgetHiddenHeaderList } from '../../../../shared';\r\nimport { WidgetModel } from '../../models/widget.model';\r\nimport { WidgetAdminService } from '../../state/widget-admin.service';\r\n\r\n/**\r\n * Widget Admin List Component\r\n */\r\n@Component({\r\n selector: 'lib-widget-admin-list',\r\n standalone: false,\r\n templateUrl: './widget-admin-list.component.html',\r\n styleUrl: './widget-admin-list.component.scss'\r\n})\r\nexport class WidgetAdminListComponent extends BaseListComponent<WidgetModel> {\r\n constructor(widgetAdminService: WidgetAdminService, private tableBuilder: TableBuilder) {\r\n super(widgetAdminService, tableBuilder);\r\n this.tableBuilder.hiddenHeaders = widgetHiddenHeaderList;\r\n }\r\n\r\n ngOnInit() {\r\n this.init()\r\n }\r\n}","@if(table){\r\n<lib-table-primary [table]=\"table\">\r\n\r\n</lib-table-primary>\r\n}","import { BaseModel } from \"../../../shared\";\r\n\r\n/**\r\n * WidgetModel class represents the model of a widget.\r\n */\r\nexport class WidgetModel extends BaseModel {\r\n name!: string;\r\n queueID!: string;\r\n dataItems: WidgetItemModel[] = [];\r\n order?: number;\r\n headerDictionaryID!: string;\r\n subHeaderDictionaryID!: string;\r\n headerDictionaryItemID!: string;\r\n subHeaderDictionaryItemID!: string;\r\n isActive!: boolean;\r\n}\r\n\r\n/**\r\n * WidgetItemModel class represents the model of a widget item.\r\n */\r\nexport class WidgetItemModel extends BaseModel{\r\n name!: string;\r\n dictionaryItemID!: string;\r\n dictionaryID!: string;\r\n isMain!:boolean;\r\n isEditable!:boolean;\r\n linkedWidgetID!: string;\r\n isActive!: boolean;\r\n}","import { Injectable } from '@angular/core';\r\nimport { BaseQuery } from '../../../shared';\r\nimport { WidgetModel } from '../models/widget.model';\r\nimport { WidgetAdminStore } from './widget-admin.store';\r\n\r\n\r\n/**\r\n * Widget Admin Query\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class WidgetAdminQuery extends BaseQuery<WidgetModel> {\r\n\r\n constructor(protected override store: WidgetAdminStore) {\r\n super(store);\r\n }\r\n\r\n}\r\n","\r\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { WidgetItemModel, WidgetModel } from '../../models/widget.model';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BaseFormComponent, ERROR } from '../../../../shared';\r\nimport { WidgetAdminService } from '../../state/widget-admin.service';\r\nimport { WidgetAdminQuery } from '../../state/widget-admin.query';\r\nimport { WidgetAdminStore } from '../../state/widget-admin.store';\r\nimport { ValidatorService } from '../../../../shared/services/validator.service';\r\nimport { List } from '../../../../shared/models/list.model';\r\nimport { SelectItem } from 'primeng/api';\r\n\r\n/**\r\n * WidgetAdminFormComponent\r\n */\r\n@Component({\r\n selector: 'lib-widget-admin-form',\r\n standalone: false,\r\n templateUrl: './widget-admin-form.component.html',\r\n styleUrl: './widget-admin-form.component.scss',\r\n})\r\nexport class WidgetAdminFormComponent extends BaseFormComponent<WidgetModel> implements OnInit {\r\n\r\n widgetItem!: WidgetItemModel;\r\n widgetItems: WidgetItemModel[] = [];\r\n dictionaries: any[] = [];\r\n headerDictionaryItems: any[]=[];\r\n subHeaderDictionaryItems: any[] = [];\r\n dictionaryItemArray: any[][] = [];\r\n widgetOptionsArray: SelectItem[] = [];\r\n\r\n constructor(\r\n override service: WidgetAdminService,\r\n override validatorService: ValidatorService,\r\n public widgetStore: WidgetAdminStore,\r\n private query: WidgetAdminQuery,\r\n override router: Router,\r\n override activatedRoute: ActivatedRoute\r\n ) {\r\n super(service, validatorService, router, activatedRoute);\r\n this.record = new WidgetModel();\r\n this.widgetItem = new WidgetItemModel();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.init();\r\n this.recordChange.asObservable().subscribe((record) => {\r\n this.handleQueueChange(record.queueID);\r\n this.handleHeaderDictionarySelect(record.headerDictionaryID);\r\n this.handleSubHeaderDictionarySelect(record.subHeaderDictionaryID);\r\n if(record?.dataItems?.length > 0) {\r\n record.dataItems.forEach((item:WidgetItemModel, index:number) => {\r\n this.handleWidgetItemDictionarySelect(item.dictionaryID, index);\r\n });\r\n }\r\n });\r\n }\r\n\r\n handleWidgetItemAddBtnClick() {\r\n this.record.dataItems = [...this.record.dataItems, new WidgetItemModel()];\r\n }\r\n\r\n handleQueueChange(event:any){\r\n this.query.getLists().subscribe((allLists: List[]) => {\r\n const allDictionaryRecords = allLists.find((list) => list.forProperty === 'dictionaryID')?.records;\r\n this.dictionaries = allDictionaryRecords?.filter((item) => item.queueID === event) || [];\r\n });\r\n }\r\n\r\n handleHeaderDictionarySelect(dictionaryId:string){\r\n this.query.getLists().subscribe((allLists: List[]) => {\r\n const allDictionaryItemRecords = allLists.find((list) => list.forProperty === 'dictionaryItemID')?.records;\r\n this.headerDictionaryItems = allDictionaryItemRecords?.filter((item) => item.dictionaryID === dictionaryId) || [];\r\n });\r\n }\r\n\r\n handleSubHeaderDictionarySelect(dictionaryId: any) {\r\n this.query.getLists().subscribe((allLists: List[]) => {\r\n const allDictionaryItemRecords = allLists.find((list) => list.forProperty === 'dictionaryItemID')?.records;\r\n this.subHeaderDictionaryItems = allDictionaryItemRecords?.filter((item) => item.dictionaryID === dictionaryId) || [];\r\n });\r\n }\r\n\r\n handleWidgetItemDictionarySelect(dictionaryId: any, index: number) {\r\n this.query.getLists().subscribe((allLists: List[]) => {\r\n const allDictionaryItemRecords = allLists.find((list) => list.forProperty === 'dictionaryItemID')?.records;\r\n this.dictionaryItemArray[index] = allDictionaryItemRecords?.filter((item) => item.dictionaryID === dictionaryId) || [];\r\n });\r\n }\r\n\r\n handleDeleteRecord(index: number) {\r\n if (index >= 0 && index < this.record.dataItems.length) {\r\n this.record.dataItems = this.record.dataItems.filter((_, i) => i !== index);\r\n } else {\r\n console.error(ERROR.INVALID_INDEX, index);\r\n }\r\n }\r\n}","<form-container [record]=\"record\" [showSave]=\"true\" [messages]=\"message\" (onSave)=\"handleSubmit()\"\r\n (onCancel)=\"handleCancel()\">\r\n <div class=\"card p-fluid p-formgrid\">\r\n <h4 class=\"font-bold col-12 md:col-12\">Widget Form</h4>\r\n <div class=\"col-12 md:col-12 mt-2 mb-2 flex\">\r\n <div class=\"col-5 md:col-5 mt-2 mb-2\">\r\n <text-box [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\r\n readonly: false,\r\n name: 'name',\r\n isRequired: true,\r\n displayText: 'Name',\r\n placeholder: 'Enter Widget Name'\r\n }\"></text-box>\r\n </div>\r\n\r\n <div class=\"col-5 md:col-5 mt-2 mb-2\">\r\n <dropdown [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'queueID',\r\n displayText : 'Select Queue 2',\r\n isRequired:true,\r\n }\" (onInput)=\"handleQueueChange($event)\">\r\n </dropdown>\r\n </div>\r\n <div class=\"col-2 md:col-2 mt-5\">\r\n <check-box [store]=\"widgetStore\" [record]=\"record\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Active',\r\n }\">\r\n </check-box>\r\n </div>\r\n </div>\r\n <div class=\"flex\">\r\n <div class=\"col-6 md:col-6 mt-2 mb-2 flex\">\r\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name:'headerDictionaryID',\r\n listLabelProperty:'name',\r\n listValueProperty:'_id',\r\n displayText : 'Select Dictionary',\r\n options: dictionaries\r\n }\" (onInput)=\"handleHeaderDictionarySelect($event)\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name:'headerDictionaryItemID',\r\n listLabelProperty:'itemName',\r\n listValueProperty:'_id',\r\n displayText : 'Select Header Item',\r\n options: headerDictionaryItems\r\n }\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n <div class=\"col-6 md:col-6 mt-2 mb-2 flex\">\r\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name:'subHeaderDictionaryID',\r\n listLabelProperty:'name',\r\n listValueProperty:'_id',\r\n displayText : 'Select Dictionary',\r\n options: dictionaries\r\n }\" (onInput)=\"handleSubHeaderDictionarySelect($event)\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-6 pl-2 pb-0 mb-2 md:mr-2 md:col-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"record\" [attributeModel]=\"{\r\n name:'subHeaderDictionaryItemID',\r\n listLabelProperty:'itemName',\r\n listValueProperty:'_id',\r\n displayText : 'Select SubHeader Item',\r\n options: subHeaderDictionaryItems\r\n }\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field p-0 pr-2 col-12 md:col-2\">\r\n <div class=\"card m-0 p-0 mb-2\">\r\n <div class=\"mt-3 w-full flex\">\r\n <button pButton pRipple routerLinkActive=\"router-link-active\"\r\n icon=\"pi pi-plus font-semibold\"\r\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\r\n (click)=\"handleWidgetItemAddBtnClick()\">\r\n <span class=\"ml-3\">Add Widget Item </span>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <!-- Widget Items -->\r\n <div class=\"feild-card col-12 md:col-12 flex\" *ngFor=\"let widgetItem of record.dataItems; let i = index;\">\r\n <div class=\"field col-2 col-sm-6\">\r\n <text-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name : 'name',\r\n readonly : false,\r\n displayText : 'Item Label',\r\n isRequired : true,\r\n }\"></text-box>\r\n </div>\r\n <div class=\"field col-2 col-sm-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name:'dictionaryID',\r\n listLabelProperty:'name',\r\n listValueProperty:'_id',\r\n displayText : 'Select Dictionary',\r\n isRequired:true,\r\n options: dictionaries\r\n }\" (onInput)=\"handleWidgetItemDictionarySelect($event, i)\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-2 col-sm-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name:'dictionaryItemID',\r\n listLabelProperty:'itemName',\r\n listValueProperty:'_id',\r\n displayText : 'Select Properties',\r\n isRequired:true,\r\n options: dictionaryItemArray[i]\r\n }\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-2 col-sm-6\">\r\n <dropdown [store]=\"widgetStore\" [isStaticDropdown]=\"true\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name:'linkedWidgetID',\r\n listLabelProperty:'widgetName',\r\n listValueProperty:'_id',\r\n displayText : 'Select Linked Widget',\r\n }\">\r\n </dropdown>\r\n </div>\r\n <div class=\"field col-4 m-0 flex justify-content-around md:col-4 mt-5\">\r\n <div class=\"m-0\">\r\n <check-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name:'isMain',\r\n displayText : 'Add to Main ?',\r\n }\">\r\n </check-box>\r\n </div>\r\n <div class=\"m-0\">\r\n <check-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name:'isEditable',\r\n displayText : 'Is Editable ?',\r\n }\">\r\n </check-box>\r\n </div>\r\n <div class=\"m-0\">\r\n <check-box [store]=\"widgetStore\" [record]=\"widgetItem\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Is Active ?',\r\n }\">\r\n </check-box>\r\n </div>\r\n <div class=\"ml-1 delete-icon-container\">\r\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\" (click)=\"handleDeleteRecord(i)\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</form-container>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonComponent, CheckBoxComponent, SharedModule, TablePrimaryComponent, TextBoxComponent } from '../../shared';\r\nimport { DropdownComponent } from '../../shared/controls/dropdown/dropdown.component';\r\nimport { WidgetAdminListComponent } from './components/widget-admin-list/widget-admin-list.component';\r\nimport { WidgetAdminFormComponent } from './components/widget-admin-form/widget-admin-form.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ButtonModule } from 'primeng/button';\r\n\r\n\r\n\r\n/**\r\n * Module for managing widgets.\r\n */\r\n@NgModule({\r\n declarations: [WidgetAdminListComponent, WidgetAdminFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n SharedModule,\r\n TablePrimaryComponent,\r\n DropdownComponent,\r\n CheckBoxComponent,\r\n ButtonComponent,\r\n ButtonModule,\r\n TextBoxComponent\r\n ],\r\n exports: [WidgetAdminListComponent, WidgetAdminFormComponent]\r\n})\r\nexport class QWWidgetAdminModule { }\r\n","import { BaseModel } from \"../../../shared\";\r\n\r\nexport class QueueModel extends BaseModel {\r\n name?: string;\r\n description?: string;\r\n apiConfigId?: string;\r\n rules?: any;\r\n properties?: any;\r\n itemCount?: any;\r\n apiConfigUrl: string = \"\";\r\n detailsApiConfigUrl?: string;\r\n header?: string;\r\n subHeader?: string;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { EntityStore, StoreConfig } from \"@datorama/akita\";\r\nimport { createInitialState, QueueState } from \"./queue.state\";\r\nimport { QueueModel } from \"../models/queue.model\";\r\nimport { BaseStore } from \"../../../shared\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\n@StoreConfig({ name: \"queues\" })\r\nexport class QueueStore extends BaseStore<QueueModel> {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { QueueStore } from \"./queue.store\";\r\nimport { BaseQuery } from \"../../../shared/state/base.query\";\r\nimport { QueueModel } from \"../models/queue.model\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class QueueQuery extends BaseQuery<QueueModel> {\r\n constructor(protected override store: QueueStore) {\r\n super(store);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { QueueModel } from \"../models/queue.model\";\r\nimport { AppConfigService, BaseService, DATASOURCES, URLS } from \"../../../shared\";\r\nimport { QueueStore } from \"./queue.store\";\r\nimport { ListService } from \"../../../shared/services/list.service\";\r\nimport { Observable, tap } from \"rxjs\";\r\nimport { LISTCONFIG } from \"../../../shared/constant/LIST-CONFIG\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class QueueService extends BaseService<QueueModel> {\r\n constructor(\r\n public queueStore: QueueStore,\r\n http: HttpClient,\r\n appConfigService: AppConfigService,\r\n listService: ListService\r\n ) {\r\n super(http, queueStore, appConfigService, listService);\r\n this._pathName = DATASOURCES.QUEUES;\r\n }\r\n\r\n protected override list: any = LISTCONFIG.QUEUEAPICONFIG;\r\n getbyApiPath(id: string): Observable<QueueModel[]> {\r\n return this.http\r\n .get<QueueModel[]>(`${this.apiUrl}${URLS.API_CONFIGURATIONS}${id}`)\r\n .pipe(tap((entities: QueueModel[]) => this.queueStore.set(entities)));\r\n }\r\n\r\n getCaseById(url: string): Observable<any> {\r\n return this.http\r\n .get<QueueModel[]>(url)\r\n .pipe(tap((entities: QueueModel[]) => this.queueStore.set(entities)));\r\n }\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { QueryBuilderConfig } from \"@kerwin612/ngx-query-builder\";\r\nimport { QueueQuery } from \"../../state/queue.query\";\r\nimport { QueueModel } from \"../../models/queue.model\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { BaseFormComponent, SHARED, ERROR } from \"../../../../shared\";\r\nimport { QueueStore } from \"../../state/queue.store\";\r\nimport { ValidatorService } from \"../../../../shared/services/validator.service\";\r\nimport { QueueService } from \"../../state/queue.service\";\r\nimport { MESSAGE } from \"../../../../shared/constant/MESSAGES\";\r\n\r\n@Component({\r\n selector: \"lib-queue-admin-form\",\r\n standalone: false,\r\n templateUrl: \"./queue-admin-form.component.html\",\r\n styleUrl: \"./queue-admin-form.component.scss\",\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QueueAdminFormComponent\r\n extends BaseFormComponent<QueueModel>\r\n implements OnInit\r\n{\r\n constructor(\r\n public queueQuery: QueueQuery,\r\n public queueService: QueueService,\r\n override activatedRoute: ActivatedRoute,\r\n public queueStore: QueueStore,\r\n override validatorService: ValidatorService,\r\n override router: Router\r\n ) {\r\n super(queueService, validatorService, router, activatedRoute);\r\n this.record = new QueueModel();\r\n }\r\n\r\n fetchedProperties: any;\r\n config: QueryBuilderConfig = { fields: {} };\r\n\r\n query = {\r\n condition: SHARED.AND,\r\n rules: [],\r\n };\r\n\r\n ngOnInit(): void {\r\n this.init(); \r\n const id = this.activatedRoute\r\n ? this.activatedRoute.snapshot.params[SHARED.ID]\r\n : \"\";\r\n if (id && id !== SHARED.ZERO.toString()) {\r\n this.service.getById(id).subscribe((res: any) => {\r\n if (res) {\r\n this.record = res;\r\n this.query = structuredClone(\r\n res.rules || { condition: SHARED.AND, rules: [] }\r\n );\r\n this.fetchedProperties = res.properties;\r\n this.setupQueryBuilderConfig(this.fetchedProperties);\r\n }\r\n });\r\n } \r\n }\r\n\r\n setupQueryBuilderConfig(properties: string[]): void {\r\n const fieldsConfig: { [key: string]: any } = {};\r\n\r\n properties.forEach((prop) => {\r\n fieldsConfig[prop] = {\r\n name: prop,\r\n type: SHARED.STRING,\r\n operators: SHARED.OPERATORS,\r\n options: [],\r\n };\r\n });\r\n this.config = { fields: fieldsConfig };\r\n }\r\n\r\n onQueryChange(event: any) {\r\n console.log(MESSAGE.QUERY_CHANGE_EVENT, event);\r\n }\r\n\r\n handleGetData() {\r\n if (this.record.apiConfigId) {\r\n this.queueService.getbyApiPath(this.record.apiConfigId).subscribe({\r\n next: (res: any) => {\r\n if (res) {\r\n this.fetchedProperties = res.properties;\r\n this.setupQueryBuilderConfig(res.properties);\r\n this.query = structuredClone(\r\n res.rules || { condition: SHARED.AND, rules: [] }\r\n );\r\n }\r\n },\r\n error: (error: any) => {\r\n console.error(ERROR.ERROR_FETCHING_DATA, error);\r\n },\r\n complete: () => {\r\n this.message = SHARED.GET_DATA_MESSAGE;\r\n },\r\n });\r\n } else {\r\n console.warn(ERROR.API_NAME_NOT_SET);\r\n }\r\n }\r\n\r\n override handleSubmit(): void {\r\n this.convertStringToBoolean(this.query.rules);\r\n this.record.rules = this.query;\r\n this.record.properties = this.fetchedProperties;\r\n super.handleSubmit();\r\n }\r\n\r\n convertStringToBoolean(rules: any[]): void {\r\n rules.forEach(rule => {\r\n if (rule.rules) {\r\n this.convertStringToBoolean(rule.rules);\r\n } else if (rule.value === SHARED.STRING_TRUE) {\r\n rule.value = true;\r\n } else if (rule.value === SHARED.STRING_FALSE) {\r\n rule.value = false;\r\n }\r\n });\r\n }\r\n}\r\n","<div class=\"grid m-0\">\r\n <div class=\"col-12\">\r\n <div>\r\n <form-container\r\n [record]=\"record\"\r\n [headerText]=\"'Queue / Create Queue'\"\r\n (onSave)=\"handleSubmit()\"\r\n (onCancel)=\"handleCancel()\"\r\n [showSave]=\"true\"\r\n [messages]=\"message\"\r\n >\r\n <div class=\"col-12 card md:col-12 mb-0\">\r\n <h4 class=\"font-bold col-12 md:col-12\">Create Queue</h4>\r\n <div\r\n class=\"mt-4 field mb-0 flex align-items-center justify-content-between col-12 px-0\"\r\n >\r\n <div class=\"field mb-0 col-12 md:col-6\">\r\n <text-box\r\n [record]=\"record\"\r\n [store]=\"queueStore\"\r\n [attributeModel]=\"{\r\n name : 'name',\r\n displayText:'Project Name',\r\n readonly : false,\r\n isRequired : true,\r\n }\"\r\n >\r\n </text-box>\r\n </div>\r\n <div class=\"field mb-0 col-12 md:col-6\">\r\n <dropdown\r\n [record]=\"record\"\r\n [store]=\"queueStore\"\r\n [attributeModel]=\"{\r\n name: 'apiConfigId',\r\n readonly: false,\r\n isRequired: true,\r\n dataSource: 'apiConfig',\r\n listLabelProperty: 'name',\r\n listValueProperty: '_id',\r\n displayText: 'Api'\r\n }\"\r\n >\r\n </dropdown>\r\n </div>\r\n </div>\r\n <div class=\"field mb-0 col-12 md:col-2\">\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n label=\"Validate\"\r\n (click)=\"handleGetData()\"\r\n class=\"p-button-raised\"\r\n ></button>\r\n </div>\r\n <div class=\"my-4 field flex align-items-center justify-content-between col-12 px-0\">\r\n <div class=\"field mb-0 col-12 md:col-6\">\r\n <text-box\r\n [record]=\"record\"\r\n [store]=\"queueStore\"\r\n [attributeModel]=\"{\r\n name : 'header',\r\n displayText:'Header',\r\n readonly : false,\r\n isRequired : true,\r\n }\"\r\n >\r\n </text-box>\r\n </div>\r\n <div class=\"field mb-0 col-12 md:col-6\">\r\n <text-box\r\n [record]=\"record\"\r\n [store]=\"queueStore\"\r\n [attributeModel]=\"{\r\n name : 'subHeader',\r\n displayText:'SubHeader',\r\n readonly : false,\r\n isRequired : false,\r\n }\"\r\n >\r\n </text-box>\r\n </div>\r\n </div>\r\n <ngx-query-builder\r\n [(ngModel)]=\"query\"\r\n [config]=\"config\"\r\n (queryChange)=\"onQueryChange($event)\"\r\n ></ngx-query-builder>\r\n </div>\r\n </form-container>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { QueueAdminFormComponent } from './components/queue-admin-form/queue-admin-form.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: QueueAdminFormComponent,\r\n children: [],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class QueueRoutingModule {}","import { Injectable } from '@angular/core';\r\nimport { SHARED } from '../constant/SHARED';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataTransformerService {\r\n\r\n constructor() { }\r\n flattenObject(data: any, result: any[] = [], additionalFields: any = {}): any[] {\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n if (typeof data[key] === SHARED.TYPE_OBJECT && data[key] !== null && !Array.isArray(data[key])) {\r\n this.flattenObject(data[key], result);\r\n } else {\r\n result.push({\r\n label: this.transformLabel(key),\r\n value: data[key]\r\n });\r\n }\r\n }\r\n }\r\n if (additionalFields._id) {\r\n result.push({\r\n _id: additionalFields._id\r\n });\r\n }\r\n\r\n if (additionalFields.QueueID) {\r\n result.push({\r\n QueueID: additionalFields.QueueID\r\n });\r\n }\r\n\r\n return result;\r\n }\r\n\r\n transformLabel(key: string): string {\r\n return key.replace(/_/g, ' ').replace(/\\b\\w/g, l => l.toUpperCase());\r\n }\r\n}\r\n","import { Component, Input, OnChanges } from '@angular/core';\r\nimport { QueueModel } from '../../models/queue.model';\r\nimport { ROUTES, SEQUENTIAL_MESSAGE, SHARED, MESSAGE_TYPES } from '../../../../shared';\r\nimport { DataTransformerService } from '../../../../shared/services/data-transformer.service';\r\nimport { Router } from '@angular/router';\r\nimport { QueueService } from '../../state/queue.service';\r\nimport { QueueStore } from '../../state/queue.store';\r\n\r\n@Component({\r\n selector: 'queue-application-list',\r\n standalone: false,\r\n templateUrl: './queue-application-list.component.html',\r\n styleUrls: ['./queue-application-list.component.scss'],\r\n})\r\nexport class QueueApplicationListComponent implements OnChanges {\r\n @Input() queueData!: QueueModel;\r\n\r\n selectedStatus: string = SHARED.STATUS_ACTIVE;\r\n isAscending: boolean = true;\r\n associateQueueList: any;\r\n\r\n constructor(\r\n public queueService: QueueService,\r\n public dataTransformService: DataTransformerService,\r\n public router: Router,\r\n public queueStore : QueueStore\r\n ) {}\r\n\r\n ngOnChanges() {\r\n if (this.queueData) {\r\n this.loadAssociatedList();\r\n }\r\n }\r\n loadAssociatedList(): void {\r\n if (this.queueData && this.queueData._id) {\r\n this.queueService.getCaseById(this.queueData.apiConfigUrl).subscribe((application: any) => {\r\n if (application) {\r\n const messages = SEQUENTIAL_MESSAGE;\r\n this.associateQueueList = application.map((item: any, index: number) => ({\r\n ...item,\r\n initials: this.getInitials(item.FullName),\r\n message: {\r\n content: messages[index % messages.length],\r\n type: this.getTypeByIndex(index),\r\n day: index % 2 === 0 ? SHARED.TODAY : SHARED.YESTERDAY,\r\n count: this.getRandomCount(),\r\n },\r\n }));\r\n }\r\n });\r\n } else {\r\n this.associateQueueList = [];\r\n }\r\n }\r\n getRandomCount(): number {\r\n return Math.floor(Math.random() * 10) + 1;\r\n }\r\n \r\n getInitials(fullName: string): string {\r\n if (!fullName) return '';\r\n const nameParts = fullName?.split(' ')?.filter(Boolean);\r\n const initials = nameParts?.length > 1\r\n ? nameParts[0][0] + nameParts[nameParts?.length - 1][0]\r\n : nameParts[0][0];\r\n return initials?.toUpperCase();\r\n } \r\n \r\n getTypeByIndex(index: number): string {\r\n const types = MESSAGE_TYPES;\r\n return types[index % types.length];\r\n }\r\n \r\n\r\n getRandomType(): string {\r\n const types = MESSAGE_TYPES;\r\n return types[Math.floor(Math.random() * types.length)];\r\n }\r\n \r\n \r\n\r\n handleApplicationClick(application: any) {\r\n localStorage.setItem(SHARED.selectedApplication, application._id);\r\n localStorage.setItem(\r\n SHARED.selectedApplicationNumber,\r\n application.applicationNumber\r\n );\r\n this.router.navigate([ROUTES.APPLICATION + application.CaseId]);\r\n }\r\n\r\n onStatusChange(selectedStatus: any): any {\r\n this.selectedStatus = selectedStatus.target.value;\r\n }\r\n}\r\n","<div class=\"grid m-0\">\r\n <div class=\"col-12\">\r\n <div class=\"p-fluid p-formgrid grid p-2\">\r\n <div class=\"card col-12 md:col-12 flex flex-column border-bottom align-items-start p-4 pb-3\" style=\"\r\n border-bottom: 1px solid var(--surface-border);\r\n border-radius: 0px;\r\n border-top-left-radius: 8px;\r\n border-top-right-radius: 8px;\r\n \">\r\n <h4 class=\"text-color m-0 queue-name font-semibold margin\">\r\n {{ queueData.name }}\r\n </h4>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12 p-0 flex scrollable flex-column\" [ngClass]=\"\r\n selectedStatus === 'active' ? 'surface-card' : 'inactive-card-wrapper'\r\n \">\r\n @for(record of associateQueueList; track record; let i = $index) {\r\n @if(record){\r\n <div class=\"col-12 md:col-12 border-bottom-1 p-0 surface-border gap-2 hover:surface-ground cursor-pointer\"\r\n (click)=\"handleApplicationClick(record)\">\r\n\r\n <div class=\"col-12 md:col-12 flex align-items-center py-3 px-4 userInfo\">\r\n <div class=\"col-12 md:col-2 p-0 userImage\">\r\n <div\r\n class=\"mainimg flex align-items-center justify-content-center circleColor w-3rem h-3rem border-circle\">\r\n <span class=\"font-bold\" style=\"font-weight: 600; font-size: 13.5; font-family: inherit;\">\r\n {{ record.initials }}\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-10 p-0\">\r\n <div class=\"flex justify-content-between align-items-center col-12 md:col-12 p-0\">\r\n <div class=\"userName\" style=\"font-weight: 600; font-size: 15px; \">\r\n {{ record.FullName | capitalizeWords }} \r\n </div>\r\n <div class=\"dayAndtime flex\">\r\n @if(record.message.type == \"Email\"){\r\n <span class=\"pi pi-envelope mr-2\" style=\"color: #676B89; font-size: 17px;\"></span>\r\n }\r\n @else if(record.message.type == \"SMS\") {\r\n <span class=\"pi pi-comments mr-2\" style=\"color: #676B89; font-size: 17px;\"></span>\r\n }@else if(record.message.type == \"WhatsApp\"){\r\n <span class=\"pi pi-whatsapp mr-2\" style=\"color: #676B89;font-size: 17px;\"></span>\r\n\r\n }\r\n <span style=\"color: #676B89; font-family: inherit;\"> {{record.message.day}}</span>\r\n </div>\r\n </div>\r\n <div class=\"flex align-items-center justify-content-between mt-1\">\r\n <div class=\"email col-12 md:col-12 p-0\" style=\"color: #8A8EA6;\">\r\n {{ record.message.content }}\r\n </div>\r\n \r\n <div class=\"countOfMessages\">\r\n <span>{{record.message.count}}</span>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n }\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component } from '@angular/core';\r\nimport { QueueModel } from '../../models/queue.model';\r\nimport { QueueService } from '../../state/queue.service';\r\nimport { BaseContainerComponent, ERROR, SHARED } from '../../../../shared';\r\nimport { QueueStore } from '../../state/queue.store';\r\n\r\n@Component({\r\n selector: 'lib-queue-admin-list',\r\n standalone: false,\r\n templateUrl: './queue-admin-list.component.html',\r\n styleUrl: './queue-admin-list.component.scss'\r\n})\r\nexport class QueueAdminListComponent extends BaseContainerComponent<QueueModel> {\r\n constructor(public queueStore:QueueStore ,private queueService: QueueService) {\r\n super(queueService);\r\n }\r\n\r\n queueList: QueueModel[] = [];\r\n selectedQueue: any;\r\n queueId: any;\r\n ngOnInit() {\r\n this.init();\r\n this.getAllQueueList();\r\n }\r\n\r\n getAllQueueList() {\r\n this.queueService.getAll().subscribe({\r\n next: (res) => {\r\n this.queueList = res;\r\n this.selectedQueue = res[0];\r\n },\r\n error: (err) => {\r\n console.error(ERROR.UNABLE_TO_FETCH_QUEUE_LIST, err);\r\n }\r\n });\r\n }\r\n\r\n handleQueueId(event: any) {\r\n this.selectedQueue = this.queueList.find((i) => i._id == event);\r\n if (this.selectedQueue) {\r\n sessionStorage.setItem(SHARED.selectedQueue, JSON.stringify(this.selectedQueue));\r\n } else {\r\n console.warn(ERROR.NO_QUEUE_FOUND_WITH_ID);\r\n }\r\n }\r\n}","<div class=\"container grid m-0\">\r\n <div class=\"col-12 xl:col-3 md:col-12\">\r\n <block-list\r\n [queueData]=\"queueList\"\r\n (queueDataById)=\"handleQueueId($event)\"\r\n ></block-list>\r\n </div>\r\n <div class=\"col-12 xl:col-3 md:col-12\">\r\n @if(selectedQueue){\r\n <div class=\"animation-duration-500 associated-list\">\r\n <queue-application-list\r\n [queueData]=\"selectedQueue\"\r\n ></queue-application-list>\r\n </div>\r\n }\r\n </div>\r\n \r\n <div class=\"xl:col-6 md:col-12\">\r\n <div class=\"searchbar-wrapper\">\r\n <queue-search-customer></queue-search-customer>\r\n </div>\r\n </div>\r\n </div>\r\n ","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { QueueAdminFormComponent } from \"./components/queue-admin-form/queue-admin-form.component\";\r\nimport { SharedModule } from \"../../shared/shared.module\";\r\nimport { QueueRoutingModule } from \"./queue-admin-routing.module\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { QueryBuilderModule } from \"@kerwin612/ngx-query-builder\";\r\nimport { ButtonModule } from \"primeng/button\";\r\nimport { QueueAdminListComponent } from \"./components/queue-admin-list/queue-admin-list.component\";\r\nimport { QueueApplicationListComponent } from \"./components/queue-application-list/queue-application-list.component\";\r\n\r\n@NgModule({\r\n declarations: [QueueAdminFormComponent, QueueAdminListComponent, QueueApplicationListComponent],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n QueueRoutingModule,\r\n FormsModule,\r\n QueryBuilderModule,\r\n ButtonModule\r\n ],\r\n exports: [QueueAdminFormComponent, QueueAdminListComponent, QueueApplicationListComponent],\r\n})\r\nexport class QueueAdminModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { BaseStore } from '../../../shared/state/base.store';\r\nimport { AdminActionModel } from '../models/admin-action.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig({ name: 'action' })\r\nexport class AdminActionStore extends BaseStore<AdminActionModel> {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n}","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AdminActionModel } from '../models/admin-action.model';\r\nimport { AdminActionStore } from './admin-action.store';\r\nimport { DATASOURCES } from '../../../shared/constant/DATASOURCES';\r\nimport { BaseService } from '../../../shared/state/base.service';\r\nimport { AppConfigService } from '../../../shared/services/app-config.service';\r\nimport { ListService } from '../../../shared/services/list.service';\r\nimport { LISTCONFIG } from '../../../shared/constant/LIST-CONFIG';\r\nimport { Observable, tap } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AdminActionService extends BaseService<AdminActionModel> {\r\n\r\n protected override list : any= [...LISTCONFIG.ACTIONAPICONFIG, ...LISTCONFIG.QUEUECONFIG];\r\n\r\n constructor(protected actionStore: AdminActionStore, http: HttpClient, appConfigService : AppConfigService, listService:ListService) {\r\n super(http, actionStore, appConfigService,listService);\r\n this._pathName = DATASOURCES.ACTIONS;\r\n }\r\n\r\n handleValidateAction(name:string, id: string, record:any): Observable<AdminActionModel[]> {\r\n const apiUrl = `${this.apiUrl}${name}/${encodeURIComponent(id)}`;\r\n return this.http.post<AdminActionModel[]>(`${apiUrl}`, record).pipe(\r\n tap((entities: AdminActionModel[]) => this.actionStore.set(entities))\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { BaseListComponent } from '../../../../shared/_base/base-list/base-list.component';\r\nimport { AdminActionModel } from '../../models/admin-action.model';\r\nimport { TableBuilder } from '../../../../shared/services/table.builder';\r\nimport { AdminActionService } from '../../state/admin-action.service';\r\nimport { actionHiddenHeaderList, actionList, actionTableColumnWidthList } from '../../../../shared/constant/SHARED';\r\n\r\n/**\r\n * Admin Action List Component\r\n */\r\n@Component({\r\n selector: 'lib-admin-action-list',\r\n standalone : false,\r\n templateUrl: './admin-action-list.component.html',\r\n styleUrl: './admin-action-list.component.scss'\r\n})\r\nexport class AdminActionListComponent extends BaseListComponent<AdminActionModel>{\r\n constructor(service: AdminActionService, private tableBuilder: TableBuilder){\r\n super(service, tableBuilder)\r\n this.tableBuilder.hiddenHeaders = actionHiddenHeaderList;\r\n } \r\n\r\n ngOnInit() {\r\n this.init(actionTableColumnWidthList);\r\n }\r\n}","<div class=\"dicitonary-list-wrapper\">\r\n @if(table){\r\n <lib-table-primary [title]=\"'Actions'\" [table]=\"table\"></lib-table-primary>\r\n }\r\n</div>","import { Component, OnInit } from '@angular/core';\r\nimport { BaseFormComponent } from '../../../../shared/_base/base-form/base-form.component';\r\nimport { AdminActionModel } from '../../models/admin-action.model';\r\nimport { Message } from 'primeng/api';\r\nimport { SHARED } from '../../../../shared/constant/SHARED';\r\nimport { AdminActionService } from '../../state/admin-action.service';\r\nimport { ValidatorService } from '../../../../shared/services/validator.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AdminActionStore } from '../../state/admin-action.store';\r\nimport { AppConfigService, ERROR, ROUTES } from '../../../../shared';\r\nimport { MESSAGE } from '../../../../shared/constant/MESSAGES';\r\n\r\n@Component({\r\n selector: 'lib-admin-action-form',\r\n standalone : false,\r\n templateUrl: './admin-action-form.component.html',\r\n styleUrl: './admin-action-form.component.scss'\r\n})\r\nexport class AdminActionFormComponent extends BaseFormComponent<AdminActionModel> {\r\n messages: Message[] = SHARED.EMPTYARRAY;\r\n apiConfigList: any[] = [];\r\n queueList: any[] = [];\r\n isDisable: boolean = SHARED.TRUE;\r\n\r\n constructor(public adminActionService: AdminActionService, override validatorService: ValidatorService, override router: Router, override activatedRoute: ActivatedRoute, public adminActionStore: AdminActionStore, private appConfigService: AppConfigService) {\r\n super(adminActionService, validatorService, router, activatedRoute)\r\n this.record.isActive = true;\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n }\r\n\r\n handleValidateAction() {\r\n const payload = {path: this.appConfigService.swaggerUrl};\r\n this.adminActionService.handleValidateAction(ROUTES.VALIDATE_ACTIONS,this.record.apiConfigID,payload)\r\n .subscribe({\r\n next: (res: any) => {\r\n if (res) {\r\n this.isDisable = SHARED.FALSE;\r\n this.messages = [{ severity: SHARED.SUCCESS, detail: MESSAGE.VALIDATE_ACTION_SUCCESS_MESSAGE }];\r\n setTimeout(() => {\r\n this.messages = SHARED.EMPTYARRAY;\r\n }, 3000);\r\n }\r\n },\r\n error: (error: any) => {\r\n this.isDisable = SHARED.FALSE;\r\n },\r\n });\r\n }\r\n\r\n override handleSubmit(): void {\r\n this.record.formFields = JSON.stringify(this.record.formFields) \r\n super.handleSubmit();\r\n };\r\n}\r\n","<form-container\r\n [record]=\"record\"\r\n [headerText]=\"'Actions / Actions Form'\"\r\n [messages]=\"messages\"\r\n (onSave)=\"handleSubmit()\"\r\n [showSave]=\"true\"\r\n [disableSaveButton]=\"isDisable\"\r\n (onCancel)=\"handleCancel()\"\r\n>\r\n <div class=\"card p-fluid p-formgrid grid \">\r\n <h4 class=\"font-bold col-12 md:col-12\">Actions Form</h4>\r\n <div class=\"col-12 md:col-6\">\r\n <text-box\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'name',\r\n isRequired: true,\r\n displayText: 'Action Name',\r\n placeholder: 'Enter Action Name'\r\n }\"\r\n ></text-box>\r\n </div>\r\n \r\n <div class=\"col-12 md:col-6\">\r\n <dropdown\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n name: 'apiConfigID',\r\n readonly: false,\r\n isRequired: true,\r\n displayText: 'End Point',\r\n placeholder: 'Select End Point'\r\n }\"></dropdown>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12\">\r\n <text-area\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'prompt',\r\n isRequired: true,\r\n displayText: 'Prompt',\r\n placeholder: 'Enter prompt'\r\n }\"\r\n ></text-area>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-6\">\r\n <dropdown\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n name:'queueID',\r\n isRequired: true,\r\n displayText : 'Queue',\r\n placeholder: 'Select Queue',\r\n readonly: false\r\n }\"></dropdown>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-2 flex align-items-end justify-content-end validate-btn-wrapper\">\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n label=\"Validate\"\r\n class=\"p-button-raised\"\r\n (click)=\"handleValidateAction()\"\r\n ></button>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12\">\r\n <text-area\r\n [store]=\"adminActionStore\"\r\n [record]=\"record\"\r\n [attributeModel]=\"{\r\n readonly: false,\r\n name: 'formFields',\r\n isRequired: true,\r\n displayText: 'Form Configuration',\r\n placeholder: 'Enter form fields'\r\n }\"\r\n ></text-area>\r\n </div>\r\n </div>\r\n \r\n</form-container>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AdminActionListComponent } from './components/admin-action-list/admin-action-list.component';\r\nimport { SharedModule, TablePrimaryComponent } from '../../shared';\r\nimport { AdminActionFormComponent } from './components/admin-action-form/admin-action-form.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TextAreaComponent } from '../../shared/controls/text-area/text-area.component';\r\nimport { ButtonModule } from 'primeng/button';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [AdminActionListComponent, AdminActionFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n SharedModule,\r\n TablePrimaryComponent,\r\n TextAreaComponent,\r\n ButtonModule\r\n ],\r\n exports: [AdminActionListComponent, AdminActionFormComponent]\r\n})\r\nexport class ActionAdminModule { }\r\n","import { SHARED } from \"../../../shared\";\r\nimport { BaseModel } from \"../../../shared/models/base.model\";\r\n\r\nexport class DdAdminModel extends BaseModel {\r\n name?:string\r\n queueID?:string\r\n dictionaryItems : DdItemModel[] = [];\r\n message?: string;\r\n\r\n}\r\nexport class DdItemModel extends BaseModel {\r\n itemName:string = SHARED.EMPTY\r\n itemExpression:string = SHARED.EMPTY\r\n styleExpression:string = SHARED.EMPTY\r\n isActive:boolean = SHARED.TRUE\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { DdAdminModel } from '../models/dictionary.model';\r\nimport { BaseStore } from '../../../shared/state/base.store';\r\nimport { ApiPropertyModel } from '../models/api-property.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig({ name: 'dictionary' })\r\nexport class DictionaryStore extends BaseStore<DdAdminModel> {\r\n\r\n setPropertiesData(value : ApiPropertyModel){\r\n this.update({propertyData : value})\r\n }\r\n\r\n setSidebarVisible(value:boolean){\r\n this.update({isSideBarVisible:value})\r\n }\r\n}","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DictionaryStore } from './dictionary.store';\r\nimport { DdAdminModel } from '../models/dictionary.model';\r\nimport { catchError, Observable, of, tap } from 'rxjs';\r\nimport { BaseService, AppConfigService, DATASOURCES, ERROR } from '../../../shared';\r\nimport { ListService } from '../../../shared/services/list.service';\r\nimport { ApiPropertyModel } from '../models/api-property.model';\r\nimport { LISTCONFIG } from '../../../shared/constant/LIST-CONFIG';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DictionaryService extends BaseService<DdAdminModel> {\r\n\r\n constructor(public dictionaryStore: DictionaryStore, http: HttpClient, appConfigService : AppConfigService, listService:ListService) {\r\n super(http, dictionaryStore, appConfigService,listService);\r\n this._pathName = DATASOURCES.DICTIONARY;\r\n }\r\n\r\n protected override list : any= LISTCONFIG.QUEUECONFIG\r\n\r\n getAllApiProperties(name:string, id: string): Observable<ApiPropertyModel> {\r\n return this.http.get<ApiPropertyModel>(`${this.apiUrl+name}/${id}`).pipe(\r\n tap((propertiesData: ApiPropertyModel) => this.dictionaryStore.setPropertiesData(propertiesData))\r\n );\r\n }\r\n\r\n deleteDictionaryItemById(name:string, dictionaryItemId: string) : Observable<DdAdminModel | any> {\r\n const Url = `${this.apiUrl+name}/${dictionaryItemId}`;\r\n return this.http.delete<DdAdminModel>(Url).pipe(\r\n catchError((error:any) => {\r\n console.error(ERROR.ERROR_DELETE_DICTIONARY_ITEM, error);\r\n return of({ error: true, message: ERROR.ERROR_DELETE_DICTIONARY_ITEM });\r\n })\r\n )\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { QueryEntity } from '@datorama/akita';\r\nimport { DictionaryState } from './dictionary.state';\r\nimport { DictionaryStore } from './dictionary.store';\r\nimport { DdAdminModel } from '../models/dictionary.model';\r\nimport { BaseQuery } from '../../../shared/state/base.query';\r\nimport { Observable } from 'rxjs';\r\nimport { ApiPropertyModel } from '../models/api-property.model';\r\nimport { state } from '@angular/animations';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DictionaryQuery extends BaseQuery<DdAdminModel> {\r\n constructor(protected override store: DictionaryStore) {\r\n super(store);\r\n }\r\n\r\n selectPropertyData():Observable<ApiPropertyModel>{\r\n return this.select((state) => state['propertyData'])\r\n }\r\n getPropertyData(): ApiPropertyModel{\r\n return this.getValue()['propertyData']\r\n }\r\n selectSidebarVisible(){\r\n return this.select((state)=>state['isSideBarVisible'])\r\n }\r\n getSidebarVisible(){\r\n return this.getValue()['isSideBarVisible']\r\n }\r\n}\r\n","import { SHARED } from \"../../../shared\";\r\n\r\nexport class DdAttributeSidebarViewModel {\r\n mappingInfo: string = SHARED.EMPTY;\r\n propertyList : string = SHARED.EMPTY\r\n}","import { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { DictionaryStore } from '../../state/dictionary.store';\r\nimport { DdAttributeSidebarViewModel } from '../../models/dd-attribute-sidebar-view.model';\r\nimport { SHARED } from '../../../../shared';\r\nimport { DictionaryQuery } from '../../state/dictionary.query';\r\nimport { SelectItem } from 'primeng/api';\r\nimport { DdItemModel } from '../../models/dictionary.model';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'lib-dd-admin-item-form',\r\n standalone: false,\r\n templateUrl: './dd-admin-item-form.component.html',\r\n styleUrl: './dd-admin-item-form.component.scss'\r\n})\r\nexport class DdAdminItemFormComponent implements OnChanges, OnDestroy {\r\n @Input() ddItemRecord : DdItemModel = {itemName:SHARED.EMPTY, itemExpression:SHARED.EMPTY, styleExpression:SHARED.EMPTY, isActive: SHARED.FALSE}\r\n @Input() isItemExpression ?: boolean\r\n @Input() isSidebarVisible?:boolean\r\n @Output() saveClick = new EventEmitter<any>()\r\n attributeRecord!: DdAttributeSidebarViewModel\r\n dictionaryItemName: string = SHARED.EMPTY\r\n condition: string = SHARED.EMPTY\r\n propertyOptions: SelectItem[] = []\r\n private subscriptions: Subscription = new Subscription();\r\n\r\n constructor(public dictionaryStore: DictionaryStore, public dictionaryQuery: DictionaryQuery) {\r\n this.attributeRecord = new DdAttributeSidebarViewModel()\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.subscriptions.add(\r\n this.dictionaryQuery.selectPropertyData().subscribe((res:any) => {\r\n if (res) {\r\n if(res?.properties?.length){\r\n res.properties.forEach((property: any) => {\r\n this.propertyOptions.push({ label: `${res.name}.${property}`, value: `${res.name}.${property}` });\r\n });\r\n }\r\n if(res?.childApis?.length){\r\n res.childApis.forEach((childApi: any) => {\r\n childApi.properties.forEach((property: any) => {\r\n this.propertyOptions.push({ label: `${res.name}.${childApi.name}.${property}`, value: `${res.name}.${childApi.name}.${property}` });\r\n });\r\n });\r\n }\r\n }\r\n })\r\n ) \r\n if (changes[SHARED.ISITEMEXPRESSION]) {\r\n this.attributeRecord.mappingInfo = (this.isItemExpression ? this.ddItemRecord.itemExpression : this.ddItemRecord.styleExpression) ?? SHARED.EMPTY\r\n }\r\n\r\n }\r\n\r\n handleSaveBtnClick(event: any) {\r\n if(this.isItemExpression){\r\n this.ddItemRecord.itemExpression = this.attributeRecord.mappingInfo\r\n }else{\r\n this.ddItemRecord.styleExpression = this.attributeRecord.mappingInfo\r\n }\r\n this.attributeRecord.propertyList = SHARED.EMPTY\r\n this.saveClick.emit(false)\r\n }\r\n\r\n handleAddExpressionClick(event : any) {\r\n if (this.attributeRecord.propertyList) {\r\n const formattedProperty = `\\${${this.attributeRecord.propertyList}}`;\r\n this.attributeRecord.mappingInfo += this.attributeRecord.mappingInfo\r\n ? `${formattedProperty}`\r\n : formattedProperty;\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n this.subscriptions.unsubscribe()\r\n }\r\n}\r\n","<div class=\"dicitonary-edit-action px-3\">\r\n <div class=\"flex align-items-center justify-content-end mt-3\">\r\n <lib-button\r\n [store]=\"dictionaryStore\"\r\n [record]=\"attributeRecord\"\r\n [attributeModel]=\"{\r\n buttonLabel: 'Save',\r\n isDisabled: false,\r\n }\"\r\n (onBtnClick)=\"handleSaveBtnClick($event)\"\r\n >\r\n </lib-button>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-12 mt-5\">\r\n <label *ngIf=\"!isItemExpression\" for=\"styleInput\" class=\"text-gray-600 text-sm mb-2 block\">\r\n Hint: Use key-value pairs for styles.\r\n <br/>\r\n Example:<code>\r\n 'background-color': 'lightgray',\r\n 'font-size': '16px',<br>\r\n 'padding': '10px'\r\n </code>\r\n </label>\r\n <text-area\r\n [store]=\"dictionaryStore\"\r\n [record]=\"attributeRecord\"\r\n [attributeModel]=\"{\r\n displayText: 'Expression',\r\n readonly : false,\r\n name : 'mappingInfo',\r\n isRequired : false,\r\n placeholder : 'Enter Text',\r\n customPadding: '12px',\r\n }\"\r\n ></text-area>\r\n </div>\r\n <div class=\"col-12 md:col-12\">\r\n <div class=\"p-field queue-list-wrapper\">\r\n <dropdown [store]=\"dictionaryStore\" [record]=\"attributeRecord\" [attributeModel]=\"{\r\n name:'propertyList',\r\n displayText : 'Select properties',\r\n isRequired:false,\r\n options : propertyOptions,\r\n filter : true\r\n }\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-3\">\r\n <lib-button\r\n [store]=\"dictionaryStore\"\r\n [record]=\"attributeRecord\"\r\n [attributeModel]=\"{\r\n buttonLabel: 'Add to expression',\r\n isDisabled: false,\r\n }\"\r\n (onBtnClick)=\"handleAddExpressionClick($event)\"\r\n >\r\n </lib-button>\r\n </div>\r\n</div>","import { Component, OnInit } from '@angular/core';\r\nimport { BaseFormComponent, BaseQuery, BaseStore, DATASOURCES, ERROR, ROUTES, SHARED } from '../../../../shared';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ValidatorService } from '../../../../shared/services/validator.service';\r\nimport { DictionaryQuery } from '../../state/dictionary.query';\r\nimport { DictionaryService } from '../../state/dictionary.service';\r\nimport { DictionaryStore } from '../../state/dictionary.store';\r\nimport { DdAdminModel, DdItemModel } from '../../models/dictionary.model';\r\nimport { Message } from 'primeng/api';\r\nimport { MESSAGE } from '../../../../shared/constant/MESSAGES';\r\n\r\n@Component({\r\n selector: 'lib-dd-admin-form',\r\n templateUrl: './dd-admin-form.component.html',\r\n styleUrl: './dd-admin-form.component.scss',\r\n standalone: false\r\n})\r\nexport class DdAdminFormComponent extends BaseFormComponent<DdAdminModel> implements OnInit {\r\n sidebarVisibility: boolean[] = [];\r\n messages: Message[] = SHARED.EMPTYARRAY;\r\n dictionaryItem !: DdItemModel\r\n dictionaryName: string = SHARED.EMPTY;\r\n isItemExpression : boolean = SHARED.FALSE;\r\n constructor(override service: DictionaryService, public dictionaryQuery: DictionaryQuery, override validatorService: ValidatorService, override router: Router, override activatedRoute: ActivatedRoute, public ddAdminStore: DictionaryStore, override baseStore: BaseStore<DdAdminModel>, public baseQuery: BaseQuery<DdAdminModel>) {\r\n super(service, validatorService, router, activatedRoute);\r\n }\r\n ngOnInit() {\r\n this.init(); \r\n \r\n if (!this.record) {\r\n this.record = {} as DdAdminModel;\r\n }\r\n \r\n if (!Array.isArray(this.record.dictionaryItems)) {\r\n this.record.dictionaryItems = [];\r\n }\r\n \r\n this.sidebarVisibility = new Array(this.record.dictionaryItems.length).fill(false);\r\n }\r\n \r\n \r\n handleDictionaryItemAddBtnClick() {\r\n if (!this.record.dictionaryItems) {\r\n this.record.dictionaryItems = [];\r\n }\r\n this.record.dictionaryItems = [...this.record.dictionaryItems, new DdItemModel()];\r\n }\r\n \r\n\r\n handleItemExpression(i?:any , event?:any) {\r\n this.sidebarVisibility[i] = true;\r\n this.isItemExpression = SHARED.TRUE;\r\n }\r\n \r\n handleStyleExpression(i:any, event:any) {\r\n this.sidebarVisibility[i] = true;\r\n this.isItemExpression = SHARED.FALSE\r\n }\r\n\r\n handleGetProperties(event : any){\r\n this.service.getAllApiProperties(DATASOURCES.QUEUESAPICONFIG,event).subscribe()\r\n }\r\n\r\n onSidebarClose(isVisible:boolean){\r\n this.sidebarVisibility = this.sidebarVisibility.map(() => isVisible);\r\n }\r\n\r\n handleDeleteRecord(index: number, dictionaryItemId: string) {\r\n if (index >= 0 && index < this.record.dictionaryItems.length) {\r\n this.record.dictionaryItems = this.record.dictionaryItems.filter((_, i) => i !== index);\r\n if(dictionaryItemId) {\r\n this.service.deleteDictionaryItemById(DATASOURCES.DELETEDICTIONARYITEM, dictionaryItemId).subscribe(\r\n (res) => {\r\n this.messages = [{ severity: SHARED.SUCCESS, detail: res?.message || MESSAGE.DELETE_DICTIONARY_ITEM_SUCCESS }];\r\n setTimeout(() => {\r\n this.messages = SHARED.EMPTYARRAY;\r\n }, 3000);\r\n })\r\n }\r\n } else {\r\n console.error(ERROR.INVALID_INDEX, index);\r\n }\r\n }\r\n}\r\n","<form-container \r\n [messages]=\"messages\" \r\n [record]=\"record\" \r\n [headerText]=\"'Dictionary Form'\" \r\n [showSave]=\"true\" \r\n (onCancel)=\"handleCancel()\"\r\n (onSave)=\"handleSubmit()\">\r\n <div class=\"card p-fluid p-formgrid grid\">\r\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\">\r\n <div class=\"col-12 md:col-6 p-field\">\r\n <div class=\"dictionary-name\">\r\n <text-box [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\r\n readonly : false,\r\n name : 'name',\r\n isRequired : true,\r\n displayText: 'Dictionary Name',\r\n placeholder : 'Enter Text',\r\n }\"></text-box>\r\n </div>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <div class=\"p-field queue-list-wrapper\">\r\n <dropdown [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\r\n name: 'queueID',\r\n dataSource: 'queues',\r\n listLabelProperty: 'name',\r\n listValueProperty: '_id',\r\n displayText: 'Queue',\r\n placeholder: 'Select Queue',\r\n isRequired: true\r\n }\" (onInput)=\"handleGetProperties($event)\">\r\n </dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field p-0 pr-2 ml-3 col-12 md:col-2\">\r\n <div class=\"card m-0 p-0 mb-2\">\r\n <div class=\"mt-3 w-full flex\">\r\n <button pButton pRipple routerLinkActive=\"router-link-active\"\r\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\r\n (click)=\"handleDictionaryItemAddBtnClick()\">\r\n Add New Item\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- dictionary Items -->\r\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\"\r\n *ngFor=\"let ddItem of record.dictionaryItems; let i = index\">\r\n <div class=\"field col-12 md:col-3 pr-0\">\r\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\r\n name : 'itemName',\r\n readonly : false,\r\n displayText : 'Item Name',\r\n isRequired : true,\r\n }\"></text-box>\r\n </div>\r\n <div class=\"field flex align-items-center justify-content-between col-12 md:col-3 pr-0\">\r\n <div class=\"flex align-items-center w-full\">\r\n <div class=\"w-full mr-3\">\r\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\r\n name : 'itemExpression',\r\n readonly : false,\r\n disable : true,\r\n displayText : 'Item Expression',\r\n isRequired : true,\r\n }\">\r\n </text-box>\r\n </div>\r\n <span class=\"pi pi-cog mt-4 cursor-pointer text-xl\" (click)=\"handleItemExpression(i, $event )\"></span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field col-12 md:col-3 flex align-items-center justify-content-between pr-0\">\r\n <div class=\"flex align-items-center w-full\">\r\n <div class=\"w-full mr-3\">\r\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\r\n name : 'styleExpression',\r\n readonly : false,\r\n disable : true,\r\n displayText : 'Style Expression',\r\n isRequired : true,\r\n }\">\r\n </text-box>\r\n </div>\r\n <span class=\"pi pi-cog mt-4 text-xl cursor-pointer text-color\"\r\n (click)=\"handleStyleExpression(i, $event)\"></span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field col-12 md:col-2 flex align-items-center justify-content-center mt-4\">\r\n <check-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\r\n name:'isActive',\r\n displayText : 'Is Active',\r\n }\">\r\n </check-box>\r\n\r\n <div class=\"ml-6 delete-icon-container\">\r\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\" (click)=\"handleDeleteRecord(i, ddItem?._id)\"></i>\r\n </div>\r\n </div>\r\n <sidebar [isSidebarVisible]=\"sidebarVisibility[i]\" [title]=\"'Edit Expression'\"\r\n (onClose)=\"onSidebarClose($event)\">\r\n <lib-dd-admin-item-form [ddItemRecord]=\"ddItem\" [isItemExpression]=\"isItemExpression\"\r\n (saveClick)=\"onSidebarClose($event)\"></lib-dd-admin-item-form>\r\n </sidebar>\r\n </div>\r\n\r\n </div>\r\n</form-container>","import { Component, OnInit } from '@angular/core';\r\nimport { BaseListComponent } from '../../../../shared/_base/base-list/base-list.component';\r\nimport { TableBuilder } from '../../../../shared/services/table.builder';\r\nimport { DictionaryService } from '../../state/dictionary.service';\r\nimport { DdAdminModel } from '../../models/dictionary.model';\r\nimport { dictionaryHiddenHeaderList } from '../../../../shared';\r\n\r\n@Component({\r\n selector: 'lib-dd-admin-list',\r\n templateUrl: './dd-admin-list.component.html',\r\n styleUrl: './dd-admin-list.component.scss',\r\n standalone : false\r\n})\r\nexport class DdAdminListComponent extends BaseListComponent<DdAdminModel> implements OnInit{\r\n constructor(service: DictionaryService, private tableBuilder: TableBuilder){\r\n super(service, tableBuilder);\r\n this.tableBuilder.hiddenHeaders = dictionaryHiddenHeaderList;\r\n }\r\n\r\n ngOnInit(){\r\n this.init()\r\n }\r\n}","<div class=\"dicitonary-list-wrapper\">\r\n @if(table){\r\n <lib-table-primary [title]=\"'Dictionary'\" [table]=\"table\"></lib-table-primary>\r\n }\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DdAdminFormComponent } from './components/dd-admin-form/dd-admin-form.component';\r\nimport { DdAdminListComponent } from './components/dd-admin-list/dd-admin-list.component';\r\nimport { ButtonComponent, CheckBoxComponent, SharedModule, TablePrimaryComponent } from '../../shared';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { DdAdminItemFormComponent } from './components/dd-admin-item-form/dd-admin-item-form.component';\r\nimport { TextAreaComponent } from '../../shared/controls/text-area/text-area.component';\r\nimport { FormContainerComponent } from '../../shared/components/form-container/form-container.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [DdAdminFormComponent, DdAdminListComponent, DdAdminItemFormComponent ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n DropdownModule,\r\n ButtonComponent,\r\n InputTextareaModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n TablePrimaryComponent,\r\n CheckBoxComponent,\r\n ButtonModule,\r\n TextAreaComponent,\r\n FormContainerComponent\r\n ],\r\n exports : [DdAdminFormComponent, DdAdminListComponent]\r\n})\r\nexport class DdAdminModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { StoreConfig } from '@datorama/akita';\r\nimport { WidgetModel } from '../models/widget.model';\r\nimport { BaseStore, SHARED } from '../../shared';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n/**\r\n * Widget Admin Store\r\n */\r\n@Injectable({ providedIn: 'root' })\r\n@StoreConfig({ name: 'widgetStore' })\r\nexport class WidgetStore extends BaseStore<WidgetModel> {\r\n public onViewAllDetails$: BehaviorSubject<any>;\r\n constructor() {\r\n super();\r\n this.onViewAllDetails$ = new BehaviorSubject<string>(SHARED.EMPTY_STRING);\r\n }\r\n\r\n setOnViewAllDetails(value: any) {\r\n this.onViewAllDetails$.next(value);\r\n }\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { WidgetModel } from '../models/widget.model';\r\nimport { WidgetStore } from './widget.store';\r\nimport { AppConfigService, BaseService, DATASOURCES } from '../../shared';\r\nimport { ListService } from '../../shared/services/list.service';\r\nimport { Observable, tap } from 'rxjs';\r\n\r\n/**\r\n * Service for managing widget configurations.\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class WidgetService extends BaseService<WidgetModel> {\r\n\r\n constructor(\r\n http: HttpClient,\r\n protected widgetStore: WidgetStore,\r\n private configService: AppConfigService,\r\n listService: ListService\r\n ) {\r\n super(http, widgetStore, configService, listService);\r\n this._pathName = DATASOURCES.WIDGET;\r\n }\r\n\r\n getAllWidgets(name:string) : Observable<WidgetModel[]> {\r\n const url = `${this.apiUrl}${name}`;\r\n return this.http.get<WidgetModel[]>(url).pipe(\r\n tap((entities: WidgetModel[]) => this.widgetStore.set(entities))\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { WidgetModel } from '../models/widget.model';\r\nimport { WidgetStore } from './widget.store';\r\nimport { BaseQuery } from '../../shared';\r\n\r\n\r\n/**\r\n * Widget Admin Query\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class WidgetQuery extends BaseQuery<WidgetModel> {\r\n\r\n constructor(protected override store: WidgetStore, private widgetStore: WidgetStore) {\r\n super(store);\r\n }\r\n\r\n getOnViewAllDetails() {\r\n return this.widgetStore.onViewAllDetails$.asObservable();\r\n }\r\n}\r\n","import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { WidgetModel } from '../../models/widget.model';\r\n\r\n@Component({\r\n selector: 'lib-widget-header',\r\n standalone: false,\r\n templateUrl: './widget-header.component.html',\r\n styleUrl: './widget-header.component.scss'\r\n})\r\nexport class WidgetHeaderComponent {\r\n @Input() widget!: WidgetModel;\r\n}\r\n","<div class=\"grid m-0 align-items-center\">\r\n <div class=\"col-12 p-0\">\r\n <div class=\"flex align-items-center\">\r\n <h3 class=\"mb-0 application-title-wrapper font-bold mr-3\">\r\n {{ (widget.header) }}\r\n </h3>\r\n </div>\r\n <div *ngIf=\"widget?.subHeader\" class=\"flex align-items-center mt-2\">\r\n <span class=\"mr-1\">Risk Rating:</span>\r\n <span\r\n class=\"mr-3 font-semibold\"\r\n [ngClass]=\"{\r\n 'text-red-500': widget.subHeader === 'High',\r\n 'text-green-500': widget.subHeader === 'Low',\r\n 'text-yellow-500': widget.subHeader === 'Medium'\r\n }\"\r\n >{{ widget.subHeader }}</span\r\n >\r\n </div>\r\n </div>\r\n </div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { WidgetModel } from '../../models/widget.model';\r\nimport { WidgetQuery } from '../../state/widget.query';\r\nimport { WidgetStore } from '../../state/widget.store';\r\n\r\n@Component({\r\n selector: 'lib-widget-footer',\r\n standalone: false,\r\n templateUrl: './widget-footer.component.html',\r\n styleUrl: './widget-footer.component.scss'\r\n})\r\nexport class WidgetFooterComponent {\r\n @Input() widget!: WidgetModel;\r\n\r\n constructor(private widgetStore: WidgetStore) {}\r\n\r\n viewAllDetails() {\r\n this.widgetStore.setOnViewAllDetails(this.widget);\r\n }\r\n }\r\n","<div\r\n class=\"col-12 p-0 mt-3 flex justify-content-center\"\r\n >\r\n <a\r\n class=\"p-button p-button-link text-primary-500\"\r\n >\r\n <span class=\"underline font-semibold\" (click)=\"viewAllDetails()\">View All Details</span>\r\n <i class=\"pi pi-arrow-up-right arrow-up-icon ml-2\"></i>\r\n </a>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { WidgetItem } from '../../models/widget.model';\r\n\r\n@Component({\r\n selector: 'lib-widget-item',\r\n standalone: false,\r\n templateUrl: './widget-item.component.html',\r\n styleUrl: './widget-item.component.scss'\r\n})\r\nexport class WidgetItemComponent {\r\n @Input() widgetItem!:WidgetItem;\r\n}\r\n","<div class=\"flex align-items-center justify-content-between\">\r\n <p class=\"mb-0 text-color-secondary mr-3\">{{widgetItem?.key}}</p>\r\n <p class=\"mb-0 text-color font-semibold text-value-wrapper\" [ngClass]=\"widgetItem?.style\">{{widgetItem?.value}}</p>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { WidgetModel } from '../../models/widget.model';\r\n\r\n@Component({\r\n selector: 'lib-widget-body',\r\n templateUrl: './widget-body.component.html',\r\n styleUrl: './widget-body.component.scss',\r\n standalone : false\r\n})\r\nexport class WidgetBodyComponent {\r\n @Input() widget!: WidgetModel;\r\n}\r\n","<div class=\"widget-body-container\">\r\n <div *ngFor=\"let dataItem of widget?.dataItems || []; let i = index\">\r\n <div [ngClass]=\"i !== ((widget?.dataItems || []).length - 1) ? 'widget-item-wrapper' : ''\">\r\n <div [ngClass]=\"i !== ((widget?.dataItems || []).length - 1) ? 'widget-wrapper' : 'widget-last-wrapper'\">\r\n <lib-widget-item [widgetItem]=\"dataItem\"></lib-widget-item>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, EventEmitter, Output } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ERROR, ROUTES, SHARED } from '../../../shared';\r\nimport { WidgetService } from '../../state/widget.service';\r\nimport { WidgetModel } from '../../models/widget.model';\r\nimport { WidgetQuery } from '../../state/widget.query';\r\n\r\n@Component({\r\n selector: 'lib-widget-container',\r\n standalone: false,\r\n templateUrl: './widget-container.component.html',\r\n styleUrl: './widget-container.component.scss'\r\n})\r\nexport class WidgetContainerComponent {\r\n constructor(\r\n private widgetService: WidgetService,\r\n public activatedRoute : ActivatedRoute,\r\n private widgetQuery: WidgetQuery\r\n ) {}\r\n\r\n widgets: WidgetModel[] = [];\r\n @Output() onViewAllDetails = new EventEmitter<any>();\r\n\r\n ngOnInit(): void {\r\n this.widgetQuery.getOnViewAllDetails().subscribe((res) => {\r\n this.onViewAllDetails.emit(res);\r\n })\r\n\r\n const queueId = localStorage.getItem(SHARED.selectedQueue);\r\n const recordId = this.activatedRoute.snapshot.params[SHARED.ID];\r\n\r\n if (!queueId || !recordId) {\r\n console.error(ERROR.ERROR_MISSING_PARAMETERS, {\r\n queueId: queueId || SHARED.MISSING_QUEUE_ID,\r\n recordId: recordId || SHARED.MISSING_RECORD_ID\r\n });\r\n return;\r\n }\r\n let url = `${ROUTES.APPLICATION_WIDGET}${SHARED.QUESTION_MARK}${SHARED.QUEUEID}${SHARED.EQUALS}${queueId}${SHARED.AMPERSAND}${SHARED.RECORDID}${SHARED.EQUALS}${recordId}`;\r\n this.widgetService.getAllWidgets(url).subscribe(\r\n (res) => {\r\n this.widgets = res.sort((a: any, b: any) => a.order - b.order);\r\n },\r\n (error) => {\r\n console.error(ERROR.ERROR_FETCHING_WIDGET_DATA, error);\r\n }\r\n );\r\n }\r\n}\r\n","<p-card class=\"widget-block-wrapper block\">\r\n <div class=\"flex align-items-center justify-content-end pb-0 px-3\">\r\n <p-button\r\n class=\"p-0 refresh-btn-wrapper\"\r\n [text]=\"true\"\r\n aria-label=\"Refresh\"\r\n >\r\n <i class=\"pi pi-sync pr-2\" style=\"font-size: 16px\"></i>\r\n <span class=\"text-lg font-semibold\">Refresh</span>\r\n </p-button>\r\n </div>\r\n <p-divider />\r\n \r\n <div class=\"widget-section-wrapper p-3\">\r\n <ng-container *ngIf=\"widgets && widgets.length > 0; else noWidgets\">\r\n <ng-container *ngFor=\"let widget of widgets\">\r\n <div class=\"widget-container-wrapper\">\r\n <lib-widget-header [widget]=\"widget\"></lib-widget-header>\r\n <div class=\"widget-content-wrapper mt-4 p-3\">\r\n <lib-widget-body [widget]=\"widget\"></lib-widget-body>\r\n <lib-widget-footer [widget]=\"widget\"></lib-widget-footer>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #noWidgets>\r\n <p class=\"text-color font-semibold\">No Widgets Configured</p>\r\n </ng-template>\r\n </div>\r\n</p-card>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { DividerModule } from 'primeng/divider';\r\nimport { CardModule } from 'primeng/card';\r\nimport { SidebarModule } from 'primeng/sidebar';\r\nimport { SharedModule } from '../shared';\r\nimport { WidgetContainerComponent } from './components/widget-container/widget-container.component';\r\nimport { WidgetHeaderComponent } from './components/widget-header/widget-header.component';\r\nimport { WidgetFooterComponent } from './components/widget-footer/widget-footer.component';\r\nimport { WidgetBodyComponent } from './components/widget-body/widget-body.component';\r\nimport { WidgetItemComponent } from './components/widget-item/widget-item.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [WidgetContainerComponent, WidgetHeaderComponent, WidgetFooterComponent, WidgetBodyComponent, WidgetItemComponent],\r\n imports: [\r\n CommonModule,\r\n ButtonModule,\r\n DividerModule,\r\n CardModule,\r\n SharedModule,\r\n SidebarModule\r\n ],\r\n exports: [WidgetContainerComponent]\r\n})\r\nexport class WidgetModule { }","/*\r\n * Public API Surface of cat-qw-lib\r\n */\r\n\r\nexport * from './lib/admin/api-admin/api-admin.module';\r\nexport * from './lib/admin/widget-admin/widget-admin.module';\r\nexport * from './lib/admin/queue-admin/queue-admin.module';\r\n\r\nexport * from './lib/admin/api-admin/components/api-admin-form/api-admin-form.component';\r\nexport * from './lib/admin/api-admin/components/api-admin-list/api-admin-list.component';\r\nexport * from './lib/admin/widget-admin/components/widget-admin-form/widget-admin-form.component';\r\nexport * from './lib/admin/widget-admin/components/widget-admin-list/widget-admin-list.component';\r\nexport * from './lib/admin/queue-admin/components/queue-admin-form/queue-admin-form.component';\r\nexport * from './lib/admin/queue-admin/components/queue-admin-list/queue-admin-list.component';\r\nexport * from './lib/admin/queue-admin/components/queue-application-list/queue-application-list.component';\r\n\r\nexport * from './lib/admin/action-admin/action-admin.module';\r\nexport * from './lib/admin/action-admin/components/admin-action-list/admin-action-list.component';\r\nexport * from './lib/admin/action-admin/components/admin-action-form/admin-action-form.component';\r\nexport * from './lib/admin/dd-admin/dd-admin.module'\r\nexport * from './lib/admin/dd-admin/components/dd-admin-form/dd-admin-form.component'\r\nexport * from './lib/admin/dd-admin/components/dd-admin-list/dd-admin-list.component'\r\n\r\nexport * from './lib/widget/widget.module';\r\nexport * from './lib/widget/components/widget-container/widget-container.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.BaseStore","i3","i2","i4","i1","i2.AppConfigService","i2.BaseStore","i3.AppConfigService","i4.ListService","i1.BaseService","i2.TableBuilder","i1.ListService","i2.ValidatorService","i4.BaseStore","i1.DateParserService","tap","i1.SessionService","i5","i6","i2.ApiAdminStore","i1.ApiAdminService","i4.ApiAdminStore","i5.TextBoxComponent","i6.DropdownComponent","i7.FormContainerComponent","i8","i9.TextAreaComponent","i3.TablePrimaryComponent","i2.WidgetAdminStore","i1.WidgetAdminService","i1.WidgetAdminStore","i3.WidgetAdminStore","i4.WidgetAdminQuery","i7.TextBoxComponent","i8.DropdownComponent","i9.FormContainerComponent","i10.CheckBoxComponent","i11","i1.QueueStore","i1.QueueQuery","i2.QueueService","i4.QueueStore","i5.ValidatorService","i6.TextBoxComponent","i7","i1.QueueService","i2.DataTransformerService","i6.CapitalizeWordsPipe","i3.QueueSearchCustomerComponent","i4.BlockListComponent","i5.QueueApplicationListComponent","i1.AdminActionStore","i1.AdminActionService","i4.AdminActionStore","i5.AppConfigService","i7.DropdownComponent","i8.FormContainerComponent","i10","i1.DictionaryStore","i2.DictionaryQuery","i4.DropdownComponent","i5.ButtonComponent","i6.TextAreaComponent","i1.DictionaryService","i3.ValidatorService","i5.DictionaryStore","i6.BaseStore","i6.BaseQuery","i8.TextBoxComponent","i9.DropdownComponent","i10.FormContainerComponent","i11.SidebarComponent","i12.CheckBoxComponent","i13","i14.DdAdminItemFormComponent","i2.WidgetStore","i1.WidgetStore","i2.WidgetItemComponent","i1.WidgetService","i3.WidgetQuery","i8.WidgetHeaderComponent","i9.WidgetFooterComponent","i10.WidgetBodyComponent"],"mappings":"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"}
|