{"version":3,"file":"app-aa40a8e0.157914d89b131db3.bundle.js","mappings":"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","sources":["webpack://client-app/./src/app/project/bulk-parameters/bulk-parameters.scss","webpack://client-app/./src/app/project/bulk-parameters/bulk-parameters.html","webpack://client-app/./src/app/project/bulk-parameters/bulk-parameters.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, `.bulk-parameters-list .headers{grid-template-columns:calc(16px + 15px*2) minmax(200px, 220px) repeat(5, minmax(120px, 240px)) minmax(200px, 1fr)}.bulk-parameters-list .main .element{grid-template-columns:calc(16px + 15px*2) minmax(200px, 1fr)}.bulk-parameters-list .main .element .category{margin-right:calc(15px/2);padding:calc(15px/2) calc(15px/1.5);user-select:none}.bulk-parameters-list .main .element.custom .cell{background-color:#cbac3b !important}.bulk-parameters-list .cell-wrapper{display:grid;grid-template-columns:minmax(200px, 220px) repeat(5, minmax(120px, 240px)) minmax(200px, 1fr)}.notSaved{background-color:#00b3c9 !important;border-color:#00b3c9 !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/project/bulk-parameters/bulk-parameters.scss\"],\"names\":[],\"mappings\":\"AAQC,+BACC,iHAP8B,CAW9B,qCACC,4DAX8B,CAa9B,+CACC,yBAAA,CACA,mCAAA,CACA,gBAAA,CAKA,kDACC,mCAAA,CAOH,oCACC,YAAA,CACA,6FA9BqC,CAqCxC,UACE,mCAAA,CACA,+BAAA\",\"sourcesContent\":[\"@import \\\"src/resources/customized-styles/variables\\\";\\r\\n\\r\\n$grid-template-columns--header: calc(16px + #{$gutter} * 2) minmax(200px, 220px) repeat(5, minmax(120px, 240px)) minmax(200px, 1fr);\\r\\n$grid-template-columns--element: calc(16px + #{$gutter} * 2) minmax(200px, 1fr);\\r\\n$grid-template-columns--element-values: minmax(200px, 220px) repeat(5, minmax(120px, 240px)) minmax(200px, 1fr);\\r\\n\\r\\n.bulk-parameters-list {\\r\\n\\t\\r\\n\\t.headers {\\r\\n\\t\\tgrid-template-columns: $grid-template-columns--header;\\r\\n\\t}\\r\\n\\r\\n\\t.main {\\r\\n\\t\\t.element {\\r\\n\\t\\t\\tgrid-template-columns: $grid-template-columns--element;\\r\\n\\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\\r\\n\\t\\t\\t&.custom{\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t.cell{\\r\\n\\t\\t\\t\\t\\tbackground-color:#cbac3b !important;\\r\\n\\t\\t\\t\\t}\\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}\\r\\n\\t\\r\\n\\t\\r\\n}\\r\\n\\r\\n.notSaved{\\r\\n\\t\\tbackground-color:#00b3c9 !important;\\r\\n\\t\\tborder-color: #00b3c9 !important;\\r\\n\\t}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = \"\\r\\n\";","import { Details } from './details/details';\r\nimport { ParameterDefinitionDto, RevitEnumPair } from './../../models/parameter-definition-dto';\r\nimport { ListService, SelectResult } from './../../services/list-service';\r\nimport { ObjectServiceBuilder } from './../../services/object-services/object-service-builder';\r\nimport { Subscription, EventAggregator } from 'aurelia-event-aggregator';\r\nimport { I18N } from 'aurelia-i18n';\r\nimport { ApiClient } from 'app/services/api-client';\r\nimport { CheckboxParam, ParameterDefinitionService } from 'app/services/object-services/parameter-definition-service';\r\nimport { AppContextService } from './../../services/app-context-service';\r\nimport { ModalService } from 'app/services/modal-service';\r\nimport { autoinject, observable, bindable } from 'aurelia-framework';\r\nimport { DialogController } from 'aurelia-dialog';\r\nimport {Router} from 'aurelia-router';\r\n\r\n@autoinject\r\nexport class BulkParameters {\r\n\tpublic parameters:ParameterDefinitionDto[] = [];\r\n\tprivate selectedParameters: ParameterDefinitionDto[] = [];\r\n\tprivate initiallySelectedParameters: ParameterDefinitionDto[] = [];\r\n\tpublic viewContext:string = \"\";\r\n \tpublic column: string = \"name\";\r\n\tpublic displayState: { icon: string, direction: string } | undefined;\r\n\tprivate paramDefService: ParameterDefinitionService | undefined;\r\n\tprivate projectParameters: ParameterDefinitionDto[] = [];\r\n\tprivate showAllParams: boolean = true;\r\n\tprivate revitParams: ParameterDefinitionDto[] = [];\r\n\r\n\t// @ts-ignore // hmm, ts-ignore doesn't work, find some other way to shut up warning?\r\n\tprivate columnsToSearch: string[] = ['name', 'storageType', 'parameterType', 'parameterScope', 'unitType'];\r\n\tprivate searchTerm: string = \"\";\r\n\tprivate allSelected: boolean = false;\r\n\tprivate subscriptions: Subscription[] = []; \r\n\r\n\t@observable public toggleText:string = \"Hide Unselected Parameters\";\r\n\tpublic saved:boolean = true;\r\n\r\n\t@observable public isPrerelease_bulk:boolean = true;\r\n\r\n\tconstructor(private router: Router, private appContext: AppContextService, private events: EventAggregator, protected dialog: DialogController, private modal: ModalService, private apiClient: ApiClient, private i18n:I18N, private serviceBuilder:ObjectServiceBuilder, private listService: ListService){\r\n\t\tthis.viewContext = \"TopBar\";\r\n\t}\r\n\r\n\tasync activate(params: any){\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.subscriptions = [];\r\n\t\tthis.parameters = [];\r\n\t\tthis.selectedParameters = [];\r\n\r\n\t\tthis.paramDefService = this.serviceBuilder.ForAjourCollab_OSB(this.appContext.projectId).BuildParameterDefinitionService();\r\n\t\t\r\n\t\tif(this.appContext.projectId){\r\n\t\t\tawait this.load();\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\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\tthis.initiallySelectedParameters = this.selectedParameters; // det kan du vist ikke, du er nødt til at udløse en kopiering, f.eks. vha ...\r\n\t\tthis.getParameterGroupEnums();\r\n\t\tthis.checkParameterContext();\r\n\t}\r\n\r\n\tdeactivate(){ }\r\n\r\n\tasync load(){\r\n\t\tawait this.getRevitParameters(); \r\n\t\tawait this.getProjectParameters();\r\n\t\tawait this.setSelection();\t\r\n\t}\r\n\r\n\t//Used before breadcrumbs were made.\r\n\t// public openParameters(){\r\n\t// \tif (this.saved === false) {\r\n\t// \t\tthis.modal.OpenConfirm(\r\n\t// \t\t\tthis.i18n.tr(\"Save changes\"),\r\n\t// \t\t\tthis.i18n.tr(\"Do you want to save your changes?\")\r\n\t// \t\t).whenClosed(x => {\r\n\t// \t\t\tif (!x.wasCancelled) {\r\n\t// \t\t\t\tthis.saveParameters().finally(() => this.saved = true);\r\n\t// \t\t\t} else {\r\n\t// \t\t\t\tthis.selectedParameters = this.initiallySelectedParameters;\r\n\t// \t\t\t}\r\n\t// \t\t}).finally(() => this.router.navigate('project/' + this.appContext.projectId + '/parameters/'));\r\n\t// \t} else {\r\n\t// \t\tthis.router.navigate('project/' + this.appContext.projectId + '/parameters/');\r\n\t// \t}\r\n\t// }\r\n\r\n\tprivate async setSelection() {\r\n\t\tthis.selectedParameters = []; // Initialize to empty selection.\r\n\r\n\t\tthis.projectParameters.forEach( (prjParam:ParameterDefinitionDto) => {\r\n\t\t\t/* For each item in projectParameters, \r\n\t\t\twe check whether it has a match in this.parameters.\r\n\t\t\t-if it DOES, we ensure that match is selected.\r\n\t\t\t-if it does NOT, we ADD it to this.parameters (and select it).\r\n\t\t\t*/\r\n\t\t\tlet isContainedInRevit:boolean = this.parameters.some( (bulkRevit:ParameterDefinitionDto) => {\r\n\t\t\t\tif (prjParam.name === bulkRevit.name) {\r\n\t\t\t\t\tlet isMatched:boolean = this.compareDefKey2(bulkRevit, prjParam);\r\n\t\t\t\t\tif (isMatched) { \r\n\t\t\t\t\t\tif (!bulkRevit.selected) {\r\n\t\t\t\t\t\t\tbulkRevit.selected = true; // mark a matched aoc<->revit param as pre-selected.\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t} \r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tif (!isContainedInRevit) {\r\n\t\t\t\tprjParam.selected = true;\r\n\t\t\t\tthis.parameters.push(prjParam);\r\n\t\t\t\tthis.selectedParameters.push(prjParam);\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (this.paramDefService) {\r\n\t\t\tlet selected:CheckboxParam[] = await this.paramDefService.getMatchedParameters(this.appContext.projectId);\r\n\t\t\tif (selected !== undefined) {\r\n\t\t\t\tfor (let matchedRevitParam of this.parameters) {\r\n\t\t\t\t\tfor (let select of selected) { \r\n\t\t\t\t\t\tlet aocParam:ParameterDefinitionDto = select.projectParameter; \r\n\t\t\t\t\t\tlet matched:boolean = this.compareDefKey2(matchedRevitParam, aocParam);\r\n\t\t\t\t\t\tif (matched) {\r\n\t\t\t\t\t\t\tmatchedRevitParam.selected = true;\r\n\t\t\t\t\t\t\tthis.selectedParameters.push(matchedRevitParam);\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} else {\r\n\t\t\t\tconsole.warn('no matched?');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate checkParameterContext(){\r\n\t\tthis.parameters.forEach((element: any) => { //Is actually ParameterDefinitionDto but strict mode does not allow the call [\"builtin\"] on that type\r\n\t\t\tif(element[\"builtInParameter\"] === -1 && element[\"sharedParamId\"] === '00000000-0000-0000-0000-000000000000'){\r\n\t\t\t\telement[\"builtIn\"] = \"Project\";\r\n\t\t\t}else if(element[\"builtInParameter\"] !== -1 && element[\"sharedParamId\"] === '00000000-0000-0000-0000-000000000000'){\r\n\t\t\t\telement[\"builtIn\"] = \"Built-in\";\r\n\t\t\t}else if(element[\"builtInParameter\"] === -1 && element[\"sharedParamId\"] !== '00000000-0000-0000-0000-000000000000'){\r\n\t\t\t\telement[\"builtIn\"] = \"Shared\";\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprivate handleSearchEvent(data: any): void {\r\n\t\tthis.searchTerm = data;\r\n\t}\r\n\r\n\tprivate async getRevitParameters():Promise {\r\n\t\tif (this.paramDefService) {\r\n\t\t\tthis.revitParams = await this.paramDefService.getRevitParameters();\r\n\t\t\t//console.log('getRevitParameters, setting params to:', this.revitParams);\r\n\t\t\tthis.parameters = this.revitParams;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate async getProjectParameters():Promise {\r\n\t\tif (this.paramDefService) {\r\n\t\t\tthis.projectParameters = await this.paramDefService.getParameters();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate compareDefKey2(p1:ParameterDefinitionDto, p2_:ParameterDefinitionDto) : boolean { //any){ //async \r\n\t\tlet p2:ParameterDefinitionDto = p2_;\r\n\r\n\t\tif (p1.builtInParameter === p2.builtInParameter \r\n\t\t\t&& p1.name === p2.name \r\n\t\t\t&& p1.parameterGroup === p2.parameterGroup \r\n\t\t\t&& p1.sharedParamId === p2.sharedParamId \r\n\t\t\t&& p1.parameterType === p2.parameterType // AHA! this was missing scope!\r\n\t\t\t&& p1.scope === p2.scope // AHA! this was missing scope!\r\n\t\t\t) {\r\n\t\t\t\treturn true;\r\n\t\t\t} else {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t}\r\n\r\n\tprivate async getParameterGroupEnums(): Promise {\r\n\t\tif (this.paramDefService) {\r\n\t\t\tlet enums = await this.paramDefService.GetParameterGroupEnums();\r\n\t\t\tthis.parameters.forEach((element: any) => { //Is Actually ParameterDefinitionDto.\r\n\t\t\t\tenums.map((x: RevitEnumPair) => {\r\n\t\t\t\t\tif(x.enumInt === element.parameterGroup){\r\n\t\t\t\t\t\telement['paramGroup'] = x.enumString;\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}\r\n\r\n\tpublic async assignParameters(): Promise {\r\n\t\tthis.modal.OpenConfirm(\r\n\t\t\tthis.i18n.tr('Save changes'),\r\n\t\t\tthis.i18n.tr('Are you sure you want to save the selected parameters for this project?')\r\n\t\t).whenClosed(x => {\r\n\t\t\tif(!x.wasCancelled){\r\n\t\t\t\tthis.saved = true;\r\n\t\t\t\tdocument.getElementById(\"saveButton\")?.classList.remove('notSaved');\r\n\t\t\t\tthis.saveParameters();\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprivate async saveParameters(){\r\n\t\tthis.selectedParameters.forEach(item => {\r\n\t\t\tif(!this.initiallySelectedParameters.includes(item)){\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tthis.paramDefService?.saveBulkParameters(this.appContext.projectId, this.selectedParameters).finally(() => {\r\n\t\t\tthis.appContext.changesSaved = true;\r\n\t\t})\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.parameters).then(result => {\r\n\t\t\tthis.selectedParameters = result.selected;\r\n\t\t\tthis.allSelected = result.allSelected;\r\n\t\t}).finally(() => {\r\n\t\t\tif(this.selectedParameters === this.initiallySelectedParameters){\r\n\t\t\t\tdocument.getElementById(\"saveButton\")?.classList.remove('notSaved');\r\n\t\t\t}else{\r\n\t\t\t\tdocument.getElementById(\"saveButton\")?.classList.add('notSaved');\r\n\t\t\t\tthis.saved = false;\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tpublic async toggleAll(): Promise {\r\n\t\tawait this.listService.toggleAll(this.parameters, this.searchTerm, this.columnsToSearch).then((result: SelectResult | undefined) => {\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}).finally(() => {\r\n\t\t\tif(this.selectedParameters.length === this.initiallySelectedParameters.length){\r\n\t\t\t\tdocument.getElementById(\"saveButton\")?.classList.remove('notSaved');\r\n\t\t\t}else{\r\n\t\t\t\tdocument.getElementById(\"saveButton\")?.classList.add('notSaved');\r\n\t\t\t\tthis.saved = false;\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tpublic async toggleUnselected(): Promise {\r\n\t\tthis.parameters = [];\r\n\t\tif (this.showAllParams === true){\r\n\t\t\tthis.selectedParameters.forEach(element => {\r\n\t\t\t\tthis.parameters.push(element);\r\n\t\t\t})\r\n\t\t\tthis.allSelected = this.listService.allSelected;\r\n\t\t\tthis.showAllParams = false;\r\n\t\t\tthis.toggleText = \"Show All Parameters\";\r\n\t\t\tdocument.getElementById(\"visibility\")?.classList.remove('fa-eye-slash');\r\n\t\t\tdocument.getElementById(\"visibility\")?.classList.add('fa-eye');\r\n\t\t} else {\r\n\t\t\t//console.log('toggleUnselected, setting params to:', this.revitParams);\r\n\t\t\tthis.parameters = this.revitParams;\r\n\t\t\tthis.allSelected = this.listService.allSelected;\r\n\t\t\tthis.showAllParams = true;\r\n\t\t\tthis.toggleText = \"Hide Unselected Parameters\";\r\n\t\t\tdocument.getElementById(\"visibility\")?.classList.remove('fa-eye');\r\n\t\t\tdocument.getElementById(\"visibility\")?.classList.add('fa-eye-slash');\r\n\t\t}\r\n\t}\r\n\r\n\tpublic showDetails(parameter:ParameterDefinitionDto): void {\r\n\t\tthis.modal.OpenModal(Details, {parameter});\r\n\t}\r\n\r\n\tprivate not_used_compareNames(a: string, b: string): number {\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"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","BulkParameters","constructor","router","appContext","events","dialog","modal","apiClient","i18n","serviceBuilder","listService","parameters","selectedParameters","initiallySelectedParameters","viewContext","column","projectParameters","showAllParams","revitParams","columnsToSearch","searchTerm","allSelected","subscriptions","toggleText","saved","isPrerelease_bulk","this","activate","params","projectId","setProject","paramDefService","ForAjourCollab_OSB","BuildParameterDefinitionService","load","displayState","subscribe","data","handleSearchEvent","getParameterGroupEnums","checkParameterContext","deactivate","getRevitParameters","getProjectParameters","setSelection","forEach","prjParam","some","bulkRevit","name","compareDefKey2","selected","getMatchedParameters","undefined","matchedRevitParam","select","aocParam","projectParameter","console","warn","element","getParameters","p1","p2_","p2","builtInParameter","parameterGroup","sharedParamId","parameterType","scope","enums","GetParameterGroupEnums","map","x","enumInt","enumString","assignParameters","OpenConfirm","tr","whenClosed","wasCancelled","document","getElementById","classList","remove","saveParameters","item","includes","saveBulkParameters","finally","changesSaved","sortBy","columnName","then","result","toggleParameter","toggleElement","add","toggleAll","length","toggleUnselected","showDetails","parameter","OpenModal","not_used_compareNames","a","b","observable","autoinject","EventAggregator","DialogController","I18N"],"sourceRoot":""}