{"version":3,"file":"app-cf04f4b8.535df0537ffc1d82.bundle.js","mappings":"+MAGIA,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,wiCAAyiC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,6DAA6D,8DAA8D,MAAQ,GAAG,SAAW,wcAAwc,WAAa,MAEntD,S,uFCJA,QAFW,6zI,mnBCYJ,IAAMC,EAAN,MAiBN,WAAAC,CAAsBC,EAAkCC,EAC/CC,EAAuCC,EACvCC,EAA8CC,GAFjC,KAAAL,OAAAA,EAAkC,KAAAC,UAAAA,EAC/C,KAAAC,WAAAA,EAAuC,KAAAC,KAAAA,EACvC,KAAAC,eAAAA,EAA8C,KAAAC,MAAAA,EAlBvD,KAAAC,qBAAiD,GAEjD,KAAAC,uBAAiC,GACjC,KAAAC,gBAA0B,GAE1B,KAAAC,cAAwB,GACZ,KAAAC,aAAuB,EACvB,KAAAC,sBAAgC,EAChC,KAAAC,iBAA2B,EACvC,KAAAC,kBAA4B,EAE5B,KAAAC,qBAAwD,GAGxD,KAAAC,UAAoB,uCAMnBf,EAAOgB,SAASC,gBAAiB,CAClC,CAEA,cAAMC,G,MACLC,KAAKC,gBAAkBD,KAAKf,eAC1BiB,mBAAmBF,KAAKjB,WAAWoB,WACnCC,kCAEF,IAAIC,QAA6E,QAApB,EAAAL,KAAKC,uBAAe,eAAEK,iBAC/ED,IACHL,KAAKb,qBAAuBkB,GAG7B,IAAIE,QAAoCP,KAAKlB,UAAU0B,QAAQR,KAAKjB,WAAWoB,WAAWM,IAAI,iCAC7FC,aAEoBC,QAAQJ,IAI5BP,KAAKZ,uBAAyBmB,EAAYK,oBAC1CZ,KAAKX,gBAAkBkB,EAAYM,aAEnCb,KAAKL,qBAAuBY,EAAYZ,qBAExCK,KAAKV,cAAgBiB,EAAYjB,cACjCU,KAAKT,YAAcgB,EAAYhB,YAC/BS,KAAKR,qBAAuBe,EAAYf,qBACxCQ,KAAKP,gBAAkBc,EAAYd,gBACnCO,KAAKN,iBAAmBa,EAAYb,kBAXpCM,KAAKL,qBAAuB,EAa9B,CAEA,YAAAmB,CAAaC,GACZ,IAAK,IAAIC,KAAKhB,KAAKb,qBAClB,GAAI6B,EAAEtC,IAAMqC,EAAW,OAAOC,EAO/B,MAJ+D,CAC9DtC,GAAIqC,EACJE,KAAM,aAAaF,IAGrB,CAEA,kBAAAG,GACKlB,KAAKT,cACRS,KAAKZ,uBAAyBY,KAAKJ,UAErC,CAEA,sBAAAuB,IACuC,IAAlCR,QAAQX,KAAKP,kBACZkB,QAAQX,KAAKL,uBAAyBK,KAAKL,qBAAqByB,OAAS,IAC5EpB,KAAKL,qBAAuB,GAG/B,CAEA,2BAAA0B,IAC4C,IAAvCV,QAAQX,KAAKR,uBACZmB,QAAQX,KAAKL,uBAAyBK,KAAKL,qBAAqByB,OAAS,GAC5EpB,KAAKL,qBAAqB2B,SAAQC,IACjCA,EAAKC,QAAUxB,KAAKJ,SAAS,GAIjC,CAEA,iBAAA6B,GACCzB,KAAKL,qBAAqBnB,KAAK,CAC9BgD,QAASxB,KAAKJ,UACd8B,eAAgB1B,KAAKJ,WAEvB,CAEA,oBAAA+B,CAAqBC,GACpB5B,KAAKL,qBAAqBkC,OAAOD,EAAO,EACzC,CAEA,cAAAE,CAAeC,EAAmCC,EAAcJ,GAClD,SAATI,IACHhC,KAAKL,qBAAqBiC,GAAOJ,QAAUO,EAAUrD,IAGzC,gBAATsD,IACHhC,KAAKL,qBAAqBiC,GAAOF,eAAiBK,EAAUrD,GAE9D,CAEA,YAAM,GACL,IAAIuD,EAAiB,IAAI,IACzBA,EAAerB,oBAAsBZ,KAAKZ,uBAC1C6C,EAAepB,aAAeb,KAAKX,gBACnC4C,EAAetC,qBAAuBK,KAAKL,qBAC3CsC,EAAe3C,cAAgBU,KAAKV,cACpC2C,EAAe1C,YAAcS,KAAKT,YAClC0C,EAAezC,qBAAuBQ,KAAKR,qBAC3CyC,EAAexC,gBAAkBO,KAAKP,gBACtCwC,EAAevC,iBAAmBM,KAAKN,iBAGlCuC,EAAerB,sBAAuBqB,EAAerB,oBAAsBZ,KAAKJ,WAChFqC,EAAepB,eAAgBoB,EAAepB,aAAeb,KAAKJ,WASvE,IAAIsC,EAAa,EACjB,IAAK,IAAIX,KAAQU,EAAetC,qBAAsB,CAErD,IAAK4B,EAAKG,eAET,YADA1B,KAAKd,MAAMiD,YAAYnC,KAAKhB,KAAKoD,GAAG,SAAUpC,KAAKhB,KAAKoD,GAAG,QAAQF,mCAGpE,IAAKX,EAAKC,SAAWS,EAAezC,qBAEnC,YADAQ,KAAKd,MAAMiD,YAAYnC,KAAKhB,KAAKoD,GAAG,SAAUpC,KAAKhB,KAAKoD,GAAG,QAAQF,4BAGpEA,GAAM,C,CAGFD,EAAe1C,aAAe0C,EAAerB,sBAAwBZ,KAAKJ,UAK/EI,KAAKlB,UAAU0B,QAAQR,KAAKjB,WAAWoB,WACrCkC,SAAS,8BAA+BJ,GACxCK,YAAYtC,KAAKhB,KAAKoD,GAAG,uBAAwBpC,KAAKhB,KAAKoD,GAAG,0BAC9DG,aAAa,eAPdvC,KAAKd,MAAMiD,YAAYnC,KAAKhB,KAAKoD,GAAG,SAAUpC,KAAKhB,KAAKoD,GAAG,sDAQ7D,CAEA,KAAAI,GACCxC,KAAKnB,OAAO4D,QACb,GAzJA,GAAC,EAAAC,W,4DACD,GAAC,EAAAA,W,qEACD,GAAC,EAAAA,W,gEATW/D,EAAO,GADnB,EAAAgE,W,uBAkB8B,EAAAC,iBAAqC,IAC9C,IAAiC,EAAAC,KAC7B,IAAqC,OAnBlDlE,E","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,QCEO,CDDP,YCCO,CDCP,gCACC,eAAA,CAIF,wCAEC,YAAA,CACA,QCTO,CDYR,mCACC,eCbO,CDgBR,uBACC,YAAA,CACA,gBAAA,CAGD,qBACC,YAAA,CACA,gBAAA,CAEA,gCACC,YAAA,CACA,+BAAA,CACA,gBAAA,CAEA,uCACC,YAAA,CACA,wCAAA,CACA,oCAAA,CACA,qBAAA,CACA,gBAAA,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\",\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Module\nvar code = ` Export keynote Building Parts Key value Choose a key parameter \\${parameterDefinition.name} Keynote text Use type name Choose a parameter \\${parameterDefinition.name} Include sub descriptions Keynote sub description Include work Work \\${getParameter(subPair.work_id).name} \\${parameter.name} Description \\${getParameter(subPair.description_id).name} \\${parameter.name} Add sub description Work seperator Remove empty lines Export `;\n// Exports\nexport default code;","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","Keynote","constructor","dialog","apiClient","appContext","i18n","serviceBuilder","modal","parameterDefinitions","assembliesParameter_id","keyParameter_id","workSeperator","useTypeName","includeWorkParameter","includeChildren","removeEmptyLines","workDescriptionPairs","emptyGuid","settings","overlayDismiss","activate","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":""}