@nexterajs/app-kit 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/NOTICE +16 -0
- package/README.md +64 -0
- package/fesm2022/nexterajs-app-kit.mjs +1012 -0
- package/fesm2022/nexterajs-app-kit.mjs.map +1 -0
- package/package.json +40 -0
- package/types/nexterajs-app-kit.d.ts +690 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nexterajs-app-kit.mjs","sources":["../../../projects/nextera-app-kit/src/lib/interfaces/module.interface.ts","../../../projects/nextera-app-kit/src/lib/interfaces/lov.interface.ts","../../../projects/nextera-app-kit/src/lib/metadata/data-grid.interface.ts","../../../projects/nextera-app-kit/src/lib/metadata/data-grid.const.ts","../../../projects/nextera-app-kit/src/lib/consts/action.const.ts","../../../projects/nextera-app-kit/src/lib/consts/page.const.ts","../../../projects/nextera-app-kit/src/lib/helpers/generic.helper.ts","../../../projects/nextera-app-kit/src/lib/helpers/http.helper.ts","../../../projects/nextera-app-kit/src/lib/helpers/lov.helper.ts","../../../projects/nextera-app-kit/src/lib/helpers/signal.helper.ts","../../../projects/nextera-app-kit/src/lib/helpers/sort.helper.ts","../../../projects/nextera-app-kit/src/lib/helpers/tracker.helper.ts","../../../projects/nextera-app-kit/src/lib/pipes/action-code.pipe.ts","../../../projects/nextera-app-kit/src/lib/pipes/null.pipe.ts","../../../projects/nextera-app-kit/src/lib/directives/badge.directive.ts","../../../projects/nextera-app-kit/src/lib/directives/menu.directive.ts","../../../projects/nextera-app-kit/src/lib/services/modal.service.ts","../../../projects/nextera-app-kit/src/public-api.ts","../../../projects/nextera-app-kit/src/nexterajs-app-kit.ts"],"sourcesContent":["import { ComponentRef } from '@angular/core';\r\nimport { NxeGridItem, NxeLayoutItem } from '../metadata/data-grid.interface';\r\n\r\nexport interface ModuleMetadata {\r\n section: string;\r\n icon: string;\r\n entityType: string;\r\n accessRight: string;\r\n packageCode?: string;\r\n webBaseUrl: string;\r\n apiBaseUrl: string;\r\n apiBaseUrlModifier?: string;\r\n uploadUrl: string;\r\n id: string;\r\n lov: string;\r\n lovMapper?: any;\r\n isTableMaintenance?: boolean;\r\n usePopup?: boolean;\r\n listPage?: ListPageMetadata\r\n createPage?: {\r\n forms: NxeLayoutItem[];\r\n }\r\n upsertPage?: UpsertPageMetadata;\r\n detailPage?: UpsertPageMetadata;\r\n}\r\n\r\nexport interface ListPageMetadata {\r\n create: boolean | any;\r\n hasSearchBox?: boolean;\r\n hasUploadButton?: boolean;\r\n selectable?: boolean;\r\n actions?: {\r\n actionItems: ActionItem[];\r\n gridItems?: NxeGridItem[];\r\n };\r\n tree?: {\r\n keyExpr: string;\r\n parentIdExpr: string;\r\n autoExpandAll: boolean;\r\n },\r\n filters: NxeGridItem[];\r\n gridItems: NxeGridItem[],\r\n masterDetail?: {\r\n apiUrl: string;\r\n gridItems: NxeGridItem[];\r\n }\r\n summary?: any;\r\n}\r\n\r\nexport interface UpsertPageMetadata {\r\n subheaders: NxeGridItem[];\r\n hasApproval?: boolean;\r\n isInlineModify?: boolean;\r\n actions?: {\r\n actionItems: ActionItem[];\r\n gridItems?: NxeGridItem[];\r\n };\r\n forms: NxeLayoutItem[];\r\n tabHeaderLabel?: string;\r\n tabContentLabel?: string;\r\n tabs?: { label: string; component: any, componentRef?: ComponentRef<any>, hiddenConditions?: Condition }[];\r\n}\r\n\r\nexport interface ActionItem {\r\n actionCode: string;\r\n overrideActionCode?: string;\r\n overrideUrl?: string;\r\n redirectAfterSuccessful?: string;\r\n disabledConditions?: ActionItemDisabledOn[];\r\n}\r\n\r\nexport interface ActionItemDisabledOn {\r\n key: string;\r\n operator: string;\r\n value: any;\r\n}\r\n\r\nexport class BooleanOperator {\r\n static readonly NOT_INCLUDE = 'NIN';\r\n static readonly INCLUDE = 'IN';\r\n static readonly EQUALS = '=';\r\n static readonly NOT_EQUAL = '!=';\r\n}\r\n\r\nexport class ValueOperator {\r\n static readonly NOT_INCLUDE = 'NIN';\r\n static readonly INCLUDE = 'IN';\r\n static readonly EQUALS = '=';\r\n static readonly NOT_EQUAL = '!=';\r\n}\r\n\r\nexport class ConditionType {\r\n static readonly GROUP = 'GROUP';\r\n static readonly SINGLE = 'SINGLE';\r\n}\r\n\r\nexport class ConditionOperator {\r\n static readonly AND = 'AND';\r\n static readonly OR = 'OR';\r\n}\r\n\r\nexport interface Condition {\r\n type: string;\r\n\r\n /*Type Group*/\r\n children?: Condition[];\r\n groupOperator?: string;\r\n\r\n\r\n /*Type Single*/\r\n key?: string;\r\n valueOperator?: string;\r\n value?: any;\r\n}\r\n\r\n\r\nexport class ConditionEvaluator {\r\n static evaluate(data: Record<string, any>, condition: Condition): boolean {\r\n if (condition.type === ConditionType.SINGLE) {\r\n return this.evaluateSingle(data, condition);\r\n }\r\n\r\n if (condition.type === ConditionType.GROUP && condition.children) {\r\n return this.evaluateGroup(data, condition);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private static evaluateSingle(data: Record<string, any>, condition: Condition): boolean {\r\n const { key, valueOperator, value } = condition;\r\n if (!key || !valueOperator) return false;\r\n\r\n const actualValue = data[key];\r\n\r\n switch (valueOperator) {\r\n case ValueOperator.EQUALS:\r\n return actualValue === value;\r\n case ValueOperator.NOT_EQUAL:\r\n return actualValue !== value;\r\n case ValueOperator.INCLUDE:\r\n return Array.isArray(value) ? value.includes(actualValue) : false;\r\n case ValueOperator.NOT_INCLUDE:\r\n return Array.isArray(value) ? !value.includes(actualValue) : false;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n private static evaluateGroup(data: Record<string, any>, condition: Condition): boolean {\r\n const { children = [], groupOperator } = condition;\r\n\r\n if (groupOperator === ConditionOperator.AND) {\r\n return children.every(child => this.evaluate(data, child));\r\n }\r\n\r\n if (groupOperator === ConditionOperator.OR) {\r\n return children.some(child => this.evaluate(data, child));\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","export interface Lov {\r\n defaultValue: string;\r\n isActive: string;\r\n lovCode: any;\r\n lovName: string;\r\n lovType: string;\r\n otherValue1: string;\r\n otherValue2: string;\r\n otherValue3: string;\r\n otherValue4: string;\r\n otherValue5: string;\r\n sequenceNo: number;\r\n}\r\n\r\ntype StringArrayMap<T extends readonly string[]> = {\r\n [K in T[number]]?: string[];\r\n};\r\n\r\nexport class MappedLov<T extends readonly string[]> {\r\n private map: StringArrayMap<T> = {} as any;\r\n\r\n constructor(initial?: StringArrayMap<T>) {\r\n if (initial) {\r\n this.map = initial;\r\n }\r\n }\r\n\r\n get<K extends T[number]>(key: K): string[] {\r\n return this.map[key] ?? [];\r\n }\r\n\r\n set<K extends T[number]>(key: K, value: string[]): void {\r\n this.map[key] = value;\r\n }\r\n\r\n has<K extends T[number]>(key: K): boolean {\r\n return key in this.map;\r\n }\r\n\r\n getRawMap(): Required<{ [K in T[number]]: string[] }> {\r\n return Object.fromEntries(\r\n this.keys.map(k => [k, this.get(k)])\r\n ) as any;\r\n }\r\n\r\n constructorKeys: T;\r\n\r\n get keys(): T[number][] {\r\n return [...(this.constructorKeys as unknown as string[])];\r\n }\r\n}\r\n","import { ActionItemDisabledOn, Condition } from '../interfaces/module.interface';\r\n\r\nexport interface Paging {\r\n pageNo: number;\r\n pageSize: number;\r\n totalRows: number;\r\n totalPages: number;\r\n}\r\n\r\nexport interface NxeGridItem {\r\n id: string;\r\n label: string;\r\n\r\n dataType?: string;\r\n\r\n lov?: string;\r\n lovDependency?: LovDependency | LovDependency[];\r\n\r\n pushToRight?: boolean;\r\n\r\n filterCount?: number;\r\n\r\n groupIndex?: number;\r\n\r\n valueExpr?: string;\r\n displayExpr?: string;\r\n\r\n readonly?: boolean;\r\n hidden?: boolean;\r\n min?: number;\r\n max?: number;\r\n alignment?: string;\r\n\r\n readonlyOnCreate?: boolean;\r\n readonlyOnModify?: boolean;\r\n readonlyCondition?: Condition;\r\n\r\n hiddenOnCreate?: boolean;\r\n hiddenOnModify?: boolean;\r\n hiddenOnGrid?: boolean;\r\n hiddenCondition?: Condition;\r\n\r\n shownVariable?: string;\r\n\r\n link?: LinkDetail;\r\n formattedLink?: string;\r\n\r\n defaultValue?: any;\r\n fixedValue?: any;\r\n defaultValueDynamic?: {\r\n from: string;\r\n propertyCode: string;\r\n }\r\n\r\n required?: boolean;\r\n\r\n gridItems?: NxeGridItem[];\r\n gridConfig?: {\r\n detailID: string;\r\n inlineEditing?: boolean;\r\n editable: boolean;\r\n deletable: boolean;\r\n isPrimaryHeader?: boolean;\r\n }\r\n\r\n dynamicField?: {\r\n sourceID: string;\r\n sourceTypeKey: string;\r\n sourceLovKey: string;\r\n }\r\n\r\n width?: any;\r\n format?: string;\r\n hiddenConditions?: Condition;\r\n\r\n onValueChange?: ValueChange[];\r\n}\r\n\r\nexport interface LovDependency {\r\n dependentTo: string;\r\n filterKey: string;\r\n preFilter?: boolean;\r\n}\r\n\r\nexport interface ValueChange {\r\n event?: string;\r\n target?: string;\r\n value?: any;\r\n}\r\n\r\nexport class ValueChangeEvent {\r\n static readonly ADD_DAYS = 'ADD_DAYS';\r\n static readonly ADD_MONTHS = 'ADD_MONTHS';\r\n static readonly ADD_YEARS = 'ADD_YEARS';\r\n static readonly GET_DEFAULT_VALUE_REINS = 'GET_DEFAULT_VALUE_REINS';\r\n}\r\n\r\nexport interface ModeState {\r\n onCreate: boolean;\r\n onModify: boolean;\r\n}\r\n\r\nexport interface LinkDetail {\r\n url: string;\r\n id: string;\r\n target?: string;\r\n}\r\n\r\nexport interface NxeLayoutItem {\r\n id?: string;\r\n layoutType?: string;\r\n label?: string;\r\n className?: string;\r\n gridItem?: NxeGridItem;\r\n children?: NxeLayoutItem[];\r\n gridColumn?: number;\r\n}\r\n\r\nexport class LayoutType {\r\n static readonly DIVIDER = 'DIVIDER';\r\n static readonly CONTAINER = 'CONTAINER';\r\n static readonly GRID_ITEM = 'GRID_ITEM';\r\n static readonly GRID_CONTAINER = 'GRID_CONTAINER';\r\n}\r\n","export class DataType {\r\n static readonly TXT = 'TXT';\r\n static readonly TXM = 'TXM';\r\n static readonly NUM = 'NUM';\r\n static readonly DTE = 'DTE';\r\n static readonly LNK = 'LNK';\r\n static readonly TXA = 'TXA';\r\n static readonly ACT = 'ACT';\r\n static readonly LOV = 'LOV';\r\n static readonly LOM = 'LOM';\r\n static readonly CHK = 'CHK';\r\n static readonly HTM = 'HTM';\r\n static readonly GRD = 'GRD';\r\n static readonly IMG = 'IMG';\r\n static readonly DRD = 'DRD';\r\n static readonly DYN = 'DYN';\r\n}\r\n","export class ActionCode {\r\n static readonly LIST = 'LST';\r\n static readonly VIEW = 'VIE';\r\n static readonly CREATE = 'CRT';\r\n static readonly VALIDATE = 'VAL';\r\n static readonly FINALIZE = 'FIN';\r\n static readonly APPROVAL = 'APP';\r\n static readonly MODIFY = 'MOD';\r\n static readonly DELETE = 'DEL';\r\n static readonly CANCEL = 'CAN';\r\n static readonly EXTEND_DUE_DATE = 'EXD';\r\n static readonly CONFIRM = 'CON';\r\n static readonly BINDING = 'BIN';\r\n static readonly REVERSE = 'REV';\r\n static readonly CALCULATE = 'CAL';\r\n static readonly SEND_FOR_APPROVAL = 'STA';\r\n static readonly PLACEMENT = 'PLA';\r\n static readonly DIVIDER = 'divider';\r\n static readonly RUN = 'RUN';\r\n static readonly ACTIVATED = 'ACT';\r\n static readonly TERMINATED = 'TRM';\r\n static readonly RESET_PASS = 'RST';\r\n static readonly LOCK = 'LOC';\r\n static readonly UNLOCK = 'UNL';\r\n static readonly POSTING = 'POS';\r\n static readonly UNPOSTING = 'UNP';\r\n static readonly EXTRACT = 'EXT';\r\n static readonly BIND = 'BND';\r\n static readonly NEW = 'NEW';\r\n static readonly ADD_SUB_TREATY = 'ADD_SUB_TREATY';\r\n static readonly CORRECTION = 'COR';\r\n static readonly CONVERT_TO_PROPOSAL = 'PRO';\r\n static readonly DOWNLOAD = 'PRV';\r\n static readonly SEND = 'SND';\r\n static readonly ISSUE = 'ISS';\r\n static readonly REACTIVATE = 'RAC';\r\n static readonly PRINT = 'PRT';\r\n static readonly TERMINATE = 'TRM';\r\n static readonly ADD_TO_PAYMENT = 'ADD_TO_PAYMENT';\r\n static readonly ROLLBACK = 'ROL';\r\n}\r\n\r\nexport const ACTION_MAPPER = {\r\n [ActionCode.CREATE]: getActionNew,\r\n [ActionCode.VIEW]: getActionView,\r\n [ActionCode.MODIFY]: getActionModify,\r\n [ActionCode.DELETE]: getActionDelete,\r\n [ActionCode.VALIDATE]: getActionValidate,\r\n [ActionCode.EXTRACT]: getActionExtract,\r\n [ActionCode.ADD_TO_PAYMENT]: getActionAddToPayment,\r\n [ActionCode.ACTIVATED]: getActionActivated,\r\n [ActionCode.TERMINATED]: getActionTerminate,\r\n [ActionCode.RESET_PASS]: getActionResetPassword,\r\n [ActionCode.LOCK]: getActionLock,\r\n [ActionCode.UNLOCK]: getActionUnlock,\r\n}\r\n\r\nexport function getActionView(disabled = false) {\r\n return {\r\n value: ActionCode.VIEW,\r\n text: 'View',\r\n icon: 'eye',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionRollback(disabled = false) {\r\n return {\r\n value: ActionCode.ROLLBACK,\r\n text: 'Rollback',\r\n icon: 'undo',\r\n disabled,\r\n }\r\n}\r\nexport function getActionNew(disabled = false) {\r\n return {\r\n value: ActionCode.NEW,\r\n text: 'New',\r\n icon: 'add',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionSend(disabled = false) {\r\n return {\r\n value: ActionCode.SEND,\r\n text: 'Send to Ceding',\r\n icon: 'swap_horiz',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionAddSubTreaty(disabled = false) {\r\n return {\r\n value: ActionCode.ADD_SUB_TREATY,\r\n text: 'Add Sub Treaty',\r\n icon: 'add',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionCorrection(disabled = false) {\r\n return {\r\n value: ActionCode.CORRECTION,\r\n text: 'Correction',\r\n icon: 'list',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionConvertToProposal(disabled = false) {\r\n return {\r\n value: ActionCode.CONVERT_TO_PROPOSAL,\r\n text: 'Convert to Proposal',\r\n icon: 'published_with_changes',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionBind(disabled = false) {\r\n return {\r\n value: ActionCode.BIND,\r\n text: 'Bind',\r\n icon: 'done',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionPosting(disabled = false) {\r\n return {\r\n value: ActionCode.POSTING,\r\n text: 'Posting',\r\n icon: 'redo',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionExtract(disabled = false) {\r\n return {\r\n value: ActionCode.EXTRACT,\r\n text: 'Extract',\r\n icon: 'functions',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionUnposting(disabled = false) {\r\n return {\r\n value: ActionCode.UNPOSTING,\r\n text: 'UnPosting',\r\n icon: 'undo',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionRun(disabled = false) {\r\n return {\r\n value: ActionCode.RUN,\r\n text: 'Run',\r\n icon: 'done',\r\n disabled,\r\n }\r\n}\r\n\r\n\r\nexport function getActionValidate(disabled = false) {\r\n return {\r\n value: ActionCode.VALIDATE,\r\n text: 'Validate',\r\n icon: 'done',\r\n disabled,\r\n }\r\n}\r\n\r\n\r\nexport function getActionAddToPayment(disabled = false) {\r\n return {\r\n value: ActionCode.ADD_TO_PAYMENT,\r\n text: 'Add to Payment',\r\n icon: 'done',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionIssue(disabled = false) {\r\n return {\r\n value: ActionCode.ISSUE,\r\n text: 'Issue',\r\n icon: 'done',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionReactivate(disabled = false) {\r\n return {\r\n value: ActionCode.REACTIVATE,\r\n text: 'Reactivate',\r\n icon: 'done',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionDownload(disabled = false) {\r\n return {\r\n value: ActionCode.DOWNLOAD,\r\n text: 'Preview',\r\n icon: 'download',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionFinalize(disabled = false) {\r\n return {\r\n value: ActionCode.FINALIZE,\r\n text: 'Finalize',\r\n icon: 'timeline',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionSendForApproval(disabled = false, text = 'Send for Approval') {\r\n return {\r\n value: ActionCode.SEND_FOR_APPROVAL,\r\n text,\r\n icon: 'send',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionPlacement(disabled = false, text = 'Placement') {\r\n return {\r\n value: ActionCode.PLACEMENT,\r\n text,\r\n icon: 'swap_horiz',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionCalculate(disabled = false) {\r\n return {\r\n value: ActionCode.CALCULATE,\r\n text: 'Calculate',\r\n icon: 'calculate',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionConfirm(disabled = false) {\r\n return {\r\n value: ActionCode.CONFIRM,\r\n text: 'Confirmation',\r\n icon: 'star',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionBinding(disabled = false) {\r\n return {\r\n value: ActionCode.BINDING,\r\n text: 'Binding',\r\n icon: 'star',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionReverse(disabled = false) {\r\n return {\r\n value: ActionCode.REVERSE,\r\n text: 'Reverse',\r\n icon: 'undo',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionDelete(disabled = false) {\r\n return {\r\n value: ActionCode.DELETE,\r\n text: 'Delete',\r\n icon: 'delete',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionCancel(disabled = false) {\r\n return {\r\n value: ActionCode.CANCEL,\r\n text: 'Cancel',\r\n icon: 'close',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionExtendDueDate(disabled = false) {\r\n return {\r\n value: ActionCode.EXTEND_DUE_DATE,\r\n text: 'Extend Due Date',\r\n icon: 'autorenew',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionApproval(disabled = false) {\r\n return {\r\n value: ActionCode.APPROVAL,\r\n text: 'Approval',\r\n icon: 'done_all',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionPrint(disabled = false) {\r\n return {\r\n value: ActionCode.PRINT,\r\n text: 'Print',\r\n icon: 'print',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionDivider() {\r\n return {\r\n value: ActionCode.VALIDATE,\r\n text: 'Validate',\r\n icon: 'done',\r\n disabled: true,\r\n }\r\n}\r\n\r\nexport function getActionModify(disabled = false) {\r\n return {\r\n value: ActionCode.MODIFY,\r\n text: 'Modify',\r\n icon: 'edit',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionActivated(disabled = false) {\r\n return {\r\n value: ActionCode.ACTIVATED,\r\n text: 'Activate',\r\n icon: 'done',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionTerminated(disabled = false) {\r\n return {\r\n value: ActionCode.TERMINATED,\r\n text: 'Terminate',\r\n icon: 'close',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionResetPassword(disabled = false) {\r\n return {\r\n value: ActionCode.RESET_PASS,\r\n text: 'Reset Password',\r\n icon: 'settings_backup_restore',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionLock(disabled = false) {\r\n return {\r\n value: ActionCode.LOCK,\r\n text: 'Lock',\r\n icon: 'lock',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionUnlock(disabled = false) {\r\n return {\r\n value: ActionCode.UNLOCK,\r\n text: 'Unlock',\r\n icon: 'done',\r\n disabled,\r\n }\r\n}\r\n\r\nexport function getActionTerminate(disabled = false, text = 'Terminate') {\r\n return {\r\n value: ActionCode.TERMINATE,\r\n text,\r\n icon: 'close',\r\n disabled,\r\n }\r\n}\r\n","export class PageMode {\r\n static readonly VIEW = 'View';\r\n static readonly MODIFY = 'Modify';\r\n static readonly ADD = 'New';\r\n}\r\n","import { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { NxeGridItem, NxeLayoutItem } from '../metadata/data-grid.interface';\r\nimport { ModuleMetadata } from '../interfaces/module.interface';\r\nimport { DataType } from '../metadata/data-grid.const';\r\n\r\nexport function extractGridItems(layoutItems: NxeLayoutItem[], existingGridItems: NxeGridItem[] = []) {\r\n layoutItems.forEach((item) => {\r\n if (item.gridItem) {\r\n existingGridItems.push(item.gridItem);\r\n }\r\n if (item.children?.length > 0) {\r\n extractGridItems(item.children, existingGridItems);\r\n }\r\n });\r\n return existingGridItems;\r\n}\r\n\r\nexport function createFormGroup(gridItems: any[], module: ModuleMetadata, lov: any): FormGroup {\r\n const formGroup = new FormGroup({});\r\n\r\n gridItems.forEach(gridItem => {\r\n const validators = [];\r\n\r\n // if (gridItem.required) {\r\n // validators.push(Validators.required);\r\n // }\r\n\r\n let value = null;\r\n if (gridItem.dataType === DataType.CHK) {\r\n value = false;\r\n }\r\n\r\n const formControl = new FormControl(value, validators);\r\n\r\n if (gridItem.fixedValue !== null && gridItem.fixedValue !== undefined) {\r\n formControl.setValue(gridItem.fixedValue);\r\n // formControl.removeValidators(Validators.required);\r\n }\r\n\r\n formGroup.addControl(gridItem.id, formControl);\r\n });\r\n\r\n gridItems.forEach(gridItem => {\r\n if (gridItem?.lovDependency) {\r\n const dependencies = Array.isArray(gridItem.lovDependency) ? gridItem.lovDependency : [gridItem.lovDependency];\r\n lov[gridItem.lov] = [];\r\n\r\n dependencies.forEach(dep => {\r\n const depControl = formGroup.get(dep.dependentTo);\r\n if (!depControl) return;\r\n depControl.valueChanges\r\n .subscribe(() => {\r\n lov[gridItem.lov] = lov['all'].filter((l) => {\r\n if (l.lovType !== gridItem.lov) return false;\r\n return dependencies.every(d => {\r\n const depValue = formGroup.get(d.dependentTo)?.value;\r\n return depValue == null || l[d.filterKey]?.split(',').includes(depValue);\r\n });\r\n });\r\n\r\n const currentFormControl = formGroup.get(gridItem.id);\r\n const currentValue = currentFormControl.value;\r\n const currentLov = lov[gridItem.lov];\r\n\r\n if (gridItem.dataType === DataType.LOM) {\r\n const newValue = (currentValue as string[])?.filter(v =>\r\n currentLov.some(l => l.lovCode === v)\r\n );\r\n currentFormControl.setValue(newValue);\r\n } else {\r\n if (!currentLov.find(l => l.lovCode === currentValue)) {\r\n currentFormControl.patchValue(null);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n });\r\n\r\n if (module.id) {\r\n const idValue = module.id.endsWith(\"ID\") ? 0 : null;\r\n formGroup.addControl(module.id, new FormControl(idValue));\r\n }\r\n\r\n return formGroup;\r\n}\r\n","export function removeEmptyObject(obj: object): object {\r\n const result = {};\r\n Object.entries(obj).forEach(([ k, v ]) => {\r\n if (v !== null && v !== '') {\r\n result[k] = v;\r\n }\r\n });\r\n\r\n return result;\r\n}\r\n\r\nexport function filterQueryParams(obj: Object) {\r\n obj = cloneDeep(obj);\r\n obj = removeEmptyObject(obj);\r\n const result = {};\r\n\r\n Object.entries(obj).forEach(([ k, v ]) => {\r\n if (isArray(v)) {\r\n let temp = '';\r\n v.forEach((e, i) => {\r\n temp += e;\r\n if (v.length - 1 !== i) {\r\n temp += `,`;\r\n }\r\n });\r\n result[k] = temp;\r\n } else if (v instanceof Date) {\r\n result[k] = toDateString(v);\r\n } else {\r\n result[k] = v;\r\n }\r\n });\r\n return result;\r\n}\r\n\r\nfunction cloneDeep(value: any, visited = new WeakMap()) {\r\n // Handle primitive types and functions\r\n if (value === null || typeof value !== 'object') return value;\r\n\r\n // Handle circular references\r\n if (visited.has(value)) return visited.get(value);\r\n\r\n // Clone array\r\n if (isArray(value)) {\r\n const arrCopy = [];\r\n visited.set(value, arrCopy);\r\n for (let i = 0; i < value.length; i++) {\r\n arrCopy[i] = cloneDeep(value[i], visited);\r\n }\r\n return arrCopy;\r\n }\r\n\r\n // Clone object\r\n const objCopy = {};\r\n visited.set(value, objCopy);\r\n for (const key in value) {\r\n if (value.hasOwnProperty(key)) {\r\n objCopy[key] = cloneDeep(value[key], visited);\r\n }\r\n }\r\n return objCopy;\r\n}\r\n\r\nfunction isArray(value: any) {\r\n return Object.prototype.toString.call(value) === '[object Array]';\r\n}\r\n\r\nexport function arrayToString(input: string[]) {\r\n let temp = '';\r\n input.forEach((e, i) => {\r\n temp += e;\r\n if (input.length - 1 !== i) {\r\n temp += `,`;\r\n }\r\n });\r\n return temp;\r\n}\r\n\r\nexport function downloadFile(data: any, fileName = 'excel.xlsx') {\r\n let blob = new Blob([ data ]);\r\n let url = window.URL.createObjectURL(blob);\r\n const a = document.createElement('a');\r\n a.href = url;\r\n a.download = fileName;\r\n a.click();\r\n}\r\n\r\nexport function previewPDF(data: any, fileName = 'report.pdf') {\r\n let blob = new Blob([ data ], { type: 'application/pdf' });\r\n let url = window.URL.createObjectURL(blob);\r\n window.open(url, '_blank');\r\n}\r\n\r\nexport function constructUrlWithQueryParams(baseUrl: string, queryParams: any): string {\r\n const queryString = Object.keys(queryParams).map((key) => key + '=' + queryParams[key]).join('&');\r\n return `${ baseUrl }?${ queryString }`;\r\n}\r\n\r\nexport function toDateString(date: Date) {\r\n return date.toDateString();\r\n}\r\n","import { Lov } from '../interfaces/lov.interface';\r\n\r\nexport function mapLov(input: any, lov: Lov[]) {\r\n const result: any = {};\r\n Object.keys(input).forEach(key => {\r\n result[key] = lov.filter(l => l.lovType === input[key]);\r\n });\r\n result['all'] = lov;\r\n return result;\r\n}\r\n\r\nexport function mapOriginalLov(lov: Lov[]) {\r\n const result: any = lov.reduce((acc, item) => {\r\n const key = item.lovType; // The property to group by\r\n if (!acc[key]) {\r\n acc[key] = []; // Initialize the group if it doesn't exist\r\n }\r\n acc[key].push(item); // Add the current item to the group\r\n return acc;\r\n }, {});\r\n result['all'] = lov;\r\n return result;\r\n}\r\n","import { computed, Signal } from '@angular/core';\r\nimport { PageMode } from '../consts/page.const';\r\n\r\nexport class ModeSignalHelper {\r\n isView: Signal<boolean>;\r\n isModify: Signal<boolean>;\r\n isAdd: Signal<boolean>;\r\n\r\n constructor(mode: Signal<string>) {\r\n // Destructuring the returned object from the helper method\r\n const { isView, isModify, isAdd } = ModeSignalHelper.createModeSignals(mode);\r\n\r\n this.isView = isView;\r\n this.isModify = isModify;\r\n this.isAdd = isAdd;\r\n }\r\n\r\n /**\r\n * Generates computed signals for the provided mode signal.\r\n */\r\n static createModeSignals(mode: Signal<string>) {\r\n const isView = computed(() => mode() === PageMode.VIEW || mode() === 'detail');\r\n const isModify = computed(() => mode() === PageMode.MODIFY || mode() === 'modify');\r\n const isAdd = computed(() => mode() === PageMode.ADD);\r\n\r\n return { isView: isView, isModify, isAdd };\r\n }\r\n}\r\n","export function sortSequence(a, b) {\r\n // First compare by sequenceNo\r\n if (a.sequenceNo < b.sequenceNo) return -1;\r\n if (a.sequenceNo > b.sequenceNo) return 1;\r\n\r\n // If sequenceNo is the same, compare by lovName\r\n if (a.lovName < b.lovName) return -1;\r\n if (a.lovName > b.lovName) return 1;\r\n\r\n // If both sequenceNo and lovName are the same\r\n return 0;\r\n}\r\n","export function trackChanges(oldArray: any[], newArray: any[], keysToCompare: string[], idKey: string) {\r\n let result = [];\r\n\r\n // Helper function to create a unique key based on specific fields\r\n function createKey(item, keys) {\r\n return keys\r\n .map(key => {\r\n let value = item[key];\r\n if (Array.isArray(value)) {\r\n return value.slice().sort().join('+'); // Sort and join array elements using '+'\r\n }\r\n return value;\r\n })\r\n .join('|');\r\n }\r\n\r\n\r\n // Convert old and new arrays to maps for easier comparison\r\n let oldMap = new Map(oldArray.map(item => [createKey(item, keysToCompare), item]));\r\n let newMap = new Map(newArray.map(item => [createKey(item, keysToCompare), item]));\r\n\r\n // Track deleted and unchanged/modified items\r\n for (let [key, oldItem] of oldMap) {\r\n const modifiedValue = checkExist(newMap, idKey, oldItem[idKey]);\r\n if (!newMap.has(key)) {\r\n if (modifiedValue) {\r\n result.push({ ...modifiedValue, action: 'MOD' }); // Deleted\r\n } else {\r\n result.push({ ...oldItem, action: 'DEL' }); // Deleted\r\n }\r\n }\r\n }\r\n\r\n // Track created items\r\n for (let [key, newItem] of newMap) {\r\n if (!oldMap.has(key) && !newItem[idKey] ) {\r\n result.push({ ...newItem, action: 'CRT' }); // Created\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\n\r\nfunction checkExist(myMap: Map<string, any>, idKey: string, value: number) {\r\n if (!value) {\r\n return false;\r\n }\r\n for (let [key, myItem] of myMap) {\r\n if (myItem[idKey] === value) {\r\n return myItem;\r\n }\r\n }\r\n return false;\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ACTION_MAPPER } from '../consts/action.const';\r\n\r\n@Pipe({\r\n name: 'actionCode'\r\n})\r\nexport class ActionCodePipe implements PipeTransform {\r\n actionMapper: any = ACTION_MAPPER;\r\n\r\n transform(value: string): string {\r\n if (this.actionMapper.hasOwnProperty(value)) {\r\n return this.actionMapper[value].text;\r\n }\r\n return value;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'null',\r\n standalone: true\r\n})\r\nexport class NullPipe implements PipeTransform {\r\n\r\n transform(value: unknown): unknown {\r\n try {\r\n if (value === null || value === undefined || (Array.isArray(value) && value.length === 0) || value === '') {\r\n return \"-\";\r\n } else {\r\n return value;\r\n }\r\n } catch (e) {\r\n return '-';\r\n }\r\n }\r\n\r\n}\r\n","import { AfterViewInit, Directive, ElementRef, Input, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[nxeBadge]'\r\n})\r\nexport class BadgeDirective implements AfterViewInit {\r\n @Input() nxeBadge: string | number = ''; // Badge text\r\n @Input() badgeColor: string = 'red'; // Default badge color\r\n @Input() badgePosition: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' = 'top-right';\r\n\r\n private badgeElement: HTMLElement | null = null;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n\r\n ngOnChanges(): void {\r\n this.updateBadge();\r\n }\r\n\r\n private updateBadge() {\r\n if (this.badgeElement) {\r\n this.renderer.removeChild(this.el.nativeElement, this.badgeElement);\r\n }\r\n\r\n if (!this.nxeBadge) return;\r\n\r\n this.badgeElement = this.renderer.createElement('div');\r\n this.renderer.addClass(this.badgeElement, 'nxe-badge');\r\n this.renderer.setStyle(this.badgeElement, 'z-index', 999);\r\n this.renderer.setStyle(this.badgeElement, 'background', this.badgeColor);\r\n this.renderer.setProperty(this.badgeElement, 'innerText', this.nxeBadge.toString());\r\n\r\n this.applyPosition();\r\n\r\n this.renderer.appendChild(this.el.nativeElement, this.badgeElement);\r\n }\r\n\r\n private applyPosition() {\r\n const positionStyles: Record<string, string> = {\r\n 'top-right': 'top: 0; right: 0;',\r\n 'top-left': 'top: 0; left: 0;',\r\n 'bottom-right': 'bottom: 0; right: 0;',\r\n 'bottom-left': 'bottom: 0; left: 0;',\r\n };\r\n\r\n if (this.badgeElement) {\r\n this.renderer.setStyle(this.badgeElement, 'position', 'absolute');\r\n this.renderer.setStyle(this.badgeElement, 'transform', 'translate(50%, -50%)');\r\n this.renderer.setAttribute(this.badgeElement, 'style', positionStyles[this.badgePosition]);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.el) {\r\n this.renderer.setStyle(this.el.nativeElement, 'position', 'relative');\r\n }\r\n\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\r\nimport { TemplatePortal } from '@angular/cdk/portal';\r\n\r\n@Directive({\r\n selector: '[nxeMenu]',\r\n})\r\nexport class NxeMenu {\r\n @Input('nxeMenu') menuTemplate!: TemplateRef<any>;\r\n\r\n private overlayRef: OverlayRef | null = null;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private overlay: Overlay,\r\n private viewContainerRef: ViewContainerRef\r\n ) {}\r\n\r\n @HostListener('click', ['$event'])\r\n toggleMenu(event: Event) {\r\n event.stopPropagation();\r\n if (this.overlayRef) {\r\n this.closeMenu();\r\n } else {\r\n this.openMenu();\r\n }\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n onClickOutside(event: Event) {\r\n if (this.overlayRef && !this.el.nativeElement.contains(event.target)) {\r\n this.closeMenu();\r\n }\r\n }\r\n\r\n private openMenu() {\r\n const positionStrategy = this.overlay\r\n .position()\r\n .flexibleConnectedTo(this.el.nativeElement)\r\n .withPositions([\r\n { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },\r\n { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom' },\r\n ]);\r\n\r\n this.overlayRef = this.overlay.create({ positionStrategy });\r\n\r\n // Fix: Use TemplatePortal instead of ComponentPortal\r\n const portal = new TemplatePortal(this.menuTemplate, this.viewContainerRef);\r\n this.overlayRef.attach(portal);\r\n }\r\n\r\n private closeMenu() {\r\n this.overlayRef?.detach();\r\n this.overlayRef = null;\r\n }\r\n}\r\n","import {\r\n ApplicationRef,\r\n ComponentRef,\r\n createComponent,\r\n EnvironmentInjector,\r\n inject,\r\n Injectable,\r\n Injector,\r\n Renderer2,\r\n RendererFactory2,\r\n Type,\r\n} from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n/**\r\n * Opens a component in a centred, click-to-dismiss backdrop and resolves when it closes.\r\n *\r\n * Ported from nextera-library with one required change: `ComponentFactoryResolver` and\r\n * `resolveComponentFactory()` are Ivy-era shims that no longer exist in Angular 22, so\r\n * instantiation goes through `createComponent()` instead. The behaviour is the same —\r\n * the component is created outside any view, attached to the ApplicationRef so it takes\r\n * part in change detection, and appended to the backdrop element.\r\n *\r\n * `data` is assigned onto the instance before the view is attached, so the component sees\r\n * its inputs on first render rather than one cycle late.\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class NxeModalService {\r\n private readonly injector = inject(Injector);\r\n private readonly environmentInjector = inject(EnvironmentInjector);\r\n private readonly applicationRef = inject(ApplicationRef);\r\n private readonly renderer: Renderer2 = inject(RendererFactory2).createRenderer(null, null);\r\n\r\n private componentRef?: ComponentRef<unknown>;\r\n private backdropElement?: HTMLElement;\r\n private closeSubject?: Subject<unknown>;\r\n\r\n open<T>(component: Type<T>, data?: Record<string, unknown>): Observable<unknown> {\r\n this.closeSubject = new Subject<unknown>();\r\n this.createBackdrop();\r\n\r\n const componentRef = createComponent(component, {\r\n environmentInjector: this.environmentInjector,\r\n elementInjector: this.injector,\r\n });\r\n\r\n if (data) {\r\n Object.assign(componentRef.instance as object, data);\r\n }\r\n\r\n this.applicationRef.attachView(componentRef.hostView);\r\n this.renderer.appendChild(this.backdropElement, componentRef.location.nativeElement);\r\n this.componentRef = componentRef;\r\n\r\n return this.closeSubject.asObservable();\r\n }\r\n\r\n close(result?: unknown): void {\r\n if (this.componentRef) {\r\n this.applicationRef.detachView(this.componentRef.hostView);\r\n this.componentRef.destroy();\r\n this.componentRef = undefined;\r\n }\r\n if (this.backdropElement) {\r\n this.renderer.removeChild(document.body, this.backdropElement);\r\n this.backdropElement = undefined;\r\n }\r\n this.closeSubject?.next(result);\r\n this.closeSubject?.complete();\r\n }\r\n\r\n private createBackdrop(): void {\r\n const el = this.renderer.createElement('div') as HTMLElement;\r\n this.renderer.addClass(el, 'modal-backdrop');\r\n const style: Record<string, string> = {\r\n position: 'fixed',\r\n top: '0',\r\n left: '0',\r\n width: '100%',\r\n height: '100%',\r\n background: 'rgba(0, 0, 0, 0.5)',\r\n 'z-index': '1000',\r\n display: 'flex',\r\n 'align-items': 'center',\r\n 'justify-content': 'center',\r\n };\r\n for (const [prop, value] of Object.entries(style)) {\r\n this.renderer.setStyle(el, prop, value);\r\n }\r\n\r\n this.renderer.listen(el, 'click', () => this.close());\r\n document.body.appendChild(el);\r\n this.backdropElement = el;\r\n }\r\n}\r\n","// @nexterajs/app-kit — public API.\r\n//\r\n// The metadata-driven application framework that used to ship inside nextera-library:\r\n// module/page metadata, action constants, and the pure helpers built on them. It is\r\n// deliberately separate from @nexterajs/ui — this half is coupled to a specific backend\r\n// shape, and an app that only wants components should not have to take it.\r\n\r\n/* Module metadata — the shape a module declares its pages with */\r\nexport * from './lib/interfaces/module.interface';\r\nexport * from './lib/interfaces/action.interface';\r\nexport * from './lib/interfaces/lov.interface';\r\nexport * from './lib/interfaces/http.interface';\r\nexport * from './lib/metadata/data-grid.interface';\r\nexport * from './lib/metadata/data-grid.const';\r\n\r\n/* Constants */\r\nexport * from './lib/consts/action.const';\r\nexport * from './lib/consts/page.const';\r\n\r\n/* Helpers */\r\nexport * from './lib/helpers/generic.helper';\r\nexport * from './lib/helpers/http.helper';\r\nexport * from './lib/helpers/lov.helper';\r\nexport * from './lib/helpers/signal.helper';\r\nexport * from './lib/helpers/sort.helper';\r\nexport * from './lib/helpers/tracker.helper';\r\n\r\n/* Pipes */\r\nexport * from './lib/pipes/action-code.pipe';\r\nexport * from './lib/pipes/null.pipe';\r\n\r\n/* Directives */\r\nexport * from './lib/directives/badge.directive';\r\nexport * from './lib/directives/menu.directive';\r\n\r\n/* Services */\r\nexport * from './lib/services/modal.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nexterajs/app-kit",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^22.1.0",
|
|
6
|
+
"@angular/core": "^22.1.0"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"tslib": "^2.3.0"
|
|
10
|
+
},
|
|
11
|
+
"sideEffects": false,
|
|
12
|
+
"license": "Apache-2.0",
|
|
13
|
+
"author": "Nextera",
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"engines": {
|
|
18
|
+
"node": "^22.22.3 || ^24.15.0 || >=26.0.0"
|
|
19
|
+
},
|
|
20
|
+
"description": "Metadata-driven application framework for Angular: module and page metadata, action constants, and the helpers built on them. Companion to @nexterajs/ui.",
|
|
21
|
+
"keywords": [
|
|
22
|
+
"angular",
|
|
23
|
+
"metadata",
|
|
24
|
+
"crud",
|
|
25
|
+
"forms",
|
|
26
|
+
"nextera"
|
|
27
|
+
],
|
|
28
|
+
"module": "fesm2022/nexterajs-app-kit.mjs",
|
|
29
|
+
"typings": "types/nexterajs-app-kit.d.ts",
|
|
30
|
+
"exports": {
|
|
31
|
+
"./package.json": {
|
|
32
|
+
"default": "./package.json"
|
|
33
|
+
},
|
|
34
|
+
".": {
|
|
35
|
+
"types": "./types/nexterajs-app-kit.d.ts",
|
|
36
|
+
"default": "./fesm2022/nexterajs-app-kit.mjs"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"type": "module"
|
|
40
|
+
}
|