{"version":3,"file":"app-61136bb1.bfe4b529c42af6e2.bundle.js","mappings":"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","sources":["webpack://client-app/./src/app/components/object/compound-values-tool/command-row/command-row.scss","webpack://client-app/./src/app/components/object/compound-values-tool/compound-values-tool.scss","webpack://client-app/./src/app/components/object/export-grid/export-grid.scss","webpack://client-app/./src/app/components/object/compound-values-tool/command-row/command-row.html","webpack://client-app/./src/app/components/object/compound-values-tool/compound-values-tool.html","webpack://client-app/./src/app/components/object/export-grid/export-grid.html","webpack://client-app/./src/app/components/object/compound-values-tool/command-row/command-row.ts","webpack://client-app/./src/app/components/object/compound-values-tool/compound-values-tool.ts","webpack://client-app/./src/app/components/object/export-grid/export-grid.ts"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".compound-values-input-group{max-width:700px;flex-grow:1;flex-wrap:nowrap}.compound-values-target-parameter-select{width:150px;flex-grow:1}.separator-container{width:120px;display:flex;align-items:center;gap:5px;margin-left:5px;margin-right:5px}.parameter-choice{width:145px}.command-row-container{display:flex;gap:20px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/object/compound-values-tool/command-row/command-row.scss\"],\"names\":[],\"mappings\":\"AAAA,6BACC,eAAA,CACA,WAAA,CACA,gBAAA,CAGD,yCACC,WAAA,CACA,WAAA,CAGD,qBACC,WAAA,CACA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CACA,gBAAA,CAGD,kBACC,WAAA,CAGD,uBACC,YAAA,CACA,QAAA\",\"sourcesContent\":[\".compound-values-input-group {\\r\\n\\tmax-width: 700px;\\r\\n\\tflex-grow: 1;\\r\\n\\tflex-wrap: nowrap;\\r\\n}\\r\\n\\r\\n.compound-values-target-parameter-select {\\r\\n\\twidth: 150px;\\r\\n\\tflex-grow: 1;\\r\\n}\\r\\n\\r\\n.separator-container {\\r\\n\\twidth: 120px;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tgap: 5px;\\r\\n\\tmargin-left: 5px;\\r\\n\\tmargin-right: 5px;\\r\\n}\\r\\n\\r\\n.parameter-choice {\\r\\n\\twidth: 145px;\\r\\n}\\r\\n\\r\\n.command-row-container {\\r\\n\\tdisplay: flex;\\r\\n\\tgap: 20px;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".compound-values{margin:30px 10px 10px;display:flex;flex-direction:column;gap:20px}.compound-values-settings-bar{display:flex;flex-direction:row;gap:20px;align-items:center}.compound-values-settings-bar-container{display:flex;flex-direction:column;gap:20px}.compound-values-preview-table{border-style:solid;border-width:1px;border-radius:10px;border-color:#d3d3d3}.compound-values-label{margin-bottom:5px}.compound-values-button-container{display:flex;gap:5px}.compound-tool-header-bar{display:flex;align-items:baseline;gap:20px;justify-content:space-between;margin-bottom:10px}.compound-command-row-with-delete{display:flex;flex-direction:row;gap:5px}command-row{display:flex;flex-grow:1;justify-content:flex-end}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/object/compound-values-tool/compound-values-tool.scss\"],\"names\":[],\"mappings\":\"AAIA,iBACC,qBAAA,CACA,YAAA,CACA,qBAAA,CACA,QAAA,CAGD,8BACC,YAAA,CACA,kBAAA,CACA,QAAA,CACA,kBAAA,CAGD,wCACC,YAAA,CACA,qBAAA,CACA,QAAA,CAGD,+BACC,kBAAA,CACA,gBAAA,CACA,kBAAA,CACA,oBAAA,CAGD,uBACC,iBAAA,CAGD,kCACC,YAAA,CACA,OAAA,CAGD,0BACC,YAAA,CACA,oBAAA,CACA,QAAA,CACA,6BAAA,CACA,kBAAA,CAGD,kCACC,YAAA,CACA,kBAAA,CACA,OAAA,CAGD,YACC,YAAA,CACA,WAAA,CACA,wBAAA\",\"sourcesContent\":[\"@import \\\"./src/resources/customized-styles/variables.scss\\\";\\r\\n\\r\\n// TODO: Change all the class names to stop overlap with auto id styling\\r\\n\\r\\n.compound-values {\\r\\n\\tmargin: 30px 10px 10px;\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction: column;\\r\\n\\tgap: 20px;\\r\\n}\\r\\n\\r\\n.compound-values-settings-bar {\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction: row;\\r\\n\\tgap: 20px;\\r\\n\\talign-items: center;\\r\\n}\\r\\n\\r\\n.compound-values-settings-bar-container {\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction: column;\\r\\n\\tgap: 20px;\\r\\n}\\r\\n\\r\\n.compound-values-preview-table {\\r\\n\\tborder-style: solid;\\r\\n\\tborder-width: 1px;\\r\\n\\tborder-radius: 10px;\\r\\n\\tborder-color: lightgray;\\r\\n}\\r\\n\\r\\n.compound-values-label {\\r\\n\\tmargin-bottom: 5px;\\r\\n}\\r\\n\\r\\n.compound-values-button-container {\\r\\n\\tdisplay: flex;\\r\\n\\tgap: 5px;\\r\\n}\\r\\n\\r\\n.compound-tool-header-bar {\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: baseline;\\r\\n\\tgap: 20px;\\r\\n\\tjustify-content: space-between;\\r\\n\\tmargin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.compound-command-row-with-delete {\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction: row;\\r\\n\\tgap: 5px;\\r\\n}\\r\\n\\r\\ncommand-row {\\r\\n\\tdisplay: flex;\\r\\n\\tflex-grow: 1;\\r\\n\\tjustify-content: flex-end;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".export-grid-modal{width:500px}.export-grid{display:flex;flex-direction:column;overflow:hidden;position:relative;min-height:unset !important;width:100%}.export-grid-container{display:grid;gap:15px;padding:15px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/object/export-grid/export-grid.scss\",\"webpack://./src/resources/customized-styles/variables.scss\"],\"names\":[],\"mappings\":\"AAEA,mBACC,WAAA,CAGD,aACC,YAAA,CACA,qBAAA,CACA,eAAA,CACA,iBAAA,CACA,2BAAA,CACA,UAAA,CAEA,uBACC,YAAA,CACA,QCNO,CDOP,YCPO\",\"sourcesContent\":[\"@import \\\"./src/resources/customized-styles/variables.scss\\\";\\r\\n\\r\\n.export-grid-modal {\\r\\n\\twidth: 500px;\\r\\n}\\r\\n\\r\\n.export-grid {\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction: column;\\r\\n\\toverflow: hidden;\\r\\n\\tposition: relative;\\r\\n\\tmin-height: unset !important;\\r\\n\\twidth: 100%;\\r\\n\\r\\n\\t&-container{\\r\\n\\t\\tdisplay: grid;\\r\\n\\t\\tgap: $gutter;\\r\\n\\t\\tpadding: $gutter;\\r\\n\\t}\\r\\n}\\r\\n\",\"$text-color: #333;\\r\\n$accent: #00B3C9;\\r\\n$accent-15pct: #D9F4F7;\\r\\n$bs-default: #f1f3f4;\\r\\n$grey: #dddddd;\\r\\n$grey-light: #efefef;\\r\\n$grey-lighter: #F0F3F4;\\r\\n$grey-darker: #A5A3A3;\\r\\n$white-hsl-97: hsla(0deg, 0%, 97%, 1);\\r\\n\\r\\n$gutter: 15px;\\r\\n\\r\\n$box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.175);\\r\\n$box-shadow-right: 0.05rem 0 0.25rem rgba(0, 0, 0, 0.175);\\r\\n$box-shadow-left: -0.05rem 0 0.25rem rgba(0, 0, 0, 0.175);\\r\\n$box-shadow-color: rgba(0, 0, 0, 0.175);\\r\\n\\r\\n$border-color: rgba(0, 0, 0, 0.175);\\r\\n\\r\\n\\r\\n// Showroom header\\r\\n$showroom-header-height: 350px;\\r\\n$showroom-header-height-small: 150px;\\r\\n$showroom-header-height-mobile: 200px;\\r\\n\\r\\n// Navigation\\r\\n$nav-width: 275px;\\r\\n$nav-width-collapsed: 50px;\\r\\n$nav-height-mobile: 50px;\\r\\n\\r\\n// Top bar\\r\\n$top-bar-height: 4em;\\r\\n\\r\\n// CSS grid table\\r\\n$css-grid-header-height: calc(4em + 1px);\\r\\n\\r\\n// Object Presentation\\r\\n$object-presentation-left-content-width: 250px;\\r\\n$object-presentation-left-content-width-lg: 350px;\\r\\n$object-presentation-img-height: 250px;\\r\\n\\r\\n\\r\\n// Card deck\\r\\n$card-height: 250px;\\r\\n\\r\\n\\r\\n// Select\\r\\n$select-min-width: 200px;\\r\\n\\r\\n\\r\\n// Modal\\r\\n$modal-header-height: 50px;\\r\\n$modal-footer-height: 50px;\\r\\n\\r\\n// Object Properties\\r\\n$object-properties-width: 480px;\\r\\n$object-properties-width--detailed: 560px;\\r\\n$object-properties-width-mobile: 100vw;\\r\\n$object-properties-width-mobile--detailed: 100vw;\\r\\n$object-properties-width-tablet: 480px;\\r\\n$object-properties-width-tablet--detailed: 560px;\\r\\n\\r\\n// Notification Center\\r\\n$notification-center-width: 500px;\\r\\n\\r\\n// 7.0 z-index Setting\\r\\n\\r\\n$btn-scroll-to-top-zindex: 1020 !default;\\r\\n$content-zindex: 1020 !default;\\r\\n$float-submenu-zindex: 1020 !default;\\r\\n$footer-zindex: 1020 !default;\\r\\n$header-zindex: 1020 !default;\\r\\n$header-fixed-zindex: 1040 !default;\\r\\n$sidebar-zindex: 1010 !default;\\r\\n$top-menu-zindex: 1015 !default;\\r\\n$theme-panel-zindex: 1020 !default;\\r\\n$page-loader-zindex : 9999 !default;\\r\\n$page-title-zindex: 1020 !default;\\r\\n$pace-loader-zindex: 1030 !default;\\r\\n$panel-expand-zindex: 1080 !default;\\r\\n\\r\\n// 2.0 RTL Setting\\r\\n\\r\\n$enable-rtl: false !default;\\r\\n\\r\\n// 6.0 App Component Setting\\r\\n\\r\\n$boxed-layout-width: rem(1280px) !default;\\r\\n$content-padding-x: rem(30px) !default;\\r\\n$content-padding-y: rem(20px) !default;\\r\\n$content-padding-x-sm: rem(20px) !default;\\r\\n$content-padding-y-sm: rem(20px) !default;\\r\\n$header-height: rem(50px) !default;\\r\\n$header-height-sm: rem(50px) !default;\\r\\n$sidebar-width: rem(220px) !default;\\r\\n$sidebar-minified-width: rem(60px) !default;\\r\\n$sidebar-wide-width: rem(250px) !default;\\r\\n$top-menu-height: rem(40px) !default;\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = \"\\r\\n\\t\\r\\n\\t\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\tNo Parameter\\r\\n\\t\\t\\t\\t\\t\\t${parameter.name}\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\tTarget Parameter\\r\\n\\t\\t\\t\\t${parameter.name}\\r\\n\\t\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\t= maxParameters\\\" title=\\\"Adds a parameter to the row\\\">+\\r\\n\\t\\t\\t-\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\r\\n\\r\\n\";","module.exports = \"\\r\\n\\t\\r\\n\\t\\r\\n\\t\\r\\n\\r\\n\\t\\r\\n\\t\\t\\r\\n\\t\\t\\tGenerate compound values from existing values\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\r\\n\\r\\n\\t\\t\\r\\n\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\tAdd, remove and edit commands: \\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t+ Add command\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\tUpdate\\r\\n\\t\\t\\t\\tCancel\\r\\n\\t\\t\\t\\r\\n\\t\\t\\r\\n\\t\\r\\n\\r\\n\";","module.exports = \"\\r\\n\\t\\r\\n\\t\\r\\n\\r\\n\\t\\r\\n\\t\\t\\r\\n\\t\\t\\tExport\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\tInclude types\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\tInclude instances\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\tExport\\r\\n\\t\\t\\t\\r\\n\\t\\t\\r\\n\\t\\r\\n\\r\\n\";","import {bindable} from \"aurelia-framework\";\r\nimport {ValueFilter} from \"../../../../models/object-filter\";\r\n\r\nexport class CommandState {\r\n\tpublic parameterChoices: (ValueFilter | undefined)[] = [undefined, undefined];\r\n\tpublic separators: (string | undefined)[] = [\"\"];\t\t// Must be parameterChoices.Length - 1 long\r\n\tpublic targetParameter: ValueFilter | undefined;\r\n\t\r\n\tisValid() : boolean {\r\n\t\tif (!this.areParametersValid())\r\n\t\t\treturn false;\r\n\t\t\r\n\t\tif (!this.isTargetParameterValid()) \r\n\t\t\treturn false;\r\n\t\t\r\n\t\treturn true;\r\n\t}\r\n\r\n\tprivate isTargetParameterValid() {\r\n\t\treturn this.targetParameter !== undefined && this.targetParameter !== null;\r\n\t}\r\n\r\n\tprivate areParametersValid() {\r\n\t\tthis.parameterChoices = [...this.parameterChoices];\t\t// To update the view...\r\n\t\treturn this.parameterChoices.every(value => value !== undefined);\r\n\t}\r\n}\r\n\r\n/**\r\n * Component that represents a command that will create a compound value transformation.\r\n */\r\nexport class CommandRow {\r\n\t@bindable public sourceParameters: ValueFilter[] = [];\r\n\t@bindable public targetParameters: ValueFilter[] = [];\r\n\t@bindable public state: CommandState;\r\n\t@bindable public showRowErrors: boolean = false;\r\n\t\r\n\tpublic maxParameters: 3 = 3;\r\n\tpublic minParameters: 1 = 1;\r\n\t\r\n\tconstructor() {\r\n\t\tthis.state = new CommandState();\r\n\t}\r\n\t\r\n\tpublic AddParameterChoice() {\r\n\t\tif (this.state.parameterChoices.length < 3) {\r\n\t\t\tthis.state.parameterChoices.push(undefined);\r\n\t\t\tthis.state.separators.push(\"\");\r\n\t\t}\r\n\t}\r\n\t\r\n\tpublic RemoveParameterChoice() {\r\n\t\tif (this.state.parameterChoices.length > 1) {\r\n\t\t\tthis.state.parameterChoices.pop();\r\n\t\t\tthis.state.separators.pop();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic stateChanged() {\r\n\t\tconsole.log(\"stateChanged\")\r\n\t}\r\n}\r\n","import {ApiClient} from 'app/services/api-client';\r\nimport {AppContextService} from 'app/services/app-context-service';\r\nimport {DialogController} from 'aurelia-dialog';\r\nimport {autoinject} from 'aurelia-framework';\r\nimport {ObjectFilterService} from \"../../../services/object-services/object-filter-service\";\r\nimport {ValueFilter} from \"../../../models/object-filter\";\r\nimport {AocObjectFilterService} from \"../../../services/object-services/aoc-object-filter-service\";\r\nimport {CommandState} from \"./command-row/command-row\";\r\nimport {EventAggregator} from \"aurelia-event-aggregator\";\r\n\r\ninterface CompoundValuesSettings {\r\n\tcommands: CommandSettings[];\r\n}\r\n\r\nclass CommandSettings {\r\n\tpublic parameterIds: string[] = [];\r\n\tpublic separators: string[] = [];\r\n\tpublic targetParameterId: string | undefined;\r\n}\r\n\r\n@autoinject\r\nexport class CompoundValuesTool {\r\n\r\n\tpublic objectFilterService: ObjectFilterService | undefined;\r\n\r\n\tpublic sourceParameters: ValueFilter[] = [];\r\n\tpublic targetParameters: ValueFilter[] = [];\r\n\tpublic previewRows: PreviewRow[] = [];\r\n\tpublic commandStates: CommandState[] = [new CommandState()];\r\n\tprivate showErrors: boolean = false;\r\n\t\r\n\tconstructor(\r\n\t\tprotected dialog: DialogController, \r\n\t\tprivate api: ApiClient,\r\n\t\tprivate ctx: AppContextService,\r\n\t\tprivate events: EventAggregator\r\n\t) {\r\n\t\tconsole.log('AutoIDs ctor');\r\n\t}\r\n\r\n\tasync activate(): Promise {\r\n\t\tthis.objectFilterService = new AocObjectFilterService(this.api, this.ctx.projectId);\r\n\t\tawait this.loadFilters();\r\n\r\n\t\tconst commands = await this.loadSettings();\r\n\t\tthis.commandStates = commands.length > 0 ? commands : [new CommandState()];\t\t// If none add an empty command\r\n\t}\r\n\r\n\tprivate async loadFilters() {\r\n\t\tconst allTypeFilters = await this.getAllTypeFilters();\r\n\r\n\t\tlet writeableFilters = allTypeFilters.filter(value => !value.readOnly);\r\n\t\tlet writeableNonClassificationFilters = writeableFilters.filter(value => !value.hasClassification);\r\n\r\n\t\tthis.sourceParameters = writeableFilters;\r\n\t\tthis.targetParameters = writeableNonClassificationFilters;\r\n\t}\r\n\r\n\tprivate async getAllTypeFilters() : Promise {\r\n\t\tif (this.objectFilterService == null) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\t\tconst valueFilters = await this.objectFilterService.getAvailableFilters([]);\r\n\t\t\r\n\t\tlet onlyTypeParameters = valueFilters.filter(value => value.targetType === 'typeParameter');\r\n\t\t\r\n\t\treturn onlyTypeParameters;\r\n\t}\r\n\t\r\n\tasync update() {\r\n\t\t\r\n\t\tconst ok = this.validateInput();\r\n\t\t\r\n\t\tconst showErrors: boolean = !ok;\r\n\t\tthis.indicateInputErrors(showErrors);\r\n\t\t\r\n\t\tif (!ok) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t\r\n\t\tconst settings: CompoundValuesSettings = this.getLocalSettings();\r\n\r\n\t\tthis.events.publish('is-loading', true);\r\n\t\tawait this.api.project(this.ctx.projectId)\r\n\t\t\t.postJson('CompoundValues/CreateCompoundValues', settings)\r\n\t\t\t.handleErrorMsgUsingReason(\"Could not create compound values\", \"An error has occured during the creation of the compound values.\")\r\n\t\t\t.response();\r\n\t\tthis.events.publish('is-loading', false);\r\n\t\tconsole.debug(\"Compound values have been generated using these settings: \", settings);\r\n\t\t\r\n\t\tawait this.saveSettings(settings);\r\n\t\tconsole.debug(\"Compound value settings have been saved\");\r\n\t\t\r\n\t\tawait this.dialog.ok();\r\n\t}\r\n\t\r\n\tasync createPreview(): Promise {\r\n\t\tconst settings = this.getLocalSettings();\r\n\t\t\r\n\t\tthis.previewRows = await this.api.project(this.ctx.projectId)\r\n\t\t\t.postJson('CompoundValues/GeneratePreview', settings)\r\n\t\t\t.handleErrorMsgUsingReason(\"Could not generate serial numbers\", \"An error has occured during the creation of the serial numbers.\")\r\n\t\t\t.objectResult();\r\n\t}\r\n\t\r\n\tprivate getLocalSettings() : CompoundValuesSettings {\r\n\t\t\r\n\t\tconst commandSettings: CommandSettings[] = this.commandStates.map(command => {\r\n\r\n\t\t\tconst commandSetting: CommandSettings = {\r\n\t\t\t\tparameterIds: command.parameterChoices\r\n\t\t\t\t\t.filter(param => param != undefined)\r\n\t\t\t\t\t.map(param => param?.targetId),\r\n\t\t\t\tseparators: command.separators.map(value => value),\r\n\r\n\t\t\t\ttargetParameterId: command.targetParameter?.targetId\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\treturn commandSetting;\r\n\t\t});\r\n\t\t\r\n\t\treturn {\r\n\t\t\tcommands: commandSettings\r\n\t\t};\r\n\t}\r\n\r\n\tprivate async loadSettings(): Promise {\r\n\r\n\t\tlet settings: CompoundValuesSettings = await this.api.project(this.ctx.projectId)\r\n\t\t\t.get('CompoundValues/GetSettings')\r\n\t\t\t.handleErrorMsgUsingReason(\"Could not load compound values settings\", \"An error has occured during the retrieval of the compound values settings.\")\r\n\t\t\t.objectResult();\r\n\t\t\r\n\t\tif (settings.commands === undefined) {\r\n\t\t\treturn [new CommandState()];\r\n\t\t}\r\n\t\t\r\n\t\tlet commandStates: CommandState[] = settings.commands.map(commandSettings => {\r\n\t\t\tconst commandState = new CommandState();\r\n\t\t\t\r\n\t\t\tcommandState.separators = commandSettings.separators;\r\n\t\t\tcommandState.targetParameter = this.sourceParameters.find(param => param.targetId === commandSettings.targetParameterId);\r\n\t\t\tcommandState.parameterChoices = commandSettings.parameterIds\r\n\t\t\t\t.map(paramId => \r\n\t\t\t\t\tthis.sourceParameters.find(param => param.targetId === paramId)\r\n\t\t\t\t);\r\n\t\t\t\r\n\t\t\treturn commandState;\r\n\t\t});\r\n\t\t\r\n\t\treturn commandStates; \r\n\t}\r\n\r\n\tprivate async saveSettings(settings: CompoundValuesSettings) {\r\n\r\n\t\tawait this.api.project(this.ctx.projectId)\r\n\t\t\t.postJson('CompoundValues/SaveSettings', settings)\r\n\t\t\t.handleErrorMsgUsingReason(\"Could not save compound values settings\", \"An error has occured during the saving of the compound values settings.\")\r\n\t\t\t.noResponse();\r\n\t}\r\n\r\n\tprivate validateInput() : boolean {\r\n\t\treturn this.commandStates.every(value => value.isValid())\r\n\t}\r\n\r\n\tprivate indicateInputErrors(value: boolean) {\r\n\t\tthis.showErrors = value;\r\n\t}\r\n\r\n\tprivate addCommand() {\r\n\t\tthis.commandStates.push(new CommandState());\r\n\t}\r\n\r\n\tprivate removeCommand(index: number) {\r\n\t\tthis.commandStates.splice(index, 1);\r\n\t}\r\n}\r\n\r\ninterface PreviewRow {\r\n\ttargetParameterValue: string;\r\n\tserialNumberValue: string;\r\n}\r\n","import { DialogController } from 'aurelia-dialog';\r\nimport { autoinject } from 'aurelia-framework';\r\n\r\n@autoinject\r\nexport class ExportGrid {\t\r\n\tincludeTypes: boolean = false;\r\n\tincludeInstances: boolean = false;\r\n\r\n\tconstructor (protected dialog: DialogController) {\r\n\r\n\t}\r\n\r\n\tok() {\r\n\t\tthis.dialog.ok({\r\n\t\t\tincludeTypes: this.includeTypes,\r\n\t\t\tincludeInstances: this.includeInstances\r\n\t\t});\r\n\t}\r\n\r\n\tcancel() {\r\n\t\tthis.dialog.cancel();\r\n\t}\r\n}\r\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","CommandState","parameterChoices","undefined","separators","isValid","this","areParametersValid","isTargetParameterValid","targetParameter","every","value","CommandRow","constructor","sourceParameters","targetParameters","showRowErrors","maxParameters","minParameters","state","AddParameterChoice","length","RemoveParameterChoice","pop","stateChanged","console","log","bindable","CompoundValuesTool","dialog","api","ctx","events","previewRows","commandStates","showErrors","async","objectFilterService","projectId","loadFilters","commands","loadSettings","writeableFilters","getAllTypeFilters","filter","readOnly","writeableNonClassificationFilters","hasClassification","getAvailableFilters","targetType","ok","validateInput","indicateInputErrors","settings","getLocalSettings","publish","project","postJson","handleErrorMsgUsingReason","response","debug","saveSettings","objectResult","map","command","parameterIds","param","targetId","targetParameterId","get","commandSettings","commandState","find","paramId","noResponse","addCommand","removeCommand","index","splice","autoinject","DialogController","ExportGrid","includeTypes","includeInstances","cancel"],"sourceRoot":""}