@qrvey/widget-configurability 0.0.0-beta.4430 → 0.0.0-beta.4482
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/dist/cjs/constants/configs.js +29 -1
- package/dist/cjs/constants/configs.js.map +1 -1
- package/dist/cjs/constants/structure.constants.js +14 -1
- package/dist/cjs/constants/structure.constants.js.map +1 -1
- package/dist/cjs/doc/dashboard.structure.doc.js +8 -0
- package/dist/cjs/doc/dashboard.structure.doc.js.map +1 -1
- package/dist/cjs/doc/swagger.optional.js +3 -1
- package/dist/cjs/doc/swagger.optional.js.map +1 -1
- package/dist/cjs/index.js +28 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/models/scope.models.js +3 -0
- package/dist/cjs/models/scope.models.js.map +1 -0
- package/dist/cjs/structural-manager.js +69 -5
- package/dist/cjs/structural-manager.js.map +1 -1
- package/dist/cjs/structures/chart-builder.structure.v1.js +18 -0
- package/dist/cjs/structures/chart-builder.structure.v1.js.map +1 -0
- package/dist/cjs/structures/chart-gallery.structure.v1.js +18 -0
- package/dist/cjs/structures/chart-gallery.structure.v1.js.map +1 -0
- package/dist/cjs/structures/chart-panel.structure.v1.js +71 -0
- package/dist/cjs/structures/chart-panel.structure.v1.js.map +1 -0
- package/dist/cjs/structures/dashboard.structure.v1.js +116 -13
- package/dist/cjs/structures/dashboard.structure.v1.js.map +1 -1
- package/dist/cjs/structures/download-modal.structure.v1.js +33 -0
- package/dist/cjs/structures/download-modal.structure.v1.js.map +1 -0
- package/dist/cjs/utils/defaults.helpers.js +26 -6
- package/dist/cjs/utils/defaults.helpers.js.map +1 -1
- package/dist/cjs/utils/download-modal.helpers.js +27 -0
- package/dist/cjs/utils/download-modal.helpers.js.map +1 -0
- package/dist/cjs/utils/scope.helpers.js +88 -0
- package/dist/cjs/utils/scope.helpers.js.map +1 -0
- package/dist/cjs/utils/structural.helpers.js +52 -29
- package/dist/cjs/utils/structural.helpers.js.map +1 -1
- package/dist/esm/index.mjs +655 -170
- package/dist/esm/index.mjs.map +1 -1
- package/dist/types/index.d.ts +135 -5
- package/package.json +8 -1
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/constants/structure.constants.ts","../../src/structures/dashboard.structure.v1.ts","../../src/structures/download-manager.structure.v1.ts","../../src/structures/report.structure.v1.ts","../../src/constants/configs.ts","../../src/models/conditions.models.ts","../../src/utils/conditions.helpers.ts","../../src/utils/defaults.helpers.ts","../../src/utils/merge.helpers.ts","../../src/utils/structural.helpers.ts","../../src/structural-manager.ts","../../src/doc/swagger.optional.ts"],"names":["STRUCTURE_SECTION_NAME_SEPARATOR","STRUCTURE_VIEW_NAME_SEPARATOR","STRUCTURE_RESERVED_WORDS","Widget","WidgetVersion","dashboardV1Config","version","baseStructure","views","list","design","preview","endUser","navBar","endUserTopBar","assetList","defaults","assetListViewMode","asset","optionMenu","controlBarLeft","controlBarRight","header","menuBar","file","qMnuDownloadDash","edit","grid","insert","qMnuInsertChart","qMnuInsertFilterCtrl","qMnuArrange","qMnuAlign","toolBar","qInsertChart","qInsertFilterCtrl","qDownloadDash","qArrange","qResponsiveView","qAlign","configPanel","filterPanel","qAddFilter","qEnabDisabAllFilters","qDeleteAllFilters","qFilterSettings","dashFilterScope","tabFilterScope","panelFilterScope","downloadModal","subModules","chartPanel","chartGallery","chartBuilder","downloadManagerV1Config","main","detail","controlBar","filters","qFilterByFileType","qFilterByExecution","qFilterByWidget","qFilterByAsset","qFilterByOrganization","qFilterByOwner","qSearch","qRemoveFilters","qScheduleDetail","qFilesExported","qMoreInfo","table","bottomBar","moreInfoModal","reportV1Config","tabBar","qInsertShape","qDownloadReport","dataPanel","tabDataset","tabParameters","repoFilterScope","widgetConfigs","DASHBOARD","v1","latest","REPORT","DOWNLOAD_MANAGER","allowedOperators","isOperator","value","includes","getValue","condition","state","field","_evalConditionOperator","operator","OPERATOR_MAP","a","b","startsWith","endsWith","contains","evaluateCondition","conditions","length","every","c","_evalCondition","evalFn","checkConditions","cond","effect","result","FONT_SIZES","applyValidation","currentObj","validatorMap","parentKey","validatedObj","Object","keys","forEach","key","fullKey","Array","isArray","validateDefaults","obj","isANumber","_value","Number","isNaN","undefined","numberMinMaxValue","maxValue","minValue","fontSizeMinMaxValue","minSize","maxSize","inputSize","parseInt","validFontSizes","filter","size","closestSize","smallestDiff","Math","abs","diff","fontColorValue","normalizedColor","toLowerCase","validateType","validValues","receivedValue","toUpperCase","DX_VALIDATOR_MAP","mergeDeep","obj1","obj2","settings","defaultSettings","mergeExistingValues","mergeMissingProperties","isValid","objectCopy","val1","val2","isObject","map","item","prototype","hasOwnProperty","call","toString","getWidgetStructure","config","customization","validationMap","calculateViewMap","permissionMap","view","assign","calculateSpecificViewMap","customDefaults","calculateCustomDefaults","prevDefaults","submodules","calculateSubmodules","conditionMaps","calculateConditions","calculatePermissionMap","viewDefinition","viewKeys","viewPrefix","getViewPrefix","getStructureKey","viewValue","matchWildcard","pattern","regexPattern","RegExp","replace","test","keyIsIncludedInKeep","keep","keyIsIncludedInRemove","remove","canInsertInCustomization","validateKeepOption","includedInRemove","canInsert","keepValue","keepResult","conditionAffect","evalInsertKey","hasKeepOption","customizationView","custCanInsert","custViewCanInsert","some","x","canInsertKey","checkCondition","addKeyToPermissions","childMap","keyAttr","addDefaultKey","addChildMapKey","getConditionsForKey","pathPrefix","previousKeepOption","currentKeepOption","nodeHasKeepOption","configValue","currentKey","newPrefix","canInsertResult","calculateDefaults","calculatePermissionMapArray","reduce","mapValue","push","rootConditionals","conditional","viewConditionals","customConditionals","viewSubmodules","customRootSubmodules","customSubmodules","mergeObjects","viewDefaults","customRootDefaults","defaultObj","structureDefaults","itemDefaults","baseDefaults","prevObj","newObj","mapObjKeys","mapArrayKeys","nodeKeys","defaultsSimple","option","fullPath","buildStructure","widget","versionSet","widgetConfigurability","Error","structureMap","WidgetStructureInstance","constructor","viewMap","isVisible","getChildMap","getSubmodule","module","getDefaults","ApiProperty","require","metadata","ViewsDto","type","String","description","example","AssetListDto","MenuBarDto","FilterPanelDto","SubModulesDto","BaseDashboardV1StructureDto"],"mappings":"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","file":"index.mjs","sourcesContent":["export const STRUCTURE_SECTION_NAME_SEPARATOR = '.';\nexport const STRUCTURE_VIEW_NAME_SEPARATOR = '::';\nexport const STRUCTURE_RESERVED_WORDS = ['views', 'defaults', 'subModules'];\n\nexport enum Widget {\n DASHBOARD = 'dashboard',\n REPORT = 'report',\n DOWNLOAD_MANAGER = 'download-manager',\n}\n\nexport enum WidgetVersion {\n v1 = '1.0',\n latest = 'latest',\n}\n","import { WidgetConfig } from '../models/structure.models';\n\nconst dashboardV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n views: {\n list: ['navBar', 'assetList', 'controlBarLeft', 'controlBarRight'],\n design: [\n 'navBar',\n 'header',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'downloadModal',\n ],\n preview: ['navBar', 'header', 'controlBarRight', 'filterPanel'],\n endUser: ['navBar', 'toolBar', 'filterPanel', 'downloadModal'],\n },\n\n navBar: ['qAppTitle', 'qBackButton'],\n\n endUserTopBar: ['indicator', 'options'],\n\n assetList: {\n defaults: {\n assetListViewMode: 'card',\n },\n asset: {\n optionMenu: [\n 'qEditDash',\n 'qRenameDash',\n 'qDeleteDash',\n 'qDuplDash',\n 'qShareDash',\n ],\n },\n },\n\n controlBarLeft: ['qCreateDash'],\n\n controlBarRight: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qSelectColumn',\n 'qStatus',\n 'qPreview',\n 'qDiscard',\n 'qPublish',\n 'qDesign',\n ],\n\n header: ['qDashFavorite', 'qShareDash', 'qDashName', 'qDashDesc'],\n\n menuBar: {\n file: [\n 'qMnuCreateDash',\n 'qMnuOpenDash',\n 'qMnuDuplicateDash',\n 'qMnuCanvasSize',\n 'qMnuThemes',\n 'qShareDash',\n 'qMnuDeleteDash',\n 'qCreateCustomViewDataset',\n {\n qMnuDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n },\n ],\n edit: [\n 'qUndoRedo',\n 'qCopyElement',\n 'qPasteElement',\n 'qCutElement',\n 'qRemoveElement',\n 'qDuplElement',\n 'qSelectAllElem',\n 'qSelectAllContElem',\n ],\n grid: ['qMnuSnapToGrid', 'qMnuDisplayGrid', 'qMnuSwitchGrid'],\n insert: [\n {\n qMnuInsertChart: [\n 'qMnuExistingChart',\n 'qMnuNewChart',\n 'qMnuNewChartAI',\n ],\n qMnuInsertFilterCtrl: [\n 'qMnuDatePicker',\n 'qMnuInputBox',\n 'qMnuMultiSelectList',\n ],\n },\n 'qMnuInsertText',\n 'qMnuInsertImage',\n 'qMnuInsertButton',\n 'qMnuInsertContainer',\n 'qMnuInsertHeader',\n 'qMnuInsertTabs',\n ],\n qMnuArrange: [\n 'qMnuBringToFront',\n 'qMnuSendToBack',\n {\n qMnuAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n ],\n },\n toolBar: [\n 'qCanvasSize',\n {\n qInsertChart: ['qExistingChart', 'qNewChart', 'qNewChartAI'],\n qInsertFilterCtrl: [\n 'qDatePicker',\n 'qInputBox',\n 'qMultiSelectList',\n ],\n grid: ['qSnapToGrid', 'qDisplayGrid', 'qSwitchGrid'],\n qDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qResponsiveView: [\n 'qDesktop',\n 'qTablet',\n 'qMobile',\n 'qBreakpoints',\n ],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n 'qInsertText',\n 'qCreateCustomViewDataset',\n 'qInsertImage',\n 'qInsertButton',\n 'qInsertContainer',\n 'qRespGridMargins',\n 'qRespGridColumns',\n 'qThemes',\n 'qUndoRedo',\n\n // only for end user\n 'qDashVersion',\n 'qGetDashVersion',\n 'qHiddenItems',\n 'qDiscard',\n 'qSave',\n 'qHideToolBar',\n ],\n configPanel: true,\n filterPanel: {\n qAddFilter: true,\n qEnabDisabAllFilters: true,\n qDeleteAllFilters: true,\n qFilterSettings: true,\n dashFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n tabFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n panelFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n },\n downloadModal: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n 'qIncludeHyperlinks',\n ],\n subModules: {\n chartPanel: {},\n chartGallery: {},\n chartBuilder: {},\n },\n },\n};\n\nexport default dashboardV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst downloadManagerV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n views: {\n main: [\n 'header',\n 'controlBar',\n 'assetList',\n 'moreInfoModal',\n 'downloadModal',\n ],\n detail: [\n 'header',\n 'controlBar',\n 'assetList',\n 'moreInfoModal',\n 'bottomBar',\n 'downloadModal',\n ],\n },\n header: ['qTitle'],\n controlBar: {\n defaults: {\n filters: {},\n },\n qFilterByFileType: [\n 'qTypePDF',\n 'qTypeJPG',\n 'qTypeCSV',\n 'qTypeExcel',\n 'qTypeZIP',\n ],\n qFilterByExecution: ['qExecScheduled', 'qExecOthers'],\n qFilterByWidget: [\n 'qWidgetAnalyze',\n 'qWidgetAutomation',\n 'qWidgetDash',\n 'qWidgetLegacyDash',\n 'qWidgetSubscriptions',\n 'qWidgetPPR',\n ],\n qFilterByAsset: true,\n qFilterByOrganization: true,\n qFilterByOwner: true,\n qSearch: true,\n qRemoveFilters: true,\n qScheduleDetail: true,\n qFilesExported: true,\n qMoreInfo: true,\n },\n\n assetList: {\n asset: [\n {\n optionMenu: [\n 'qDelete',\n 'qMoreInfo',\n 'qDeleteAllFiles',\n 'qEditSched',\n 'qPauseRestartSched',\n 'qUnsubscribe',\n 'qSubscribe',\n ],\n table: [\n 'qType',\n 'qSchedule',\n 'qSize',\n 'qCreationDate',\n 'qExpirationDate',\n 'qDownload',\n 'qOrganization',\n 'qOwner',\n ],\n },\n 'qDrillToDetail',\n 'qUnsubscribe',\n 'qSubscribe',\n ],\n },\n\n bottomBar: [\n 'qDeleteAllFiles',\n 'qEditSched',\n 'qPauseRestartSched',\n 'qDelete',\n ],\n\n downloadModal: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n 'qIncludeHyperlinks',\n ],\n\n moreInfoModal: [\n 'qFileType',\n 'qSource',\n 'qOwner',\n 'qApplication',\n 'qPath',\n 'qOrganization',\n 'qErrorMessage',\n ],\n },\n};\n\nexport default downloadManagerV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst reportV1Config: WidgetConfig = {\n version: '1.0',\n\n baseStructure: {\n views: {\n list: ['navBar', 'assetList', 'controlBarLeft', 'controlBarRight'],\n design: [\n 'navBar',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'dataPanel',\n ],\n preview: [\n 'navBar',\n 'tabBar',\n 'toolBar',\n 'pagePreview',\n 'controlBarRight',\n 'downloadModal',\n ],\n },\n navBar: ['qAppTitle', 'qBackButton'],\n tabBar: ['qTabSelector', 'qScrollButton'],\n assetList: {\n defaults: {\n assetListViewMode: 'card',\n },\n asset: {\n optionMenu: [\n 'qEditRep',\n 'qRenameRep',\n 'qDeleteRep',\n 'qDuplRep',\n ],\n },\n },\n\n controlBarLeft: ['qCreateRep'],\n\n controlBarRight: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qPreview',\n 'qDesign',\n ],\n\n menuBar: {\n edit: ['qCopyElement', 'qPasteElement'],\n },\n toolBar: [\n 'qPageSetup',\n {\n qInsertShape: ['qLine', 'qRectangle', 'qEllipse'],\n grid: ['qDisplayRuler', 'qDisplayGrid'],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n qDownloadReport: [\n 'qReportPDF',\n 'qReportExcel',\n ],\n },\n 'qUndoRedo',\n 'qInsertDTable',\n 'qInsertSTable',\n 'qInsertImage',\n 'qInsertText',\n 'qInsertPageGroup',\n 'qInsertFormula',\n 'qInsertBucket',\n 'qInsertPageBreak',\n ],\n configPanel: true,\n dataPanel: {\n tabDataset: ['qChangeDataSet', 'qSearch'],\n tabParameters: ['qAddParameter', 'qSearch'],\n },\n filterPanel: {\n qAddFilter: true,\n qEnabDisabAllFilters: true,\n qDeleteAllFilters: true,\n qFilterSettings: true,\n repoFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n tabFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n panelFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n },\n downloadModal: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n ],\n },\n};\n\nexport default reportV1Config;\n","import { Widget, WidgetVersion } from './structure.constants';\nimport { WidgetConfigsMap } from './widget.config';\nimport dashboardV1Config from '../structures/dashboard.structure.v1';\nimport downloadManagerV1Config from '../structures/download-manager.structure.v1';\nimport reportV1Config from '../structures/report.structure.v1';\n\nexport const widgetConfigs: WidgetConfigsMap = {\n [Widget.DASHBOARD]: {\n [WidgetVersion.v1]: dashboardV1Config,\n [WidgetVersion.latest]: dashboardV1Config,\n },\n [Widget.REPORT]: {\n [WidgetVersion.v1]: reportV1Config,\n [WidgetVersion.latest]: reportV1Config,\n },\n [Widget.DOWNLOAD_MANAGER]: {\n [WidgetVersion.v1]: downloadManagerV1Config,\n [WidgetVersion.latest]: downloadManagerV1Config,\n },\n};\n","export const allowedOperators = [\n '=',\n '!=',\n '>',\n '>=',\n '<',\n '<=',\n 'startsWith',\n 'endsWith',\n 'contains',\n] as const;\nexport type Operators = (typeof allowedOperators)[number];\n\nexport type ConditionValue = string | number;\n\nexport interface Condition {\n field: string;\n operator: Operators;\n value: ConditionValue;\n}\n\nexport type ConditionState = Record<string, ConditionValue>;\n\nexport type OperatorConditionFn = (\n value: Condition,\n state: Record<string, ConditionValue>,\n) => boolean;\n","import {\n Condition,\n ConditionState,\n ConditionValue,\n OperatorConditionFn,\n Operators,\n allowedOperators,\n} from '../models/conditions.models';\nimport { WidgetItemCondition } from '../models/structure.models';\n\nfunction isOperator(value: string): value is Operators {\n return allowedOperators.includes(value as Operators);\n}\n\nfunction getValue(condition: Condition, state: ConditionState): ConditionValue {\n return state[condition.field];\n}\n\nfunction _evalConditionOperator(\n condition: Condition,\n state: ConditionState,\n operator: (a: ConditionValue, b: ConditionValue) => boolean,\n): boolean {\n const value = getValue(condition, state);\n if (value == null) return false;\n return operator(value, condition.value);\n}\n\nconst OPERATOR_MAP: Record<Operators, OperatorConditionFn> = {\n '=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a == b),\n '!=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a != b),\n '<': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a < b),\n '<=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a <= b),\n '>': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a > b),\n '>=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a >= b),\n\n startsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' &&\n typeof b === 'string' &&\n a.startsWith(b),\n ),\n\n endsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.endsWith(b),\n ),\n\n contains: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.includes(b),\n ),\n};\n\nexport function evaluateCondition(\n state: ConditionState | undefined,\n ...conditions: Condition[]\n): boolean {\n if (!state) return false;\n if (conditions.length === 0) return true;\n return conditions.every((c) => _evalCondition(state, c));\n}\n\nfunction _evalCondition(state: ConditionState, condition: Condition): boolean {\n if (!isOperator(condition.operator)) return false;\n const evalFn = OPERATOR_MAP[condition.operator];\n return evalFn(condition, state);\n}\n\nexport function checkConditions(\n state: ConditionState | undefined,\n conditions: WidgetItemCondition[],\n): boolean {\n if (!state) return false;\n for (const cond of conditions) {\n if (cond.effect === 'keep') continue;\n const result = evaluateCondition(state, cond.condition);\n if (result) return false;\n }\n return true;\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype ValidationFN<T = any> = (value: T) => T | undefined;\nconst FONT_SIZES: number[] = [\n 8, 9, 10, 11, 12, 14, 15, 16, 18, 24, 30, 36, 48, 60, 72, 96,\n];\nexport type ValidationMap = Record<string, ValidationFN>;\n\nfunction applyValidation(\n currentObj: Record<string, unknown>,\n validatorMap: ValidationMap,\n parentKey = '',\n): Record<string, unknown> {\n const validatedObj: Record<string, unknown> = {};\n\n Object.keys(currentObj).forEach((key) => {\n const fullKey = parentKey ? `${parentKey}.${key}` : key;\n const value = currentObj[key];\n if (\n typeof value === 'object' &&\n !Array.isArray(value) &&\n value !== null\n ) {\n validatedObj[key] = applyValidation(\n value as Record<string, unknown>,\n validatorMap,\n fullKey,\n );\n } else if (validatorMap[fullKey]) {\n validatedObj[key] = validatorMap[fullKey](value);\n } else {\n validatedObj[key] = value;\n }\n });\n\n return validatedObj;\n}\n\nexport function validateDefaults(\n obj: Record<string, unknown>,\n validatorMap: ValidationMap,\n) {\n return applyValidation(obj, validatorMap);\n}\n\nconst isANumber = (value: string | number) => {\n const _value = Number(value);\n if (!_value || isNaN(_value)) return undefined;\n return _value;\n};\n\nconst numberMinMaxValue =\n (maxValue: number, minValue?: number) => (value: string) => {\n const _value = isANumber(value);\n if (!_value) return undefined;\n if (minValue && _value < minValue) return minValue;\n if (_value > maxValue) return maxValue;\n return _value;\n };\n\nexport const fontSizeMinMaxValue =\n (minSize: number, maxSize: number) =>\n (value: string): string | undefined => {\n const inputSize = parseInt(value, 10);\n // Check if the inputSize is valid and within range\n if (\n FONT_SIZES.includes(inputSize) &&\n inputSize >= minSize &&\n inputSize <= maxSize\n ) {\n return `${inputSize}px`;\n }\n\n // Filter FONT_SIZES by min and max\n const validFontSizes = FONT_SIZES.filter(\n (size) => size >= minSize && size <= maxSize,\n );\n\n if (validFontSizes.length === 0) {\n return undefined;\n }\n\n // Find the closest font size\n let closestSize = validFontSizes[0];\n let smallestDiff = Math.abs(inputSize - closestSize);\n\n for (const size of validFontSizes) {\n const diff = Math.abs(inputSize - size);\n if (diff < smallestDiff) {\n smallestDiff = diff;\n closestSize = size;\n }\n }\n\n // Return the closest font size as a string with 'px'\n return `${closestSize}px`;\n };\nexport const fontColorValue = (value: string) => {\n const normalizedColor = value.toLowerCase();\n return normalizedColor;\n};\n\nconst validateType = (validValues: string[]) => (value: unknown) => {\n if (typeof value !== 'string') return undefined;\n const receivedValue = value.toUpperCase();\n return validValues.includes(receivedValue) ? receivedValue : undefined;\n};\n\nexport const DX_VALIDATOR_MAP: ValidationMap = {\n 'customStyles.header.height': numberMinMaxValue(300, 10),\n 'customStyles.text.fontSize': fontSizeMinMaxValue(8, 96),\n 'customStyles.text.fontColor': fontColorValue,\n 'customStyles.container.borderWidth': numberMinMaxValue(20, 1),\n 'customStyles.container.borderRadius': numberMinMaxValue(100, 0),\n\n // Filter Controls: MULTISELECT LIST\n 'customStyles.filterList.type': validateType(['LIST', 'DROPDOWN']),\n 'customStyles.filterList.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: INPUTBOX\n 'customStyles.filterInput.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: DATE\n 'customStyles.filterDate.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n};\n","export interface MergeDeepSettings {\n mergeMissingProperties?: boolean;\n mergeExistingValues?: boolean;\n}\n\nexport function mergeDeep(\n obj1: any,\n obj2: any,\n settings?: MergeDeepSettings,\n): any {\n const defaultSettings = {\n mergeExistingValues: settings?.mergeExistingValues ?? true,\n mergeMissingProperties: settings?.mergeMissingProperties ?? true,\n };\n\n if (!isValid(obj1, obj2)) return objectCopy(obj1);\n\n const result: any = Array.isArray(obj1) ? [] : {};\n\n for (const key in obj1) {\n const val1 = obj1[key];\n const val2 = obj2?.[key];\n\n if (isObject(val1) || Array.isArray(val1)) {\n result[key] = mergeDeep(val1, val2, defaultSettings);\n } else if (key in obj2 && defaultSettings.mergeExistingValues) {\n result[key] = val2;\n } else {\n result[key] = val1;\n }\n }\n\n if (defaultSettings.mergeMissingProperties) {\n for (const key in obj2) {\n if (!(key in result)) {\n result[key] = obj2[key];\n }\n }\n }\n\n return result;\n}\n\nfunction isValid(obj1: any, obj2: any): boolean {\n return (\n (isObject(obj1) && isObject(obj2)) ||\n (Array.isArray(obj1) && Array.isArray(obj2))\n );\n}\n\nfunction objectCopy<T = any>(obj: T): T {\n if (obj === null || typeof obj !== 'object') return obj;\n\n if (Array.isArray(obj)) {\n return obj.map((item) => objectCopy(item)) as any;\n }\n\n const result: any = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n result[key] = objectCopy((obj as any)[key]);\n }\n }\n\n return result;\n}\n\nfunction isObject(value: any): boolean {\n return (\n value !== null &&\n typeof value === 'object' &&\n !Array.isArray(value) &&\n Object.prototype.toString.call(value) === '[object Object]'\n );\n}\n","import { ValidationMap, validateDefaults } from './defaults.helpers';\nimport { mergeDeep } from './merge.helpers';\nimport {\n STRUCTURE_RESERVED_WORDS,\n STRUCTURE_SECTION_NAME_SEPARATOR,\n STRUCTURE_VIEW_NAME_SEPARATOR,\n} from '../constants/structure.constants';\nimport { WidgetCustomization } from '../models/customization.models';\nimport {\n WidgetConditionMap,\n WidgetConfig,\n WidgetItemCondition,\n WidgetStructure,\n WidgetStructureRoot,\n WidgetViewMap,\n} from '../models/structure.models';\n\ntype hasKeepOptType = 'root' | 'view';\n\ninterface CalculateViewOptions {\n viewKeys?: string[];\n pathPrefix?: string;\n viewPrefix?: string;\n hasKeepOption?: hasKeepOptType;\n prevDefaults?: Record<string, unknown>;\n customDefaults?: Record<string, unknown>;\n conditionMaps?: WidgetConditionMap[];\n checkCondition?: boolean;\n}\n\ntype ConditionAffectValue = false | 'keep' | 'remove';\n\ninterface InsertionResult {\n canInsert: boolean;\n conditionAffect: ConditionAffectValue;\n}\n\n/**\n * constructs the permission map structure for a widget\n * @param config configuration of a widget\n * @param customization customization options for a widget\n * @param validationMap\n * @returns object representing the view map for the widget\n */\nexport function getWidgetStructure(\n config: WidgetConfig,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n): WidgetViewMap {\n return calculateViewMap(config.baseStructure, customization, validationMap);\n}\n\nexport function calculateViewMap(\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n if (config.views) {\n for (const view in config.views) {\n Object.assign(\n permissionMap,\n calculateSpecificViewMap(\n view,\n config,\n customization,\n validationMap,\n ),\n );\n }\n } else {\n const customDefaults = calculateCustomDefaults(\n customization,\n undefined,\n validationMap,\n );\n const prevDefaults = config.defaults;\n\n const submodules = calculateSubmodules(config, customization);\n if (submodules) {\n permissionMap.subModules = submodules;\n }\n\n const conditionMaps = calculateConditions(config, customization);\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n prevDefaults,\n customDefaults,\n conditionMaps,\n }),\n );\n }\n return permissionMap;\n}\n\nfunction calculateSpecificViewMap(\n view: string,\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n) {\n const viewDefinition = config.views![view];\n const customDefaults = calculateCustomDefaults(\n customization,\n view,\n validationMap,\n );\n const prevDefaults = config.defaults;\n\n const permissionMap: WidgetViewMap = {};\n\n const submodules = calculateSubmodules(config, customization, view);\n if (submodules) {\n permissionMap[`${view}::subModules`] = submodules;\n }\n\n const conditionMaps = calculateConditions(config, customization, view);\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n viewKeys: viewDefinition,\n viewPrefix: view,\n prevDefaults,\n customDefaults,\n conditionMaps,\n }),\n );\n\n return permissionMap;\n}\n\nfunction getViewPrefix(view?: string) {\n return view ? `${view}${STRUCTURE_VIEW_NAME_SEPARATOR}` : '';\n}\n\nfunction getStructureKey(key: string, viewPrefix?: string): string {\n const viewValue = getViewPrefix(viewPrefix);\n return `${viewValue}${key}`;\n}\n\nconst matchWildcard = (pattern: string, value: string): boolean => {\n const regexPattern = new RegExp(\n '^' + pattern.replace(/\\./g, '\\\\.').replace(/\\*/g, '.*') + '$',\n );\n return regexPattern.test(value);\n};\n\nfunction keyIsIncludedInKeep(\n key: string,\n customization: WidgetCustomization,\n): boolean {\n const { keep = [] } = customization;\n for (const pattern of keep) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n }\n return false;\n}\n\nfunction keyIsIncludedInRemove(\n key: string,\n customization: WidgetCustomization,\n): boolean {\n const { remove = [] } = customization;\n for (const pattern of remove) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n }\n return false;\n}\n\nfunction canInsertInCustomization(\n key: string,\n customization: WidgetCustomization,\n validateKeepOption?: boolean,\n): InsertionResult {\n const includedInRemove = keyIsIncludedInRemove(key, customization);\n const canInsert =\n !includedInRemove &&\n (!validateKeepOption || keyIsIncludedInKeep(key, customization));\n\n const keepValue = keyIsIncludedInKeep(key, customization)\n ? 'keep'\n : 'remove';\n const keepResult = validateKeepOption ? keepValue : false;\n const conditionAffect = includedInRemove ? 'remove' : keepResult;\n return { canInsert, conditionAffect };\n}\n\nfunction evalInsertKey(\n key: string,\n { viewKeys, viewPrefix = '', hasKeepOption }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const customizationView = customization?.views?.[viewPrefix];\n\n const custCanInsert: InsertionResult = customization\n ? canInsertInCustomization(key, customization, hasKeepOption === 'root')\n : {\n canInsert: true,\n conditionAffect: false,\n };\n const custViewCanInsert: InsertionResult = customizationView\n ? canInsertInCustomization(\n key,\n customizationView,\n hasKeepOption === 'view',\n )\n : {\n canInsert: true,\n conditionAffect: false,\n };\n\n // validate remove and keep attributes for views.\n const canInsert =\n (!viewKeys || viewKeys.some((x) => key.startsWith(x))) &&\n custCanInsert.canInsert &&\n custViewCanInsert.canInsert;\n\n const conditionAffect =\n custCanInsert.conditionAffect || custViewCanInsert.conditionAffect;\n\n return { canInsert, conditionAffect };\n}\n\nfunction canInsertKey(\n key: string,\n {\n viewKeys,\n viewPrefix = '',\n hasKeepOption,\n checkCondition = false,\n }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const result = evalInsertKey(\n key,\n { viewKeys, viewPrefix, hasKeepOption, checkCondition },\n customization,\n );\n const canInsert = checkCondition || result.canInsert;\n return { canInsert, conditionAffect: result.conditionAffect };\n}\n\nfunction addKeyToPermissions(\n permissionMap: WidgetViewMap,\n key: string,\n { viewPrefix, checkCondition, conditionMaps }: CalculateViewOptions,\n defaults?: Record<string, unknown>,\n childMap?: WidgetViewMap,\n conditionAffect?: ConditionAffectValue,\n) {\n const keyAttr = getStructureKey(key, viewPrefix);\n\n if (checkCondition && conditionAffect != null) {\n permissionMap[keyAttr] = conditionAffect;\n return;\n }\n\n const addDefaultKey = defaults && Object.keys(defaults).length > 0;\n const addChildMapKey = childMap && Object.keys(childMap).length > 0;\n const conditions = getConditionsForKey(key, conditionMaps);\n\n permissionMap[keyAttr] =\n !addDefaultKey && !addChildMapKey && !conditions\n ? true\n : {\n ...(addDefaultKey && { defaults }),\n ...(addChildMapKey && { childMap }),\n ...(conditions && { conditions }),\n };\n}\n\nfunction calculatePermissionMap(\n config: WidgetStructure | Record<string, WidgetStructure>,\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n pathPrefix = '',\n viewPrefix = '',\n hasKeepOption: previousKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n }: CalculateViewOptions,\n) {\n const permissionMap: WidgetViewMap = {};\n const currentKeepOption = nodeHasKeepOption(config, customization, {\n viewPrefix,\n pathPrefix,\n });\n\n for (const key in config) {\n if (STRUCTURE_RESERVED_WORDS.includes(key)) {\n continue;\n }\n const hasKeepOption = previousKeepOption ?? currentKeepOption;\n const configValue = config[key];\n const currentKey = `${pathPrefix}${key}`;\n const newPrefix = `${currentKey}${STRUCTURE_SECTION_NAME_SEPARATOR}`;\n\n const canInsertResult = canInsertKey(\n currentKey,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n continue;\n }\n\n let defaults = prevDefaults;\n let childMap: WidgetViewMap | undefined = undefined;\n if (Array.isArray(configValue)) {\n // if it's an array, every element is a key\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n childMap = calculatePermissionMapArray(configValue, customization, {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n });\n\n Object.assign(permissionMap, childMap);\n } else if (\n typeof configValue === 'object' &&\n !Array.isArray(configValue)\n ) {\n defaults = calculateDefaults(\n prevDefaults,\n configValue.defaults as Record<string, unknown>,\n customDefaults,\n );\n // if it's an object, a recursive call is made\n childMap = calculatePermissionMap(\n configValue as WidgetStructure,\n customization,\n {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults: defaults,\n conditionMaps,\n checkCondition,\n },\n );\n Object.assign(permissionMap, childMap);\n } else if (typeof configValue === 'boolean' && !configValue) {\n // if it's a boolean and its false, it should be ignored\n continue;\n } else if (typeof configValue === 'boolean' && configValue) {\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n }\n\n addKeyToPermissions(\n permissionMap,\n currentKey,\n {\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaults,\n childMap,\n canInsertResult.conditionAffect,\n );\n }\n\n return permissionMap;\n}\n\nfunction getConditionsForKey(\n key: string,\n conditionMaps: WidgetConditionMap[] | undefined,\n): WidgetItemCondition[] | undefined {\n if (!conditionMaps || conditionMaps.length === 0) return undefined;\n const result = conditionMaps.reduce((result, x) => {\n const mapValue = x.map[key];\n if (\n typeof mapValue === 'string' &&\n (mapValue === 'keep' || mapValue === 'remove')\n ) {\n result.push({\n effect: mapValue,\n condition: x.condition,\n });\n }\n return result;\n }, [] as WidgetItemCondition[]);\n\n if (result.length === 0) return undefined;\n return result;\n}\n\nfunction calculateConditions(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n view?: string,\n): WidgetConditionMap[] | undefined {\n const rootConditionals = customization?.conditional;\n const viewConditionals = view\n ? customization?.views?.[view]?.conditional\n : undefined;\n\n if (!rootConditionals && !viewConditionals) return undefined;\n\n const customConditionals = [\n ...(rootConditionals ?? []),\n ...(viewConditionals ?? []),\n ];\n return (\n customConditionals?.map((c) => ({\n condition: c.condition,\n map: calculatePermissionMap(config, c, { checkCondition: true }),\n })) ?? undefined\n );\n}\n\nfunction calculateSubmodules(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n view?: string,\n) {\n const viewSubmodules = view\n ? customization?.views?.[view]?.subModules\n : undefined;\n const customRootSubmodules = customization?.subModules;\n const customSubmodules = viewSubmodules\n ? mergeObjects(customRootSubmodules, viewSubmodules)\n : customRootSubmodules;\n return mergeObjects(config.subModules, customSubmodules);\n}\n\nfunction calculateCustomDefaults(\n customization?: WidgetCustomization,\n view?: string,\n validationMap?: ValidationMap,\n) {\n const viewDefaults = view\n ? customization?.views?.[view]?.defaults\n : undefined;\n const customRootDefaults = customization?.defaults ?? {};\n const defaultObj = viewDefaults\n ? mergeObjects(customRootDefaults, viewDefaults)\n : customRootDefaults;\n return validationMap && defaultObj\n ? validateDefaults(defaultObj, validationMap)\n : defaultObj;\n}\n\nfunction calculateDefaults(\n structureDefaults: Record<string, unknown> | undefined,\n itemDefaults: Record<string, unknown> | undefined,\n customDefaults: Record<string, unknown> | undefined,\n) {\n const baseDefaults = mergeObjects(structureDefaults, itemDefaults);\n return mergeObjects(baseDefaults, customDefaults);\n}\n\nfunction mergeObjects(\n prevObj: Record<string, unknown> | undefined,\n newObj: Record<string, unknown> | undefined,\n): Record<string, unknown> | undefined {\n // if both of configurations are falsy return undefined;\n if (!newObj && !prevObj) return undefined;\n // if just the prev defaults has value, return it\n if (!newObj) return prevObj;\n // if the newDefaults value is different than an object\n if (typeof newObj !== 'object' || Array.isArray(newObj)) return prevObj;\n return !prevObj ? newObj : mergeDeep(prevObj, newObj);\n}\n\nfunction mapObjKeys(\n configValue: WidgetStructure,\n { pathPrefix }: CalculateViewOptions,\n) {\n return Object.keys(configValue).map((x) =>\n getStructureKey(`${pathPrefix}${x}`),\n );\n}\n\nfunction mapArrayKeys(\n configValue: (string | WidgetStructure)[],\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n) {\n return configValue.reduce((result, value) => {\n if (typeof value === 'string') {\n result.push(getStructureKey(`${pathPrefix}${value}`));\n } else {\n result.push(...mapObjKeys(value, { viewPrefix, pathPrefix }));\n }\n return result;\n }, [] as string[]);\n}\n\nfunction nodeHasKeepOption(\n configValue: WidgetStructure | (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n): hasKeepOptType | undefined {\n if (!customization) return;\n const nodeKeys = Array.isArray(configValue)\n ? mapArrayKeys(configValue, { viewPrefix, pathPrefix })\n : mapObjKeys(configValue, { viewPrefix, pathPrefix });\n const customizationView = viewPrefix\n ? customization?.views?.[viewPrefix]\n : undefined;\n for (const key of nodeKeys) {\n if (keyIsIncludedInKeep(key, customization)) {\n return 'root';\n } else if (\n customizationView &&\n keyIsIncludedInKeep(key, customizationView)\n ) {\n return 'view';\n }\n }\n return undefined;\n}\n\nfunction calculatePermissionMapArray(\n configValue: (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n viewPrefix,\n pathPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n }: CalculateViewOptions,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n const hasKeepOption = nodeHasKeepOption(configValue, customization, {\n viewPrefix,\n pathPrefix,\n });\n const defaultsSimple = calculateDefaults(\n prevDefaults,\n undefined,\n customDefaults,\n );\n\n configValue.forEach((option) => {\n const fullPath = `${pathPrefix}${option}`;\n if (typeof option === 'string') {\n const canInsertResult = canInsertKey(\n fullPath,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n return;\n }\n addKeyToPermissions(\n permissionMap,\n fullPath,\n {\n viewKeys,\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaultsSimple,\n undefined,\n canInsertResult.conditionAffect,\n );\n } else {\n Object.assign(\n permissionMap,\n calculatePermissionMap(option, customization, {\n viewKeys,\n pathPrefix,\n viewPrefix,\n hasKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n }),\n );\n }\n });\n return permissionMap;\n}\n","import { widgetConfigs } from './constants/configs';\nimport { Widget, WidgetVersion } from './constants/structure.constants';\nimport { ConditionState } from './models/conditions.models';\nimport { WidgetCustomization } from './models/customization.models';\nimport { WidgetItemCondition, WidgetViewMap } from './models/structure.models';\nimport { checkConditions } from './utils/conditions.helpers';\nimport { DX_VALIDATOR_MAP } from './utils/defaults.helpers';\nimport { getWidgetStructure } from './utils/structural.helpers';\n\nexport function buildStructure(\n widget: Widget,\n customization?: WidgetCustomization,\n version?: WidgetVersion,\n) {\n const versionSet = version ?? WidgetVersion.latest;\n const widgetConfigurability = widgetConfigs[widget]?.[versionSet];\n if (!widgetConfigurability) {\n throw new Error(\n `No config found for widget ${widget} and version ${version}`,\n );\n }\n const structureMap = getWidgetStructure(\n widgetConfigurability,\n customization,\n DX_VALIDATOR_MAP,\n );\n return new WidgetStructureInstance(structureMap);\n}\n\nexport class WidgetStructureInstance {\n constructor(private viewMap: WidgetViewMap) {}\n\n private getValue(key: string) {\n return this.viewMap[key];\n }\n\n isVisible(key: string, state?: ConditionState): boolean {\n const value = this.getValue(key);\n if (!value) return false;\n if (typeof value === 'object' && value.conditions) {\n return checkConditions(\n state,\n value.conditions as WidgetItemCondition[],\n );\n }\n return true;\n }\n\n getChildMap(key: string): WidgetViewMap | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.childMap\n )\n return undefined;\n return value.childMap as WidgetViewMap;\n }\n\n getSubmodule(\n module: string,\n view?: string,\n ): WidgetCustomization | undefined {\n const key = `${view ? view + '::' : ''}subModules`;\n const value = this.getValue(key);\n return (value as Record<string, WidgetCustomization>)?.[module];\n }\n\n getDefaults(key: string): Record<string, unknown> | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.defaults\n )\n return undefined;\n return value.defaults as WidgetViewMap;\n }\n}\n","type DecoratorFactory = (metadata?: any) => PropertyDecorator;\n\nlet ApiProperty: DecoratorFactory;\n\ntry {\n ApiProperty = require('@nestjs/swagger').ApiProperty;\n} catch {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ApiProperty = (metadata?: unknown): PropertyDecorator => {\n return (): void => {};\n };\n}\n\nexport { ApiProperty };\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/constants/structure.constants.ts","../../src/utils/defaults.helpers.ts","../../src/structures/download-modal.structure.v1.ts","../../src/structures/dashboard.structure.v1.ts","../../src/structures/download-manager.structure.v1.ts","../../src/structures/report.structure.v1.ts","../../src/structures/chart-panel.structure.v1.ts","../../src/structures/chart-gallery.structure.v1.ts","../../src/structures/chart-builder.structure.v1.ts","../../src/constants/configs.ts","../../src/models/conditions.models.ts","../../src/utils/conditions.helpers.ts","../../src/utils/merge.helpers.ts","../../src/utils/structural.helpers.ts","../../src/structural-manager.ts","../../src/utils/scope.helpers.ts","../../src/utils/download-modal.helpers.ts","../../src/doc/swagger.optional.ts"],"names":["STRUCTURE_SECTION_NAME_SEPARATOR","STRUCTURE_VIEW_NAME_SEPARATOR","STRUCTURE_RESERVED_WORDS","Widget","WIDGET_SUBMODULE_NAMES","WIDGET_STRUCTURE_SCOPE_KIND","WIDGET_STRUCTURE_SCOPE_FORMAT","WidgetVersion","FONT_SIZES","applyValidation","currentObj","validatorMap","parentKey","sanitize","validatedObj","Object","keys","forEach","key","fullKey","value","Array","isArray","validateDefaults","obj","isANumber","_value","Number","isNaN","undefined","numberMinMaxValue","maxValue","minValue","fontSizeMinMaxValue","minSize","maxSize","inputSize","parseInt","includes","validFontSizes","filter","size","length","closestSize","smallestDiff","Math","abs","diff","fontColorValue","normalizedColor","toLowerCase","validateBoolean","validateUnsavedChangesBehavior","validateType","validValues","receivedValue","toUpperCase","DX_VALIDATOR_MAP","unsavedChangesBehavior","DOWNLOAD_MODAL_VALIDATOR_MAP","subscribeMyself","DOWNLOAD_MODAL_V1_KEYS","DOWNLOAD_MODAL_V1_KEEP_INHERITANCE","qSubscribeBanner","qSubscribeOwner","qSubscribeOrganization","qSubscribeMyself","qSubscribeSpecificPeople","DOWNLOAD_MODAL_V1_DEFAULTS","downloadModalV1Config","version","keepInheritance","baseStructure","defaults","fromEntries","map","DOWNLOAD_MODAL_HOST_KEYS","dashboardV1Config","entries","alias","views","list","design","preview","endUser","navBar","endUserTopBar","assetList","assetListViewMode","asset","optionMenu","card","table","canvas","removeElement","dragElement","resizeElement","controlBarLeft","controlBarRight","header","menuBar","file","qCreateDataset","qMnuDownloadDash","edit","grid","insert","qMnuInsertChart","qMnuInsertFilterCtrl","qMnuInsertShape","qMnuArrange","qMnuAlign","toolBar","qInsertChart","qInsertFilterCtrl","qInsertShape","qDownloadDash","qArrange","qResponsiveView","qAlign","qQvTokenExpiredMessage","qGoToDashBackButton","configPanel","filterPanel","qAddFilter","qEnabDisabAllFilters","qDeleteAllFilters","qFilterSettings","viewOnlyFilterScope","dashFilterScope","tabFilterScope","containerFilterScope","panelFilterScope","downloadModal","duplicateModal","options","qCharts","qFilters","qDashActions","subModules","chartPanel","chartGallery","chartBuilder","downloadManagerV1Config","main","detail","controlBar","filters","qFilterByFileType","qFilterByExecution","qFilterByWidget","qFilterByAsset","qFilterByOrganization","qFilterByOwner","qSearch","qRemoveFilters","qScheduleDetail","qFilesExported","qMoreInfo","bottomBar","moreInfoModal","reportV1Config","tabBar","qDownloadReport","dataPanel","tabDataset","tabParameters","repoFilterScope","optionMenuChildren","qDownloadChart","headerConfig","qFilter","optionDateGrouping","floatingMenuConfig","item","chartPanelV1Config","floatingMenu","menuLayout","body","chartGalleryV1Config","chartTypeFilter","showSummary","inputSearch","switch","title","chartBuilderV1Config","widgetConfigs","DASHBOARD","v1","latest","REPORT","DOWNLOAD_MANAGER","DOWNLOAD_MODAL","CHART_PANEL","CHART_GALLERY","CHART_BUILDER","widgetValidators","allowedOperators","isOperator","getValue","condition","state","field","_evalConditionOperator","operator","OPERATOR_MAP","a","b","startsWith","endsWith","contains","evaluateCondition","conditions","every","c","_evalCondition","evalFn","checkConditions","cond","effect","result","mergeDeep","obj1","obj2","settings","defaultSettings","mergeExistingValues","mergeMissingProperties","isValid","objectCopy","val1","val2","isObject","prototype","hasOwnProperty","call","toString","getWidgetStructure","config","customization","validationMap","calculateViewMap","permissionMap","keepAliases","view","assign","calculateSpecificViewMap","customDefaults","calculateCustomDefaults","prevDefaults","submodules","calculateSubmodules","conditionMaps","calculateConditions","calculatePermissionMap","calculateRootDefaults","calculateDefaults","viewDefinition","viewConditionals","viewKeys","viewPrefix","getViewPrefix","getStructureKey","viewValue","matchWildcard","pattern","regexPattern","RegExp","replace","test","keyIsIncludedInKeep","keep","keyIsIncludedInRemove","remove","canInsertInCustomization","validateKeepOption","includedInRemove","includedInKeep","canInsert","keepValue","keepResult","conditionAffect","evalInsertKey","hasKeepOption","customizationView","custCanInsert","custViewCanInsert","some","x","canInsertKey","checkCondition","addKeyToPermissions","childMap","keyAttr","addDefaultKey","addChildMapKey","getConditionsForKey","pathPrefix","previousKeepOption","currentKeepOption","nodeHasKeepOption","configValue","currentKey","newPrefix","canInsertResult","calculatePermissionMapArray","reduce","mapValue","push","rootConditionals","conditional","customConditionals","viewSubmodules","customRootSubmodules","customSubmodules","mergeObjects","viewDefaults","customRootDefaults","defaultObj","structureDefaults","itemDefaults","baseDefaults","prevObj","newObj","mapObjKeys","mapArrayKeys","nodeKeys","defaultsSimple","option","fullPath","getWidgetConfig","widget","versionSet","widgetConfigurability","Error","buildStructure","structureMap","rootDefaults","WidgetStructureInstance","constructor","viewMap","isVisible","getChildMap","getSubmodule","module","getDefaults","getRootDefaults","scope","prefixKey","present","sectionPath","split","pop","namespace","defaultsNamespace","sectionDefaults","childPrefix","structureVersion","slice","JSON","parse","stringify","kind","format","source","isPlainObject","isWidgetStructureScope","scopeToCustomization","extractCustomization","host","target","hostStructure","submoduleOf","input","root","fromView","structureFrom","String","submodule","error","console","warn","message","structureFromSubmodule","parent","find","resolveDownloadModalConfig","structure","organizationAvailable","visible","elements","banner","owner","organization","myself","specificPeople","schedule","anyElement","subscribe","externalUsers","subscribeMyselfDefault","ApiProperty","nodeRequire","require","bind","metadata","ViewsDto","type","description","example","AssetListDto","MenuBarDto","FilterPanelDto","SubModulesDto","BaseDashboardV1StructureDto"],"mappings":"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","file":"index.mjs","sourcesContent":["export const STRUCTURE_SECTION_NAME_SEPARATOR = '.';\nexport const STRUCTURE_VIEW_NAME_SEPARATOR = '::';\nexport const STRUCTURE_RESERVED_WORDS = ['views', 'defaults', 'subModules'];\n\nexport enum Widget {\n DASHBOARD = 'dashboard',\n REPORT = 'report',\n DOWNLOAD_MANAGER = 'download-manager',\n DOWNLOAD_MODAL = 'download-modal',\n CHART_PANEL = 'chart-panel',\n CHART_GALLERY = 'chart-gallery',\n CHART_BUILDER = 'chart-builder',\n}\n\n// The subModules key a host uses for each widget it embeds.\nexport const WIDGET_SUBMODULE_NAMES: Partial<Record<Widget, string>> = {\n [Widget.DOWNLOAD_MODAL]: 'downloadModal',\n [Widget.CHART_PANEL]: 'chartPanel',\n [Widget.CHART_GALLERY]: 'chartGallery',\n [Widget.CHART_BUILDER]: 'chartBuilder',\n};\n\nexport const WIDGET_STRUCTURE_SCOPE_KIND = 'qrvey.widget-structure-scope';\nexport const WIDGET_STRUCTURE_SCOPE_FORMAT = 1;\n\nexport enum WidgetVersion {\n v1 = '1.0',\n latest = 'latest',\n}\n","import { SanitizeFn, ValidationMap } from '../models/structure.models';\n\nexport type { ValidationMap } from '../models/structure.models';\n\nconst FONT_SIZES: number[] = [\n 8, 9, 10, 11, 12, 14, 15, 16, 18, 24, 30, 36, 48, 60, 72, 96,\n];\n\nfunction applyValidation(\n currentObj: Record<string, unknown>,\n validatorMap: ValidationMap,\n parentKey = '',\n sanitize?: SanitizeFn,\n): Record<string, unknown> {\n const validatedObj: Record<string, unknown> = {};\n\n Object.keys(currentObj).forEach((key) => {\n const fullKey = parentKey ? `${parentKey}.${key}` : key;\n const value = currentObj[key];\n if (\n typeof value === 'object' &&\n !Array.isArray(value) &&\n value !== null\n ) {\n validatedObj[key] = applyValidation(\n value as Record<string, unknown>,\n validatorMap,\n fullKey,\n sanitize,\n );\n } else if (validatorMap[fullKey]) {\n validatedObj[key] = validatorMap[fullKey](value);\n } else {\n validatedObj[key] =\n sanitize && typeof value === 'string' ? sanitize(value) : value;\n }\n });\n\n return validatedObj;\n}\n\nexport function validateDefaults(\n obj: Record<string, unknown>,\n validatorMap: ValidationMap,\n sanitize?: SanitizeFn,\n) {\n return applyValidation(obj, validatorMap, '', sanitize);\n}\n\nconst isANumber = (value: string | number) => {\n const _value = Number(value);\n if (!_value || isNaN(_value)) return undefined;\n return _value;\n};\n\nconst numberMinMaxValue =\n (maxValue: number, minValue?: number) => (value: string) => {\n const _value = isANumber(value);\n if (!_value) return undefined;\n if (minValue && _value < minValue) return minValue;\n if (_value > maxValue) return maxValue;\n return _value;\n };\n\nexport const fontSizeMinMaxValue =\n (minSize: number, maxSize: number) =>\n (value: string): string | undefined => {\n const inputSize = parseInt(value, 10);\n // Check if the inputSize is valid and within range\n if (\n FONT_SIZES.includes(inputSize) &&\n inputSize >= minSize &&\n inputSize <= maxSize\n ) {\n return `${inputSize}px`;\n }\n\n // Filter FONT_SIZES by min and max\n const validFontSizes = FONT_SIZES.filter(\n (size) => size >= minSize && size <= maxSize,\n );\n\n if (validFontSizes.length === 0) {\n return undefined;\n }\n\n // Find the closest font size\n let closestSize = validFontSizes[0];\n let smallestDiff = Math.abs(inputSize - closestSize);\n\n for (const size of validFontSizes) {\n const diff = Math.abs(inputSize - size);\n if (diff < smallestDiff) {\n smallestDiff = diff;\n closestSize = size;\n }\n }\n\n // Return the closest font size as a string with 'px'\n return `${closestSize}px`;\n };\nexport const fontColorValue = (value: string) => {\n const normalizedColor = value.toLowerCase();\n return normalizedColor;\n};\n\nexport const validateBoolean = (value: unknown): boolean | undefined =>\n typeof value === 'boolean' ? value : undefined;\n\nconst validateUnsavedChangesBehavior = (value: unknown): string | undefined => {\n if (typeof value !== 'string') return undefined;\n return ['prompt', 'autoSave', 'discard'].includes(value)\n ? value\n : undefined;\n};\n\nconst validateType = (validValues: string[]) => (value: unknown) => {\n if (typeof value !== 'string') return undefined;\n const receivedValue = value.toUpperCase();\n return validValues.includes(receivedValue) ? receivedValue : undefined;\n};\n\nexport const DX_VALIDATOR_MAP: ValidationMap = {\n 'customStyles.header.height': numberMinMaxValue(300, 10),\n 'customStyles.text.fontSize': fontSizeMinMaxValue(8, 96),\n 'customStyles.text.fontColor': fontColorValue,\n 'customStyles.container.borderWidth': numberMinMaxValue(20, 1),\n 'customStyles.line.lineWidth': numberMinMaxValue(20, 1),\n 'customStyles.rectangle.borderWidth': numberMinMaxValue(20, 1),\n 'customStyles.ellipse.borderWidth': numberMinMaxValue(20, 1),\n 'customStyles.container.borderRadius': numberMinMaxValue(100, 0),\n\n // Filter Controls: MULTISELECT LIST\n 'customStyles.filterList.type': validateType(['LIST', 'DROPDOWN']),\n 'customStyles.filterList.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: INPUTBOX\n 'customStyles.filterInput.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Filter Controls: DATE\n 'customStyles.filterDate.triggerType': validateType([\n 'BUTTON',\n 'AUTOMATIC',\n ]),\n\n // Unsaved Changes Behavior\n unsavedChangesBehavior: validateUnsavedChangesBehavior,\n\n // Download modal\n 'downloadModal.subscribeMyself': validateBoolean,\n};\n\nexport const DOWNLOAD_MODAL_VALIDATOR_MAP: ValidationMap = {\n subscribeMyself: validateBoolean,\n};\n","import { WidgetConfig } from '../models/structure.models';\n\n// Keys of the export modal (qui-schedule-exporting-modal) at its own root; hosts import them under their downloadModal section.\nexport const DOWNLOAD_MODAL_V1_KEYS = [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n 'qSubscribeBanner',\n 'qSubscribeOwner',\n 'qSubscribeOrganization',\n 'qSubscribeMyself',\n 'qSubscribeSpecificPeople',\n 'qIncludeHyperlinks',\n] as const;\n\nexport type DownloadModalKey = (typeof DOWNLOAD_MODAL_V1_KEYS)[number];\n\n// The Subscribe elements split what qSubscribeOption controlled, so a keep list naming it keeps them too.\nexport const DOWNLOAD_MODAL_V1_KEEP_INHERITANCE: Record<\n string,\n DownloadModalKey\n> = {\n qSubscribeBanner: 'qSubscribeOption',\n qSubscribeOwner: 'qSubscribeOption',\n qSubscribeOrganization: 'qSubscribeOption',\n qSubscribeMyself: 'qSubscribeOption',\n qSubscribeSpecificPeople: 'qSubscribeOption',\n};\n\nexport const DOWNLOAD_MODAL_V1_DEFAULTS = {\n subscribeMyself: true,\n};\n\nconst downloadModalV1Config: WidgetConfig = {\n version: '1.0',\n keepInheritance: DOWNLOAD_MODAL_V1_KEEP_INHERITANCE,\n baseStructure: {\n defaults: { ...DOWNLOAD_MODAL_V1_DEFAULTS },\n ...Object.fromEntries(DOWNLOAD_MODAL_V1_KEYS.map((key) => [key, true])),\n },\n};\n\nexport default downloadModalV1Config;\n","import { WidgetConfig } from '../models/structure.models';\nimport {\n DOWNLOAD_MODAL_V1_KEEP_INHERITANCE,\n DOWNLOAD_MODAL_V1_KEYS,\n} from './download-modal.structure.v1';\n\n// The download modal's keys come from its own structure; qExportVersion and the two warnings are DashboardX's slot content.\nconst DOWNLOAD_MODAL_HOST_KEYS = [\n 'qExportVersion',\n 'qSavedVersionWarning',\n 'qUnsavedVersionWarning',\n];\n\nconst dashboardV1Config: WidgetConfig = {\n version: '1.0',\n keepInheritance: Object.fromEntries(\n Object.entries(DOWNLOAD_MODAL_V1_KEEP_INHERITANCE).map(\n ([key, alias]) => [\n `downloadModal.${key}`,\n `downloadModal.${alias}`,\n ],\n ),\n ),\n baseStructure: {\n views: {\n list: [\n 'navBar',\n 'assetList',\n 'controlBarLeft',\n 'controlBarRight',\n 'qQvTokenExpiredMessage',\n 'duplicateModal',\n ],\n design: [\n 'navBar',\n 'header',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'downloadModal',\n 'canvas',\n 'qQvTokenExpiredMessage',\n 'duplicateModal',\n ],\n preview: [\n 'navBar',\n 'header',\n 'controlBarRight',\n 'filterPanel',\n 'qGoToDashBackButton',\n 'qQvTokenExpiredMessage',\n ],\n endUser: [\n 'navBar',\n 'toolBar',\n 'filterPanel',\n 'downloadModal',\n 'canvas',\n 'qGoToDashBackButton',\n 'qQvTokenExpiredMessage',\n ],\n },\n\n navBar: ['qAppTitle', 'qBackButton'],\n\n endUserTopBar: ['indicator', 'options'],\n\n assetList: {\n defaults: {\n assetListViewMode: 'card',\n },\n asset: {\n optionMenu: [\n 'qEditDash',\n 'qUseDash',\n 'qRenameDash',\n 'qDeleteDash',\n 'qDuplDash',\n 'qDuplDashAndCharts',\n 'qManageSharing',\n ],\n card: [\n 'qFavorite',\n 'qCreatedDate',\n 'qLastModifDate',\n 'qStatus',\n 'qNumberOfCharts',\n 'qSharing',\n 'qSharingIcon',\n 'qOwner',\n 'qDescription',\n ],\n table: [\n 'qFavorite',\n 'qCreatedDate',\n 'qLastModifDate',\n 'qStatus',\n 'qNumberOfCharts',\n 'qSharing',\n 'qSharingIcon',\n 'qOwner',\n 'qDescription',\n ],\n },\n },\n\n canvas: {\n defaults: {\n removeElement: true,\n dragElement: true,\n resizeElement: true,\n },\n },\n\n controlBarLeft: ['qCreateDash'],\n\n controlBarRight: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qSelectColumn',\n 'qStatus',\n 'qPreview',\n 'qDiscard',\n 'qPublish',\n 'qUnpublish',\n 'qSwitchMode',\n 'qDesign',\n 'qDownloadList',\n ],\n\n header: ['qDashFavorite', 'qSharingIcon', 'qDashName', 'qDashDesc'],\n\n menuBar: {\n file: [\n 'qMnuCreateDash',\n 'qMnuOpenDash',\n 'qMnuDuplicateDash',\n 'qMnuDuplicateDashAndCharts',\n 'qMnuCanvasSize',\n 'qMnuThemes',\n 'qManageSharing',\n 'qMnuDeleteDash',\n {\n qCreateDataset: [\n 'qCreateCustomDataset',\n 'qViewCustomDataset',\n ],\n qMnuDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n },\n ],\n edit: [\n 'qUndoRedo',\n 'qCopyElement',\n 'qPasteElement',\n 'qCutElement',\n 'qRemoveElement',\n 'qDuplElement',\n 'qSelectAllElem',\n 'qSelectAllContElem',\n ],\n grid: ['qMnuSnapToGrid', 'qMnuDisplayGrid', 'qMnuSwitchGrid'],\n insert: [\n {\n qMnuInsertChart: [\n 'qMnuExistingChart',\n 'qMnuNewChart',\n 'qMnuNewChartAI',\n ],\n qMnuInsertFilterCtrl: [\n 'qMnuDatePicker',\n 'qMnuInputBox',\n 'qMnuMultiSelectList',\n 'qMnuSingleSelectList',\n ],\n qMnuInsertShape: [\n 'qMnuLine',\n 'qMnuRectangle',\n 'qMnuEllipse',\n ],\n },\n 'qMnuInsertText',\n 'qMnuInsertImage',\n 'qMnuInsertButton',\n 'qMnuInsertContainer',\n 'qMnuInsertHeader',\n 'qMnuInsertTabs',\n ],\n qMnuArrange: [\n 'qMnuBringToFront',\n 'qMnuSendToBack',\n {\n qMnuAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n },\n ],\n },\n toolBar: [\n 'qCanvasSize',\n {\n qInsertChart: ['qExistingChart', 'qNewChart', 'qNewChartAI'],\n qInsertFilterCtrl: [\n 'qDatePicker',\n 'qInputBox',\n 'qMultiSelectList',\n 'qSingleSelectList',\n ],\n qInsertShape: ['qLine', 'qRectangle', 'qEllipse'],\n grid: ['qSnapToGrid', 'qDisplayGrid', 'qSwitchGrid'],\n qDownloadDash: [\n 'qDashPDF',\n 'qDashCSV',\n 'qDashExcel',\n 'qDashDataset',\n ],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qResponsiveView: [\n 'qDesktop',\n 'qTablet',\n 'qMobile',\n 'qBreakpoints',\n ],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n qCreateDataset: ['qCreateCustomDataset', 'qViewCustomDataset'],\n },\n 'qInsertText',\n 'qInsertImage',\n 'qInsertButton',\n 'qInsertContainer',\n 'qRespGridMargins',\n 'qRespGridColumns',\n 'qThemes',\n 'qUndoRedo',\n\n // only for end user\n 'qDashVersion',\n 'qGetDashVersion',\n 'qSourceDashBanner',\n 'qHiddenItems',\n 'qDiscard',\n 'qSave',\n 'qSwitchMode',\n 'qHideToolBar',\n 'qDownloadList',\n 'qChangeLayout',\n ],\n qQvTokenExpiredMessage: true,\n qGoToDashBackButton: true,\n configPanel: true,\n filterPanel: {\n qAddFilter: true,\n qEnabDisabAllFilters: true,\n qDeleteAllFilters: true,\n qFilterSettings: true,\n viewOnlyFilterScope: true,\n dashFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n tabFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n containerFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n panelFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n },\n downloadModal: [...DOWNLOAD_MODAL_V1_KEYS, ...DOWNLOAD_MODAL_HOST_KEYS],\n duplicateModal: [\n 'qCharts',\n 'qFilters',\n 'qDashActions',\n {\n options: {\n defaults: {\n qCharts: true,\n qFilters: true,\n qDashActions: true,\n },\n },\n },\n ],\n subModules: {\n chartPanel: {},\n chartGallery: {},\n chartBuilder: {},\n },\n },\n};\n\nexport default dashboardV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst downloadManagerV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n views: {\n main: [\n 'header',\n 'controlBar',\n 'assetList',\n 'moreInfoModal',\n 'downloadModal',\n ],\n detail: [\n 'header',\n 'controlBar',\n 'assetList',\n 'moreInfoModal',\n 'bottomBar',\n 'downloadModal',\n ],\n },\n header: ['qTitle'],\n controlBar: {\n defaults: {\n filters: {},\n },\n qFilterByFileType: [\n 'qTypePDF',\n 'qTypeJPG',\n 'qTypeCSV',\n 'qTypeExcel',\n 'qTypeZIP',\n ],\n qFilterByExecution: ['qExecScheduled', 'qExecOthers'],\n qFilterByWidget: [\n 'qWidgetAnalyze',\n 'qWidgetAutomation',\n 'qWidgetDash',\n 'qWidgetLegacyDash',\n 'qWidgetSubscriptions',\n 'qWidgetPPR',\n ],\n qFilterByAsset: true,\n qFilterByOrganization: true,\n qFilterByOwner: true,\n qSearch: true,\n qRemoveFilters: true,\n qScheduleDetail: true,\n qFilesExported: true,\n qMoreInfo: true,\n },\n\n assetList: {\n asset: [\n {\n optionMenu: [\n 'qDelete',\n 'qMoreInfo',\n 'qDeleteAllFiles',\n 'qEditSched',\n 'qPauseRestartSched',\n 'qUnsubscribe',\n 'qSubscribe',\n ],\n table: [\n 'qType',\n 'qSchedule',\n 'qSize',\n 'qCreationDate',\n 'qExpirationDate',\n 'qDownload',\n 'qOrganization',\n 'qOwner',\n ],\n },\n 'qDrillToDetail',\n 'qUnsubscribe',\n 'qSubscribe',\n ],\n },\n\n bottomBar: [\n 'qDeleteAllFiles',\n 'qEditSched',\n 'qPauseRestartSched',\n 'qDelete',\n ],\n\n downloadModal: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n 'qIncludeHyperlinks',\n ],\n\n moreInfoModal: [\n 'qFileType',\n 'qSource',\n 'qOwner',\n 'qApplication',\n 'qPath',\n 'qOrganization',\n 'qErrorMessage',\n ],\n },\n};\n\nexport default downloadManagerV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst reportV1Config: WidgetConfig = {\n version: '1.0',\n\n baseStructure: {\n views: {\n list: ['navBar', 'assetList', 'controlBarLeft', 'controlBarRight'],\n design: [\n 'navBar',\n 'controlBarRight',\n 'menuBar',\n 'toolBar',\n 'configPanel',\n 'filterPanel',\n 'dataPanel',\n ],\n preview: [\n 'navBar',\n 'tabBar',\n 'toolBar',\n 'pagePreview',\n 'controlBarRight',\n 'downloadModal',\n ],\n },\n navBar: ['qAppTitle', 'qBackButton'],\n tabBar: ['qTabSelector', 'qScrollButton'],\n assetList: {\n defaults: {\n assetListViewMode: 'card',\n },\n asset: {\n optionMenu: [\n 'qEditRep',\n 'qRenameRep',\n 'qDeleteRep',\n 'qDuplRep',\n ],\n },\n },\n\n controlBarLeft: ['qCreateRep'],\n\n controlBarRight: [\n 'qSwitchView',\n 'timezone',\n 'qFilterBy',\n 'qSortBy',\n 'qSearch',\n 'qPreview',\n 'qDesign',\n ],\n\n menuBar: {\n edit: ['qCopyElement', 'qPasteElement'],\n },\n toolBar: [\n 'qPageSetup',\n {\n qInsertShape: ['qLine', 'qRectangle', 'qEllipse'],\n grid: ['qDisplayRuler', 'qDisplayGrid'],\n qArrange: ['qBringToFront', 'qSendToBack'],\n qAlign: [\n 'qAlignRight',\n 'qAlignLeft',\n 'qAlignCenter',\n 'qAlignTop',\n 'qAlignMiddle',\n 'qAlignBottom',\n ],\n qDownloadReport: [\n 'qReportPDF',\n 'qReportExcel',\n ],\n },\n 'qUndoRedo',\n 'qInsertDTable',\n 'qInsertSTable',\n 'qInsertImage',\n 'qInsertText',\n 'qInsertPageGroup',\n 'qInsertFormula',\n 'qInsertBucket',\n 'qInsertPageBreak',\n ],\n configPanel: true,\n dataPanel: {\n tabDataset: ['qChangeDataSet', 'qSearch'],\n tabParameters: ['qAddParameter', 'qSearch'],\n },\n filterPanel: {\n qAddFilter: true,\n qEnabDisabAllFilters: true,\n qDeleteAllFilters: true,\n qFilterSettings: true,\n repoFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n tabFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n panelFilterScope: [\n 'qEditFilter',\n 'qEnabDisabFilter',\n 'qDeleteFilter',\n ],\n },\n downloadModal: [\n 'qScheduleOption',\n 'qSubscribeOption',\n 'qSubscribeExternalUsers',\n ],\n },\n};\n\nexport default reportV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst optionMenuChildren = [\n 'qEditChart',\n 'qDuplicateChart',\n {\n qDownloadChart: [\n 'qChartJPG',\n 'qChartPDF',\n 'qChartCSV',\n 'qChartSummary',\n 'qChartExcel',\n ],\n },\n];\n\nconst headerConfig = [\n 'qChartName',\n 'qFitPanel',\n 'qChartSelection',\n 'qColumnSection',\n 'qSorting',\n 'qColumnReplacement',\n 'qColumnAggregation',\n 'qColumnGrouping',\n 'qDateGrouping',\n 'qColumnSelection',\n 'qResetColumnsWidth',\n 'qSmartAnalyzer',\n { optionMenu: optionMenuChildren },\n {\n qFilter: [\n 'qAddFilter',\n { dashFilterScope: ['qEditFilter', 'qDeleteFilter'] },\n { tabFilterScope: ['qEditFilter', 'qDeleteFilter'] },\n { panelFilterScope: ['qEditFilter', 'qDeleteFilter'] },\n ],\n },\n {\n optionDateGrouping: [\n 'qDayOnly',\n 'qMonth',\n 'qMonthOnly',\n 'qQuarter',\n 'qQuarterOnly',\n 'qWeek',\n 'qYear',\n 'qDay',\n 'qHour',\n 'qHourOnly',\n 'qMinute',\n 'qMinuteOnly',\n 'qSecond',\n 'qSecondOnly',\n ],\n },\n];\n\nconst floatingMenuConfig = [\n ...headerConfig.filter(\n (item) => typeof item !== 'object' || !('optionMenu' in item),\n ),\n ...optionMenuChildren,\n];\n\nconst chartPanelV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n header: headerConfig,\n floatingMenu: floatingMenuConfig,\n menuLayout: { defaults: { menuLayout: undefined } },\n body: ['actions', 'qComparativeAnalysis'],\n },\n};\n\nexport default chartPanelV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst chartGalleryV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n chartTypeFilter: true,\n showSummary: true,\n inputSearch: true,\n switch: true,\n subModules: {\n chartPanel: {\n title: false,\n },\n },\n },\n};\nexport default chartGalleryV1Config;\n","import { WidgetConfig } from '../models/structure.models';\n\nconst chartBuilderV1Config: WidgetConfig = {\n version: '1.0',\n baseStructure: {\n chartTypeFilter: true,\n showSummary: true,\n inputSearch: true,\n switch: true,\n subModules: {\n chartPanel: {\n title: false,\n },\n },\n },\n};\nexport default chartBuilderV1Config;\n","import { Widget, WidgetVersion } from './structure.constants';\nimport { WidgetConfigsMap } from './widget.config';\nimport { ValidationMap } from '../models/structure.models';\nimport {\n DOWNLOAD_MODAL_VALIDATOR_MAP,\n DX_VALIDATOR_MAP,\n} from '../utils/defaults.helpers';\nimport dashboardV1Config from '../structures/dashboard.structure.v1';\nimport downloadManagerV1Config from '../structures/download-manager.structure.v1';\nimport reportV1Config from '../structures/report.structure.v1';\nimport downloadModalV1Config from '../structures/download-modal.structure.v1';\nimport chartPanelV1Config from '../structures/chart-panel.structure.v1';\nimport chartGalleryV1Config from '../structures/chart-gallery.structure.v1';\nimport chartBuilderV1Config from '../structures/chart-builder.structure.v1';\n\nexport const widgetConfigs: WidgetConfigsMap = {\n [Widget.DASHBOARD]: {\n [WidgetVersion.v1]: dashboardV1Config,\n [WidgetVersion.latest]: dashboardV1Config,\n },\n [Widget.REPORT]: {\n [WidgetVersion.v1]: reportV1Config,\n [WidgetVersion.latest]: reportV1Config,\n },\n [Widget.DOWNLOAD_MANAGER]: {\n [WidgetVersion.v1]: downloadManagerV1Config,\n [WidgetVersion.latest]: downloadManagerV1Config,\n },\n [Widget.DOWNLOAD_MODAL]: {\n [WidgetVersion.v1]: downloadModalV1Config,\n [WidgetVersion.latest]: downloadModalV1Config,\n },\n [Widget.CHART_PANEL]: {\n [WidgetVersion.v1]: chartPanelV1Config,\n [WidgetVersion.latest]: chartPanelV1Config,\n },\n [Widget.CHART_GALLERY]: {\n [WidgetVersion.v1]: chartGalleryV1Config,\n [WidgetVersion.latest]: chartGalleryV1Config,\n },\n [Widget.CHART_BUILDER]: {\n [WidgetVersion.v1]: chartBuilderV1Config,\n [WidgetVersion.latest]: chartBuilderV1Config,\n },\n};\n\n// Validators applied to customization defaults when the caller passes none; the analytics widgets never validated theirs.\nexport const widgetValidators: Partial<Record<Widget, ValidationMap>> = {\n [Widget.DASHBOARD]: DX_VALIDATOR_MAP,\n [Widget.REPORT]: DX_VALIDATOR_MAP,\n [Widget.DOWNLOAD_MANAGER]: DX_VALIDATOR_MAP,\n [Widget.DOWNLOAD_MODAL]: DOWNLOAD_MODAL_VALIDATOR_MAP,\n};\n","export const allowedOperators = [\n '=',\n '!=',\n '>',\n '>=',\n '<',\n '<=',\n 'startsWith',\n 'endsWith',\n 'contains',\n] as const;\nexport type Operators = (typeof allowedOperators)[number];\n\nexport type ConditionValue = string | number;\n\nexport interface Condition {\n field: string;\n operator: Operators;\n value: ConditionValue;\n}\n\nexport type ConditionState = Record<string, ConditionValue>;\n\nexport type OperatorConditionFn = (\n value: Condition,\n state: Record<string, ConditionValue>,\n) => boolean;\n","import {\n Condition,\n ConditionState,\n ConditionValue,\n OperatorConditionFn,\n Operators,\n allowedOperators,\n} from '../models/conditions.models';\nimport { WidgetItemCondition } from '../models/structure.models';\n\nfunction isOperator(value: string): value is Operators {\n return allowedOperators.includes(value as Operators);\n}\n\nfunction getValue(condition: Condition, state: ConditionState): ConditionValue {\n return state[condition.field];\n}\n\nfunction _evalConditionOperator(\n condition: Condition,\n state: ConditionState,\n operator: (a: ConditionValue, b: ConditionValue) => boolean,\n): boolean {\n const value = getValue(condition, state);\n if (value == null) return false;\n return operator(value, condition.value);\n}\n\nconst OPERATOR_MAP: Record<Operators, OperatorConditionFn> = {\n '=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a == b),\n '!=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a != b),\n '<': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a < b),\n '<=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a <= b),\n '>': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a > b),\n '>=': (condition, state) =>\n _evalConditionOperator(condition, state, (a, b) => a >= b),\n\n startsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' &&\n typeof b === 'string' &&\n a.startsWith(b),\n ),\n\n endsWith: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.endsWith(b),\n ),\n\n contains: (condition, state) =>\n _evalConditionOperator(\n condition,\n state,\n (a, b) =>\n typeof a === 'string' && typeof b === 'string' && a.includes(b),\n ),\n};\n\nexport function evaluateCondition(\n state: ConditionState | undefined,\n ...conditions: Condition[]\n): boolean {\n if (!state) return false;\n if (conditions.length === 0) return true;\n return conditions.every((c) => _evalCondition(state, c));\n}\n\nfunction _evalCondition(state: ConditionState, condition: Condition): boolean {\n if (!isOperator(condition.operator)) return false;\n const evalFn = OPERATOR_MAP[condition.operator];\n return evalFn(condition, state);\n}\n\nexport function checkConditions(\n state: ConditionState | undefined,\n conditions: WidgetItemCondition[],\n): boolean {\n if (!state) return false;\n for (const cond of conditions) {\n if (cond.effect === 'keep') continue;\n const result = evaluateCondition(state, cond.condition);\n if (result) return false;\n }\n return true;\n}\n","export interface MergeDeepSettings {\n mergeMissingProperties?: boolean;\n mergeExistingValues?: boolean;\n}\n\nexport function mergeDeep(\n obj1: any,\n obj2: any,\n settings?: MergeDeepSettings,\n): any {\n const defaultSettings = {\n mergeExistingValues: settings?.mergeExistingValues ?? true,\n mergeMissingProperties: settings?.mergeMissingProperties ?? true,\n };\n\n if (!isValid(obj1, obj2)) return objectCopy(obj1);\n\n const result: any = Array.isArray(obj1) ? [] : {};\n\n for (const key in obj1) {\n const val1 = obj1[key];\n const val2 = obj2?.[key];\n\n if (isObject(val1) || Array.isArray(val1)) {\n result[key] = mergeDeep(val1, val2, defaultSettings);\n } else if (key in obj2 && defaultSettings.mergeExistingValues) {\n result[key] = val2;\n } else {\n result[key] = val1;\n }\n }\n\n if (defaultSettings.mergeMissingProperties) {\n for (const key in obj2) {\n if (!(key in result)) {\n result[key] = obj2[key];\n }\n }\n }\n\n return result;\n}\n\nfunction isValid(obj1: any, obj2: any): boolean {\n return (\n (isObject(obj1) && isObject(obj2)) ||\n (Array.isArray(obj1) && Array.isArray(obj2))\n );\n}\n\nfunction objectCopy<T = any>(obj: T): T {\n if (obj === null || typeof obj !== 'object') return obj;\n\n if (Array.isArray(obj)) {\n return obj.map((item) => objectCopy(item)) as any;\n }\n\n const result: any = {};\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n result[key] = objectCopy((obj as any)[key]);\n }\n }\n\n return result;\n}\n\nfunction isObject(value: any): boolean {\n return (\n value !== null &&\n typeof value === 'object' &&\n !Array.isArray(value) &&\n Object.prototype.toString.call(value) === '[object Object]'\n );\n}\n","import { ValidationMap, validateDefaults } from './defaults.helpers';\nimport { mergeDeep } from './merge.helpers';\nimport {\n STRUCTURE_RESERVED_WORDS,\n STRUCTURE_SECTION_NAME_SEPARATOR,\n STRUCTURE_VIEW_NAME_SEPARATOR,\n} from '../constants/structure.constants';\nimport { WidgetCustomization } from '../models/customization.models';\nimport {\n SanitizeFn,\n StructureEngineOptions,\n WidgetConditionMap,\n WidgetConfig,\n WidgetItemCondition,\n WidgetStructure,\n WidgetStructureRoot,\n WidgetViewMap,\n} from '../models/structure.models';\n\ntype hasKeepOptType = 'root' | 'view';\n\ninterface CalculateViewOptions {\n viewKeys?: string[];\n pathPrefix?: string;\n viewPrefix?: string;\n hasKeepOption?: hasKeepOptType;\n prevDefaults?: Record<string, unknown>;\n customDefaults?: Record<string, unknown>;\n conditionMaps?: WidgetConditionMap[];\n checkCondition?: boolean;\n keepAliases?: Record<string, string>;\n}\n\ninterface ViewMapOptions extends StructureEngineOptions {\n keepInheritance?: Record<string, string>;\n}\n\ntype ConditionAffectValue = false | 'keep' | 'remove';\n\ninterface InsertionResult {\n canInsert: boolean;\n conditionAffect: ConditionAffectValue;\n}\n\n/**\n * constructs the permission map structure for a widget\n * @param config configuration of a widget\n * @param customization customization options for a widget\n * @param validationMap\n * @returns object representing the view map for the widget\n */\nexport function getWidgetStructure(\n config: WidgetConfig,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n options?: StructureEngineOptions,\n): WidgetViewMap {\n return calculateViewMap(\n config.baseStructure,\n customization,\n validationMap,\n {\n ...options,\n keepInheritance: config.keepInheritance,\n },\n );\n}\n\nexport function calculateViewMap(\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n options?: ViewMapOptions,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n const keepAliases = options?.keepInheritance;\n if (config.views) {\n for (const view in config.views) {\n Object.assign(\n permissionMap,\n calculateSpecificViewMap(\n view,\n config,\n customization,\n validationMap,\n options,\n ),\n );\n }\n } else {\n const customDefaults = calculateCustomDefaults(\n customization,\n undefined,\n validationMap,\n options?.sanitize,\n );\n const prevDefaults = config.defaults;\n\n const submodules = calculateSubmodules(config, customization);\n if (submodules) {\n permissionMap.subModules = submodules;\n }\n\n const conditionMaps = calculateConditions(\n config,\n customization,\n undefined,\n keepAliases,\n );\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n prevDefaults,\n customDefaults,\n conditionMaps,\n keepAliases,\n }),\n );\n }\n return permissionMap;\n}\n\n/**\n * Defaults at the root of a structure without views (structure defaults merged with the customization's).\n */\nexport function calculateRootDefaults(\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n sanitize?: SanitizeFn,\n): Record<string, unknown> | undefined {\n return calculateDefaults(\n config.defaults as Record<string, unknown> | undefined,\n undefined,\n calculateCustomDefaults(\n customization,\n undefined,\n validationMap,\n sanitize,\n ),\n );\n}\n\nfunction calculateSpecificViewMap(\n view: string,\n config: WidgetStructureRoot,\n customization?: WidgetCustomization,\n validationMap?: ValidationMap,\n options?: ViewMapOptions,\n) {\n const viewDefinition = config.views![view];\n const keepAliases = options?.keepInheritance;\n const customDefaults = calculateCustomDefaults(\n customization,\n view,\n validationMap,\n options?.sanitize,\n );\n const prevDefaults = config.defaults;\n\n const permissionMap: WidgetViewMap = {};\n\n const submodules = calculateSubmodules(config, customization, view);\n if (submodules) {\n permissionMap[`${view}::subModules`] = submodules;\n }\n\n const conditionMaps =\n options?.viewConditionals === false\n ? undefined\n : calculateConditions(config, customization, view, keepAliases);\n\n Object.assign(\n permissionMap,\n calculatePermissionMap(config, customization, {\n viewKeys: viewDefinition,\n viewPrefix: view,\n prevDefaults,\n customDefaults,\n conditionMaps,\n keepAliases,\n }),\n );\n\n return permissionMap;\n}\n\nfunction getViewPrefix(view?: string) {\n return view ? `${view}${STRUCTURE_VIEW_NAME_SEPARATOR}` : '';\n}\n\nfunction getStructureKey(key: string, viewPrefix?: string): string {\n const viewValue = getViewPrefix(viewPrefix);\n return `${viewValue}${key}`;\n}\n\nconst matchWildcard = (pattern: string, value: string): boolean => {\n const regexPattern = new RegExp(\n '^' + pattern.replace(/\\./g, '\\\\.').replace(/\\*/g, '.*') + '$',\n );\n return regexPattern.test(value);\n};\n\nfunction keyIsIncludedInKeep(\n key: string,\n customization: WidgetCustomization,\n keepAliases?: Record<string, string>,\n): boolean {\n const { keep = [] } = customization;\n const alias = keepAliases?.[key];\n for (const pattern of keep) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n if (alias && (pattern === alias || matchWildcard(pattern, alias))) {\n return true;\n }\n }\n return false;\n}\n\nfunction keyIsIncludedInRemove(\n key: string,\n customization: WidgetCustomization,\n): boolean {\n const { remove = [] } = customization;\n for (const pattern of remove) {\n if (pattern === key || matchWildcard(pattern, key)) {\n return true;\n }\n }\n return false;\n}\n\nfunction canInsertInCustomization(\n key: string,\n customization: WidgetCustomization,\n validateKeepOption?: boolean,\n keepAliases?: Record<string, string>,\n): InsertionResult {\n const includedInRemove = keyIsIncludedInRemove(key, customization);\n const includedInKeep = keyIsIncludedInKeep(key, customization, keepAliases);\n const canInsert =\n !includedInRemove && (!validateKeepOption || includedInKeep);\n\n const keepValue = includedInKeep ? 'keep' : 'remove';\n const keepResult = validateKeepOption ? keepValue : false;\n const conditionAffect = includedInRemove ? 'remove' : keepResult;\n return { canInsert, conditionAffect };\n}\n\nfunction evalInsertKey(\n key: string,\n {\n viewKeys,\n viewPrefix = '',\n hasKeepOption,\n keepAliases,\n }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const customizationView = customization?.views?.[viewPrefix];\n\n const custCanInsert: InsertionResult = customization\n ? canInsertInCustomization(\n key,\n customization,\n hasKeepOption === 'root',\n keepAliases,\n )\n : {\n canInsert: true,\n conditionAffect: false,\n };\n const custViewCanInsert: InsertionResult = customizationView\n ? canInsertInCustomization(\n key,\n customizationView,\n hasKeepOption === 'view',\n keepAliases,\n )\n : {\n canInsert: true,\n conditionAffect: false,\n };\n\n // validate remove and keep attributes for views.\n const canInsert =\n (!viewKeys || viewKeys.some((x) => key.startsWith(x))) &&\n custCanInsert.canInsert &&\n custViewCanInsert.canInsert;\n\n const conditionAffect =\n custCanInsert.conditionAffect || custViewCanInsert.conditionAffect;\n\n return { canInsert, conditionAffect };\n}\n\nfunction canInsertKey(\n key: string,\n {\n viewKeys,\n viewPrefix = '',\n hasKeepOption,\n checkCondition = false,\n keepAliases,\n }: CalculateViewOptions,\n customization?: WidgetCustomization,\n): InsertionResult {\n const result = evalInsertKey(\n key,\n { viewKeys, viewPrefix, hasKeepOption, checkCondition, keepAliases },\n customization,\n );\n const canInsert = checkCondition || result.canInsert;\n return { canInsert, conditionAffect: result.conditionAffect };\n}\n\nfunction addKeyToPermissions(\n permissionMap: WidgetViewMap,\n key: string,\n { viewPrefix, checkCondition, conditionMaps }: CalculateViewOptions,\n defaults?: Record<string, unknown>,\n childMap?: WidgetViewMap,\n conditionAffect?: ConditionAffectValue,\n) {\n const keyAttr = getStructureKey(key, viewPrefix);\n\n if (checkCondition && conditionAffect != null) {\n permissionMap[keyAttr] = conditionAffect;\n return;\n }\n\n const addDefaultKey = defaults && Object.keys(defaults).length > 0;\n const addChildMapKey = childMap && Object.keys(childMap).length > 0;\n const conditions = getConditionsForKey(key, conditionMaps);\n\n permissionMap[keyAttr] =\n !addDefaultKey && !addChildMapKey && !conditions\n ? true\n : {\n ...(addDefaultKey && { defaults }),\n ...(addChildMapKey && { childMap }),\n ...(conditions && { conditions }),\n };\n}\n\nfunction calculatePermissionMap(\n config: WidgetStructure | Record<string, WidgetStructure>,\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n pathPrefix = '',\n viewPrefix = '',\n hasKeepOption: previousKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n keepAliases,\n }: CalculateViewOptions,\n) {\n const permissionMap: WidgetViewMap = {};\n const currentKeepOption = nodeHasKeepOption(config, customization, {\n viewPrefix,\n pathPrefix,\n });\n\n for (const key in config) {\n if (STRUCTURE_RESERVED_WORDS.includes(key)) {\n continue;\n }\n const hasKeepOption = previousKeepOption ?? currentKeepOption;\n const configValue = config[key];\n const currentKey = `${pathPrefix}${key}`;\n const newPrefix = `${currentKey}${STRUCTURE_SECTION_NAME_SEPARATOR}`;\n\n const canInsertResult = canInsertKey(\n currentKey,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n keepAliases,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n continue;\n }\n\n let defaults = prevDefaults;\n let childMap: WidgetViewMap | undefined = undefined;\n if (Array.isArray(configValue)) {\n // if it's an array, every element is a key\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n childMap = calculatePermissionMapArray(configValue, customization, {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n keepAliases,\n });\n\n Object.assign(permissionMap, childMap);\n } else if (\n typeof configValue === 'object' &&\n !Array.isArray(configValue)\n ) {\n defaults = calculateDefaults(\n prevDefaults,\n configValue.defaults as Record<string, unknown>,\n customDefaults,\n );\n // if it's an object, a recursive call is made\n childMap = calculatePermissionMap(\n configValue as WidgetStructure,\n customization,\n {\n viewKeys,\n viewPrefix,\n pathPrefix: newPrefix,\n prevDefaults: defaults,\n conditionMaps,\n checkCondition,\n keepAliases,\n },\n );\n Object.assign(permissionMap, childMap);\n } else if (typeof configValue === 'boolean' && !configValue) {\n // if it's a boolean and its false, it should be ignored\n continue;\n } else if (typeof configValue === 'boolean' && configValue) {\n defaults = calculateDefaults(\n prevDefaults,\n {} as Record<string, unknown>,\n customDefaults,\n );\n }\n\n addKeyToPermissions(\n permissionMap,\n currentKey,\n {\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaults,\n childMap,\n canInsertResult.conditionAffect,\n );\n }\n\n return permissionMap;\n}\n\nfunction getConditionsForKey(\n key: string,\n conditionMaps: WidgetConditionMap[] | undefined,\n): WidgetItemCondition[] | undefined {\n if (!conditionMaps || conditionMaps.length === 0) return undefined;\n const result = conditionMaps.reduce((result, x) => {\n const mapValue = x.map[key];\n if (\n typeof mapValue === 'string' &&\n (mapValue === 'keep' || mapValue === 'remove')\n ) {\n result.push({\n effect: mapValue,\n condition: x.condition,\n });\n }\n return result;\n }, [] as WidgetItemCondition[]);\n\n if (result.length === 0) return undefined;\n return result;\n}\n\nfunction calculateConditions(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n view?: string,\n keepAliases?: Record<string, string>,\n): WidgetConditionMap[] | undefined {\n const rootConditionals = customization?.conditional;\n const viewConditionals = view\n ? customization?.views?.[view]?.conditional\n : undefined;\n\n if (!rootConditionals && !viewConditionals) return undefined;\n\n const customConditionals = [\n ...(rootConditionals ?? []),\n ...(viewConditionals ?? []),\n ];\n return (\n customConditionals?.map((c) => ({\n condition: c.condition,\n map: calculatePermissionMap(config, c, {\n checkCondition: true,\n keepAliases,\n }),\n })) ?? undefined\n );\n}\n\nfunction calculateSubmodules(\n config: WidgetStructure,\n customization?: WidgetCustomization,\n view?: string,\n) {\n const viewSubmodules = view\n ? customization?.views?.[view]?.subModules\n : undefined;\n const customRootSubmodules = customization?.subModules;\n const customSubmodules = viewSubmodules\n ? mergeObjects(customRootSubmodules, viewSubmodules)\n : customRootSubmodules;\n return mergeObjects(config.subModules, customSubmodules);\n}\n\nfunction calculateCustomDefaults(\n customization?: WidgetCustomization,\n view?: string,\n validationMap?: ValidationMap,\n sanitize?: SanitizeFn,\n) {\n const viewDefaults = view\n ? customization?.views?.[view]?.defaults\n : undefined;\n const customRootDefaults = customization?.defaults ?? {};\n const defaultObj = viewDefaults\n ? mergeObjects(customRootDefaults, viewDefaults)\n : customRootDefaults;\n if (!defaultObj || (!validationMap && !sanitize)) return defaultObj;\n return validateDefaults(defaultObj, validationMap ?? {}, sanitize);\n}\n\nfunction calculateDefaults(\n structureDefaults: Record<string, unknown> | undefined,\n itemDefaults: Record<string, unknown> | undefined,\n customDefaults: Record<string, unknown> | undefined,\n) {\n const baseDefaults = mergeObjects(structureDefaults, itemDefaults);\n return mergeObjects(baseDefaults, customDefaults);\n}\n\nfunction mergeObjects(\n prevObj: Record<string, unknown> | undefined,\n newObj: Record<string, unknown> | undefined,\n): Record<string, unknown> | undefined {\n // if both of configurations are falsy return undefined;\n if (!newObj && !prevObj) return undefined;\n // if just the prev defaults has value, return it\n if (!newObj) return prevObj;\n // if the newDefaults value is different than an object\n if (typeof newObj !== 'object' || Array.isArray(newObj)) return prevObj;\n return !prevObj ? newObj : mergeDeep(prevObj, newObj);\n}\n\nfunction mapObjKeys(\n configValue: WidgetStructure,\n { pathPrefix }: CalculateViewOptions,\n) {\n return Object.keys(configValue).map((x) =>\n getStructureKey(`${pathPrefix}${x}`),\n );\n}\n\nfunction mapArrayKeys(\n configValue: (string | WidgetStructure)[],\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n) {\n return configValue.reduce((result, value) => {\n if (typeof value === 'string') {\n result.push(getStructureKey(`${pathPrefix}${value}`));\n } else {\n result.push(...mapObjKeys(value, { viewPrefix, pathPrefix }));\n }\n return result;\n }, [] as string[]);\n}\n\nfunction nodeHasKeepOption(\n configValue: WidgetStructure | (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n { viewPrefix, pathPrefix }: CalculateViewOptions,\n): hasKeepOptType | undefined {\n if (!customization) return;\n const nodeKeys = Array.isArray(configValue)\n ? mapArrayKeys(configValue, { viewPrefix, pathPrefix })\n : mapObjKeys(configValue, { viewPrefix, pathPrefix });\n const customizationView = viewPrefix\n ? customization?.views?.[viewPrefix]\n : undefined;\n for (const key of nodeKeys) {\n if (keyIsIncludedInKeep(key, customization)) {\n return 'root';\n } else if (\n customizationView &&\n keyIsIncludedInKeep(key, customizationView)\n ) {\n return 'view';\n }\n }\n return undefined;\n}\n\nfunction calculatePermissionMapArray(\n configValue: (string | WidgetStructure)[],\n customization: WidgetCustomization | undefined,\n {\n viewKeys,\n viewPrefix,\n pathPrefix,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n keepAliases,\n }: CalculateViewOptions,\n): WidgetViewMap {\n const permissionMap: WidgetViewMap = {};\n const hasKeepOption = nodeHasKeepOption(configValue, customization, {\n viewPrefix,\n pathPrefix,\n });\n const defaultsSimple = calculateDefaults(\n prevDefaults,\n undefined,\n customDefaults,\n );\n\n configValue.forEach((option) => {\n const fullPath = `${pathPrefix}${option}`;\n if (typeof option === 'string') {\n const canInsertResult = canInsertKey(\n fullPath,\n {\n viewKeys,\n viewPrefix,\n hasKeepOption,\n checkCondition,\n keepAliases,\n },\n customization,\n );\n if (!canInsertResult.canInsert) {\n return;\n }\n addKeyToPermissions(\n permissionMap,\n fullPath,\n {\n viewKeys,\n viewPrefix,\n checkCondition,\n conditionMaps,\n },\n defaultsSimple,\n undefined,\n canInsertResult.conditionAffect,\n );\n } else {\n Object.assign(\n permissionMap,\n calculatePermissionMap(option, customization, {\n viewKeys,\n pathPrefix,\n viewPrefix,\n hasKeepOption,\n prevDefaults,\n customDefaults,\n conditionMaps,\n checkCondition,\n keepAliases,\n }),\n );\n }\n });\n return permissionMap;\n}\n","import { widgetConfigs, widgetValidators } from './constants/configs';\nimport {\n STRUCTURE_SECTION_NAME_SEPARATOR,\n STRUCTURE_VIEW_NAME_SEPARATOR,\n Widget,\n WIDGET_STRUCTURE_SCOPE_FORMAT,\n WIDGET_STRUCTURE_SCOPE_KIND,\n WidgetVersion,\n} from './constants/structure.constants';\nimport { ConditionState } from './models/conditions.models';\nimport { WidgetCustomization } from './models/customization.models';\nimport { ScopeOptions, WidgetStructureScope } from './models/scope.models';\nimport {\n BuildStructureOptions,\n WidgetConfig,\n WidgetItemCondition,\n WidgetViewMap,\n} from './models/structure.models';\nimport { checkConditions } from './utils/conditions.helpers';\nimport {\n calculateRootDefaults,\n calculateViewMap,\n getWidgetStructure,\n} from './utils/structural.helpers';\n\nexport function getWidgetConfig(\n widget: Widget,\n version?: WidgetVersion,\n): WidgetConfig {\n const versionSet = version ?? WidgetVersion.latest;\n const widgetConfigurability = widgetConfigs[widget]?.[versionSet];\n if (!widgetConfigurability) {\n throw new Error(\n `No config found for widget ${widget} and version ${version}`,\n );\n }\n return widgetConfigurability;\n}\n\nexport function buildStructure(\n widget: Widget,\n customization?: WidgetCustomization,\n version?: WidgetVersion,\n options?: BuildStructureOptions,\n) {\n const config = getWidgetConfig(widget, version);\n const validationMap = options?.validationMap ?? widgetValidators[widget];\n const structureMap = getWidgetStructure(\n config,\n customization,\n validationMap,\n options,\n );\n const rootDefaults = config.baseStructure.views\n ? undefined\n : calculateRootDefaults(\n config.baseStructure,\n customization,\n validationMap,\n options?.sanitize,\n );\n return new WidgetStructureInstance(structureMap, rootDefaults);\n}\n\nexport class WidgetStructureInstance {\n constructor(\n private viewMap: WidgetViewMap,\n private rootDefaults?: Record<string, unknown>,\n ) {}\n\n private getValue(key: string) {\n return this.viewMap[key];\n }\n\n isVisible(key: string, state?: ConditionState): boolean {\n const value = this.getValue(key);\n if (!value) return false;\n if (typeof value === 'object' && value.conditions) {\n return checkConditions(\n state,\n value.conditions as WidgetItemCondition[],\n );\n }\n return true;\n }\n\n getChildMap(key: string): WidgetViewMap | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.childMap\n )\n return undefined;\n return value.childMap as WidgetViewMap;\n }\n\n getSubmodule(\n module: string,\n view?: string,\n ): WidgetCustomization | undefined {\n const key = `${view ? view + '::' : ''}subModules`;\n const value = this.getValue(key);\n return (value as Record<string, WidgetCustomization>)?.[module];\n }\n\n getDefaults(key: string): Record<string, unknown> | undefined {\n const value = this.getValue(key);\n if (\n !value ||\n typeof value === 'boolean' ||\n typeof value === 'string' ||\n !value.defaults\n )\n return undefined;\n return value.defaults as WidgetViewMap;\n }\n\n getRootDefaults(): Record<string, unknown> | undefined {\n return this.rootDefaults;\n }\n\n /**\n * Re-roots a resolved section (`design::downloadModal`) as plain JSON another bundle can rebuild a structure from.\n */\n scope(prefixKey: string, options: ScopeOptions = {}): WidgetStructureScope {\n const { widget, version, state } = options;\n const present = this.isVisible(prefixKey, state);\n const sectionPath =\n prefixKey.split(STRUCTURE_VIEW_NAME_SEPARATOR).pop() ?? prefixKey;\n const namespace =\n options.defaultsNamespace === undefined\n ? sectionPath.split(STRUCTURE_SECTION_NAME_SEPARATOR).pop()\n : options.defaultsNamespace;\n const sectionDefaults = present\n ? this.getDefaults(prefixKey)\n : undefined;\n const defaults = namespace\n ? (sectionDefaults?.[namespace] as\n | Record<string, unknown>\n | undefined)\n : sectionDefaults;\n const childPrefix = `${prefixKey}${STRUCTURE_SECTION_NAME_SEPARATOR}`;\n const map: Record<string, boolean> = {};\n let structureVersion: string | undefined;\n\n if (widget) {\n const config = getWidgetConfig(widget, version);\n structureVersion = config.version;\n Object.keys(calculateViewMap(config.baseStructure))\n .filter((key) => key !== 'subModules')\n .forEach((key) => {\n map[key] =\n present &&\n this.isVisible(`${childPrefix}${key}`, state);\n });\n } else if (present) {\n Object.keys(this.viewMap)\n .filter((key) => key.startsWith(childPrefix))\n .forEach((key) => {\n if (this.isVisible(key, state)) {\n map[key.slice(childPrefix.length)] = true;\n }\n });\n }\n\n return JSON.parse(\n JSON.stringify({\n kind: WIDGET_STRUCTURE_SCOPE_KIND,\n format: WIDGET_STRUCTURE_SCOPE_FORMAT,\n widget,\n structureVersion,\n source: prefixKey,\n present,\n map,\n defaults,\n }),\n );\n }\n}\n","import {\n Widget,\n WIDGET_STRUCTURE_SCOPE_FORMAT,\n WIDGET_STRUCTURE_SCOPE_KIND,\n WIDGET_SUBMODULE_NAMES,\n WidgetVersion,\n} from '../constants/structure.constants';\nimport { WidgetCustomization } from '../models/customization.models';\nimport { WidgetStructureScope } from '../models/scope.models';\nimport { BuildStructureOptions } from '../models/structure.models';\nimport { buildStructure, WidgetStructureInstance } from '../structural-manager';\nimport { mergeDeep } from './merge.helpers';\n\nexport type StructureInput =\n | WidgetStructureScope\n | WidgetCustomization\n | null\n | undefined;\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport function isWidgetStructureScope(\n value: unknown,\n): value is WidgetStructureScope {\n return isPlainObject(value) && value.kind === WIDGET_STRUCTURE_SCOPE_KIND;\n}\n\n/**\n * Turns a resolved scope back into a customization of the widget it lists: hidden keys become an explicit remove list.\n */\nexport function scopeToCustomization(\n scope: WidgetStructureScope,\n): WidgetCustomization {\n const remove = scope.present\n ? Object.keys(scope.map ?? {}).filter((key) => scope.map[key] === false)\n : ['*'];\n return {\n ...(remove.length ? { remove } : {}),\n ...(scope.defaults ? { defaults: scope.defaults } : {}),\n };\n}\n\n/**\n * Extracts a section of a host's customization as a customization of the embedded widget, by evaluating it with the host's engine.\n */\nexport function extractCustomization(\n host: Widget,\n customization: WidgetCustomization | undefined,\n prefixKey: string,\n target: Widget,\n options?: BuildStructureOptions,\n): WidgetCustomization {\n const hostStructure = buildStructure(\n host,\n customization,\n undefined,\n options,\n );\n return scopeToCustomization(\n hostStructure.scope(prefixKey, { widget: target }),\n );\n}\n\nfunction submoduleOf(\n input: WidgetCustomization,\n module: string,\n view?: string,\n): WidgetCustomization | undefined {\n const root = input.subModules?.[module];\n const fromView = view\n ? input.views?.[view]?.subModules?.[module]\n : undefined;\n if (!fromView) return root;\n return root ? mergeDeep(root, fromView) : fromView;\n}\n\n/**\n * Builds an embedded widget's structure from what its host passes: a resolved scope, a raw customization of the widget, or a host\n * customization carrying the widget under subModules. Returns undefined for no input or an invalid one, so the receiver keeps its\n * legacy behaviour.\n */\nexport function structureFrom(\n widget: Widget,\n input: unknown,\n view?: string,\n version?: WidgetVersion,\n): WidgetStructureInstance | undefined {\n if (input === undefined || input === null) return undefined;\n try {\n if (!isPlainObject(input)) {\n throw new Error('expected an object');\n }\n if ('kind' in input) {\n if (!isWidgetStructureScope(input)) {\n throw new Error(`unknown kind ${String(input.kind)}`);\n }\n if (input.format !== WIDGET_STRUCTURE_SCOPE_FORMAT) {\n throw new Error(`unknown scope format ${input.format}`);\n }\n if (input.widget && input.widget !== widget) {\n throw new Error(`scope of ${input.widget}, expected ${widget}`);\n }\n return buildStructure(widget, scopeToCustomization(input), version);\n }\n const customization = input as WidgetCustomization;\n const module = WIDGET_SUBMODULE_NAMES[widget];\n const submodule = module\n ? submoduleOf(customization, module, view)\n : undefined;\n return buildStructure(widget, submodule ?? customization, version);\n } catch (error) {\n console.warn(\n `[widget-configurability] ignoring the ${widget} customization: ${(error as Error).message}`,\n );\n return undefined;\n }\n}\n\n/**\n * Builds the structure of a widget a host embeds as a submodule (chartPanel, chartGallery, chartBuilder, downloadModal).\n */\nexport function structureFromSubmodule(\n parent: WidgetStructureInstance,\n module: string,\n view?: string,\n options?: BuildStructureOptions,\n): WidgetStructureInstance {\n const widget = (Object.keys(WIDGET_SUBMODULE_NAMES) as Widget[]).find(\n (key) => WIDGET_SUBMODULE_NAMES[key] === module,\n );\n if (!widget) {\n throw new Error(`No widget registered for the submodule ${module}`);\n }\n return buildStructure(\n widget,\n parent.getSubmodule(module, view),\n undefined,\n options,\n );\n}\n","import { WidgetStructureInstance } from '../structural-manager';\nimport { DownloadModalKey } from '../structures/download-modal.structure.v1';\n\nexport interface DownloadModalResolvedConfig {\n schedule: boolean;\n subscribe: boolean;\n banner: boolean;\n owner: boolean;\n organization: boolean;\n myself: boolean;\n specificPeople: boolean;\n externalUsers: boolean;\n subscribeMyselfDefault: boolean;\n}\n\nexport interface ResolveDownloadModalOptions {\n // False where the host never shows the organization checkbox (embedded), so it counts as hidden for the section rule.\n organizationAvailable?: boolean;\n}\n\n/**\n * The export modal's visibility rules: Schedule hides Subscribe, and Subscribe hides when it has nothing left to show.\n */\nexport function resolveDownloadModalConfig(\n structure: WidgetStructureInstance,\n { organizationAvailable = true }: ResolveDownloadModalOptions = {},\n): DownloadModalResolvedConfig {\n const visible = (key: DownloadModalKey) => structure.isVisible(key);\n const elements = {\n banner: visible('qSubscribeBanner'),\n owner: visible('qSubscribeOwner'),\n organization: visible('qSubscribeOrganization'),\n myself: visible('qSubscribeMyself'),\n specificPeople: visible('qSubscribeSpecificPeople'),\n };\n const schedule = visible('qScheduleOption');\n const anyElement =\n elements.banner ||\n elements.owner ||\n (organizationAvailable && elements.organization) ||\n elements.myself ||\n elements.specificPeople;\n return {\n ...elements,\n schedule,\n subscribe: schedule && visible('qSubscribeOption') && anyElement,\n externalUsers: visible('qSubscribeExternalUsers'),\n // A rejected value comes back undefined, which keeps the checkbox checked as it always started.\n subscribeMyselfDefault:\n structure.getRootDefaults()?.subscribeMyself !== false,\n };\n}\n","type DecoratorFactory = (metadata?: any) => PropertyDecorator;\n\nlet ApiProperty: DecoratorFactory;\n\n// module.require keeps bundlers from hoisting the optional swagger peer into a static browser import.\nconst nodeRequire = typeof module !== 'undefined' && typeof module.require === 'function' ? module.require.bind(module) : undefined;\n\ntry {\n ApiProperty = nodeRequire!('@nestjs/swagger').ApiProperty;\n} catch {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ApiProperty = (metadata?: unknown): PropertyDecorator => {\n return (): void => {};\n };\n}\n\nexport { ApiProperty };\n"]}
|