herum-shared 0.1.39 → 0.1.47
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/atoms/index.d.ts +1 -1
- package/constants/index.d.ts +6 -1
- package/fesm2022/herum-shared-animations.mjs.map +1 -1
- package/fesm2022/herum-shared-atoms.mjs +1 -1
- package/fesm2022/herum-shared-atoms.mjs.map +1 -1
- package/fesm2022/herum-shared-constants.mjs +18 -4
- package/fesm2022/herum-shared-constants.mjs.map +1 -1
- package/fesm2022/herum-shared-decorators.mjs.map +1 -1
- package/fesm2022/herum-shared-dialogs.mjs.map +1 -1
- package/fesm2022/herum-shared-directives.mjs.map +1 -1
- package/fesm2022/herum-shared-environment.mjs.map +1 -1
- package/fesm2022/herum-shared-errors.mjs.map +1 -1
- package/fesm2022/herum-shared-fetched-message.mjs.map +1 -1
- package/fesm2022/herum-shared-molecules.mjs.map +1 -1
- package/fesm2022/herum-shared-mongo.mjs.map +1 -1
- package/fesm2022/herum-shared-objectsExample.mjs.map +1 -1
- package/fesm2022/herum-shared-pipes.mjs.map +1 -1
- package/fesm2022/herum-shared-services.mjs.map +1 -1
- package/fesm2022/herum-shared-static-services.mjs.map +1 -1
- package/fesm2022/herum-shared-table.mjs.map +1 -1
- package/fesm2022/herum-shared-testsObjects.mjs.map +1 -1
- package/fesm2022/herum-shared-tokens.mjs.map +1 -1
- package/fesm2022/herum-shared-utils.mjs.map +1 -1
- package/fesm2022/herum-shared-validators.mjs.map +1 -1
- package/fesm2022/herum-shared.mjs +349 -324
- package/fesm2022/herum-shared.mjs.map +1 -1
- package/index.d.ts +28 -16
- package/molecules/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"herum-shared-tokens.mjs","sources":["../../../projects/herum-shared/tokens/tokens.ts","../../../projects/herum-shared/tokens/index.ts","../../../projects/herum-shared/tokens/herum-shared-tokens.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\r\nimport { ISystemUserService } from \"herum-types/interfaces\";\r\nimport { AudioVisualConfiguration, SystemIdentifier } from 'herum-types/Shared';\r\n\r\nexport const SYSTEM_IDENTIFIER = new InjectionToken<SystemIdentifier>('SystemIdentifier');\r\nexport const SYSTEM_USER_SERVICE = new InjectionToken<ISystemUserService>('SystemUserService');\r\nexport const SYSTEM_TRACK_TEXT_CHANGES_SERVICE = new InjectionToken<ISystemUserService>('SystemTrackTextChangesService');\r\nexport const SYSTEM_AUDIO_VISUAL_CONFIGURATION = new InjectionToken<AudioVisualConfiguration>('SystemAudioVisualConfiguration');","/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./tokens\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;MAIa,iBAAiB,GAAG,IAAI,cAAc,CAAmB,kBAAkB;MAC3E,mBAAmB,GAAG,IAAI,cAAc,CAAqB,mBAAmB;MAChF,iCAAiC,GAAG,IAAI,cAAc,CAAqB,+BAA+B;MAC1G,iCAAiC,GAAG,IAAI,cAAc,CAA2B,gCAAgC;;ACP9H;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"herum-shared-tokens.mjs","sources":["../../../projects/herum-shared/tokens/tokens.ts","../../../projects/herum-shared/tokens/index.ts","../../../projects/herum-shared/tokens/herum-shared-tokens.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\r\nimport { ISystemUserService } from \"herum-types/interfaces\";\r\nimport { AudioVisualConfiguration, SystemIdentifier } from 'herum-types/Shared';\r\n\r\nexport const SYSTEM_IDENTIFIER = new InjectionToken<SystemIdentifier>('SystemIdentifier');\r\nexport const SYSTEM_USER_SERVICE = new InjectionToken<ISystemUserService>('SystemUserService');\r\nexport const SYSTEM_TRACK_TEXT_CHANGES_SERVICE = new InjectionToken<ISystemUserService>('SystemTrackTextChangesService');\r\nexport const SYSTEM_AUDIO_VISUAL_CONFIGURATION = new InjectionToken<AudioVisualConfiguration>('SystemAudioVisualConfiguration');","/**\r\n * @file Automatically generated by barrelsby.\r\n */\r\n\r\nexport * from \"./tokens\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;MAIa,iBAAiB,GAAG,IAAI,cAAc,CAAmB,kBAAkB;MAC3E,mBAAmB,GAAG,IAAI,cAAc,CAAqB,mBAAmB;MAChF,iCAAiC,GAAG,IAAI,cAAc,CAAqB,+BAA+B;MAC1G,iCAAiC,GAAG,IAAI,cAAc,CAA2B,gCAAgC;;ACP9H;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"herum-shared-utils.mjs","sources":["../../../projects/herum-shared/utils/array.ts","../../../projects/herum-shared/utils/assignment.ts","../../../projects/herum-shared/utils/browser.ts","../../../projects/herum-shared/utils/comparers.ts","../../../projects/herum-shared/utils/date.ts","../../../projects/herum-shared/utils/element.ts","../../../projects/herum-shared/utils/file.ts","../../../projects/herum-shared/utils/hierarchy.ts","../../../projects/herum-shared/utils/number.ts","../../../projects/herum-shared/utils/object.ts","../../../projects/herum-shared/utils/request-helpers.ts","../../../projects/herum-shared/utils/string.ts","../../../projects/herum-shared/utils/style.ts","../../../projects/herum-shared/utils/subscription.ts","../../../projects/herum-shared/utils/index.ts","../../../projects/herum-shared/utils/herum-shared-utils.ts"],"sourcesContent":["import { IdentifiedEntity } from 'herum-types/Shared';\r\n\r\nexport const flatten = <T>(arr: T[][]): T[] => {\r\n if (!arr)\r\n return [];\r\n\r\n return arr.reduce((acc, cur) => acc.concat(cur), []);\r\n};\r\n\r\nexport const findKeyByValue = (array: {}[], value: any) => {\r\n const entry = array.find(object => Object.values(object).includes(value));\r\n return entry ? Object.keys(entry)[0] : undefined;\r\n};\r\n\r\nexport const parseToIdentifiedEntitiesArray = (array: string[]): IdentifiedEntity[] => {\r\n return array.map((name, index) => { return { name, id: index.toString() } });\r\n};","export const getAssignmentStateDisplayName = (state) => {\r\n return state == 0 ? 'שיבוץ זמני' : state == 1 ? 'אכ\"א' : 'אג\"ת';\r\n};","import { regexExpressions } from \"herum-shared/constants\";\r\n\r\nexport const getBrowserVersion = (browserRegexExp: RegExp): number | undefined => {\r\n let browserVersionMatchResult: RegExpMatchArray = navigator.userAgent.match(browserRegexExp);\r\n return browserVersionMatchResult ? parseInt(browserVersionMatchResult[1], 10) : undefined;\r\n};\r\n\r\n\r\nexport const getChromeVersion = () => {\r\n const userAgent = navigator.userAgent;\r\n const match = userAgent.match(regexExpressions.chromeVersionRegex);\r\n if (match)\r\n return match[1];\r\n\r\n return undefined;\r\n};","import { cloneDeep } from \"lodash\";\r\n\r\nexport type ListsDiffs<Item extends { [innerItemProperty: string]: { id: string } } | {}> = { deletedItems: Item[], newItems: Item[], updatedItems: Item[] };\r\n\r\nexport const getDifferencesInObjects = <MainObject, ObjectToCheck>(mainObject: MainObject, comparedObject: ObjectToCheck) => {\r\n let changedFieldsObject: { [key: string]: any[] } = {};\r\n Object.keys(comparedObject).forEach(key => {\r\n if (Array.isArray(comparedObject[key]) && mainObject[key])\r\n changedFieldsObject[key] = mainObject[key].filter(item => !comparedObject[key].map(object => object.id).includes(item.id));\r\n\r\n if (!changedFieldsObject[key]?.length)\r\n delete changedFieldsObject[key];\r\n })\r\n\r\n return changedFieldsObject;\r\n};\r\n\r\nexport const removeCommonObjectsBetweenArrays = <MainItem extends { id: string; }, CheckedItem extends { id: string; }>(mainArray: MainItem[], checkedArray: CheckedItem[]): MainItem[] => {\r\n const clonedMainArray: MainItem[] = cloneDeep(mainArray);\r\n return clonedMainArray.filter(mainItem => !checkedArray.some(comparedItem => comparedItem.id === mainItem.id));\r\n};\r\n\r\nexport const removeCommonItemsInObjectsFields = (mainObject: { [key: string]: any }, secondaryObject: { [key: string]: any }) => {\r\n const mainKeys: string[] = Object.keys(mainObject);\r\n const secondaryKeys: string[] = Object.keys(secondaryObject);\r\n\r\n mainKeys.forEach(mainKey => {\r\n const mainValue = mainObject[mainKey];\r\n\r\n if (Array.isArray(mainValue)) {\r\n const mainItemsIds = mainValue.map(item => item.id);\r\n\r\n secondaryKeys.forEach(secondaryKey => {\r\n const secondaryValue = secondaryObject[secondaryKey];\r\n\r\n if (Array.isArray(secondaryValue)) {\r\n const uniqueItems = secondaryValue.filter(item => !mainItemsIds.includes(item.id));\r\n secondaryObject[secondaryKey] = uniqueItems;\r\n\r\n if (!secondaryObject[secondaryKey].length)\r\n delete secondaryObject[secondaryKey];\r\n }\r\n });\r\n }\r\n });\r\n\r\n return secondaryObject;\r\n};\r\n\r\nexport const getDifferencesInLists = <Item extends { [innerItemProperty: string]: { id: string } } | {}>(sourceList: Item[], editedList: Item[], innerItemProperty: string): ListsDiffs<Item> => {\r\n const newItems = editedList.filter(\r\n newItem => !sourceList.some(sourceItem => sourceItem[innerItemProperty]?.id === newItem[innerItemProperty]?.id)\r\n );\r\n const deletedItems = sourceList.filter(\r\n sourceItem => !editedList.some(newItem => newItem[innerItemProperty]?.id === sourceItem[innerItemProperty]?.id)\r\n );\r\n\r\n const updatedItems = editedList.filter(item => {\r\n const prev = sourceList.find(sourceItem => sourceItem[innerItemProperty]?.id === item[innerItemProperty]?.id);\r\n\r\n return prev && JSON.stringify(prev) !== JSON.stringify(item);\r\n });\r\n\r\n return { deletedItems: deletedItems, newItems: newItems, updatedItems: updatedItems };\r\n};\r\n\r\nexport const removeDuplicatesBetweenArrays = <Item>(mainArray: Item[], otherArray: Item[]): Item[] => {\r\n const getUserId = (u: any) => u?.user?.id ?? u?.id;\r\n const clonedOtherArray: Item[] = Array.isArray(otherArray) ? cloneDeep(otherArray) : [];\r\n const clonedMainArray: Item[] = Array.isArray(mainArray) ? cloneDeep(mainArray) : [];\r\n\r\n const mergedArrays = [...clonedMainArray, ...clonedOtherArray].filter((user, index, arr) => arr.findIndex((u) => getUserId(u) === getUserId(user)) === index);\r\n\r\n return mergedArrays;\r\n};","import { MicroResourceAuthorizationBase } from \"herum-types/Lessons\";\r\n\r\nexport const convertToDate = (dateString: string) => {\r\n const date = new Date(dateString);\r\n\r\n const day = date.getDate();\r\n const month = date.getMonth() + 1;\r\n const year = date.getFullYear();\r\n\r\n if (day == 1 && month == 1 && year == 1) return '(התאריך לא קיים)'\r\n\r\n return `${day}/${month}/${year}`;\r\n};\r\n\r\nexport const generateNewTimeStamp = () => {\r\n let date = new Date();\r\n\r\n let year = date.getUTCFullYear();\r\n let month = String(date.getUTCMonth() + 1).padStart(2, '0');\r\n let day = String(date.getUTCDate()).padStart(2, '0');\r\n let hours = String(date.getUTCHours()).padStart(2, '0');\r\n let minutes = String(date.getUTCMinutes()).padStart(2, '0');\r\n let seconds = String(date.getUTCSeconds()).padStart(2, '0');\r\n let milliseconds = String(date.getUTCMilliseconds()).padStart(3, '0');\r\n\r\n return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${milliseconds}Z`;\r\n};\r\n\r\nexport const updateFullYear = (dateToUpdate: Date, date: Date) => {\r\n const year = date.getFullYear();\r\n const month = date.getMonth();\r\n const day = date.getDate();\r\n dateToUpdate.setFullYear(year, month, day);\r\n\r\n return dateToUpdate;\r\n};\r\n\r\nexport const getMicroResourceTextualTimeString = (microResourceAuthorization: MicroResourceAuthorizationBase): string => {\r\n if (!microResourceAuthorization) return 'לא קיים'\r\n const now = new Date();\r\n let isOpeningTimePass = microResourceAuthorization.openingTime && new Date(microResourceAuthorization.openingTime).getTime() < now.getTime();\r\n let isClosingTimePass = microResourceAuthorization.closingTime && new Date(microResourceAuthorization.closingTime).getTime() < now.getTime();\r\n\r\n if (isClosingTimePass && isOpeningTimePass) return 'סגור';\r\n\r\n let time: Date = new Date(isOpeningTimePass ? microResourceAuthorization.closingTime : microResourceAuthorization.openingTime)\r\n let res: string;\r\n\r\n const diff = Math.abs(time.getTime() - now.getTime());\r\n const seconds = Math.floor(diff / 1000);\r\n const minutes = Math.floor(seconds / 60);\r\n const hours = Math.floor(minutes / 60);\r\n const days = Math.floor(hours / 24);\r\n const weeks = Math.floor(days / 7);\r\n const months = Math.floor(days / 30);\r\n const years = Math.floor(days / 365);\r\n\r\n if (isOpeningTimePass) {\r\n time = new Date(microResourceAuthorization.closingTime)\r\n if (years > 10) return 'פתוח'\r\n\r\n res = \"יסגר בעוד \"\r\n }\r\n else {\r\n time = new Date(microResourceAuthorization.openingTime);\r\n if (isNaN(time.getTime())) return 'סגור';\r\n if (years > 10) return 'סגור'\r\n\r\n res = \"יפתח בעוד \"\r\n }\r\n\r\n if (years != 0)\r\n res += `${years} שנים`;\r\n else if (months != 0)\r\n res += `${months} חודשים`;\r\n else if (weeks != 0)\r\n res += `${weeks} שבועות`;\r\n else if (days != 0)\r\n res += `${days} ימים`;\r\n else if (hours != 0)\r\n res += `${hours} שעות`;\r\n else if (minutes != 0)\r\n res += `${minutes} דקות`;\r\n else if (seconds != 0)\r\n res += `${seconds} שניות`;\r\n else\r\n return res.split(\" \")[0] + ' עכשיו';\r\n return res;\r\n};\r\n\r\nexport const getTimeAsAgo = (time: Date) => {\r\n const diff = new Date().getTime() - time.getTime();\r\n const seconds = Math.floor(diff / 1000);\r\n const minutes = Math.floor(seconds / 60);\r\n const hours = Math.floor(minutes / 60);\r\n const days = Math.floor(hours / 24);\r\n const weeks = Math.floor(days / 7);\r\n const months = Math.floor(days / 30);\r\n const years = Math.floor(days / 365);\r\n\r\n let res = 'לפני ';\r\n if (years != 0)\r\n res += `${years} שנים`;\r\n else if (months != 0)\r\n res += `${months} חודשים`;\r\n else if (weeks != 0)\r\n res += `${weeks} שבועות`;\r\n else if (days != 0)\r\n res += `${days} ימים`;\r\n else if (hours != 0)\r\n res += `${hours} שעות`;\r\n else if (minutes != 0)\r\n res += `${minutes} דקות`;\r\n else if (seconds != 0)\r\n res += `${seconds} שניות`;\r\n else\r\n res = ' עכשיו';\r\n\r\n return res;\r\n};","import { ElementRef, QueryList } from \"@angular/core\";\r\nimport { EntitiesLayoutProperties } from \"herum-types/Shared\";\r\n\r\nconst entityGap: number = 12;\r\n\r\nexport const isTruncatedTitleElement = (element: HTMLElement): boolean => {\r\n const renderedWidth = element.offsetWidth;\r\n const scrollWidth = element.scrollWidth;\r\n\r\n return element.innerText.includes('...') || renderedWidth < scrollWidth || element.scrollHeight > element.offsetHeight;\r\n};\r\n\r\nexport const getEntitiesLayoutProperties = (entitiesWrapperElement: ElementRef, entitiesElement: QueryList<ElementRef>, entities: unknown[], entitiesWrapperHeight?: number): EntitiesLayoutProperties => {\r\n const entitiesWrapper = entitiesWrapperElement.nativeElement;\r\n const entitiesWrapperWidth = entitiesWrapper.clientWidth;\r\n\r\n entitiesWrapperHeight = entitiesWrapperHeight ?? entitiesWrapper.clientHeight;\r\n\r\n const entityWidth = entitiesElement.first.nativeElement.offsetWidth;\r\n const entityHeight = entitiesElement.first.nativeElement.offsetHeight;\r\n\r\n const columns = Math.max(1, Math.floor((entitiesWrapperWidth + entityGap) / (entityWidth + entityGap)));\r\n let rows = Math.max(1, Math.floor((entitiesWrapperHeight + entityGap) / (entityHeight + entityGap)));\r\n\r\n const numberOfElementsInPage = rows * columns;\r\n const totalPages = Math.ceil(entities.length / numberOfElementsInPage);\r\n\r\n return { numberOfElementsInPage, totalPages, columns, rows, entityWidth, entityHeight, entitiesWrapperHeight, entitiesWrapperWidth };\r\n};\r\n\r\nexport const setElementsGridStyle = (entitiesWrapperElement: ElementRef, layoutProperties: EntitiesLayoutProperties) => {\r\n const entitiesWrapper = entitiesWrapperElement.nativeElement;\r\n let { columns, rows, entityWidth, entityHeight, entitiesWrapperWidth, entitiesWrapperHeight } = layoutProperties;\r\n\r\n const columnGap = (entitiesWrapperWidth - columns * entityWidth) / columns - 1;\r\n const rowGap = (entitiesWrapperHeight - rows * entityHeight) / rows - 1;\r\n\r\n let gap = Math.min(columnGap, rowGap);\r\n gap = gap < entityGap ? entityGap : gap;\r\n\r\n entitiesWrapper.style.gridTemplateColumns = `repeat(${columns}, ${entityWidth}px)`;\r\n entitiesWrapper.style.gridTemplateRows = `repeat(${rows}, ${entityHeight}px)`;\r\n entitiesWrapper.style.gridAutoRows = `${entityHeight} px`;\r\n entitiesWrapper.style.gap = `${gap}px`;\r\n};\r\n\r\nexport const setNavFlexLayoutStyle = (entitiesSectionElement: ElementRef, entitiesWrapperElement: ElementRef, showNavButtons: boolean, navButtonsWidth: number) => {\r\n const entitiesWrapper = entitiesWrapperElement.nativeElement;\r\n\r\n entitiesWrapper.style.width = `calc(100% - ${showNavButtons || entitiesWrapper.style.display === 'grid' ? navButtonsWidth : 0}px)`;\r\n\r\n if (entitiesWrapper.style.display !== 'flex') {\r\n entitiesSectionElement.nativeElement.style.alignItems = 'center';\r\n\r\n entitiesWrapper.style.display = 'flex';\r\n entitiesWrapper.style.gap = `${entityGap}px`;\r\n entitiesWrapper.style.justifyContent = 'normal';\r\n }\r\n};\r\n\r\nexport const setNavFlexLayout = (entitiesSectionElement: ElementRef, entitiesWrapperElement: ElementRef, navButtonElement: ElementRef, entitiesElement: QueryList<ElementRef>) => {\r\n const entitiesSectionElementWidth = entitiesSectionElement.nativeElement.clientWidth;\r\n const cardWidth = entitiesElement.first?.nativeElement?.clientWidth;\r\n\r\n const navButtonsWidth = navButtonElement?.nativeElement?.offsetWidth ?? 0;\r\n\r\n const availableWidth = entitiesSectionElementWidth - navButtonsWidth;\r\n const numberOfElementsInPage = Math.max(1, Math.floor((availableWidth + entityGap) / (cardWidth + entityGap)));\r\n\r\n const showNavButtons = entitiesElement?.length - numberOfElementsInPage > 0;\r\n setNavFlexLayoutStyle(entitiesSectionElement, entitiesWrapperElement, showNavButtons, navButtonsWidth);\r\n\r\n return numberOfElementsInPage;\r\n};\r\n","export const getDeserializedFile = async (response: Response, fileName: string, fileType?: string) => {\r\n const blob = await response.blob();\r\n return new File([blob], fileName, { type: fileType ?? blob.type });\r\n};\r\n\r\nexport const downloadFile = (fileName: string, data: File | Blob) => {\r\n const objectUrl = URL.createObjectURL(data);\r\n const anchorElement = document.createElement('a');\r\n anchorElement.href = objectUrl;\r\n anchorElement.download = fileName;\r\n anchorElement.click();\r\n\r\n anchorElement.remove();\r\n URL.revokeObjectURL(objectUrl);\r\n};","import { FullHierarchyPartsPlaces } from \"herum-types/Enums\";\r\n\r\nexport const getHierarchyPartIfExist = (parts: string[], part: FullHierarchyPartsPlaces) => {\r\n return parts.length > part ? parts[part] : '';\r\n};","export const bytesToMegabytes = (bytes: number): number => {\r\n return bytes / (1024 ** 2);\r\n};","import { types } from \"herum-shared/constants\";\r\n\r\nexport const remainJustWantedValueInDictionary = (wantedValue: string, fields: { [key: string]: any }) => {\r\n let object = {};\r\n\r\n Object.entries(fields).forEach(([key, value]) => {\r\n (Array.isArray(value)) ?\r\n object[key] = value.map(item => (typeof item === types.object ? { [wantedValue]: item[wantedValue] } : { [wantedValue]: item }))\r\n :\r\n object[key] = (typeof value === types.object ? { [wantedValue]: value[wantedValue] } : value);\r\n\r\n });\r\n return object;\r\n};\r\n\r\nexport const removeUnwantedProperties = (baseObject: any, wantedProperties: string[]) => {\r\n let unwantedProperties = Object.keys(baseObject).filter(property => !wantedProperties.includes(property))\r\n unwantedProperties.forEach(property => delete baseObject[property])\r\n return baseObject;\r\n};","import { HttpHeaders } from \"@angular/common/http\";\r\nimport { minuteInMilliseconds, uploadsManagerKeys } from \"herum-shared/constants\";\r\nimport { DependentMetadata } from \"herum-types/uploads-manager\";\r\n\r\nconst safetyMarginInMilliseconds: number = 2 * 60 * 1000;\r\n\r\nexport const buildPath = (parts: string[]) => {\r\n return parts.reduce((path, part) => {\r\n return path + '/' + part;\r\n }, '').slice(1);\r\n};\r\n\r\nexport const setHeaders = (headers: HttpHeaders, headersToSet: { key: string, value: any }[], isEncodeURIComponent?: boolean): HttpHeaders => {\r\n headersToSet.forEach(headerToSet => {\r\n headers = headers.set(headerToSet.key, isEncodeURIComponent ? encodeURIComponent((headerToSet.value).toString()) : (headerToSet.value).toString());\r\n });\r\n return headers;\r\n};\r\n\r\nexport const convertDependentMetadataToHeaders = (dependentMetadata: DependentMetadata) => {\r\n if (dependentMetadata)\r\n var { dependentId, commonDependentsId, numberOfObservableArrowFunctions } = dependentMetadata;\r\n\r\n let headers: HttpHeaders = new HttpHeaders();\r\n\r\n if (dependentId) {\r\n headers = setHeaders(headers, [\r\n { key: uploadsManagerKeys.dependentIdHeader, value: dependentId },\r\n { key: uploadsManagerKeys.commonDependentsIdHeader, value: commonDependentsId },\r\n { key: uploadsManagerKeys.numberOfObservableArrowFunctionsHeader, value: numberOfObservableArrowFunctions }\r\n ]);\r\n }\r\n\r\n return headers;\r\n};\r\n\r\nexport const getVersionPathParameter = (lastUpdateTime: Date) => {\r\n if (!lastUpdateTime) return;\r\n return (Date.now() - lastUpdateTime?.getTime() < 10 * minuteInMilliseconds + safetyMarginInMilliseconds) ? `?v=${lastUpdateTime?.toISOString()}` : '';\r\n};","import { regexExpressions } from \"herum-shared/constants\";\r\n\r\nimport jsSHA from 'jssha';\r\n\r\nexport const toHash = (source: string) => {\r\n let shaObj = new jsSHA('SHA-256', 'TEXT');\r\n shaObj.update(source);\r\n let hash = shaObj.getHash('HEX');\r\n\r\n return hash;\r\n};\r\n\r\nexport const toFirstCapitalLetter = (text: string) => {\r\n return text[0].toUpperCase() + text.slice(1);\r\n};\r\n\r\nexport const toFirstLowerCaseLetter = (text: string) => {\r\n if (!text) return;\r\n return text[0].toLocaleLowerCase() + text.slice(1);\r\n};\r\n\r\nexport const camelCaseToPascalCase = (camelCase: string) => {\r\n return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);\r\n};\r\n\r\nexport const capitalizeWord = (word: string): string => {\r\n return word.charAt(0).toUpperCase() + word.slice(1);\r\n};\r\n\r\nexport const replaceInterpolateKeysWithObjectProperties = (string: string, object: Object): string => {\r\n const matches = string.match(regexExpressions.templateInterpolation);\r\n\r\n if (matches)\r\n matches.forEach((match) => { const key = match.slice(2, -2); string = string.replace(match, object[key]) });\r\n\r\n return string;\r\n};","export const convertHeightToPixels = (value: string): number => {\r\n const numberValue: number = parseInt(value, 10);\r\n\r\n if (value.endsWith('vh'))\r\n return numberValue * (window.innerHeight / 100);\r\n else if (value.endsWith('px'))\r\n return numberValue;\r\n\r\n return numberValue;\r\n};\r\n\r\nexport const getDropdownAnimationStates = (\r\n isDropdownOpen: boolean,\r\n dropDownDirection: 'upwards' | 'downwards'\r\n) => {\r\n if (isDropdownOpen)\r\n return dropDownDirection === 'upwards' ? 'openUp' : 'openDown';\r\n\r\n return dropDownDirection === 'upwards' ? 'closeDown' : 'closeUp';\r\n};","import { CollectionSubscription, ResourceSubscription } from 'herum-types/User';\r\n\r\nexport const getSubscriptionWithLastActivityTime = (\r\n subscriptions: CollectionSubscription[] | ResourceSubscription[]\r\n): CollectionSubscription => {\r\n if (!subscriptions?.length)\r\n return null;\r\n\r\n return (subscriptions as CollectionSubscription[])?.reduce((max, subscription) => {\r\n return (new Date(subscription.lastActivityTime) > new Date(max.lastActivityTime)) ? subscription : max;\r\n });\r\n};\r\n\r\nexport const getLastSubscriptionByField = (\r\n subscriptions: CollectionSubscription[] | ResourceSubscription[],\r\n field: string\r\n): CollectionSubscription => {\r\n if (!subscriptions?.length)\r\n return null;\r\n\r\n return (subscriptions as CollectionSubscription[])?.reduce((max, subscription) => {\r\n return (new Date(subscription[field]) > new Date(max[field])) ? subscription : max;\r\n });\r\n};","/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./array\";\nexport * from \"./assignment\";\nexport * from \"./browser\";\nexport * from \"./comparers\";\nexport * from \"./date\";\nexport * from \"./element\";\nexport * from \"./file\";\nexport * from \"./hierarchy\";\nexport * from \"./number\";\nexport * from \"./object\";\nexport * from \"./request-helpers\";\nexport * from \"./string\";\nexport * from \"./style\";\nexport * from \"./subscription\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"herum-shared-utils.mjs","sources":["../../../projects/herum-shared/utils/array.ts","../../../projects/herum-shared/utils/assignment.ts","../../../projects/herum-shared/utils/browser.ts","../../../projects/herum-shared/utils/comparers.ts","../../../projects/herum-shared/utils/date.ts","../../../projects/herum-shared/utils/element.ts","../../../projects/herum-shared/utils/file.ts","../../../projects/herum-shared/utils/hierarchy.ts","../../../projects/herum-shared/utils/number.ts","../../../projects/herum-shared/utils/object.ts","../../../projects/herum-shared/utils/request-helpers.ts","../../../projects/herum-shared/utils/string.ts","../../../projects/herum-shared/utils/style.ts","../../../projects/herum-shared/utils/subscription.ts","../../../projects/herum-shared/utils/index.ts","../../../projects/herum-shared/utils/herum-shared-utils.ts"],"sourcesContent":["import { IdentifiedEntity } from 'herum-types/Shared';\r\n\r\nexport const flatten = <T>(arr: T[][]): T[] => {\r\n if (!arr)\r\n return [];\r\n\r\n return arr.reduce((acc, cur) => acc.concat(cur), []);\r\n};\r\n\r\nexport const findKeyByValue = (array: {}[], value: any) => {\r\n const entry = array.find(object => Object.values(object).includes(value));\r\n return entry ? Object.keys(entry)[0] : undefined;\r\n};\r\n\r\nexport const parseToIdentifiedEntitiesArray = (array: string[]): IdentifiedEntity[] => {\r\n return array.map((name, index) => { return { name, id: index.toString() } });\r\n};","export const getAssignmentStateDisplayName = (state) => {\r\n return state == 0 ? 'שיבוץ זמני' : state == 1 ? 'אכ\"א' : 'אג\"ת';\r\n};","import { regexExpressions } from \"herum-shared/constants\";\r\n\r\nexport const getBrowserVersion = (browserRegexExp: RegExp): number | undefined => {\r\n let browserVersionMatchResult: RegExpMatchArray = navigator.userAgent.match(browserRegexExp);\r\n return browserVersionMatchResult ? parseInt(browserVersionMatchResult[1], 10) : undefined;\r\n};\r\n\r\n\r\nexport const getChromeVersion = () => {\r\n const userAgent = navigator.userAgent;\r\n const match = userAgent.match(regexExpressions.chromeVersionRegex);\r\n if (match)\r\n return match[1];\r\n\r\n return undefined;\r\n};","import { cloneDeep } from \"lodash\";\r\n\r\nexport type ListsDiffs<Item extends { [innerItemProperty: string]: { id: string } } | {}> = { deletedItems: Item[], newItems: Item[], updatedItems: Item[] };\r\n\r\nexport const getDifferencesInObjects = <MainObject, ObjectToCheck>(mainObject: MainObject, comparedObject: ObjectToCheck) => {\r\n let changedFieldsObject: { [key: string]: any[] } = {};\r\n Object.keys(comparedObject).forEach(key => {\r\n if (Array.isArray(comparedObject[key]) && mainObject[key])\r\n changedFieldsObject[key] = mainObject[key].filter(item => !comparedObject[key].map(object => object.id).includes(item.id));\r\n\r\n if (!changedFieldsObject[key]?.length)\r\n delete changedFieldsObject[key];\r\n })\r\n\r\n return changedFieldsObject;\r\n};\r\n\r\nexport const removeCommonObjectsBetweenArrays = <MainItem extends { id: string; }, CheckedItem extends { id: string; }>(mainArray: MainItem[], checkedArray: CheckedItem[]): MainItem[] => {\r\n const clonedMainArray: MainItem[] = cloneDeep(mainArray);\r\n return clonedMainArray.filter(mainItem => !checkedArray.some(comparedItem => comparedItem.id === mainItem.id));\r\n};\r\n\r\nexport const removeCommonItemsInObjectsFields = (mainObject: { [key: string]: any }, secondaryObject: { [key: string]: any }) => {\r\n const mainKeys: string[] = Object.keys(mainObject);\r\n const secondaryKeys: string[] = Object.keys(secondaryObject);\r\n\r\n mainKeys.forEach(mainKey => {\r\n const mainValue = mainObject[mainKey];\r\n\r\n if (Array.isArray(mainValue)) {\r\n const mainItemsIds = mainValue.map(item => item.id);\r\n\r\n secondaryKeys.forEach(secondaryKey => {\r\n const secondaryValue = secondaryObject[secondaryKey];\r\n\r\n if (Array.isArray(secondaryValue)) {\r\n const uniqueItems = secondaryValue.filter(item => !mainItemsIds.includes(item.id));\r\n secondaryObject[secondaryKey] = uniqueItems;\r\n\r\n if (!secondaryObject[secondaryKey].length)\r\n delete secondaryObject[secondaryKey];\r\n }\r\n });\r\n }\r\n });\r\n\r\n return secondaryObject;\r\n};\r\n\r\nexport const getDifferencesInLists = <Item extends { [innerItemProperty: string]: { id: string } } | {}>(sourceList: Item[], editedList: Item[], innerItemProperty: string): ListsDiffs<Item> => {\r\n const newItems = editedList.filter(\r\n newItem => !sourceList.some(sourceItem => sourceItem[innerItemProperty]?.id === newItem[innerItemProperty]?.id)\r\n );\r\n const deletedItems = sourceList.filter(\r\n sourceItem => !editedList.some(newItem => newItem[innerItemProperty]?.id === sourceItem[innerItemProperty]?.id)\r\n );\r\n\r\n const updatedItems = editedList.filter(item => {\r\n const prev = sourceList.find(sourceItem => sourceItem[innerItemProperty]?.id === item[innerItemProperty]?.id);\r\n\r\n return prev && JSON.stringify(prev) !== JSON.stringify(item);\r\n });\r\n\r\n return { deletedItems: deletedItems, newItems: newItems, updatedItems: updatedItems };\r\n};\r\n\r\nexport const removeDuplicatesBetweenArrays = <Item>(mainArray: Item[], otherArray: Item[]): Item[] => {\r\n const getUserId = (u: any) => u?.user?.id ?? u?.id;\r\n const clonedOtherArray: Item[] = Array.isArray(otherArray) ? cloneDeep(otherArray) : [];\r\n const clonedMainArray: Item[] = Array.isArray(mainArray) ? cloneDeep(mainArray) : [];\r\n\r\n const mergedArrays = [...clonedMainArray, ...clonedOtherArray].filter((user, index, arr) => arr.findIndex((u) => getUserId(u) === getUserId(user)) === index);\r\n\r\n return mergedArrays;\r\n};","import { MicroResourceAuthorizationBase } from \"herum-types/Lessons\";\r\n\r\nexport const convertToDate = (dateString: string) => {\r\n const date = new Date(dateString);\r\n\r\n const day = date.getDate();\r\n const month = date.getMonth() + 1;\r\n const year = date.getFullYear();\r\n\r\n if (day == 1 && month == 1 && year == 1) return '(התאריך לא קיים)'\r\n\r\n return `${day}/${month}/${year}`;\r\n};\r\n\r\nexport const generateNewTimeStamp = () => {\r\n let date = new Date();\r\n\r\n let year = date.getUTCFullYear();\r\n let month = String(date.getUTCMonth() + 1).padStart(2, '0');\r\n let day = String(date.getUTCDate()).padStart(2, '0');\r\n let hours = String(date.getUTCHours()).padStart(2, '0');\r\n let minutes = String(date.getUTCMinutes()).padStart(2, '0');\r\n let seconds = String(date.getUTCSeconds()).padStart(2, '0');\r\n let milliseconds = String(date.getUTCMilliseconds()).padStart(3, '0');\r\n\r\n return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${milliseconds}Z`;\r\n};\r\n\r\nexport const updateFullYear = (dateToUpdate: Date, date: Date) => {\r\n const year = date.getFullYear();\r\n const month = date.getMonth();\r\n const day = date.getDate();\r\n dateToUpdate.setFullYear(year, month, day);\r\n\r\n return dateToUpdate;\r\n};\r\n\r\nexport const getMicroResourceTextualTimeString = (microResourceAuthorization: MicroResourceAuthorizationBase): string => {\r\n if (!microResourceAuthorization) return 'לא קיים'\r\n const now = new Date();\r\n let isOpeningTimePass = microResourceAuthorization.openingTime && new Date(microResourceAuthorization.openingTime).getTime() < now.getTime();\r\n let isClosingTimePass = microResourceAuthorization.closingTime && new Date(microResourceAuthorization.closingTime).getTime() < now.getTime();\r\n\r\n if (isClosingTimePass && isOpeningTimePass) return 'סגור';\r\n\r\n let time: Date = new Date(isOpeningTimePass ? microResourceAuthorization.closingTime : microResourceAuthorization.openingTime)\r\n let res: string;\r\n\r\n const diff = Math.abs(time.getTime() - now.getTime());\r\n const seconds = Math.floor(diff / 1000);\r\n const minutes = Math.floor(seconds / 60);\r\n const hours = Math.floor(minutes / 60);\r\n const days = Math.floor(hours / 24);\r\n const weeks = Math.floor(days / 7);\r\n const months = Math.floor(days / 30);\r\n const years = Math.floor(days / 365);\r\n\r\n if (isOpeningTimePass) {\r\n time = new Date(microResourceAuthorization.closingTime)\r\n if (years > 10) return 'פתוח'\r\n\r\n res = \"יסגר בעוד \"\r\n }\r\n else {\r\n time = new Date(microResourceAuthorization.openingTime);\r\n if (isNaN(time.getTime())) return 'סגור';\r\n if (years > 10) return 'סגור'\r\n\r\n res = \"יפתח בעוד \"\r\n }\r\n\r\n if (years != 0)\r\n res += `${years} שנים`;\r\n else if (months != 0)\r\n res += `${months} חודשים`;\r\n else if (weeks != 0)\r\n res += `${weeks} שבועות`;\r\n else if (days != 0)\r\n res += `${days} ימים`;\r\n else if (hours != 0)\r\n res += `${hours} שעות`;\r\n else if (minutes != 0)\r\n res += `${minutes} דקות`;\r\n else if (seconds != 0)\r\n res += `${seconds} שניות`;\r\n else\r\n return res.split(\" \")[0] + ' עכשיו';\r\n return res;\r\n};\r\n\r\nexport const getTimeAsAgo = (time: Date) => {\r\n const diff = new Date().getTime() - time.getTime();\r\n const seconds = Math.floor(diff / 1000);\r\n const minutes = Math.floor(seconds / 60);\r\n const hours = Math.floor(minutes / 60);\r\n const days = Math.floor(hours / 24);\r\n const weeks = Math.floor(days / 7);\r\n const months = Math.floor(days / 30);\r\n const years = Math.floor(days / 365);\r\n\r\n let res = 'לפני ';\r\n if (years != 0)\r\n res += `${years} שנים`;\r\n else if (months != 0)\r\n res += `${months} חודשים`;\r\n else if (weeks != 0)\r\n res += `${weeks} שבועות`;\r\n else if (days != 0)\r\n res += `${days} ימים`;\r\n else if (hours != 0)\r\n res += `${hours} שעות`;\r\n else if (minutes != 0)\r\n res += `${minutes} דקות`;\r\n else if (seconds != 0)\r\n res += `${seconds} שניות`;\r\n else\r\n res = ' עכשיו';\r\n\r\n return res;\r\n};","import { ElementRef, QueryList } from \"@angular/core\";\r\nimport { EntitiesLayoutProperties } from \"herum-types/Shared\";\r\n\r\nconst entityGap: number = 12;\r\n\r\nexport const isTruncatedTitleElement = (element: HTMLElement): boolean => {\r\n const renderedWidth = element.offsetWidth;\r\n const scrollWidth = element.scrollWidth;\r\n\r\n return element.innerText.includes('...') || renderedWidth < scrollWidth || element.scrollHeight > element.offsetHeight;\r\n};\r\n\r\nexport const getEntitiesLayoutProperties = (entitiesWrapperElement: ElementRef, entitiesElement: QueryList<ElementRef>, entities: unknown[], entitiesWrapperHeight?: number): EntitiesLayoutProperties => {\r\n const entitiesWrapper = entitiesWrapperElement.nativeElement;\r\n const entitiesWrapperWidth = entitiesWrapper.clientWidth;\r\n\r\n entitiesWrapperHeight = entitiesWrapperHeight ?? entitiesWrapper.clientHeight;\r\n\r\n const entityWidth = entitiesElement.first.nativeElement.offsetWidth;\r\n const entityHeight = entitiesElement.first.nativeElement.offsetHeight;\r\n\r\n const columns = Math.max(1, Math.floor((entitiesWrapperWidth + entityGap) / (entityWidth + entityGap)));\r\n let rows = Math.max(1, Math.floor((entitiesWrapperHeight + entityGap) / (entityHeight + entityGap)));\r\n\r\n const numberOfElementsInPage = rows * columns;\r\n const totalPages = Math.ceil(entities.length / numberOfElementsInPage);\r\n\r\n return { numberOfElementsInPage, totalPages, columns, rows, entityWidth, entityHeight, entitiesWrapperHeight, entitiesWrapperWidth };\r\n};\r\n\r\nexport const setElementsGridStyle = (entitiesWrapperElement: ElementRef, layoutProperties: EntitiesLayoutProperties) => {\r\n const entitiesWrapper = entitiesWrapperElement.nativeElement;\r\n let { columns, rows, entityWidth, entityHeight, entitiesWrapperWidth, entitiesWrapperHeight } = layoutProperties;\r\n\r\n const columnGap = (entitiesWrapperWidth - columns * entityWidth) / columns - 1;\r\n const rowGap = (entitiesWrapperHeight - rows * entityHeight) / rows - 1;\r\n\r\n let gap = Math.min(columnGap, rowGap);\r\n gap = gap < entityGap ? entityGap : gap;\r\n\r\n entitiesWrapper.style.gridTemplateColumns = `repeat(${columns}, ${entityWidth}px)`;\r\n entitiesWrapper.style.gridTemplateRows = `repeat(${rows}, ${entityHeight}px)`;\r\n entitiesWrapper.style.gridAutoRows = `${entityHeight} px`;\r\n entitiesWrapper.style.gap = `${gap}px`;\r\n};\r\n\r\nexport const setNavFlexLayoutStyle = (entitiesSectionElement: ElementRef, entitiesWrapperElement: ElementRef, showNavButtons: boolean, navButtonsWidth: number) => {\r\n const entitiesWrapper = entitiesWrapperElement.nativeElement;\r\n\r\n entitiesWrapper.style.width = `calc(100% - ${showNavButtons || entitiesWrapper.style.display === 'grid' ? navButtonsWidth : 0}px)`;\r\n\r\n if (entitiesWrapper.style.display !== 'flex') {\r\n entitiesSectionElement.nativeElement.style.alignItems = 'center';\r\n\r\n entitiesWrapper.style.display = 'flex';\r\n entitiesWrapper.style.gap = `${entityGap}px`;\r\n entitiesWrapper.style.justifyContent = 'normal';\r\n }\r\n};\r\n\r\nexport const setNavFlexLayout = (entitiesSectionElement: ElementRef, entitiesWrapperElement: ElementRef, navButtonElement: ElementRef, entitiesElement: QueryList<ElementRef>) => {\r\n const entitiesSectionElementWidth = entitiesSectionElement.nativeElement.clientWidth;\r\n const cardWidth = entitiesElement.first?.nativeElement?.clientWidth;\r\n\r\n const navButtonsWidth = navButtonElement?.nativeElement?.offsetWidth ?? 0;\r\n\r\n const availableWidth = entitiesSectionElementWidth - navButtonsWidth;\r\n const numberOfElementsInPage = Math.max(1, Math.floor((availableWidth + entityGap) / (cardWidth + entityGap)));\r\n\r\n const showNavButtons = entitiesElement?.length - numberOfElementsInPage > 0;\r\n setNavFlexLayoutStyle(entitiesSectionElement, entitiesWrapperElement, showNavButtons, navButtonsWidth);\r\n\r\n return numberOfElementsInPage;\r\n};\r\n","export const getDeserializedFile = async (response: Response, fileName: string, fileType?: string) => {\r\n const blob = await response.blob();\r\n return new File([blob], fileName, { type: fileType ?? blob.type });\r\n};\r\n\r\nexport const downloadFile = (fileName: string, data: File | Blob) => {\r\n const objectUrl = URL.createObjectURL(data);\r\n const anchorElement = document.createElement('a');\r\n anchorElement.href = objectUrl;\r\n anchorElement.download = fileName;\r\n anchorElement.click();\r\n\r\n anchorElement.remove();\r\n URL.revokeObjectURL(objectUrl);\r\n};","import { FullHierarchyPartsPlaces } from \"herum-types/Enums\";\r\n\r\nexport const getHierarchyPartIfExist = (parts: string[], part: FullHierarchyPartsPlaces) => {\r\n return parts.length > part ? parts[part] : '';\r\n};","export const bytesToMegabytes = (bytes: number): number => {\r\n return bytes / (1024 ** 2);\r\n};","import { types } from \"herum-shared/constants\";\r\n\r\nexport const remainJustWantedValueInDictionary = (wantedValue: string, fields: { [key: string]: any }) => {\r\n let object = {};\r\n\r\n Object.entries(fields).forEach(([key, value]) => {\r\n (Array.isArray(value)) ?\r\n object[key] = value.map(item => (typeof item === types.object ? { [wantedValue]: item[wantedValue] } : { [wantedValue]: item }))\r\n :\r\n object[key] = (typeof value === types.object ? { [wantedValue]: value[wantedValue] } : value);\r\n\r\n });\r\n return object;\r\n};\r\n\r\nexport const removeUnwantedProperties = (baseObject: any, wantedProperties: string[]) => {\r\n let unwantedProperties = Object.keys(baseObject).filter(property => !wantedProperties.includes(property))\r\n unwantedProperties.forEach(property => delete baseObject[property])\r\n return baseObject;\r\n};","import { HttpHeaders } from \"@angular/common/http\";\r\nimport { minuteInMilliseconds, uploadsManagerKeys } from \"herum-shared/constants\";\r\nimport { DependentMetadata } from \"herum-types/uploads-manager\";\r\n\r\nconst safetyMarginInMilliseconds: number = 2 * 60 * 1000;\r\n\r\nexport const buildPath = (parts: string[]) => {\r\n return parts.reduce((path, part) => {\r\n return path + '/' + part;\r\n }, '').slice(1);\r\n};\r\n\r\nexport const setHeaders = (headers: HttpHeaders, headersToSet: { key: string, value: any }[], isEncodeURIComponent?: boolean): HttpHeaders => {\r\n headersToSet.forEach(headerToSet => {\r\n headers = headers.set(headerToSet.key, isEncodeURIComponent ? encodeURIComponent((headerToSet.value).toString()) : (headerToSet.value).toString());\r\n });\r\n return headers;\r\n};\r\n\r\nexport const convertDependentMetadataToHeaders = (dependentMetadata: DependentMetadata) => {\r\n if (dependentMetadata)\r\n var { dependentId, commonDependentsId, numberOfObservableArrowFunctions } = dependentMetadata;\r\n\r\n let headers: HttpHeaders = new HttpHeaders();\r\n\r\n if (dependentId) {\r\n headers = setHeaders(headers, [\r\n { key: uploadsManagerKeys.dependentIdHeader, value: dependentId },\r\n { key: uploadsManagerKeys.commonDependentsIdHeader, value: commonDependentsId },\r\n { key: uploadsManagerKeys.numberOfObservableArrowFunctionsHeader, value: numberOfObservableArrowFunctions }\r\n ]);\r\n }\r\n\r\n return headers;\r\n};\r\n\r\nexport const getVersionPathParameter = (lastUpdateTime: Date) => {\r\n if (!lastUpdateTime) return;\r\n return (Date.now() - lastUpdateTime?.getTime() < 10 * minuteInMilliseconds + safetyMarginInMilliseconds) ? `?v=${lastUpdateTime?.toISOString()}` : '';\r\n};","import { regexExpressions } from \"herum-shared/constants\";\r\n\r\nimport jsSHA from 'jssha';\r\n\r\nexport const toHash = (source: string) => {\r\n let shaObj = new jsSHA('SHA-256', 'TEXT');\r\n shaObj.update(source);\r\n let hash = shaObj.getHash('HEX');\r\n\r\n return hash;\r\n};\r\n\r\nexport const toFirstCapitalLetter = (text: string) => {\r\n return text[0].toUpperCase() + text.slice(1);\r\n};\r\n\r\nexport const toFirstLowerCaseLetter = (text: string) => {\r\n if (!text) return;\r\n return text[0].toLocaleLowerCase() + text.slice(1);\r\n};\r\n\r\nexport const camelCaseToPascalCase = (camelCase: string) => {\r\n return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);\r\n};\r\n\r\nexport const capitalizeWord = (word: string): string => {\r\n return word.charAt(0).toUpperCase() + word.slice(1);\r\n};\r\n\r\nexport const replaceInterpolateKeysWithObjectProperties = (string: string, object: Object): string => {\r\n const matches = string.match(regexExpressions.templateInterpolation);\r\n\r\n if (matches)\r\n matches.forEach((match) => { const key = match.slice(2, -2); string = string.replace(match, object[key]) });\r\n\r\n return string;\r\n};","export const convertHeightToPixels = (value: string): number => {\r\n const numberValue: number = parseInt(value, 10);\r\n\r\n if (value.endsWith('vh'))\r\n return numberValue * (window.innerHeight / 100);\r\n else if (value.endsWith('px'))\r\n return numberValue;\r\n\r\n return numberValue;\r\n};\r\n\r\nexport const getDropdownAnimationStates = (\r\n isDropdownOpen: boolean,\r\n dropDownDirection: 'upwards' | 'downwards'\r\n) => {\r\n if (isDropdownOpen)\r\n return dropDownDirection === 'upwards' ? 'openUp' : 'openDown';\r\n\r\n return dropDownDirection === 'upwards' ? 'closeDown' : 'closeUp';\r\n};","import { CollectionSubscription, ResourceSubscription } from 'herum-types/User';\r\n\r\nexport const getSubscriptionWithLastActivityTime = (\r\n subscriptions: CollectionSubscription[] | ResourceSubscription[]\r\n): CollectionSubscription => {\r\n if (!subscriptions?.length)\r\n return null;\r\n\r\n return (subscriptions as CollectionSubscription[])?.reduce((max, subscription) => {\r\n return (new Date(subscription.lastActivityTime) > new Date(max.lastActivityTime)) ? subscription : max;\r\n });\r\n};\r\n\r\nexport const getLastSubscriptionByField = (\r\n subscriptions: CollectionSubscription[] | ResourceSubscription[],\r\n field: string\r\n): CollectionSubscription => {\r\n if (!subscriptions?.length)\r\n return null;\r\n\r\n return (subscriptions as CollectionSubscription[])?.reduce((max, subscription) => {\r\n return (new Date(subscription[field]) > new Date(max[field])) ? subscription : max;\r\n });\r\n};","/**\r\n * @file Automatically generated by barrelsby.\r\n */\r\n\r\nexport * from \"./array\";\r\nexport * from \"./assignment\";\r\nexport * from \"./browser\";\r\nexport * from \"./comparers\";\r\nexport * from \"./date\";\r\nexport * from \"./element\";\r\nexport * from \"./file\";\r\nexport * from \"./hierarchy\";\r\nexport * from \"./number\";\r\nexport * from \"./object\";\r\nexport * from \"./request-helpers\";\r\nexport * from \"./string\";\r\nexport * from \"./style\";\r\nexport * from \"./subscription\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"herum-shared-validators.mjs","sources":["../../../projects/herum-shared/validators/formCollectionNameValidator.ts","../../../projects/herum-shared/validators/idValidator.ts","../../../projects/herum-shared/validators/isUniqueIdValidator.ts","../../../projects/herum-shared/validators/validatorsErrorMessages.ts","../../../projects/herum-shared/validators/index.ts","../../../projects/herum-shared/validators/herum-shared-validators.ts"],"sourcesContent":["import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function formCollectionNameValidator(): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n return control.value?.length >= 35 ?\r\n { formCollectionNameValidator: true } : null;\r\n };\r\n}","import { AbstractControl, ValidatorFn, Validators } from '@angular/forms';\r\n\r\nexport function validateIDNumber(): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n const value = control.value;\r\n if (Validators.required(control) || !isValidIDNumber(value)) {\r\n return { invalidIDNumber: { value } };\r\n }\r\n return null;\r\n };\r\n}\r\n\r\nfunction isValidIDNumber(aId: number | string): boolean {\r\n let id_num: string = aId.toString();\r\n\r\n if (id_num.length !== 9)\r\n return false;\r\n\r\n const id_12_digits: number[] = [1, 2, 1, 2, 1, 2, 1, 2, 1];\r\n\r\n let result: number = 0;\r\n for (let i = 0; i < 9; i++) {\r\n let num: number = parseInt(id_num[i]) * id_12_digits[i];\r\n num = num >= 10 ? Math.floor(num / 10) + (num % 10) : num;\r\n result += num;\r\n }\r\n\r\n return result % 10 === 0;\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { AbstractControl, AsyncValidatorFn } from '@angular/forms';\r\nimport { EMPTY, Observable, of, throwError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\n\r\nlet initialId: string = '';\r\n\r\nexport function isUniqueIdValidator(path: string, fieldName: string, http: HttpClient, isEditMode: boolean = false): AsyncValidatorFn {\r\n return (control: AbstractControl): Observable<any | null> => {\r\n if (isEditMode && control.pristine) {\r\n if (control.value)\r\n initialId = control.value;\r\n\r\n return of(null);\r\n }\r\n\r\n if (isEditMode && control.value === initialId)\r\n return of(null);\r\n\r\n return http.post(path, { [fieldName]: control.value })\r\n .pipe(\r\n map(() => null),\r\n catchError(error => {\r\n if (error.status === 409) {\r\n control.setErrors({ isUniqueIdValidator: true });\r\n return EMPTY;\r\n }\r\n\r\n return throwError(error);\r\n })\r\n )\r\n }\r\n}","import { validatorsNames, formsErrorMessages } from 'herum-shared/constants';\r\n\r\nexport const requiredErrorMessage = { [validatorsNames.required]: formsErrorMessages.requiredField };\r\n\r\nexport const validatorsErrorMessages: { [key: string]: { [key: string]: string } } = {\r\n militaryId: {\r\n [validatorsNames.isUniqueIdValidator]: formsErrorMessages.militaryIdIsUsed,\r\n [validatorsNames.pattern]: formsErrorMessages.notValidMilitarylId,\r\n ...requiredErrorMessage\r\n },\r\n personalId: {\r\n [validatorsNames.isUniqueIdValidator]: formsErrorMessages.personalIdIsUsed,\r\n [validatorsNames.invalidIDNumber]: formsErrorMessages.notValidPersonalId,\r\n ...requiredErrorMessage\r\n }\r\n}","/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./formCollectionNameValidator\";\nexport * from \"./idValidator\";\nexport * from \"./isUniqueIdValidator\";\nexport * from \"./validatorsErrorMessages\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"herum-shared-validators.mjs","sources":["../../../projects/herum-shared/validators/formCollectionNameValidator.ts","../../../projects/herum-shared/validators/idValidator.ts","../../../projects/herum-shared/validators/isUniqueIdValidator.ts","../../../projects/herum-shared/validators/validatorsErrorMessages.ts","../../../projects/herum-shared/validators/index.ts","../../../projects/herum-shared/validators/herum-shared-validators.ts"],"sourcesContent":["import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport function formCollectionNameValidator(): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n return control.value?.length >= 35 ?\r\n { formCollectionNameValidator: true } : null;\r\n };\r\n}","import { AbstractControl, ValidatorFn, Validators } from '@angular/forms';\r\n\r\nexport function validateIDNumber(): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n const value = control.value;\r\n if (Validators.required(control) || !isValidIDNumber(value)) {\r\n return { invalidIDNumber: { value } };\r\n }\r\n return null;\r\n };\r\n}\r\n\r\nfunction isValidIDNumber(aId: number | string): boolean {\r\n let id_num: string = aId.toString();\r\n\r\n if (id_num.length !== 9)\r\n return false;\r\n\r\n const id_12_digits: number[] = [1, 2, 1, 2, 1, 2, 1, 2, 1];\r\n\r\n let result: number = 0;\r\n for (let i = 0; i < 9; i++) {\r\n let num: number = parseInt(id_num[i]) * id_12_digits[i];\r\n num = num >= 10 ? Math.floor(num / 10) + (num % 10) : num;\r\n result += num;\r\n }\r\n\r\n return result % 10 === 0;\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { AbstractControl, AsyncValidatorFn } from '@angular/forms';\r\nimport { EMPTY, Observable, of, throwError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\n\r\nlet initialId: string = '';\r\n\r\nexport function isUniqueIdValidator(path: string, fieldName: string, http: HttpClient, isEditMode: boolean = false): AsyncValidatorFn {\r\n return (control: AbstractControl): Observable<any | null> => {\r\n if (isEditMode && control.pristine) {\r\n if (control.value)\r\n initialId = control.value;\r\n\r\n return of(null);\r\n }\r\n\r\n if (isEditMode && control.value === initialId)\r\n return of(null);\r\n\r\n return http.post(path, { [fieldName]: control.value })\r\n .pipe(\r\n map(() => null),\r\n catchError(error => {\r\n if (error.status === 409) {\r\n control.setErrors({ isUniqueIdValidator: true });\r\n return EMPTY;\r\n }\r\n\r\n return throwError(error);\r\n })\r\n )\r\n }\r\n}","import { validatorsNames, formsErrorMessages } from 'herum-shared/constants';\r\n\r\nexport const requiredErrorMessage = { [validatorsNames.required]: formsErrorMessages.requiredField };\r\n\r\nexport const validatorsErrorMessages: { [key: string]: { [key: string]: string } } = {\r\n militaryId: {\r\n [validatorsNames.isUniqueIdValidator]: formsErrorMessages.militaryIdIsUsed,\r\n [validatorsNames.pattern]: formsErrorMessages.notValidMilitarylId,\r\n ...requiredErrorMessage\r\n },\r\n personalId: {\r\n [validatorsNames.isUniqueIdValidator]: formsErrorMessages.personalIdIsUsed,\r\n [validatorsNames.invalidIDNumber]: formsErrorMessages.notValidPersonalId,\r\n ...requiredErrorMessage\r\n }\r\n}","/**\r\n * @file Automatically generated by barrelsby.\r\n */\r\n\r\nexport * from \"./formCollectionNameValidator\";\r\nexport * from \"./idValidator\";\r\nexport * from \"./isUniqueIdValidator\";\r\nexport * from \"./validatorsErrorMessages\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|