{"version":3,"file":"app-f7bafd7f.d24514177a116a2a.bundle.js","mappings":"qNAGIA,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,gYAAiY,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,oEAAoE,MAAQ,GAAG,SAAW,+EAA+E,eAAiB,CAAC,46BAA86B,WAAa,MAE3jD,S,yDCPAD,EAAOE,QAAU,0zO,scCsBV,IAAMC,EAAN,MAkBNC,YAAoBC,EACTC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GARS,KAAAR,OAAAA,EACT,KAAAC,UAAAA,EACA,KAAAC,OAAAA,EACA,KAAAC,MAAAA,EACA,KAAAC,WAAAA,EACA,KAAAC,aAAAA,EACA,KAAAC,KAAAA,EACA,KAAAC,eAAAA,EACA,KAAAC,YAAAA,EAzBJ,KAAAC,eAA2C,GAC3C,KAAAC,gBAA4C,GAE3C,KAAAC,gBAA4B,CAAC,OAAQ,gBAAiB,WAAY,QAAS,aAC3E,KAAAC,mBAA+C,GAC/C,KAAAC,qBAAiC,GACjC,KAAAC,mBAA+B,GAC/B,KAAAC,aAAuB,EACxB,KAAAC,OAAiB,OAEjB,KAAAC,WAAqB,GAEpB,KAAAC,cAAgC,GAEhC,KAAAC,cAAuB,EAC/B,KAAAC,qBAA8B,EAW7BC,KAAKC,YAAc,QACpB,CAGAC,eAAeC,EAAaC,EAAkBC,GAC7CC,QAAQC,IAAI,eAAgBJ,GACxBA,EAAOK,WACVR,KAAKjB,WAAW0B,WAAWN,EAAOK,WAGnCR,KAAKU,gBAAkBV,KAAKd,eAC1ByB,mBAAmBX,KAAKjB,WAAWyB,WACnCI,kCAEEZ,KAAKjB,WAAWyB,iBACbR,KAAKa,cAAc,YAG1Bb,KAAKc,aAAed,KAAKb,YAAY2B,aAGrCd,KAAKH,cAAgB,CACpBG,KAAKnB,OAAOkC,UAAUf,KAAKC,YAAc,sBAFnBe,GAAchB,KAAKiB,kBAAkBD,KAK7D,CAEAE,WACClB,KAAKH,cAAcsB,SAAQC,GAC1BA,EAAaC,WAEf,CAEQJ,kBAAkBD,GACzBhB,KAAKJ,WAAaoB,CACnB,CAEAM,8BACKtB,KAAKF,cACTE,KAAKlB,MAAMyC,UAAU,IAAoB,CAAEC,WAAYxB,KAAKX,iBAC7D,CAEOoC,2BACFzB,KAAKF,cACTE,KAAKlB,MAAMyC,UAAU,IAAiB,CAAEG,iBAAaC,IAAaC,YAAWC,IAC5E7B,KAAKa,cAAc,2BAA2B,GAEhD,CAEOiB,qBACF9B,KAAKF,cACTE,KAAKrB,OAAOoD,SAAS,WAAa/B,KAAKjB,WAAWyB,UAAY,+BAC/D,CAEOwB,cAAcC,EAAmCC,G,MACvD,GAA8C,WAAd,QAA5B,EAAcA,aAAK,EAALA,EAAOC,cAAO,eAAEC,SAAuB,OAAO,EAC5DpC,KAAKF,cACTE,KAAKlB,MAAMyC,UAAU,IAAiB,CAAEG,YAAaO,EAAU1D,KAAMqD,YAAWC,IAC/E7B,KAAKa,cAAc,gBAAgB,GAErC,CAEAX,2BACCI,QAAQC,IAAI,2BACZ,IAAI8B,EAAoBrC,KAAKT,mBAAmB+C,KAAIT,GAAGA,EAAEtD,KACzDyB,KAAKuC,gBAAgBF,EAItB,CAEAnC,6BACCI,QAAQC,IAAI,6BACHP,KAAKlB,MACb0D,YACAxC,KAAKf,KAAKwD,GAAG,WACbzC,KAAKf,KAAKwD,GAAG,kEACZb,YAAYC,IACb,GAAIA,EAAEa,aAEL,YADApC,QAAQC,IAAI,4BAIb,IAAIoC,EAAW3C,KAAKT,mBAAmB+C,KAAIM,GAAKA,EAAErE,KAClD,IAAK,IAAIsE,KAAsBF,EAC9B3C,KAAK8C,aAAaD,GAClBvC,QAAQC,IAAI,qBAAsBsC,E,GAGrC,CAEA3C,eACKF,KAAKF,mBACFE,KAAK+C,6BAEL/C,KAAKgD,qBAEb,CAEA9C,4BACCI,QAAQC,IAAI,sDACZ,IAAK,IAAIhC,KAAMyB,KAAKR,qBACnBc,QAAQC,IAAI,QAAShC,GAEtByB,KAAKR,qBAAuB,GAE5BQ,KAAKT,mBAAmB4B,SAAQ8B,IAC/BjD,KAAKR,qBAAqBnB,KAAK4E,EAAkB1E,GAAG,IAGrD,IAAI2E,EAASlD,KAAKpB,UAAUuE,cAAcnD,KAAKjB,WAAWyB,WAChD4C,QACFF,EAAOG,SAAS,oCAAqCrD,KAAKR,sBAChE8D,aAEFF,EAAoBjC,SAAQoC,IACtBA,EAAQC,QACZxD,KAAKP,mBAAmBpB,KAAKkF,EAAQhF,G,IAIjCyB,KAAKlB,MAAMyC,UAAU,IAAqB6B,GAAqBxB,YAAWC,IAC1EA,EAAEa,cACFb,EAAE4B,OAAOC,OAAS,GACrB1D,KAAK2D,cAAc9B,EAAE4B,O,GAOzB,CAEAvD,oBAAoB0D,GAIM,YAHN5D,KAAKpB,UAAUuE,cAAcnD,KAAKjB,WAAWyB,WAAW6C,SAAS,8BAA+BO,GACjHC,YAAY,uBAAwB,sCACpCC,YACSC,aACVH,EAAqBzC,SAAQO,IAE5B1B,KAAKX,gBAAgB2E,OAAOhE,KAAKX,gBAAgB4E,WAAUpC,GAAKA,EAAEtD,KAAOmD,IAAc,EAAE,IAE1F1B,KAAKkE,kBAAkBN,GAAsB,GAC7C5D,KAAKT,mBAAqB,GAC1BS,KAAKR,qBAAuB,GAC5BQ,KAAKP,mBAAqB,GAE5B,CAEAS,sBAAsB0D,GAKI,YAHN5D,KAAKpB,UAAUuE,cAAcnD,KAAKjB,WAAWyB,WAAW6C,SAAS,gCAAiCO,GACnHC,YAAY,0BAA2B,yCACvCC,YACSC,aACVH,EAAqBzC,SAAQO,IAE5B1B,KAAKX,gBAAgB2E,OAAOhE,KAAKX,gBAAgB4E,WAAUpC,GAAKA,EAAEtD,KAAOmD,IAAc,EAAE,IAE1F1B,KAAKkE,kBAAkBN,GAAsB,GAE/C,CAEAM,kBAAkBC,EAA6BC,GAC9CpE,KAAKZ,eAAeiF,QAAOxC,GAAKsC,EAAkBG,SAASzC,EAAEtD,MAAK4C,SAAQU,IAAMA,EAAEuC,UAAYA,EAAWvC,EAAE0C,UAAW,CAAK,IAC3HvE,KAAKN,aAAc,CACpB,CAEAQ,mBAAmB2C,GAElB,IACI2B,EADSxE,KAAKpB,UAAUuE,cAAcnD,KAAKjB,WAAWyB,WAChB6C,SAAS,sCAAuCR,GACtF4B,QAAeD,EAAQlB,aAC3BhD,QAAQC,IAAI,yBAA0BkE,GACtCnE,QAAQC,IAAI,mCAAoCkE,EAAOC,kBAEvD1E,KAAK2E,0CAA0C9B,EAChD,CAEA8B,0CAA0C9B,GACzC7C,KAAKX,gBAAgB2E,OAAOhE,KAAKX,gBAAgB4E,WAAUpC,GAAKA,EAAEtD,KAAOsE,IAAqB,EAC/F,CAEQ3C,oBAAoB0E,G,MAE3B,IAAIpD,QAA6E,QAApB,EAAAxB,KAAKU,uBAAe,eAAEG,iBAC/EW,IACHxB,KAAKZ,eAAiBoC,EACtBxB,KAAKZ,eAAe+B,SAASoC,IAG5B,IAAIsB,EAAgCC,OAAOC,KAAK,KAAmBC,MAAMC,GAAa,IAAkBA,KAAS1B,EAAQ2B,gBACzH3B,EAAc,KAAIsB,EAElB,IAAIM,EAA0B5B,EAAQ6B,cAClCC,EAA4C,UAA2BxD,GAAKA,EAAEyD,SAAWH,IAC7F,GAAIE,EAAS,CACZ,IAAIE,EAA4BF,EAAQG,WACxCjC,EAAmB,UAAIgC,C,MAEvBjF,QAAQC,IAAI,GAAG4E,yCAAuD5B,KACtEjD,QAAQC,IAAI,KACZgD,EAAmB,UAAI,qBAAqB4B,IAE7C5B,EAAQkC,WAAWC,KAAK1F,KAAK2F,aAAa,KAG5C3F,KAAK4F,uBACN,CAEAA,wBACC5F,KAAKX,gBAAkBW,KAAKZ,eAAeiF,QAAOzB,GAAKA,EAAEwB,WAAapE,KAAKF,cAE5E,CAEO+F,iBACN7F,KAAKF,cAAgBE,KAAKF,aAC1BQ,QAAQC,IAAI,0BAA2BP,KAAKF,cAC5CE,KAAK4F,uBACN,CAEOE,2BACN,OAAO9F,KAAKF,aAAe,MAAQ,IACpC,CAEOI,aAAa6F,SACb/F,KAAKb,YAAY6G,OAAOD,GAAYE,MAAKxB,IAC9CzE,KAAKL,OAAS8E,EAAO9E,OACrBK,KAAKc,aAAe2D,EAAO3D,YAAY,GAEzC,CAEOZ,8BACAF,KAAKb,YAAY+G,cAAclG,KAAKX,iBAAiB4G,MAAKxB,IAC/DzE,KAAKT,mBAAqBkF,EAAOF,SACjCvE,KAAKN,YAAc+E,EAAO/E,WAAW,GAEvC,CAEOQ,wBACAF,KAAKb,YAAYgH,UAAUnG,KAAKX,gBAAiBW,KAAKJ,WAAYI,KAAKV,iBAAiB2G,MAAKxB,IAC9FA,IACHzE,KAAKT,mBAAqBkF,EAAOF,SACjCvE,KAAKN,YAAc+E,EAAO/E,Y,GAG7B,CAEQiG,aAAaS,EAAWC,GAC/B,OAAGD,EAAIC,GACE,EACAD,EAAIC,EACA,EAEA,CAEZ,GA3RU5H,E,mUAAc,EAD1B,EAAA6H,W,kIAmB4B,KACN,KACH,IACD,IACK,IACE,IACR,EAAAC,KACS,IACF,OA1BZ9H,E","sources":["webpack://client-app/./src/app/project/parameters/list/parameters-list.scss","webpack://client-app/./src/app/project/parameters/list/parameters-list.html","webpack://client-app/./src/app/project/parameters/list/parameters-list.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, \".parameters-list .headers{grid-template-columns:6ch minmax(200px, 400px) repeat(5, minmax(170px, 200px)) minmax(300px, 1fr)}.parameters-list .main .element{grid-template-columns:6ch minmax(200px, 400px) repeat(5, minmax(170px, 200px)) minmax(300px, 1fr)}.parameters-list .main .element .category{margin-right:calc(15px / 2);padding:calc(15px / 2) calc(15px / 1.5);user-select:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/project/parameters/list/parameters-list.scss\"],\"names\":[],\"mappings\":\"AAOC,0BACC,iGANuB,CAUvB,gCACC,iGAXsB,CAatB,0CACC,2BAAA,CACA,uCAAA,CACA,gBAAA\",\"sourcesContent\":[\"@import \\\"src/resources/customized-styles/variables\\\";\\r\\n\\r\\n$grid-template-columns: 6ch minmax(200px, 400px) repeat(5, minmax(170px, 200px)) minmax(300px, 1fr);\\r\\n//$grid-template-columns--element: calc(16px + #{$gutter} * 2) minmax(200px, 1fr);\\r\\n//$grid-template-columns--element-values: minmax(200px, 400px) repeat(5, minmax(170px, 240px)) minmax(300px, 1fr);\\r\\n\\r\\n.parameters-list {\\r\\n\\t.headers {\\r\\n\\t\\tgrid-template-columns: $grid-template-columns;\\r\\n\\t}\\r\\n\\r\\n\\t.main {\\r\\n\\t\\t.element {\\r\\n\\t\\t\\tgrid-template-columns: $grid-template-columns;\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t.category {\\r\\n\\t\\t\\t\\tmargin-right: calc(#{$gutter} / 2);\\r\\n\\t\\t\\t\\tpadding: calc(#{$gutter} / 2) calc(#{$gutter} / 1.5);\\r\\n\\t\\t\\t\\tuser-select: none;\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t// .cell {\\r\\n\\t// \\t&-wrapper {\\r\\n\\t// \\t\\tdisplay: grid;\\r\\n\\t// \\t\\tgrid-template-columns: $grid-template-columns--element-values;\\r\\n\\t// \\t}\\r\\n\\t// }\\t\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = \"\\r\\n\";","import { ParameterTypeEnumDto } from 'app/models/parameter-definition-dto';\r\nimport { ListService } from 'app/services/list-service';\r\nimport { ObjectServiceBuilder } from 'app/services/object-services/object-service-builder';\r\nimport { I18N } from 'aurelia-i18n';\r\nimport { ManageParameter } from './../manage/manage-parameter';\r\nimport { AppContextService } from 'app/services/app-context-service';\r\nimport { ModalService } from 'app/services/modal-service';\r\nimport { Router } from 'aurelia-router';\r\nimport { Subscription, EventAggregator } from 'aurelia-event-aggregator';\r\nimport { autoinject } from 'aurelia-framework';\r\nimport { ApiClient, RequestErrorHandling } from 'app/services/api-client';\r\nimport { ParameterDefinitionDto, SyncDirectionEnum } from 'app/models/parameter-definition-dto';\r\nimport { ErrorService } from 'app/services/error-service';\r\nimport { ParameterDefinitionService } from 'app/services/object-services/parameter-definition-service';\r\nimport { DeletableParameters } from '../deletable/deletable-parameters';\r\nimport { DeletableParametersDto } from 'app/models/deletable-parameters-dto';\r\nimport { AggregateParameter } from '../aggregate/aggregate-parameter';\r\nimport { theParameterTypeEnums } from 'resources/enums/parameter-type-enums';\r\n\r\nimport * as environment from '../../../../../config/environment.json'; // for prerelease. I hate relative paths.\r\n\r\n@autoinject\r\nexport class ParametersList {\r\n\tpublic all_parameters: ParameterDefinitionDto[] = [];\r\n\tpublic view_parameters: ParameterDefinitionDto[] = [];\r\n\r\n\tprivate columnsToSearch: string[] = ['name', 'syncDirection', 'dataType', 'scope', 'valueList'];\r\n\tprivate selectedParameters: ParameterDefinitionDto[] = [];\r\n\tprivate selectedParameterIds: string[] = [];\r\n\tprivate unusedParameterIds: string[] = [];\r\n\tprivate allSelected: boolean = false;\r\n\tpublic column: string = \"name\";\r\n\tpublic displayState: { icon: string, direction: string } | undefined;\r\n\tpublic searchTerm: string = \"\";\r\n\tpublic viewContext: string;\r\n\tprivate subscriptions: Subscription[] = [];\r\n\tprivate paramDefService: ParameterDefinitionService | undefined;\r\n\tprivate showArchived:boolean = false;\r\n\tprerelease_archived:boolean = true; //(environment.testing || environment.debug);\r\n\r\n\tconstructor(private router: Router, \r\n\t\t\t\tprivate apiClient: ApiClient, \r\n\t\t\t\tprivate events: EventAggregator, \r\n\t\t\t\tprivate modal: ModalService, \r\n\t\t\t\tprivate appContext: AppContextService, \r\n\t\t\t\tprivate errorService: ErrorService, \r\n\t\t\t\tprivate i18n: I18N,\r\n\t\t\t\tprivate serviceBuilder:ObjectServiceBuilder,\r\n\t\t\t\tprivate listService: ListService) {\r\n\t\tthis.viewContext = \"TopBar\";\t\t\r\n\t}\r\n\r\n\r\n\tasync activate(params: any, routeConfig: any, navigationInstruction: any) {\r\n\t\tconsole.log('p-l activate', params);\r\n\t\tif (params.projectId) {\r\n\t\t\tthis.appContext.setProject(params.projectId);//in-activate.\r\n\t\t}\r\n\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\r\n\t\tif (this.appContext.projectId) {\r\n\t\t\tawait this.getParameters('activate');\t\t\r\n\t\t} \r\n\t\t\r\n\t\tthis.displayState = this.listService.displayState;\r\n\r\n\t\tconst searchHandler = (data: any) => this.handleSearchEvent(data);\r\n\t\tthis.subscriptions = [\r\n\t\t\tthis.events.subscribe(this.viewContext + \":SearchTermChanged\", searchHandler)\r\n\t\t];\r\n\r\n\t}\r\n\r\n\tdetached() {\r\n\t\tthis.subscriptions.forEach(subscription => (\r\n\t\t\tsubscription.dispose()\r\n\t\t));\r\n\t}\r\n\r\n\tprivate handleSearchEvent(data: string) {\r\n\t\tthis.searchTerm = data;\r\n\t}\r\n\r\n\topenAggregateParameterModal() {\r\n\t\tif (this.showArchived) { return; } // you can only use the aggr dialog on the NON-ARCHIVED parameters.\r\n\t\tthis.modal.OpenModal(AggregateParameter, { parameters: this.view_parameters });\t\t\r\n\t}\r\n\r\n\tpublic openCreateParameterModal() {\r\n\t\tif (this.showArchived) { return; } // you can only use the aggr dialog on the NON-ARCHIVED parameters.\r\n\t\tthis.modal.OpenModal(ManageParameter, { parameterId: undefined }).whenClosed(x => {\r\n\t\t\tthis.getParameters('openCreateParameterModal'); \r\n\t\t});\r\n\t}\r\n\r\n\tpublic openBulkParameters() {\r\n\t\tif (this.showArchived) { return; } // you can only use the aggr dialog on the NON-ARCHIVED parameters.\r\n\t\tthis.router.navigate('project/' + this.appContext.projectId + '/parameters/bulk-parameters/');\r\n\t}\r\n\r\n\tpublic editParameter(parameter: ParameterDefinitionDto, event: Event) {\r\n\t\tif ((event?.target)?.tagName === 'INPUT') { return true;}\r\n\t\tif (this.showArchived) { return; } // you can only use the aggr dialog on the NON-ARCHIVED parameters.\r\n\t\tthis.modal.OpenModal(ManageParameter, { parameterId: parameter.id }).whenClosed(x => {\r\n\t\t\tthis.getParameters('editParameter'); \r\n\t\t});\r\n\t}\r\n\r\n\tasync unArchiveParameter() {\r\n\t\tconsole.log('impl unArchiveParameter'); //fa-ambulance fa-life-ring\t\r\n\t\tlet paramIds:string[] = this.selectedParameters.map(x=>x.id);\r\n\t\tthis.executeUndelete(paramIds);\t\r\n\t\t/* Consider\r\n\t\thttps://stackoverflow.com/questions/46329194/how-to-refresh-filtered-aurelia-repeat-for-binding\r\n\t\t*/\r\n\t}\r\n\r\n\tasync purge_ArchivedParams() {\r\n\t\tconsole.log('impl purge_ArchivedParams');\r\n\t\tlet ok = this.modal\r\n\t\t.OpenConfirm( //OpenMessage(\r\n\t\t\tthis.i18n.tr(\"Warning\"),\r\n\t\t\tthis.i18n.tr(\"Are you sure you want to permanently delete these parameters?\")\r\n\t\t).whenClosed( x => {\r\n\t\t\tif (x.wasCancelled) { \r\n\t\t\t\tconsole.log('purge cancelled by user.');\r\n\t\t\t\treturn; \r\n\t\t\t}\r\n\t\t\r\n\t\t\tlet purgeIds = this.selectedParameters.map(p => p.id);\r\n\t\t\tfor (let parameterIdToPurge of purgeIds) {\r\n\t\t\t\tthis.executePurge(parameterIdToPurge);\r\n\t\t\t\tconsole.log('attempted to purge', parameterIdToPurge);\r\n\t\t\t}\t\t\r\n\t\t}); // whenClosed.\r\n\t} // purge.\r\n\r\n\tasync delete() {\r\n\t\tif (this.showArchived) {\r\n\t\t\tawait this.purge_ArchivedParams();\r\n\t\t} else {\r\n\t\t\tawait this.delete_normalParams();\r\n\t\t}\r\n\t}\r\n\r\n\tasync delete_normalParams() {\r\n\t\tconsole.log('clearing this.selectedParameterIds of these items:');\r\n\t\tfor (let id of this.selectedParameterIds) {\r\n\t\t\tconsole.log('item:', id);\r\n\t\t}\r\n\t\tthis.selectedParameterIds = [];\r\n\r\n\t\tthis.selectedParameters.forEach(selectedParameter => { \r\n\t\t\tthis.selectedParameterIds.push(selectedParameter.id);\r\n\t\t});\r\n\r\n\t\tlet prjApi = this.apiClient.projectWToken(this.appContext.projectId);\r\n let deletableParameters: DeletableParametersDto[] = \r\n\t\t await prjApi.postJson('ParameterDefinitions/GetDeletable', this.selectedParameterIds)\r\n\t\t\t.jsonResult();\r\n\t\t\t\r\n\t\tdeletableParameters.forEach(element => {\r\n\t\t\tif (!element.isUsed) {\r\n\t\t\t\tthis.unusedParameterIds.push(element.id);\r\n\t\t\t}\r\n\t\t});\r\n\r\n this.modal.OpenModal(DeletableParameters, deletableParameters).whenClosed(x => {\r\n\t\t\tif (!x.wasCancelled) {\r\n\t\t\t\tif (x.output.length > 0) {\r\n\t\t\t\t\tthis.executeDelete(x.output);\r\n\t\t\t\t}\r\n\t\t\t} else { // we need to do some sort of clean-up I think.\r\n // https://ajoursystem.atlassian.net/browse/AOC-1253\r\n\t\t\t // does anyone ever clear this.selectedParameterIds?\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tasync executeDelete(parameterIdsToDelete: string[]) {\r\n\t\tlet result = await this.apiClient.projectWToken(this.appContext.projectId).postJson('ParameterDefinitions/Delete', parameterIdsToDelete)\r\n\t\t\t.handleError(\"Parameters not saved\", \"The parameters could not be saved.\")\r\n\t\t\t.response();\r\n\t\tif (result.statusCode == 200) {\r\n\t\t\tparameterIdsToDelete.forEach(parameterId => {\r\n\t\t\t\t// in the short term, the user's delete-action just updates the current/temp VIEW:\r\n\t\t\t\tthis.view_parameters.splice(this.view_parameters.findIndex(x => x.id === parameterId), 1);\r\n\t\t\t});\r\n\t\t\tthis.setParametersById(parameterIdsToDelete, true)\r\n\t\t\tthis.selectedParameters = [];\r\n\t\t\tthis.selectedParameterIds = []; // Hvad i alverden er ideen med at rode rundt med disse i længere tid?\r\n\t\t\tthis.unusedParameterIds = [];\r\n\t\t}\t\r\n\t}\r\n\r\n\tasync executeUndelete(parameterIdsToDelete: string[]) {\r\n\t\t// If we do this, we also need the ParameterDTOs to switch \"isDeleted\" state.\r\n\t\tlet result = await this.apiClient.projectWToken(this.appContext.projectId).postJson('ParameterDefinitions/Undelete', parameterIdsToDelete)\r\n\t\t\t.handleError(\"Parameters not restored\", \"The parameters could not be restored.\")\r\n\t\t\t.response();\r\n\t\tif (result.statusCode == 200) {\r\n\t\t\tparameterIdsToDelete.forEach(parameterId => {\r\n\t\t\t\t// in the short term, the user's delete-action just updates the current/temp VIEW:\r\n\t\t\t\tthis.view_parameters.splice(this.view_parameters.findIndex(x => x.id === parameterId), 1);\r\n\t\t\t});\r\n\t\t\tthis.setParametersById(parameterIdsToDelete, false)\r\n\t\t}\r\n\t}\r\n\t\r\n\tsetParametersById(parameterIdsToSet: string[], isDeleted: boolean) {\r\n\t\tthis.all_parameters.filter(x => parameterIdsToSet.includes(x.id)).forEach(x => {x.isDeleted = isDeleted; x.selected = false});\r\n\t\tthis.allSelected = false;\r\n\t}\r\n\r\n\tasync executePurge(parameterIdToPurge: string) {\r\n\t\t// If we do this, we also need the ParameterDTOs to switch \"isDeleted\" state.\r\n\t\tlet prjApi = this.apiClient.projectWToken(this.appContext.projectId);\r\n\t\tlet handler:RequestErrorHandling = prjApi.postJson('ParameterDefinitions/PurgeParameter', parameterIdToPurge);\r\n\t\tlet result = await handler.jsonResult();\r\n\t\tconsole.log('PurgeParameter result:', result);\r\n\t\tconsole.log('PurgeParameter couldDeleteParam?', result.couldDeleteParam);\r\n\t\t//JG: we now attempt to log how it went!\r\n\t\tthis.removePurgedParameter_from_ViewParameters(parameterIdToPurge);\r\n\t}\r\n\r\n\tremovePurgedParameter_from_ViewParameters(parameterIdToPurge: string) {\r\n\t\tthis.view_parameters.splice(this.view_parameters.findIndex(x => x.id === parameterIdToPurge), 1);\r\n\t}\r\n\t\r\n\tprivate async getParameters(who: string): Promise {\r\n\t\t//console.log('getParameters(),who:', who);\r\n\t\tlet parameters: ParameterDefinitionDto[] | undefined = await this.paramDefService?.getParameters(); \r\n\t\tif (parameters) {\r\n\t\t\tthis.all_parameters = parameters; \r\n\t\t\tthis.all_parameters.forEach((element: ParameterDefinitionDto | any) => { //Is ParameterDefinitionDto, any is used to satisfy strict mode for now.\r\n\t\t\t\t// JG: Burde sync og paramType her, ikke dels v�re defineret i ParameterDefinitionDto,\r\n\t\t\t\t// dels tilg�et som s�dan? i.e. hvad er grunden til at s�tte dem s�dan her, uden typer?\r\n\t\t\t\tlet syncString:string | undefined = Object.keys(SyncDirectionEnum).find((key: any) => SyncDirectionEnum[key] === element.syncDirection);\r\n\t\t\t\telement['sync'] = syncString;\r\n\t\t\t\t\r\n\t\t\t\tlet paramTypeNumber: number = element.parameterType;\r\n\t\t\t\tlet theEnum: ParameterTypeEnumDto | undefined = theParameterTypeEnums.find(x => x.enumInt == paramTypeNumber); \r\n\t\t\t\tif (theEnum) { \r\n\t\t\t\t\tlet intendedParamType: string = theEnum.enumString;\r\n\t\t\t\t\telement['paramType'] = intendedParamType;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log(`${paramTypeNumber} is not in theParameterTypeEnums for ${element}`)\r\n\t\t\t\t\tconsole.log(theParameterTypeEnums);\r\n\t\t\t\t\telement['paramType'] = `missing paramType ${paramTypeNumber}`;\r\n\t\t\t\t}\r\n\t\t\t\telement.categories.sort(this.compareNames);\r\n\t\t\t});\r\n\t\t}\r\n\t\tthis.refreshParametersView();\r\n\t}\r\n\r\n\trefreshParametersView() {\r\n\t\tthis.view_parameters = this.all_parameters.filter(p => p.isDeleted == this.showArchived);\r\n\t\t//console.log('refreshParametersView:#', this.view_parameters.length);\r\n\t}\r\n\r\n\tpublic toggleArchived() {\r\n\t\tthis.showArchived = !this.showArchived;\r\n\t\tconsole.log('showArchivedParameters:', this.showArchived);\r\n\t\tthis.refreshParametersView();\r\n\t}\r\n\r\n\tpublic doShowArchivedParameters():string {\r\n\t\treturn this.showArchived ? 'Yes' : 'No';\r\n\t}\r\n\r\n\tpublic async sortBy(columnName: string) {\r\n\t\tawait this.listService.sortBy(columnName).then(result => {\r\n\t\t\tthis.column = result.column;\r\n\t\t\tthis.displayState = result.displayState;\r\n\t\t});\r\n\t}\r\n\r\n\tpublic async toggleParameter() {\r\n\t\tawait this.listService.toggleElement(this.view_parameters).then(result => {\r\n\t\t\tthis.selectedParameters = result.selected;\r\n\t\t\tthis.allSelected = result.allSelected;\r\n\t\t});\r\n\t}\r\n\r\n\tpublic async toggleAll() {\r\n\t\tawait this.listService.toggleAll(this.view_parameters, this.searchTerm, this.columnsToSearch).then(result => {\r\n\t\t\tif (result) {\r\n\t\t\t\tthis.selectedParameters = result.selected;\r\n\t\t\t\tthis.allSelected = result.allSelected;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate compareNames(a: string, b: string){\r\n\t\tif(a < b){\r\n\t\t\treturn -1;\r\n\t\t}else if(a > b){\r\n \t\treturn 1;\r\n \t}else{\r\n \t\treturn 0;\r\n \t}\r\n \t}\r\n}\r\n\r\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","ParametersList","constructor","router","apiClient","events","modal","appContext","errorService","i18n","serviceBuilder","listService","all_parameters","view_parameters","columnsToSearch","selectedParameters","selectedParameterIds","unusedParameterIds","allSelected","column","searchTerm","subscriptions","showArchived","prerelease_archived","this","viewContext","async","params","routeConfig","navigationInstruction","console","log","projectId","setProject","paramDefService","ForAjourCollab_OSB","BuildParameterDefinitionService","getParameters","displayState","subscribe","data","handleSearchEvent","detached","forEach","subscription","dispose","openAggregateParameterModal","OpenModal","parameters","openCreateParameterModal","parameterId","undefined","whenClosed","x","openBulkParameters","navigate","editParameter","parameter","event","target","tagName","paramIds","map","executeUndelete","OpenConfirm","tr","wasCancelled","purgeIds","p","parameterIdToPurge","executePurge","purge_ArchivedParams","delete_normalParams","selectedParameter","prjApi","projectWToken","deletableParameters","postJson","jsonResult","element","isUsed","output","length","executeDelete","parameterIdsToDelete","handleError","response","statusCode","splice","findIndex","setParametersById","parameterIdsToSet","isDeleted","filter","includes","selected","handler","result","couldDeleteParam","removePurgedParameter_from_ViewParameters","who","syncString","Object","keys","find","key","syncDirection","paramTypeNumber","parameterType","theEnum","enumInt","intendedParamType","enumString","categories","sort","compareNames","refreshParametersView","toggleArchived","doShowArchivedParameters","columnName","sortBy","then","toggleElement","toggleAll","a","b","autoinject","I18N"],"sourceRoot":""}