{"version":3,"file":"app-cf04f4b8.1c76f763e2afa0a3.bundle.js","mappings":"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","sources":["webpack://client-app/./src/app/components/object/keynote/keynote.scss","webpack://client-app/./src/app/components/object/keynote/keynote.html","webpack://client-app/./src/app/components/object/keynote/keynote.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, \".keynote-modal{width:700px}.keynote{display:flex;flex-direction:column;position:relative;min-height:unset !important;width:100%}.keynote-container{display:grid;gap:15px;padding:15px}.keynote-container .description{font-weight:600}.keynote__assemblies,.keynote__children{display:grid;gap:15px}.keynote__include-sub-descriptions{margin-top:15px}.keynote .keynote-text{display:grid;gap:calc(15px / 2)}.keynote .work-items{display:grid;gap:calc(15px / 3)}.keynote .work-items .work-item{display:grid;grid-template-columns:1fr 3.3em;gap:calc(15px / 3)}.keynote .work-items .work-item__inner{display:grid;grid-template-columns:minmax(200px, 1fr);grid-auto-columns:minmax(200px, 1fr);grid-auto-flow:column;gap:calc(15px / 3)}.keynote .work-items .work-item .dropdown-toggle{display:grid;grid-auto-flow:column;justify-content:space-between;align-items:center;overflow:hidden}.keynote .work-items .work-item .dropdown-toggle__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.keynote .work-items .work-item .dropdown-menu{max-height:500px;overflow:auto;width:100%}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/object/keynote/keynote.scss\",\"webpack://./src/resources/customized-styles/variables.scss\"],\"names\":[],\"mappings\":\"AAEA,eACC,WAAA,CAGD,SACC,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,2BAAA,CACA,UAAA,CAEA,mBACC,YAAA,CACA,QCLO,CDMP,YCNO,CDQP,gCACC,eAAA,CAIF,wCAEC,YAAA,CACA,QChBO,CDmBR,mCACC,eCpBO,CDuBR,uBACC,YAAA,CACA,kBAAA,CAGD,qBACC,YAAA,CACA,kBAAA,CAEA,gCACC,YAAA,CACA,+BAAA,CACA,kBAAA,CAEA,uCACC,YAAA,CACA,wCAAA,CACA,oCAAA,CACA,qBAAA,CACA,kBAAA,CAGD,iDACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,kBAAA,CACA,eAAA,CAEA,uDACC,eAAA,CACA,sBAAA,CACA,kBAAA,CAIF,+CACC,gBAAA,CACA,aAAA,CACA,UAAA\",\"sourcesContent\":[\"@import \\\"./src/resources/customized-styles/variables.scss\\\";\\r\\n\\r\\n.keynote-modal {\\r\\n\\twidth: 700px;\\r\\n}\\r\\n\\r\\n.keynote {\\r\\n\\tdisplay: flex;\\r\\n\\tflex-direction: column;\\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\\r\\n\\t\\t.description {\\r\\n\\t\\t\\tfont-weight: 600;\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t&__assemblies,\\r\\n\\t&__children {\\r\\n\\t\\tdisplay: grid;\\r\\n\\t\\tgap: $gutter;\\r\\n\\t}\\r\\n\\t\\r\\n\\t&__include-sub-descriptions {\\r\\n\\t\\tmargin-top: $gutter;\\r\\n\\t}\\r\\n\\r\\n\\t.keynote-text {\\r\\n\\t\\tdisplay: grid;\\r\\n\\t\\tgap: calc(#{$gutter} / 2);\\r\\n\\t}\\r\\n\\r\\n\\t.work-items {\\r\\n\\t\\tdisplay: grid;\\r\\n\\t\\tgap: calc(#{$gutter} / 3);\\r\\n\\r\\n\\t\\t.work-item {\\r\\n\\t\\t\\tdisplay: grid;\\r\\n\\t\\t\\tgrid-template-columns: 1fr 3.3em;\\r\\n\\t\\t\\tgap: calc(#{$gutter} / 3);\\r\\n\\r\\n\\t\\t\\t&__inner {\\r\\n\\t\\t\\t\\tdisplay: grid;\\r\\n\\t\\t\\t\\tgrid-template-columns: minmax(200px, 1fr);\\r\\n\\t\\t\\t\\tgrid-auto-columns: minmax(200px, 1fr);\\r\\n\\t\\t\\t\\tgrid-auto-flow: column;\\r\\n\\t\\t\\t\\tgap: calc(#{$gutter} / 3);\\r\\n\\t\\t\\t}\\r\\n\\r\\n\\t\\t\\t.dropdown-toggle {\\r\\n\\t\\t\\t\\tdisplay: grid;\\r\\n\\t\\t\\t\\tgrid-auto-flow: column;\\r\\n\\t\\t\\t\\tjustify-content: space-between;\\r\\n\\t\\t\\t\\talign-items: center;\\r\\n\\t\\t\\t\\toverflow: hidden;\\r\\n\\r\\n\\t\\t\\t\\t&__text {\\r\\n\\t\\t\\t\\t\\toverflow: hidden;\\r\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\r\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}\\r\\n\\r\\n\\t\\t\\t.dropdown-menu {\\r\\n\\t\\t\\t\\tmax-height: 500px;\\r\\n\\t\\t\\t\\toverflow: auto;\\r\\n\\t\\t\\t\\twidth: 100%;\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\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\\r\\n\\t\\r\\n\\t\\t\\r\\n\\t\\t\\tExport keynote\\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\\tBuilding Parts\\r\\n\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\tKey value\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\tChoose a key parameter\\r\\n\\t\\t\\t\\t\\t\\t\\t${parameterDefinition.name}\\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\\r\\n\\t\\t\\t\\t\\t\\tKeynote text\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t Use type name \\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\tChoose a parameter\\r\\n\\t\\t\\t\\t\\t\\t\\t${parameterDefinition.name}\\r\\n\\t\\t\\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\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\tInclude sub descriptions\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\tKeynote sub description\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\tInclude work\\r\\n\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tWork\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t${getParameter(subPair.work_id).name}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t${parameter.name}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tDescription\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t${getParameter(subPair.description_id).name}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t${parameter.name}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\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\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\tAdd sub description\\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\\tWork seperator\\r\\n\\t\\t\\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\\tRemove empty lines\\r\\n\\t\\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\\t\\r\\n\\t\\t\\t\\tExport\\r\\n\\t\\t\\t\\r\\n\\t\\t\\r\\n\\t\\r\\n\\r\\n\";","import { ParameterDefinitionDto } from 'app/models/parameter-definition-dto';\r\nimport { KeynoteRequest } from './../../../models/keynote-request';\r\nimport { ObjectServiceBuilder } from './../../../services/object-services/object-service-builder';\r\nimport { autoinject, observable } from 'aurelia-framework';\r\nimport { ApiClient } from 'app/services/api-client';\r\nimport { AppContextService } from 'app/services/app-context-service';\r\nimport { ParameterDefinitionService } from 'app/services/object-services/parameter-definition-service';\r\nimport { DialogController } from 'aurelia-dialog';\r\nimport { I18N } from 'aurelia-i18n';\r\nimport { KeynoteWorkDescriptionPairDto } from 'app/models/keynote-work-description-pair-dto';\r\nimport { ModalService } from 'app/services/modal-service';\r\n\r\n@autoinject\r\nexport class Keynote {\r\n\tparameterDefinitions: ParameterDefinitionDto[] = [];\r\n\r\n\tassembliesParameter_id: string = \"\";\r\n\tkeyParameter_id: string = \"\";\r\n\r\n\tworkSeperator: string = \"\";\r\n\t@observable useTypeName: boolean = false;\r\n\t@observable includeWorkParameter: boolean = false;\r\n\t@observable includeChildren: boolean = false;\r\n\tremoveEmptyLines: boolean = true;\r\n\r\n\tworkDescriptionPairs: KeynoteWorkDescriptionPairDto[] = [];\r\n\r\n\tparamDefService: ParameterDefinitionService | undefined;\r\n\temptyGuid: string = '00000000-0000-0000-0000-000000000000';\r\n\r\n\tconstructor(protected dialog: DialogController, private apiClient: ApiClient,\r\n\t\tprivate appContext: AppContextService, private i18n: I18N,\r\n\t\tprivate serviceBuilder: ObjectServiceBuilder, private modal: ModalService\r\n\t) {\r\n\t\tdialog.settings.overlayDismiss = false;\r\n\t}\r\n\r\n\tasync activate() {\r\n\t\tthis.paramDefService = this.serviceBuilder\r\n\t\t\t.ForAjourCollab_OSB(this.appContext.projectId)\r\n\t\t\t.BuildParameterDefinitionService();\r\n\t\t\r\n\t\tlet parameters: ParameterDefinitionDto[] | undefined = await this.paramDefService?.getParameters();\r\n\t\tif (parameters) {\r\n\t\t\tthis.parameterDefinitions = parameters\r\n\t\t}\r\n\r\n\t\tlet lastRequest: KeynoteRequest = await this.apiClient.project(this.appContext.projectId).get('Keynote/GetLastKeynoteRequest')\r\n\t\t.jsonResult();\r\n\r\n\t\tlet hasPreviousReq = Boolean(lastRequest);\r\n\t\tif (!hasPreviousReq) {\r\n\t\t\tthis.workDescriptionPairs = [];\r\n\t\t} else {\r\n\t\t\tthis.assembliesParameter_id = lastRequest.assembliesParameter;\r\n\t\t\tthis.keyParameter_id = lastRequest.keyParameter;\r\n\r\n\t\t\tthis.workDescriptionPairs = lastRequest.workDescriptionPairs;\r\n\r\n\t\t\tthis.workSeperator = lastRequest.workSeperator;\r\n\t\t\tthis.useTypeName = lastRequest.useTypeName;\r\n\t\t\tthis.includeWorkParameter = lastRequest.includeWorkParameter;\r\n\t\t\tthis.includeChildren = lastRequest.includeChildren;\r\n\t\t\tthis.removeEmptyLines = lastRequest.removeEmptyLines;\r\n\t\t} \r\n\t}\r\n\r\n\tgetParameter(paramId: string): ParameterDefinitionDto {\r\n\t\tfor (let d of this.parameterDefinitions) {\r\n\t\t\tif (d.id == paramId) { return d; }\r\n\t\t}\r\n\r\n\t\tlet notFound: ParameterDefinitionDto = {\r\n\t\t\tid: paramId,\r\n\t\t\tname: `not found:${paramId}`\r\n\t\t};\r\n\t\treturn notFound;\r\n\t}\r\n\r\n\tuseTypeNameChanged() {\r\n\t\tif (this.useTypeName) {\r\n\t\t\tthis.assembliesParameter_id = this.emptyGuid;\r\n\t\t}\r\n\t}\r\n\r\n\tincludeChildrenChanged() {\r\n\t\tif (Boolean(this.includeChildren) === false) {\r\n\t\t\tif (Boolean(this.workDescriptionPairs) && this.workDescriptionPairs.length > 0) {\r\n\t\t\t\tthis.workDescriptionPairs = [];\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tincludeWorkParameterChanged() {\r\n\t\tif (Boolean(this.includeWorkParameter) === false) {\r\n\t\t\tif (Boolean(this.workDescriptionPairs) && this.workDescriptionPairs.length > 0) {\r\n\t\t\t\tthis.workDescriptionPairs.forEach(item => {\r\n\t\t\t\t\titem.work_id = this.emptyGuid;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\taddSubDescription() {\r\n\t\tthis.workDescriptionPairs.push({\r\n\t\t\twork_id: this.emptyGuid,\r\n\t\t\tdescription_id: this.emptyGuid\r\n\t\t});\r\n\t}\r\n\r\n\tremoveSubDescription(index: number) {\r\n\t\tthis.workDescriptionPairs.splice(index, 1);\r\n\t}\r\n\r\n\tupdateWorkItem(parameter: ParameterDefinitionDto, text: string, index: number) {\r\n\t\tif (text === \"Work\") {\r\n\t\t\tthis.workDescriptionPairs[index].work_id = parameter.id;\r\n\t\t}\r\n\r\n\t\tif (text === \"Description\") {\r\n\t\t\tthis.workDescriptionPairs[index].description_id = parameter.id;\r\n\t\t}\r\n\t}\r\n\r\n\tasync export() {\r\n\t\tlet keynoteRequest = new KeynoteRequest();\r\n\t\tkeynoteRequest.assembliesParameter = this.assembliesParameter_id;\r\n\t\tkeynoteRequest.keyParameter = this.keyParameter_id;\r\n\t\tkeynoteRequest.workDescriptionPairs = this.workDescriptionPairs;\r\n\t\tkeynoteRequest.workSeperator = this.workSeperator;\r\n\t\tkeynoteRequest.useTypeName = this.useTypeName;\r\n\t\tkeynoteRequest.includeWorkParameter = this.includeWorkParameter;\r\n\t\tkeynoteRequest.includeChildren = this.includeChildren;\r\n\t\tkeynoteRequest.removeEmptyLines = this.removeEmptyLines;\r\n\r\n\t\t// (We set these, otherwise ASPNET gets mad:)\r\n\t\tif (!keynoteRequest.assembliesParameter) { keynoteRequest.assembliesParameter = this.emptyGuid; }\r\n\t\tif (!keynoteRequest.keyParameter) { keynoteRequest.keyParameter = this.emptyGuid; }\r\n\r\n\t\t/*\r\n\t\tif (keynoteRequest.workDescriptionPairs == null) {\r\n\t\t\talert('You must have at least one work-description pair');\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t*/\r\n\r\n\t\tlet ix: number = 1;\r\n\t\tfor (let item of keynoteRequest.workDescriptionPairs) {\r\n\t\t\t\r\n\t\t\tif (!item.description_id) {\r\n\t\t\t\tthis.modal.OpenMessage(this.i18n.tr(\"Error\"), this.i18n.tr(`Item ${ix} lacks description parameter.`));\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (!item.work_id && keynoteRequest.includeWorkParameter) {\r\n\t\t\t\tthis.modal.OpenMessage(this.i18n.tr(\"Error\"), this.i18n.tr(`Item ${ix} lacks work parameter.`));\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tix += 1;\r\n\t\t}\r\n\r\n\t\tif (!keynoteRequest.useTypeName && keynoteRequest.assembliesParameter === this.emptyGuid) {\r\n\t\t\tthis.modal.OpenMessage(this.i18n.tr(\"Error\"), this.i18n.tr(\"You must select a parameter for main keynote text.\"));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.apiClient.project(this.appContext.projectId)\r\n\t\t\t.postJson('keynote/GenerateKeynoteFile', keynoteRequest)\r\n\t\t\t.handleError(this.i18n.tr('Error_Title_Generic'), this.i18n.tr('Error_Message_Generic'))\r\n\t\t\t.downloadFile('keynote.txt');\r\n\t}\r\n\r\n\tclose() {\r\n\t\tthis.dialog.cancel();\r\n\t}\r\n}\r\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","Keynote","constructor","dialog","apiClient","appContext","i18n","serviceBuilder","modal","parameterDefinitions","assembliesParameter_id","keyParameter_id","workSeperator","useTypeName","includeWorkParameter","includeChildren","removeEmptyLines","workDescriptionPairs","emptyGuid","settings","overlayDismiss","async","this","paramDefService","ForAjourCollab_OSB","projectId","BuildParameterDefinitionService","parameters","getParameters","lastRequest","project","get","jsonResult","Boolean","assembliesParameter","keyParameter","getParameter","paramId","d","name","useTypeNameChanged","includeChildrenChanged","length","includeWorkParameterChanged","forEach","item","work_id","addSubDescription","description_id","removeSubDescription","index","splice","updateWorkItem","parameter","text","keynoteRequest","ix","OpenMessage","tr","postJson","handleError","downloadFile","close","cancel","observable","autoinject","DialogController","I18N"],"sourceRoot":""}